/* Atlas HRT store. Reuses the site's GenerateBlocks global classes (.gbp-atlas-px-opt*) and GP colour
 * tokens; only the states the static rows could not have (unselected/selected, live total) live here. */

/* Program selector */
.atlas-po { margin: 0; }
.atlas-po-label { display: block; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--contrast); margin-bottom: 10px; }
.atlas-po-opt { cursor: pointer; position: relative; }
.atlas-po-opt:hover { border-color: var(--accent); }
.atlas-po-opt.is-selected { border: 2px solid var(--accent); background-color: var(--atlas-tint); }
.atlas-po-opt.is-selected .gbp-atlas-px-opt-dot { border: 5px solid var(--accent); }
.atlas-po-opt.is-selected .gbp-atlas-px-opt-p { color: var(--accent); font-size: 20px; }
.atlas-po-radio { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.atlas-po-opt:has(.atlas-po-radio:focus-visible) { outline: 2px solid var(--atlas-primary-hover, var(--accent)); outline-offset: 2px; }
.atlas-po-badge { font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--accent); margin-right: 10px; white-space: nowrap; }
.atlas-po-opt .gbp-atlas-px-opt-l { min-width: 0; }
.atlas-po-opt .gbp-atlas-px-opt-t { white-space: nowrap; }
/* Narrow cards (the nutrient grid): the badge moves above the price so the option name keeps its line. */
.atlas-po-options { container-type: inline-size; }
@container (max-width: 320px) {
	.atlas-po-opt .gbp-atlas-px-opt-r { flex-direction: column; align-items: flex-end; gap: 2px; }
	.atlas-po-opt .atlas-po-badge { margin-right: 0; font-size: 10px; }
}
.atlas-po-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 14px; }
.atlas-po-total { font-size: 22px; font-weight: 800; color: var(--accent); font-family: Manrope, -apple-system, BlinkMacSystemFont, sans-serif; white-space: nowrap; min-width: 5ch; }
.atlas-po-add { flex: 1; display: block; text-align: center; background-color: var(--accent); color: var(--base); font-family: Manrope, -apple-system, BlinkMacSystemFont, sans-serif; font-size: 16px; font-weight: 700; letter-spacing: .02em; line-height: 1.2; white-space: nowrap; padding: 15px 18px; border: 0; border-radius: 999px; box-shadow: 0 10px 22px -12px rgba(14, 122, 110, .7); cursor: pointer; }
.atlas-po-add:hover { background-color: var(--atlas-primary-hover, var(--accent)); color: var(--base); }
.atlas-po-add:focus-visible { outline: 2px solid var(--atlas-primary-hover, var(--accent)); outline-offset: 2px; }
.atlas-po-note { font-size: 13px; color: var(--contrast-2); text-align: center; margin: 10px 0 0; }
@media (max-width: 480px) { .atlas-po-buy { flex-direction: column; align-items: stretch; } .atlas-po-total { text-align: center; } }

/* Checkout promise + consent */
.atlas-promise { border: 1px solid var(--atlas-border, #d9d2c4); border-radius: 12px; background: var(--atlas-tint, #dff3ee); padding: 16px 18px; margin: 0 0 16px; font-size: 15px; }
.atlas-promise p { margin: 0 0 8px; }
.atlas-promise-small { font-size: 13px; color: var(--contrast-2); }
.atlas-consent label { font-size: 14px; line-height: 1.45; }
.atlas-card-note { font-size: 13px; color: var(--contrast-2); margin-top: 6px; }
.atlas-card .input-text { font-variant-numeric: tabular-nums; }

/* Order-received: step 2 */
.atlas-intake { border: 2px solid var(--accent); border-radius: 14px; padding: 20px; margin: 0 0 28px; background: var(--base); }
.atlas-intake h2 { margin-top: 0; }
.atlas-intake-note { font-size: 13px; color: var(--contrast-2); margin-top: 10px; }

/* Checkout chrome in the site's tokens (WooCommerce ships a purple payment box and button) */
.woocommerce-checkout #payment { background: var(--base-3, #f8f1e2); border: 1px solid var(--atlas-border, #d9d2c4); border-radius: 12px; }
.woocommerce-checkout #payment div.payment_box { background: var(--base, #fff); color: var(--contrast); border-radius: 10px; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order, .woocommerce a.checkout-button, .woocommerce button.button.alt {
  background-color: var(--accent); color: var(--base); border-radius: 999px; font-family: Manrope, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 700; letter-spacing: .02em; padding: 16px 24px; box-shadow: 0 10px 22px -12px rgba(14, 122, 110, .7); width: 100%; }
.woocommerce #payment #place_order:hover, .woocommerce a.checkout-button:hover, .woocommerce button.button.alt:hover { background-color: var(--atlas-primary-hover, var(--accent)); }

/* 1.8.0 focused checkout (start.): slim bar, two columns, summary + trust beside the form */
body.atlas-focus .site-header, body.atlas-focus #site-navigation, body.atlas-focus #mobile-header, body.atlas-focus .main-navigation,
body.atlas-focus .site-footer, body.atlas-focus .footer-widgets, body.atlas-focus .generate-back-to-top, body.atlas-focus .entry-header { display: none !important; }
.atlas-focus-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 24px; background: var(--contrast, #12352f); }
.atlas-focus-bar a { color: var(--base, #fff); text-decoration: none; font-family: Manrope, -apple-system, BlinkMacSystemFont, sans-serif; }
.atlas-focus-logo { font-size: 20px; font-weight: 800; letter-spacing: .01em; }
.atlas-focus-help { font-size: 15px; font-weight: 700; }
body.atlas-focus .site-content .content-area, body.atlas-focus .inside-article { max-width: 1180px; margin: 0 auto; }
@media (min-width: 900px) {
	/* Fixed rows (2.2.1): an error notice takes row 1 and "Your plan" row 2, so an error never pushes the plan below the form. */
	body.atlas-focus form.checkout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); grid-template-rows: auto auto auto auto auto 1fr; column-gap: 36px; align-items: start; }
	body.atlas-focus form.checkout > * { grid-column: 1 / -1; }
	body.atlas-focus form.checkout > .woocommerce-NoticeGroup { grid-row: 1; }
	body.atlas-focus form.checkout > .atlas-plan { grid-row: 2; }
	body.atlas-focus form.checkout #customer_details { grid-column: 1; grid-row: 3 / span 4; }
	body.atlas-focus form.checkout #order_review_heading { grid-column: 2; grid-row: 3; margin-top: 0; }
	body.atlas-focus form.checkout #order_review { grid-column: 2; grid-row: 4; }
	body.atlas-focus form.checkout #order_review { position: sticky; top: 16px; }
	body.atlas-focus form.checkout #customer_details .col-1, body.atlas-focus form.checkout #customer_details .col-2 { float: none; width: 100%; }
}
body.atlas-focus #customer_details, body.atlas-focus #order_review { background: var(--base, #fff); border: 1px solid var(--atlas-border, #d9d2c4); border-radius: 14px; padding: 22px; }
body.atlas-focus #customer_details #payment { margin-top: 18px; }
.atlas-trust { display: grid; gap: 12px; margin-top: 16px; }
.atlas-trust-card { border: 1px solid var(--atlas-border, #d9d2c4); border-radius: 14px; background: var(--atlas-tint, #dff3ee); padding: 16px 18px; }
.atlas-trust-card strong { display: block; font-size: 17px; margin-bottom: 4px; color: var(--contrast); }
.atlas-trust-card span { font-size: 14px; color: var(--contrast-2); }
@media (max-width: 899px) {
	/* Phones: the order and its total first, then the details and payment. */
	body.atlas-focus form.checkout { display: flex; flex-direction: column; }
	body.atlas-focus form.checkout #order_review_heading { order: 1; }
	body.atlas-focus form.checkout #order_review { order: 2; margin-bottom: 18px; }
	body.atlas-focus form.checkout #customer_details { order: 3; }
	/* Short summary: one item, subtotal = total */
	body.atlas-focus .woocommerce-checkout-review-order-table thead, body.atlas-focus .woocommerce-checkout-review-order-table .cart-subtotal { display: none; }
	body.atlas-focus #customer_details, body.atlas-focus #order_review { padding: 16px; }
	body.atlas-focus #payment div.payment_box { padding: 12px; }
	body.atlas-focus .atlas-card .form-row-first, body.atlas-focus .atlas-card .form-row-last { width: 100%; float: none; }
	.atlas-trust { gap: 6px; }
	.atlas-trust-card { padding: 8px 12px; }
	.atlas-trust-card span { font-size: 13px; line-height: 1.45; } /* 2.2.8: the one-line text shows on phones too (Al: discreet shipping, the intake step) */
	.atlas-trust-card strong { font-size: 14px; margin: 0; }
	.atlas-focus-bar { padding: 12px 16px; }
	body.atlas-focus .site-main, body.atlas-focus .inside-article { padding-left: 16px; padding-right: 16px; }
	.atlas-focus-help { font-size: 14px; }
}

.atlas-steps { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; list-style: none; margin: 10px auto 0; padding: 0 16px; max-width: 1180px; font-size: 14px; color: var(--contrast-2); }
.atlas-steps li { display: flex; align-items: center; gap: 8px; }
.atlas-steps li span { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; border: 1px solid currentColor; font-size: 12px; font-weight: 700; }
.atlas-steps li.is-current { color: var(--contrast); font-weight: 700; }
.atlas-steps li.is-current span { background: var(--accent); border-color: var(--accent); color: var(--base, #fff); }
.atlas-steps li.is-done span { background: var(--atlas-tint, #dff3ee); }
.atlas-edit-selection { margin: 10px 0 0; font-size: 14px; }
.atlas-choose { max-width: 760px; margin: 0 auto; padding: 0 16px; }
.atlas-choose-card { background: var(--base, #fff); border: 1px solid var(--atlas-border, #d9d2c4); border-radius: 14px; padding: 20px; margin: 16px 0; }
.atlas-choose-card { scroll-margin-top: 96px; } /* 2.2.15: anchors land below a sticky header */
.atlas-choose-name { margin: 0 0 12px; font-size: 22px; }
.atlas-choose-notice { border: 1px solid var(--accent); background: var(--atlas-tint, #dff3ee); border-radius: 12px; padding: 14px 16px; margin: 16px 0; }
.atlas-choose-notice p { margin: 0 0 6px; }

a.atlas-po-add { text-decoration: none; }
a.atlas-po-add:hover, a.atlas-po-add:focus { text-decoration: none; }

/* 2.0.0 enrollment: "Your plan" at the top of the one-page enrollment form, styled as the next step of the quiz. */
.atlas-plan { background: var(--base, #fff); border: 1px solid var(--atlas-border, #d9d2c4); border-radius: 14px; padding: 18px 22px; margin: 0 0 18px; }
.atlas-plan-h { font-size: 22px; margin: 0 0 10px; }
.atlas-plan-program { border: 0; margin: 0 0 10px; padding: 0; }
.atlas-plan-program legend { font-weight: 700; font-size: 16px; margin-bottom: 8px; color: var(--contrast); }
.atlas-plan-opt { display: grid; grid-template-columns: auto 1fr auto; gap: 4px 12px; align-items: center; border: 1px solid var(--atlas-border, #d9d2c4); border-radius: 12px; padding: 12px 14px; margin: 0 0 8px; cursor: pointer; min-height: 48px; }
.atlas-plan-opt:has(.atlas-plan-radio:checked) { border: 2px solid var(--accent); background: var(--atlas-tint, #dff3ee); }
.atlas-plan-opt:has(.atlas-plan-radio:focus-visible) { outline: 2px solid var(--atlas-primary-hover, var(--accent)); outline-offset: 2px; }
.atlas-plan-radio { width: 20px; height: 20px; accent-color: var(--accent); }
.atlas-plan-title { font-weight: 600; color: var(--contrast); }
.atlas-plan-sub { grid-column: 2; font-size: 14px; color: var(--contrast-2); }
.atlas-plan-price { grid-column: 3; grid-row: 1; font-weight: 700; color: var(--contrast); }
.atlas-plan-only { display: flex; justify-content: space-between; gap: 12px; margin: 0; }
.atlas-plan[aria-busy="true"] { opacity: .75; }
.atlas-plan-wait { margin: 8px 0 0; font-size: 14px; color: var(--contrast); }
.atlas-quiz { max-width: 760px; margin: 0 auto; }

/* 2.1.0 My Atlas: treatments, refill choice, card on file */
.atlas-acct-hello { font-size: 20px; font-weight: 700; margin: 0 0 8px; }
.atlas-acct-lead { margin: 0 0 12px; }
.atlas-treatments { display: grid; gap: 14px; margin: 0 0 16px; }
.atlas-treat { background: var(--base, #fff); border: 1px solid var(--atlas-border, #d9d2c4); border-radius: 14px; padding: 16px 18px; }
.atlas-treat h3 { margin: 0 0 4px; font-size: 18px; }
.atlas-treat p { margin: 0 0 8px; }
.atlas-treat-meta, .atlas-small { font-size: 13px; color: var(--contrast-2); }
.atlas-refill-choice { display: grid; gap: 8px; margin: 8px 0 10px; }
.atlas-refill-q { font-weight: 700; }
.atlas-refill-opt { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; border: 1px solid var(--atlas-border, #d9d2c4); border-radius: 12px; padding: 12px 14px; background: var(--base, #fff); cursor: pointer; min-height: 48px; font-size: 14px; line-height: 1.45; }
.atlas-refill-opt:has(input:checked) { border: 2px solid var(--accent); }
.atlas-refill-opt input { margin-top: 3px; }
.atlas-order-state { border: 1px solid var(--accent); background: var(--atlas-tint, #dff3ee); border-radius: 12px; padding: 12px 14px; }
.atlas-card-form { max-width: 520px; }
.atlas-pay .atlas-new-card { margin-top: 10px; }

/* ===================================================================== 2.2.3 · patient pages (Al 2026-10-19)
   My Atlas (sign-in, lost password, dashboard, treatments, orders, order view, addresses, payment method), the
   order-received page and the order-pay page. Everything is scoped to body.atlas-patient (Account::patient_body_class),
   built on the live theme's tokens, with fallbacks so a page without them still reads as Atlas. */
body.atlas-patient {
	--atlas-p-accent: var(--accent, #0e7a6e);
	--atlas-p-accent-hover: var(--atlas-primary-hover, #0a6359);
	--atlas-p-ink: var(--contrast, #16332c);
	--atlas-p-muted: var(--contrast-2, #47605a);
	--atlas-p-line: var(--atlas-border, #c3dbd4);
	--atlas-p-control: var(--atlas-control-border, #9db5ae);
	--atlas-p-tint: var(--atlas-tint, #dff3ee);
	--atlas-p-card: var(--base, #fff);
	--atlas-p-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
	--atlas-p-sans: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* the page frame: a readable column with side margins (the live theme's pages are full width, edge to edge) */
body.atlas-patient .site-main .inside-article { max-width: 1080px; margin: 0 auto; padding: 28px 20px 56px; background: transparent; }
body.atlas-patient .entry-header { margin: 0 0 18px; }
body.atlas-patient .entry-title { font-family: var(--atlas-p-serif); font-weight: 600; font-size: clamp(30px, 6vw, 42px); line-height: 1.1; letter-spacing: -.015em; color: var(--atlas-p-ink); margin: 0; }
body.atlas-patient .entry-content h2, body.atlas-patient .woocommerce h2 { font-family: var(--atlas-p-serif); font-weight: 600; font-size: clamp(22px, 4.6vw, 28px); line-height: 1.2; color: var(--atlas-p-ink); margin: 28px 0 12px; }
body.atlas-patient .woocommerce h3 { font-family: var(--atlas-p-serif); font-weight: 600; font-size: 20px; line-height: 1.25; color: var(--atlas-p-ink); }
body.atlas-patient .woocommerce { font-family: var(--atlas-p-sans); color: var(--atlas-p-ink); font-size: 16px; line-height: 1.55; }
body.atlas-patient .woocommerce a:not(.button) { color: var(--atlas-p-accent); text-underline-offset: 3px; }
body.atlas-patient .woocommerce a:not(.button):hover { color: var(--atlas-p-accent-hover); }

/* buttons: one primary style, the store's own (enrollment page, plan cards) */
body.atlas-patient .woocommerce a.button, body.atlas-patient .woocommerce button.button, body.atlas-patient .woocommerce input.button,
body.atlas-patient .woocommerce button[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 24px;
	background: var(--atlas-p-accent); color: #fff; border: 0; border-radius: 999px; font-family: var(--atlas-p-sans);
	font-size: 16px; font-weight: 700; letter-spacing: .01em; line-height: 1.2; text-decoration: none; text-align: center;
	box-shadow: 0 10px 22px -14px rgba(14, 122, 110, .8); cursor: pointer; transition: background-color .2s ease;
}
body.atlas-patient .woocommerce a.button:hover, body.atlas-patient .woocommerce button.button:hover, body.atlas-patient .woocommerce input.button:hover,
body.atlas-patient .woocommerce button[type="submit"]:hover { background: var(--atlas-p-accent-hover); color: #fff; }
body.atlas-patient .woocommerce a.button:focus-visible, body.atlas-patient .woocommerce button:focus-visible, body.atlas-patient .woocommerce input:focus-visible,
body.atlas-patient .woocommerce select:focus-visible, body.atlas-patient .woocommerce-MyAccount-navigation a:focus-visible { outline: 2px solid var(--atlas-p-accent-hover); outline-offset: 2px; }
/* a quiet button for row actions (View, Edit) */
body.atlas-patient .woocommerce .woocommerce-orders-table .button, body.atlas-patient .woocommerce .woocommerce-Address .edit {
	min-height: 40px; padding: 8px 18px; font-size: 15px; background: var(--atlas-p-card); color: var(--atlas-p-accent);
	border: 1.5px solid var(--atlas-p-accent); border-radius: 999px; box-shadow: none; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center;
}
body.atlas-patient .woocommerce .woocommerce-orders-table .button:hover, body.atlas-patient .woocommerce .woocommerce-Address .edit:hover { background: var(--atlas-p-tint); color: var(--atlas-p-accent-hover); }

/* form fields */
body.atlas-patient .woocommerce form .form-row { margin: 0 0 14px; padding: 0; }
body.atlas-patient .woocommerce form .form-row label { font-size: 15px; font-weight: 600; color: var(--atlas-p-ink); margin-bottom: 6px; line-height: 1.4; }
body.atlas-patient .woocommerce form .input-text, body.atlas-patient .woocommerce form select, body.atlas-patient .woocommerce form textarea,
body.atlas-patient .woocommerce .select2-container .select2-selection--single {
	width: 100%; min-height: 48px; padding: 11px 14px; font-family: var(--atlas-p-sans); font-size: 16px; color: var(--atlas-p-ink);
	background: #fff; border: 1px solid var(--atlas-p-control); border-radius: 10px; box-shadow: none;
}
body.atlas-patient .woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 24px; padding: 0; }
body.atlas-patient .woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
body.atlas-patient .woocommerce form .input-text:focus, body.atlas-patient .woocommerce form select:focus { border-color: var(--atlas-p-accent); outline: 2px solid var(--atlas-p-tint); outline-offset: 0; }
body.atlas-patient .woocommerce .password-input { display: block; position: relative; }
body.atlas-patient .woocommerce .show-password-input { top: 50%; transform: translateY(-50%); right: 12px; }
body.atlas-patient .woocommerce input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--atlas-p-accent); vertical-align: middle; margin: 0 8px 0 0; }

/* notices */
body.atlas-patient .woocommerce-message, body.atlas-patient .woocommerce-info, body.atlas-patient .woocommerce-error {
	position: relative; margin: 0 0 18px; padding: 14px 16px; border: 1px solid var(--atlas-p-line); border-left: 4px solid var(--atlas-p-accent);
	border-radius: 12px; background: var(--atlas-p-tint); color: var(--atlas-p-ink); font-size: 15px; line-height: 1.5; list-style: none;
}
body.atlas-patient .woocommerce-message::before, body.atlas-patient .woocommerce-info::before, body.atlas-patient .woocommerce-error::before { display: none; }
body.atlas-patient .woocommerce-error { border-left-color: var(--atlas-danger, #a33a32); background: #fbefed; }
body.atlas-patient .woocommerce-error li { margin: 0; }
body.atlas-patient .woocommerce-message .button, body.atlas-patient .woocommerce-info .button { float: none; margin: 10px 0 0; }

/* sign-in and lost password: one card, centred */
body.atlas-patient:not(.logged-in) .woocommerce > h2 { display: none; } /* WooCommerce's "Login" sub-heading under the page title */
body.atlas-patient .woocommerce form.woocommerce-form-login, body.atlas-patient .woocommerce form.woocommerce-ResetPassword,
body.atlas-patient .woocommerce form.lost_reset_password {
	max-width: 480px; margin: 8px auto 0; padding: 26px 24px; background: var(--atlas-p-card); border: 1px solid var(--atlas-p-line);
	border-radius: 16px; box-shadow: 0 18px 40px -30px rgba(11, 36, 31, .45);
}
body.atlas-patient .woocommerce form.woocommerce-form-login .form-row:last-of-type { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 14px; margin-top: 6px; }
body.atlas-patient .woocommerce form.woocommerce-form-login .woocommerce-form-login__submit { width: 100%; float: none; margin: 0; }
body.atlas-patient .woocommerce form.woocommerce-form-login .woocommerce-form-login__rememberme { display: flex; align-items: center; margin: 0 0 6px; font-weight: 500; }
body.atlas-patient .woocommerce .lost_password { margin: 14px 0 0; text-align: center; font-size: 15px; }
body.atlas-patient .woocommerce form.woocommerce-form-login .atlas-small { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--atlas-p-line); text-align: center; }
body.atlas-patient .woocommerce form.woocommerce-ResetPassword > p:first-child, body.atlas-patient .woocommerce form.lost_reset_password > p:first-child { color: var(--atlas-p-muted); font-size: 15px; }
body.atlas-patient .woocommerce form.woocommerce-ResetPassword .form-row-first, body.atlas-patient .woocommerce form.lost_reset_password .form-row-first { width: 100%; float: none; }
body.atlas-patient .woocommerce form.woocommerce-ResetPassword button, body.atlas-patient .woocommerce form.lost_reset_password button { width: 100%; }

/* My Atlas: the menu as tabs (phone: one scrolling row; desktop: a side card) and the content as a card */
body.atlas-patient .woocommerce-MyAccount-navigation { float: none; width: auto; margin: 0 0 18px; }
body.atlas-patient .woocommerce-MyAccount-navigation ul {
	display: flex; gap: 8px; margin: 0 -20px; padding: 6px 20px 8px; list-style: none; overflow-x: auto; scrollbar-width: none;
	-webkit-overflow-scrolling: touch; scroll-padding-inline: 20px; position: relative;
}
body.atlas-patient .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
body.atlas-patient .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; flex: 0 0 auto; list-style: none; }
body.atlas-patient .woocommerce-MyAccount-navigation li::before, body.atlas-patient .woocommerce-MyAccount-navigation li::marker { content: none; }
body.atlas-patient .woocommerce-MyAccount-navigation li a {
	display: block; padding: 9px 16px; border: 1px solid var(--atlas-p-line); border-radius: 999px; background: var(--atlas-p-card);
	color: var(--atlas-p-ink); font-size: 15px; font-weight: 600; line-height: 1.3; white-space: nowrap; text-decoration: none;
}
body.atlas-patient .woocommerce-MyAccount-navigation li a:hover { border-color: var(--atlas-p-accent); color: var(--atlas-p-accent); }
body.atlas-patient .woocommerce-MyAccount-navigation li.is-active a { background: var(--atlas-p-accent); border-color: var(--atlas-p-accent); color: #fff; }
body.atlas-patient .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--atlas-p-muted); }
body.atlas-patient .woocommerce-MyAccount-content {
	float: none; width: auto; padding: 22px 20px; background: var(--atlas-p-card); border: 1px solid var(--atlas-p-line); border-radius: 16px;
}
body.atlas-patient .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
body.atlas-patient .woocommerce-MyAccount-content > :last-child { margin-bottom: 0; }
@media (min-width: 900px) {
	body.atlas-patient .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 28px; align-items: start; }
	body.atlas-patient .woocommerce:has(> .woocommerce-MyAccount-navigation)::before, body.atlas-patient .woocommerce:has(> .woocommerce-MyAccount-navigation)::after { display: none; }
	body.atlas-patient .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation { grid-column: 1; }
	body.atlas-patient .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content { grid-column: 2; }
	body.atlas-patient .woocommerce-MyAccount-navigation { position: sticky; top: 24px; margin: 0; padding: 10px; background: var(--atlas-p-card); border: 1px solid var(--atlas-p-line); border-radius: 16px; }
	body.atlas-patient .woocommerce-MyAccount-navigation ul { flex-direction: column; gap: 2px; margin: 0; padding: 0; overflow: visible; }
	body.atlas-patient .woocommerce-MyAccount-navigation li a { border: 0; border-radius: 10px; padding: 11px 14px; white-space: normal; }
	body.atlas-patient .woocommerce-MyAccount-navigation li a:hover { background: var(--atlas-p-tint); }
	body.atlas-patient .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--atlas-p-line); }
	body.atlas-patient .woocommerce-MyAccount-content { padding: 30px 32px; }
	body.atlas-patient .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
}

/* dashboard */
body.atlas-patient .atlas-acct-hello { font-family: var(--atlas-p-serif); font-size: 28px; font-weight: 600; line-height: 1.2; margin: 0 0 6px; }
body.atlas-patient .atlas-acct-lead { color: var(--atlas-p-muted); margin: 0 0 18px; }

/* Treatments */
body.atlas-patient .atlas-treat { padding: 18px; border-radius: 14px; background: var(--atlas-p-card); }
body.atlas-patient .atlas-treat h3 { font-size: 20px; margin: 0 0 6px; }
body.atlas-patient .atlas-treat .button { margin: 6px 0 10px; }
@media (max-width: 599px) { body.atlas-patient .atlas-treat .button { width: 100%; } }

/* tables: orders list, order details */
body.atlas-patient .woocommerce table.shop_table { width: 100%; margin: 0 0 22px; border: 1px solid var(--atlas-p-line); border-radius: 14px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: var(--atlas-p-card); font-size: 15px; }
body.atlas-patient .woocommerce table.shop_table th, body.atlas-patient .woocommerce table.shop_table td { padding: 13px 16px; border: 0; border-top: 1px solid var(--atlas-p-line); line-height: 1.45; vertical-align: middle; background: transparent; }
body.atlas-patient .woocommerce table.shop_table thead th { border-top: 0; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--atlas-p-muted); background: var(--atlas-surface, #f2f8f6); }
body.atlas-patient .woocommerce table.shop_table tbody tr:first-child td, body.atlas-patient .woocommerce table.shop_table tbody tr:first-child th { border-top: 0; }
body.atlas-patient .woocommerce table.shop_table thead + tbody tr:first-child td { border-top: 1px solid var(--atlas-p-line); }
body.atlas-patient .woocommerce table.shop_table tfoot th { font-weight: 600; color: var(--atlas-p-muted); }
body.atlas-patient .woocommerce table.shop_table tfoot tr:nth-last-child(2) th, body.atlas-patient .woocommerce table.shop_table tfoot tr:nth-last-child(2) td { color: var(--atlas-p-ink); font-weight: 800; font-size: 17px; }
body.atlas-patient .woocommerce table.shop_table td.product-total, body.atlas-patient .woocommerce table.shop_table tfoot td { text-align: right; white-space: nowrap; }
body.atlas-patient .woocommerce table.shop_table .product-quantity { font-weight: 500; color: var(--atlas-p-muted); }
body.atlas-patient .woocommerce table.shop_table .wc-item-meta { margin: 4px 0 0; padding: 0; list-style: none; font-size: 13px; color: var(--atlas-p-muted); }
body.atlas-patient .woocommerce table.shop_table .wc-item-meta p { display: inline; margin: 0; }
body.atlas-patient .woocommerce table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { text-align: right; }
body.atlas-patient .woocommerce .woocommerce-orders-table__cell-order-number a { font-weight: 700; }
/* phone: each order as its own card (WooCommerce turns rows into stacked label/value lines below 769px) */
@media (max-width: 768px) {
	body.atlas-patient .woocommerce table.woocommerce-orders-table { border: 0; border-radius: 0; background: transparent; overflow: visible; }
	body.atlas-patient .woocommerce table.woocommerce-orders-table tbody { display: grid; gap: 12px; }
	body.atlas-patient .woocommerce table.woocommerce-orders-table tr { display: block; margin: 0; padding: 8px 0; background: var(--atlas-surface, #f2f8f6); border: 0; border-radius: 12px; }
	body.atlas-patient .woocommerce table.woocommerce-orders-table td, body.atlas-patient .woocommerce table.woocommerce-orders-table th { display: block; padding: 6px 16px; border: 0; text-align: right; background: transparent !important; }
	body.atlas-patient .woocommerce table.woocommerce-orders-table td::before, body.atlas-patient .woocommerce table.woocommerce-orders-table th::before { float: left; margin-right: 12px; font-weight: 600; color: var(--atlas-p-muted); text-align: left; }
	body.atlas-patient .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number { font-size: 16px; text-align: left; }
	body.atlas-patient .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number::before { display: none; }
	body.atlas-patient .woocommerce table.woocommerce-orders-table td, body.atlas-patient .woocommerce table.woocommerce-orders-table th { border-top: 0 !important; }
	body.atlas-patient .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a { text-decoration: none; }
	body.atlas-patient .woocommerce table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { display: block; padding-top: 10px; }
	body.atlas-patient .woocommerce table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before { display: none; }
	body.atlas-patient .woocommerce table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button { width: 100%; margin: 0; justify-content: center; }
	body.atlas-patient .woocommerce table.woocommerce-orders-table thead { display: none; }
}

/* order received / order view: the summary line as tiles, addresses as cards */
body.atlas-patient .woocommerce-order > p.woocommerce-notice, body.atlas-patient .woocommerce-thankyou-order-received { font-size: 17px; line-height: 1.55; }
body.atlas-patient .woocommerce ul.woocommerce-order-overview {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; margin: 0 0 26px; padding: 18px; list-style: none;
	background: var(--atlas-p-card); border: 1px solid var(--atlas-p-line); border-radius: 14px;
}
body.atlas-patient .woocommerce ul.woocommerce-order-overview li {
	float: none; margin: 0; padding: 0; border: 0; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	color: var(--atlas-p-muted); line-height: 1.4; min-width: 0;
}
body.atlas-patient .woocommerce ul.woocommerce-order-overview li strong {
	display: block; margin-top: 3px; font-size: 16px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--atlas-p-ink); overflow-wrap: anywhere;
}
body.atlas-patient .woocommerce ul.woocommerce-order-overview::before, body.atlas-patient .woocommerce ul.woocommerce-order-overview::after { display: none; }
body.atlas-patient .woocommerce ul.woocommerce-order-overview li.woocommerce-order-overview__email { grid-column: 1 / -1; }
@media (min-width: 900px) {
	body.atlas-patient .woocommerce ul.woocommerce-order-overview { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	body.atlas-patient .woocommerce ul.woocommerce-order-overview li.woocommerce-order-overview__email { grid-column: auto; }
}
body.atlas-patient .woocommerce .woocommerce-customer-details address, body.atlas-patient .woocommerce .woocommerce-Address address {
	padding: 16px 18px; border: 1px solid var(--atlas-p-line); border-radius: 14px; background: var(--atlas-p-card); font-style: normal; line-height: 1.6;
}
body.atlas-patient .woocommerce .woocommerce-customer-details--phone, body.atlas-patient .woocommerce .woocommerce-customer-details--email { margin: 6px 0 0; padding-left: 0; }
body.atlas-patient .woocommerce .woocommerce-customer-details--phone::before, body.atlas-patient .woocommerce .woocommerce-customer-details--email::before { display: none; }
body.atlas-patient .woocommerce .woocommerce-columns--addresses { display: grid; gap: 18px; }
body.atlas-patient .woocommerce .woocommerce-columns--addresses .woocommerce-column { float: none; width: auto; }
@media (min-width: 700px) { body.atlas-patient .woocommerce .woocommerce-columns--addresses { grid-template-columns: 1fr 1fr; } }
body.atlas-patient .woocommerce .woocommerce-order-details, body.atlas-patient .woocommerce .woocommerce-customer-details { margin-top: 8px; }
body.atlas-patient .atlas-order-state { margin: 0 0 18px; font-size: 15px; }
body.atlas-patient .atlas-intake { border-radius: 16px; }

/* addresses */
body.atlas-patient .woocommerce .woocommerce-Addresses { display: grid; gap: 18px; margin-top: 12px; }
body.atlas-patient .woocommerce .woocommerce-Addresses .woocommerce-Address { float: none; width: auto; }
body.atlas-patient .woocommerce .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 10px; }
body.atlas-patient .woocommerce .woocommerce-Address-title h2, body.atlas-patient .woocommerce .woocommerce-Address-title h3 { margin: 0; font-size: 20px; }
body.atlas-patient .woocommerce .woocommerce-Address-title .edit { float: none; flex: 0 0 auto; white-space: nowrap; min-height: 36px; padding: 6px 14px; font-size: 14px; }
body.atlas-patient .woocommerce .woocommerce-Address-title h2, body.atlas-patient .woocommerce .woocommerce-Address-title h3 { flex: 1 1 auto; min-width: 0; }
body.atlas-patient .woocommerce .woocommerce-Address-title::before, body.atlas-patient .woocommerce .woocommerce-Address-title::after { display: none; }
body.atlas-patient .woocommerce .woocommerce-address-fields .button, body.atlas-patient .woocommerce .woocommerce-EditAccountForm .button { width: 100%; margin-top: 6px; }
@media (min-width: 600px) {
	body.atlas-patient .woocommerce .woocommerce-address-fields .button, body.atlas-patient .woocommerce .woocommerce-EditAccountForm .button { width: auto; }
}
@media (max-width: 599px) {
	body.atlas-patient .woocommerce form .form-row-first, body.atlas-patient .woocommerce form .form-row-last { width: 100%; float: none; }
}

/* payment method (card on file) */
body.atlas-patient .atlas-card-form { max-width: none; }
body.atlas-patient .atlas-card-form .button { width: 100%; }
@media (min-width: 600px) { body.atlas-patient .atlas-card-form .button { width: auto; } }

/* phones: tighter frame */
@media (max-width: 599px) {
	body.atlas-patient .site-main .inside-article { padding: 20px 16px 44px; }
	body.atlas-patient .woocommerce-MyAccount-navigation ul { margin: 0 -16px; padding: 6px 16px 8px; }
	body.atlas-patient .woocommerce-MyAccount-content { padding: 18px 16px; border-radius: 14px; }
	body.atlas-patient .woocommerce table.shop_table th, body.atlas-patient .woocommerce table.shop_table td { padding: 12px 14px; }
	body.atlas-patient .woocommerce ul.woocommerce-order-overview { padding: 16px; gap: 12px 14px; }
}

/* ===================================================================== 2.2.3 · enrollment page, payment area
   The two charging statements stay word for word (copy canon §6 PROMISE_STORE on checkout + the owners' 2026-10-02
   instruction); what changes is the hierarchy: one readable panel, no box inside a box, the consent tick easy to hit.
   Scoped to body.atlas-focus (enrollment, order-pay, plan page: Checkout_Rules::focus_class), never a bare WooCommerce class (Codex 223 #1). */
body.atlas-focus #payment .atlas-promise { margin: 10px 0 0; padding: 0; border: 0; border-radius: 0; background: transparent; } /* 2.2.8: no divider line (Al) */ /* 2.2.13: flush with the privacy line */
body.atlas-focus #payment .atlas-promise .atlas-promise-lead { font-size: 16px; line-height: 1.5; color: var(--contrast, #16332c); margin: 0 0 6px; }
body.atlas-focus #payment .atlas-promise > p:not(.atlas-promise-lead):not(.atlas-promise-small):not(.atlas-consent) { font-size: 15px; line-height: 1.5; color: var(--contrast-2, #47605a); margin: 0 0 10px; }
body.atlas-focus #payment .atlas-promise .atlas-promise-small { font-size: 13px; margin: 0 0 12px; }
body.atlas-focus #payment .atlas-consent { margin: 12px 0 0; padding: 14px; background: var(--base, #fff); border: 1px solid var(--atlas-border, #c3dbd4); border-radius: 12px; }
body.atlas-focus #payment .atlas-consent label { display: flex; gap: 10px; align-items: flex-start; margin: 0; font-size: 15px; line-height: 1.5; color: var(--contrast, #16332c); cursor: pointer; }
body.atlas-focus #payment .atlas-consent input[type="checkbox"] { flex: 0 0 22px; }
body.atlas-focus #payment .atlas-consent input[type="checkbox"] { width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--accent, #0e7a6e); }
body.atlas-focus #payment .atlas-consent label abbr { flex: 0 0 auto; text-decoration: none; } /* kept: it tells screen readers the box is required */
body.atlas-focus #payment .woocommerce-privacy-policy-text p { font-size: 13px; line-height: 1.5; color: var(--contrast-2, #47605a); margin: 6px 0 0; }
body.atlas-focus #payment .atlas-card-note { font-size: 13px; }
@media (max-width: 599px) {
	/* phones: five nested paddings left the consent text a 220px column; one inset only */
	body.atlas-focus #payment { padding: 12px; }
	body.atlas-focus #payment ul.payment_methods { padding: 0 0 12px; }
	body.atlas-focus #payment .form-row.place-order { padding: 12px 0 0; }
	body.atlas-focus #payment div.payment_box { padding: 14px 12px; margin: 10px 0 0; }
	body.atlas-focus #payment .atlas-promise { padding: 0; }
	body.atlas-focus #payment .atlas-consent { padding: 12px; }
	body.atlas-focus #customer_details { padding: 14px; }
}
body.atlas-focus #payment .atlas-promise .atlas-promise-lead strong { font-weight: 700; }

body.atlas-focus #ship-to-different-address { font-family: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 16px; font-weight: 600; line-height: 1.4; margin: 6px 0 12px; }
body.atlas-focus #ship-to-different-address label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
body.atlas-focus #ship-to-different-address input[type="checkbox"] { width: 20px; height: 20px; margin: 0; accent-color: var(--accent, #0e7a6e); }

/* 2.2.3: the refill question's answers. WooCommerce's ".woocommerce form .form-row label" (block, line-height 2)
   outranked .atlas-refill-opt, so each answer read double-spaced with the radio inline in the text. */
body.atlas-focus .woocommerce form .form-row.atlas-refill-choice .atlas-refill-q { display: block; font-size: 16px; font-weight: 700; line-height: 1.4; margin: 0 0 4px; }
body.atlas-focus .woocommerce form .form-row.atlas-refill-choice label.atlas-refill-opt {
	display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; margin: 0; padding: 12px 14px;
	font-size: 15px; font-weight: 500; line-height: 1.5; color: var(--contrast, #16332c); background: var(--base, #fff);
	border: 1px solid var(--atlas-border, #c3dbd4); border-radius: 12px; cursor: pointer;
}
body.atlas-focus .woocommerce form .form-row.atlas-refill-choice label.atlas-refill-opt:has(input:checked) { border: 2px solid var(--accent, #0e7a6e); padding: 11px 13px; background: var(--atlas-tint, #dff3ee); }
body.atlas-focus .woocommerce form .form-row.atlas-refill-choice label.atlas-refill-opt input[type="radio"] { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--accent, #0e7a6e); }
body.atlas-focus #payment .atlas-consent { margin-bottom: 16px; }

/* ===================================================================== 2.2.3 · enrollment page (body.atlas-focus): the same
   fields, notices, order table and choice controls as My Atlas, so the checkout and the account read as one product. */
body.atlas-focus .woocommerce form .input-text, body.atlas-focus .woocommerce form select, body.atlas-focus .woocommerce form textarea,
body.atlas-focus .woocommerce .select2-container .select2-selection--single {
	width: 100%; min-height: 48px; padding: 11px 14px; font-family: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 16px;
	color: var(--contrast, #16332c); background: #fff; border: 1px solid var(--atlas-control-border, #9db5ae); border-radius: 10px; box-shadow: none;
}
body.atlas-focus .woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 24px; padding: 0; }
body.atlas-focus .woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
body.atlas-focus .woocommerce form .input-text:focus, body.atlas-focus .woocommerce form select:focus { border-color: var(--accent, #0e7a6e); outline: 2px solid var(--atlas-tint, #dff3ee); outline-offset: 0; }
body.atlas-focus .woocommerce form .form-row label { font-size: 15px; font-weight: 600; line-height: 1.4; margin-bottom: 6px; color: var(--contrast, #16332c); }
body.atlas-focus .woocommerce form .form-row { margin-bottom: 14px; }
body.atlas-focus .woocommerce input[type="radio"], body.atlas-focus .woocommerce input[type="checkbox"] { accent-color: var(--accent, #0e7a6e); }
body.atlas-focus #payment .atlas-card label, body.atlas-focus #payment label[for^="atlas_card_choice"] { line-height: 1.45; }
body.atlas-focus .woocommerce-message, body.atlas-focus .woocommerce-info, body.atlas-focus .woocommerce-error,
body.atlas-focus .woocommerce-NoticeGroup .woocommerce-error {
	margin: 0 0 18px; padding: 14px 16px; border: 1px solid var(--atlas-border, #c3dbd4); border-left: 4px solid var(--accent, #0e7a6e);
	border-radius: 12px; background: var(--atlas-tint, #dff3ee); color: var(--contrast, #16332c); font-size: 15px; line-height: 1.5; list-style: none;
}
body.atlas-focus .woocommerce-message::before, body.atlas-focus .woocommerce-info::before, body.atlas-focus .woocommerce-error::before { display: none; }
body.atlas-focus .woocommerce-error { border-left-color: var(--atlas-danger, #a33a32); background: #fbefed; }
body.atlas-focus .woocommerce-error li { margin: 0; }
body.atlas-focus table.woocommerce-checkout-review-order-table { width: 100%; margin: 0; border: 1px solid var(--atlas-border, #c3dbd4); border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: 15px; background: #fff; }
body.atlas-focus table.woocommerce-checkout-review-order-table th, body.atlas-focus table.woocommerce-checkout-review-order-table td { padding: 12px 14px; border: 0; border-top: 1px solid var(--atlas-border, #c3dbd4); background: transparent; line-height: 1.45; vertical-align: top; }
body.atlas-focus table.woocommerce-checkout-review-order-table thead th { border-top: 0; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--contrast-2, #47605a); background: var(--atlas-surface, #f2f8f6); }
body.atlas-focus table.woocommerce-checkout-review-order-table td.product-total, body.atlas-focus table.woocommerce-checkout-review-order-table tfoot td { text-align: right; white-space: nowrap; }
body.atlas-focus table.woocommerce-checkout-review-order-table .product-quantity { font-weight: 500; color: var(--contrast-2, #47605a); }
body.atlas-focus table.woocommerce-checkout-review-order-table tfoot th { font-weight: 600; color: var(--contrast-2, #47605a); }
body.atlas-focus table.woocommerce-checkout-review-order-table tfoot .order-total th, body.atlas-focus table.woocommerce-checkout-review-order-table tfoot .order-total td { font-size: 17px; font-weight: 800; color: var(--contrast, #16332c); }
body.atlas-focus #order_review_heading, body.atlas-focus #customer_details h3:not(#ship-to-different-address) { font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-weight: 600; font-size: 22px; line-height: 1.25; margin: 0 0 12px; }

/* ===================================================================== 2.2.6 · enrollment surface (Al 2026-10-20)
   One calm page instead of a white strip over beige: a cool off-white page, white cards with a soft shadow, the payment
   box white, the step bar centred inside the page. The green accents stay. Scoped to body.atlas-focus. */
body.atlas-focus { --atlas-border: #E2E8E5; background: #F5F7F6 !important; }
body.atlas-focus .site, body.atlas-focus #page, body.atlas-focus .site-content, body.atlas-focus .content-area,
body.atlas-focus .site-main, body.atlas-focus .inside-article, body.atlas-focus .entry-content { background: transparent !important; }
body.atlas-focus .atlas-plan, body.atlas-focus #customer_details, body.atlas-focus #order_review {
	border-color: #E2E8E5; box-shadow: 0 1px 2px rgba(16, 40, 35, .04), 0 14px 34px -22px rgba(16, 40, 35, .22); }
body.atlas-focus .woocommerce-checkout #payment, body.atlas-focus #payment { background: #fff; border: 1px solid #E2E8E5; }
body.atlas-focus #payment div.payment_box { background: #F7FAF9; }
body.atlas-focus #payment div.payment_box::before { display: none; }
body.atlas-focus #payment .atlas-consent { background: #F7FAF9; border-color: #E2E8E5; }
body.atlas-focus table.woocommerce-checkout-review-order-table, body.atlas-focus table.woocommerce-checkout-review-order-table th,
body.atlas-focus table.woocommerce-checkout-review-order-table td { border-color: #E2E8E5; }
body.atlas-patient .atlas-add-treat , body.atlas-focus .atlas-add-treat { margin: 28px 0 0; padding: 18px 20px; background: var(--base, #fff); border: 1px solid #E2E8E5; border-radius: 14px; }
body.atlas-patient .atlas-add-treat h3 , body.atlas-focus .atlas-add-treat h3 { margin: 0 0 6px; }
body.atlas-patient .atlas-add-treat p , body.atlas-focus .atlas-add-treat p { margin: 0 0 12px; font-size: 15px; color: var(--contrast-2, #47605a); }
body.atlas-patient .atlas-add-treat ul , body.atlas-focus .atlas-add-treat ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
body.atlas-patient .atlas-add-treat li a , body.atlas-focus .atlas-add-treat li a { display: inline-block; padding: 10px 16px; border: 1px solid var(--accent, #0e7a6e); border-radius: 999px; color: var(--accent, #0e7a6e); font-weight: 600; text-decoration: none; }
body.atlas-patient .atlas-add-treat li a:hover , body.atlas-focus .atlas-add-treat li a:hover { background: var(--atlas-tint, #dff3ee); }

/* 2.2.6 · enrollment top bar: plain text, no links; wordmark + one true line; phone as text */
body.atlas-focus .atlas-focus-bar .atlas-focus-brand { display: flex; flex-direction: column; gap: 2px; }
body.atlas-focus .atlas-focus-bar .atlas-focus-logo, body.atlas-focus .atlas-focus-bar .atlas-focus-help { color: var(--base, #fff); font-family: Manrope, -apple-system, BlinkMacSystemFont, sans-serif; font-weight: 800; font-size: 18px; line-height: 1.2; }
body.atlas-focus .atlas-focus-bar .atlas-focus-help { font-weight: 700; font-size: 15px; text-align: right; }
body.atlas-focus .atlas-focus-bar .atlas-focus-tag { color: rgba(255, 255, 255, .78); font-family: Manrope, -apple-system, BlinkMacSystemFont, sans-serif; font-size: 13px; font-weight: 500; line-height: 1.3; }
@media (max-width: 600px) { body.atlas-focus .atlas-focus-bar .atlas-focus-logo { font-size: 16px; } body.atlas-focus .atlas-focus-bar .atlas-focus-tag { font-size: 12px; } body.atlas-focus .atlas-focus-bar .atlas-focus-help { font-size: 13px; } }

/* 2.2.6 · My Atlas pages share the enrollment surface (cool off-white page, white cards; the site header stays) */
body.atlas-patient { background: #F5F7F6 !important; }
body.atlas-patient .site, body.atlas-patient #page, body.atlas-patient .site-content, body.atlas-patient .content-area, body.atlas-patient .site-main,
body.atlas-patient .inside-article, body.atlas-patient .entry-content { background: transparent !important; }

/* 2.2.8 (Al 2026-10-20): tighter top of the enrollment page; the country is fixed (United States), so its row is not shown. */
body.atlas-focus .site-content { padding-top: 0 !important; }
body.atlas-focus .site-main { margin-top: 0 !important; }
body.atlas-focus .inside-article { padding-top: 16px !important; }
body.atlas-focus .entry-content { margin-top: 0 !important; }
body.atlas-focus #billing_country_field, body.atlas-focus #shipping_country_field { display: none !important; } /* WooCommerce's script shows it inline */
body.atlas-focus #payment ul.payment_methods { border-bottom: 0 !important; } /* 2.2.8: no divider line between the card box and the text below (Al) */
body.atlas-focus .atlas-trust-card { padding: 12px 16px; } /* 2.2.8: one-line cards (Al) */
body.atlas-focus .atlas-trust-card strong { font-size: 15px; line-height: 1.4; margin: 0; }
/* 2.2.9 (Al 2026-10-21): the product's vial as a small thumbnail beside its name (choose cards, the plan box). */
body.atlas-focus .atlas-choose-name, body.atlas-patient .atlas-choose-name, body.atlas-focus .atlas-plan-program legend { display: flex; align-items: center; gap: 12px; }
body.atlas-focus .atlas-thumb, body.atlas-patient .atlas-thumb { width: 48px; height: 48px; flex: 0 0 48px; object-fit: contain; border-radius: 10px; background: #F5F7F6; }
/* 2.2.11 (Al 2026-10-21): the card note, the promise and the privacy line sit close together. */
body.atlas-focus #payment ul.payment_methods { padding-bottom: 0 !important; }
body.atlas-focus #payment div.payment_box { padding-bottom: 8px !important; margin-bottom: 0 !important; }
body.atlas-focus #payment .form-row.place-order { padding-top: 4px !important; }
/* 2.2.11 (Al 2026-10-21): the top bar is one small line: "Atlas HRT · Serving all of Florida" left, the phone right. */
body.atlas-focus .atlas-focus-bar { padding: 8px 24px !important; flex-wrap: nowrap; }
body.atlas-focus .atlas-focus-bar .atlas-focus-brand { flex-direction: row !important; align-items: baseline; gap: 8px !important; white-space: nowrap; min-width: 0; }
body.atlas-focus .atlas-focus-bar .atlas-focus-logo { font-size: 15px !important; }
body.atlas-focus .atlas-focus-bar .atlas-focus-tag { font-size: 13px !important; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
body.atlas-focus .atlas-focus-bar .atlas-focus-tag::before { content: "\00B7"; margin-right: 8px; color: rgba(255, 255, 255, .6); }
body.atlas-focus .atlas-focus-bar .atlas-focus-help { font-size: 13px !important; white-space: nowrap; }
@media (max-width: 480px) {
	body.atlas-focus .atlas-focus-bar { padding: 7px 12px !important; gap: 8px; }
	body.atlas-focus .atlas-focus-bar .atlas-focus-logo { font-size: 13px !important; }
	body.atlas-focus .atlas-focus-bar .atlas-focus-tag, body.atlas-focus .atlas-focus-bar .atlas-focus-help { font-size: 11.5px !important; }
	body.atlas-focus .atlas-focus-bar .atlas-focus-tag::before { margin-right: 6px; }
	body.atlas-focus .atlas-focus-bar .atlas-focus-help-label { display: none; }
}
/* 2.2.11 (Al 2026-10-21): promise above the privacy line; returning check-in and consent below; tight spacing. */
body.atlas-focus #payment .atlas-promise.atlas-promise--lead { margin: 12px 0 0 !important; padding: 0 !important; }
body.atlas-focus #payment .atlas-promise.atlas-promise--lead .atlas-promise-lead { margin: 0 !important; }
body.atlas-focus #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p { margin: 6px 0 0 !important; }
body.atlas-focus #payment .form-row.place-order > .atlas-promise:not(.atlas-promise--lead) { margin-top: 6px !important; }
body.atlas-focus #payment .atlas-promise .atlas-promise-small { margin: 0 0 8px !important; }
/* 2.2.11: compounded asterisk + footnote in "Your plan". */
body.atlas-focus .atlas-plan .atlas-plan-star { font-size: .75em; margin-left: 2px; color: var(--contrast-2, #47605a); }
body.atlas-focus .atlas-plan .atlas-plan-note { margin: 10px 0 0; font-size: 13px; line-height: 1.4; color: var(--contrast-2, #47605a); text-wrap: pretty; }
/* 2.2.11 (Al 2026-10-21): the plan price reads like the treatment-page price (.atlas-po-total): Manrope, heavy, accent. */
body.atlas-focus .atlas-plan .atlas-plan-price { font-family: Manrope, -apple-system, BlinkMacSystemFont, sans-serif; font-size: 20px; font-weight: 800; line-height: 1.2; color: var(--accent); font-variant-numeric: tabular-nums; letter-spacing: -.01em; white-space: nowrap; }
body.atlas-focus .atlas-plan .atlas-plan-only { align-items: baseline; }
body.atlas-focus .atlas-plan .atlas-plan-sub { grid-column: 2 / -1; } /* 2.2.13: the sub-line may run under the price (phones) */
/* 2.2.14 (Al 2026-10-21): a one-option product's description line, under its title. */
body.atlas-focus .atlas-plan .atlas-plan-only-sub { margin: 2px 0 0; font-size: 14px; line-height: 1.4; color: var(--contrast-2, #47605a); }
/* 2.2.14 (operator 2026-10-21, measured live): on a phone the theme's two outer paddings (30px + 16px a side) left
   the card field 182px wide (number cut off, consent on 11 lines). The store's focused pages (the choose page, the
   checkout, the cart and order-pay) keep the 16px page gutter only. */
@media (max-width: 480px) {
	body.atlas-focus .site-content { padding-left: 0 !important; padding-right: 0 !important; }
	body.atlas-focus .site-main { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
}
/* 2.2.14 (Al 2026-10-21): one checkout per line (weight loss, TRT); the patient picks the medication at the top of "Your plan". */
body.atlas-focus .atlas-plan-switch { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 14px; }
body.atlas-focus .atlas-plan-switch a { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 48px; padding: 8px 6px; border: 1px solid var(--atlas-border, #d9d2c4); border-radius: 12px; font-size: 14px; font-weight: 600; line-height: 1.25; color: var(--contrast); text-decoration: none; background: var(--base, #fff); }
body.atlas-focus .atlas-plan-switch a.is-current { border: 2px solid var(--accent); background: var(--atlas-tint, #dff3ee); }
body.atlas-focus .atlas-plan-switch a:focus-visible { outline: 2px solid var(--atlas-primary-hover, var(--accent)); outline-offset: 2px; }
body.atlas-focus .atlas-plan-switch .atlas-plan-star { font-size: .75em; margin-left: 1px; color: var(--contrast-2, #47605a); }
body.atlas-focus .atlas-plan-switch--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* 2.2.14 (Al 2026-10-21): My Atlas, Add a treatment: one or more, one order. */
body.atlas-patient .atlas-add-list { list-style: none; margin: 10px 0 14px; padding: 0; display: grid; gap: 8px; }
body.atlas-patient .atlas-add-list label, body.atlas-patient .atlas-add-list summary { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 14px; border: 1px solid var(--atlas-border, #d9d2c4); border-radius: 12px; background: var(--base, #fff); cursor: pointer; }
body.atlas-patient .atlas-add-list summary { font-weight: 600; }
body.atlas-patient .atlas-add-list input[type=checkbox] { width: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--accent); margin: 0; }
body.atlas-patient .atlas-add-list label:has(input:checked) { border: 2px solid var(--accent); background: var(--atlas-tint, #dff3ee); }
body.atlas-patient .atlas-add-list details ul { list-style: none; margin: 8px 0 0 12px; padding: 0; display: grid; gap: 8px; }
/* 2.2.14 (review r4): tiles fit a phone; the label and its asterisk stay one unit. */
body.atlas-focus .atlas-plan-switch a > span { display: block; }
@media (max-width: 400px) {
	body.atlas-focus .atlas-plan { padding: 16px; }
	body.atlas-focus .atlas-plan-switch { gap: 6px; }
	body.atlas-focus .atlas-plan-switch a { font-size: 13px; padding: 8px 3px; }
}
/* 2.2.14 (review r4): the Add a treatment checklist renders as a list (the older chip rule is more specific). */
body.atlas-patient .atlas-add-treat ul.atlas-add-list { display: grid; flex-wrap: nowrap; gap: 8px; margin: 10px 0 14px; }
body.atlas-patient .atlas-add-treat ul.atlas-add-list details ul { display: grid; gap: 8px; margin: 8px 0 0 12px; }
body.atlas-patient .atlas-add-list summary { list-style: none; }
body.atlas-patient .atlas-add-list summary::-webkit-details-marker { display: none; }
body.atlas-patient .atlas-add-list summary::after { content: "\25BE"; margin-left: auto; color: var(--contrast-2, #47605a); }
body.atlas-patient .atlas-add-list details[open] > summary::after { content: "\25B4"; }

/* 2.2.21: "New to it" / "Already taking it" in Your plan (GLP-1 programs with maintenance doses). Same look as the
   medication tabs above it; the maintenance doses as one row per dose with compact supply-length choices. */
body.atlas-focus .atlas-plan-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 2px 0 14px; }
body.atlas-focus .atlas-plan-mode-opt { position: relative; display: flex; align-items: center; justify-content: center; min-height: 56px; padding: 8px 6px; border: 1px solid var(--atlas-border, #d9d2c4); border-radius: 12px; cursor: pointer; text-align: center; background: var(--base, #fff); }
body.atlas-focus .atlas-plan-mode-opt > span { display: flex; flex-direction: column; gap: 2px; font-size: 15px; font-weight: 700; line-height: 1.2; color: var(--contrast); }
body.atlas-focus .atlas-plan-mode-opt small { font-size: 12px; font-weight: 500; color: var(--contrast-2, #47605a); }
body.atlas-focus .atlas-plan-mode-radio { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
body.atlas-focus .atlas-plan-mode-opt:has(.atlas-plan-mode-radio:checked) { border: 2px solid var(--accent); background: var(--atlas-tint, #dff3ee); }
body.atlas-focus .atlas-plan-mode-opt:has(.atlas-plan-mode-radio:focus-visible) { outline: 2px solid var(--atlas-primary-hover, var(--accent)); outline-offset: 2px; }
body.atlas-focus .atlas-plan-group[hidden] { display: none; }
body.atlas-focus .atlas-plan-hint { margin: 0 0 12px; font-size: 14px; line-height: 1.45; color: var(--contrast-2, #47605a); }
body.atlas-focus .atlas-plan-dose { margin: 0 0 12px; }
body.atlas-focus .atlas-plan-dose-h { margin: 0 0 6px; font-size: 15px; font-weight: 700; color: var(--contrast); }
body.atlas-focus .atlas-plan-chips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
body.atlas-focus .atlas-plan-chip { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 56px; padding: 8px 4px; border: 1px solid var(--atlas-border, #d9d2c4); border-radius: 12px; cursor: pointer; text-align: center; background: var(--base, #fff); }
body.atlas-focus .atlas-plan-chip .atlas-plan-radio { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
body.atlas-focus .atlas-plan-chip-len { font-size: 13px; color: var(--contrast-2, #47605a); line-height: 1.2; }
body.atlas-focus .atlas-plan-chip .atlas-plan-price { font-size: 16px; font-weight: 800; line-height: 1.2; }
body.atlas-focus .atlas-plan-chip:has(.atlas-plan-radio:checked) { border: 2px solid var(--accent); background: var(--atlas-tint, #dff3ee); }
body.atlas-focus .atlas-plan-chip:has(.atlas-plan-radio:focus-visible) { outline: 2px solid var(--atlas-primary-hover, var(--accent)); outline-offset: 2px; }
body.atlas-focus .atlas-plan-attest { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; margin: 6px 0 0; padding: 12px 14px; border-radius: 12px; background: var(--atlas-tint, #dff3ee); font-size: 14px; line-height: 1.45; cursor: pointer; }
body.atlas-focus .atlas-plan-attest input { margin-top: 2px; width: 18px; height: 18px; accent-color: var(--accent); }
/* 2.2.22: the optional save-card box reads as a quiet note under the card fields, not a second consent. */
body.atlas-focus #payment .atlas-save-card { margin: 10px 0 0; padding: 0; }
body.atlas-focus #payment .atlas-save-card label { display: flex; gap: 10px; align-items: flex-start; margin: 0; font-size: 13px; font-weight: 400; line-height: 1.45; color: var(--contrast-2, #47605a); cursor: pointer; }
body.atlas-focus #payment .atlas-save-card input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--accent, #0e7a6e); }
/* 2.2.23: the monthly program. Its terms read as plainly as the rest of the payment block (never small print). */
body.atlas-focus #payment .atlas-program-terms { margin: 0 0 14px; padding: 12px 14px; font-size: 15px; line-height: 1.5; color: var(--contrast, #16332c); background: var(--atlas-tint, #eef6f3); border-radius: 12px; }
body.atlas-focus #payment .atlas-program-terms strong { font-weight: 600; }
body.atlas-focus #payment .atlas-card-kept { margin: 10px 0 0; font-size: 13px; line-height: 1.45; color: var(--contrast-2, #47605a); }
body.atlas-patient .atlas-program .atlas-treat-meta { font-weight: 600; }
body.atlas-patient .atlas-program details.atlas-program-terms-box { margin-top: 10px; }
body.atlas-patient .atlas-program details.atlas-program-terms-box summary { cursor: pointer; font-size: 14px; color: var(--contrast-2, #47605a); }
body.atlas-patient .atlas-program form { margin: 8px 0 0; }
body.atlas-patient .atlas-program a.atlas-program-cancel { color: var(--contrast-2, #47605a); text-decoration: underline; }

/* 2.2.27 (owners' reference image 2026-10-30): "Your plan" product row (name, short description, banner) and lab rows
   (radio, icon, title, line under it, price, chevron); TRT's labs use the same rows. Texts and images come from the products. */
body.atlas-focus .atlas-plan-desc { margin: -2px 0 12px; font-size: 15px; line-height: 1.5; color: var(--contrast-2, #47605a); }
body.atlas-focus .atlas-plan-program legend:has(.atlas-thumb) + .atlas-plan-desc { margin-left: 60px; } /* under the name, beside the picture */
body.atlas-focus .atlas-plan-desc p { margin: 0 0 6px; }
body.atlas-focus .atlas-plan-banner { margin: 0 0 14px; }
body.atlas-focus .atlas-plan-banner-img { display: block; width: 100%; height: auto; border-radius: 16px; }
body.atlas-focus .atlas-plan-labs { margin: 14px 0 0; padding: 0; }
body.atlas-focus .atlas-plan-labs-h { margin: 0 0 10px; font-size: 22px; font-weight: 600; line-height: 1.25; color: var(--contrast, #0b241f); }
body.atlas-focus .atlas-plan-labsbox { margin-top: 6px; }
body.atlas-focus .atlas-plan-labsbox > legend.atlas-plan-labs-h { display: block; padding: 0; }
body.atlas-focus .atlas-plan-labs .atlas-labs-prompt { margin: 0 0 10px; font-weight: 600; color: var(--contrast, #0b241f); }
body.atlas-focus .atlas-plan-labs .atlas-labs-note { margin: 4px 0 0; }
body.atlas-focus .atlas-plan .atlas-lab-row { grid-template-columns: auto auto minmax(0, 1fr) auto auto; gap: 4px 16px; padding: 16px 18px; border-radius: 14px; }
body.atlas-focus .atlas-lab-icon { display: inline-flex; color: var(--contrast, #0b241f); }
body.atlas-focus .atlas-lab-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
body.atlas-focus .atlas-plan .atlas-lab-text .atlas-plan-sub { grid-column: auto; }
body.atlas-focus .atlas-plan .atlas-lab-row .atlas-plan-price { grid-column: 4; grid-row: 1; padding-left: 18px; border-left: 1px solid var(--atlas-border, #d9d2c4); font-size: 22px; color: var(--accent); align-self: stretch; display: flex; align-items: center; justify-content: flex-end; min-width: 6.5em; box-sizing: border-box; } /* one price column for every row */
body.atlas-focus .atlas-lab-chev { grid-column: 5; display: inline-flex; color: var(--contrast, #0b241f); }
@media (max-width: 480px) {
	body.atlas-focus .atlas-plan-desc { margin-left: 0; font-size: 14px; }
	body.atlas-focus .atlas-plan .atlas-lab-row { grid-template-columns: auto auto minmax(0, 1fr) auto; gap: 4px 10px; padding: 14px 12px; }
	body.atlas-focus .atlas-plan .atlas-lab-row .atlas-plan-price { padding-left: 10px; font-size: 18px; min-width: 4.2em; }
	body.atlas-focus .atlas-plan-program legend:has(.atlas-thumb) + .atlas-plan-desc { margin-left: 0; }
	body.atlas-focus .atlas-lab-chev { display: none; }
	body.atlas-focus .atlas-lab-icon svg { width: 24px; height: 24px; }
	body.atlas-focus .atlas-plan-labs-h { font-size: 19px; }
}
