/* Landing-aligned checkout and receipt navigation. Provider-owned controls stay intact. */
body.checkout-page { --checkout-green:#009b49; --checkout-deep:#063f2d; --checkout-ink:#063f2d; --checkout-border:#dce2dd; background:#f4f3ed; color:#063f2d; }
body.checkout-page [hidden] { display:none !important; }
body.checkout-page .checkout-nav { display:block; position:sticky; top:0; z-index:40; margin:0; padding:0; border:0 !important; border-bottom:1px solid #e1e5df !important; border-radius:0; background:rgba(255,254,250,.96) !important; backdrop-filter:blur(12px); box-shadow:none !important; color:#063f2d !important; }
body.checkout-page .checkout-nav-inner { display:grid; grid-template-columns:104px minmax(0,1fr) auto; align-items:center; gap:18px; width:min(1280px, calc(100% - 48px)); min-height:76px; margin:auto; padding:0; }
body.checkout-page .checkout-nav-logo { display:grid; align-items:center; width:104px; height:52px; }
body.checkout-page .checkout-nav-logo img { display:block; width:104px; height:52px; object-fit:contain; }
body.checkout-page .checkout-nav svg { width:17px; height:17px; flex:0 0 17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
body.checkout-page .checkout-nav a { color:#063f2d; text-decoration:none; }
body.checkout-page .checkout-nav a:hover { color:#009b49; }
body.checkout-page .checkout-nav-links, body.checkout-page .checkout-nav-actions { display:flex; align-items:center; gap:clamp(6px,1vw,16px); }
body.checkout-page .checkout-nav-links { justify-content:center; }
body.checkout-page .checkout-nav-links a, body.checkout-page .checkout-nav-account { display:flex; align-items:center; gap:7px; padding:8px 9px; border-radius:6px; font-size:13px; line-height:1; font-weight:750; white-space:nowrap; min-height:44px; transition:background-color .18s ease,color .18s ease; }
body.checkout-page .checkout-nav-links svg, body.checkout-page .checkout-nav-account svg { color:#009b49; }
body.checkout-page .checkout-nav-links a:hover, body.checkout-page .checkout-nav-links a:focus-visible, body.checkout-page .checkout-nav-account:hover, body.checkout-page .checkout-nav-account:focus-visible { background:#063f2d; color:#fff; }
body.checkout-page .checkout-nav-links a:hover svg, body.checkout-page .checkout-nav-links a:focus-visible svg, body.checkout-page .checkout-nav-account:hover svg, body.checkout-page .checkout-nav-account:focus-visible svg { color:#c4edab; }
body.checkout-page .checkout-nav .checkout-nav-home { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:9px 18px; border:1px solid #063f2d; border-radius:999px; background:#063f2d; color:#fff; font-size:13px; font-weight:850; line-height:1.2; white-space:nowrap; }
body.checkout-page .checkout-nav .checkout-nav-home:hover, body.checkout-page .checkout-nav .checkout-nav-home:focus-visible { border-color:#063f2d; background:#063f2d; color:#fff; }
body.checkout-page .checkout-nav-menu { display:none; position:static; justify-self:end; }
body.checkout-page .checkout-nav-menu summary { display:grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid #dce2dd; border-radius:50%; background:transparent; cursor:pointer; list-style:none; }
body.checkout-page .checkout-nav-menu summary::-webkit-details-marker { display:none; }
body.checkout-page .checkout-nav-menu summary > span { grid-area:1 / 1; width:18px; height:2px; background:#063f2d; transition:transform .18s ease; }
body.checkout-page .checkout-nav-menu summary > span:first-child { transform:translateY(-4px); }
body.checkout-page .checkout-nav-menu summary > span:last-child { transform:translateY(4px); }
body.checkout-page .checkout-nav-menu[open] summary { border-color:#063f2d; background:#063f2d; }
body.checkout-page .checkout-nav-menu[open] summary > span { background:#fff; }
body.checkout-page .checkout-nav-menu[open] summary > span:first-child { transform:rotate(45deg); }
body.checkout-page .checkout-nav-menu[open] summary > span:last-child { transform:rotate(-45deg); }
body.checkout-page .checkout-nav-menu nav { position:absolute; inset:100% 0 auto; width:100%; max-height:calc(100dvh - 76px); overflow-y:auto; overscroll-behavior-y:contain; padding:12px max(18px, calc((100% - 1280px) / 2)) 20px; border:0; border-top:1px solid #dce2dd; border-bottom:1px solid #dce2dd; border-radius:0; background:#fffefa; box-shadow:0 12px 32px #063f2d15; }
body.checkout-page .checkout-nav-menu nav a { display:flex; align-items:center; justify-content:flex-start; gap:12px; min-height:64px; padding:0 14px; border-bottom:1px solid #dce2dd; border-radius:6px; font-size:16px; line-height:1.2; font-weight:780; }
body.checkout-page .checkout-nav-menu nav a > span { min-width:0; }
body.checkout-page .checkout-nav-menu nav a svg { color:#009b49; }
body.checkout-page .checkout-nav-menu nav a::after { content:"→"; margin-left:auto; color:#009b49; font-size:22px; line-height:1; }
body.checkout-page .checkout-nav-menu nav a:hover, body.checkout-page .checkout-nav-menu nav a:focus-visible { background:#063f2d; color:#fff; }
body.checkout-page .checkout-nav-menu nav a:hover svg, body.checkout-page .checkout-nav-menu nav a:focus-visible svg, body.checkout-page .checkout-nav-menu nav a:hover::after, body.checkout-page .checkout-nav-menu nav a:focus-visible::after { color:#c4edab; }
body.checkout-page .checkout-nav-menu nav .checkout-nav-home { display:flex; justify-content:flex-start; width:100%; min-height:64px; margin-top:12px; padding:0 14px; border:1px solid #063f2d; border-radius:6px; background:#063f2d; color:#fff; font-size:16px; font-weight:780; }
body.checkout-page .checkout-nav-menu nav .checkout-nav-home svg { color:#fff; }
body.checkout-page .checkout-nav-menu nav .checkout-nav-home::after { content:none; }
body.checkout-page .checkout-nav-menu nav .checkout-nav-home:hover, body.checkout-page .checkout-nav-menu nav .checkout-nav-home:focus-visible { border-color:#063f2d; background:#063f2d; }
body.checkout-page :is(.checkout-nav a,.checkout-nav summary):focus-visible { outline:3px solid #f8d664; outline-offset:3px; }

body.checkout-page .checkout-continuous-flow { max-width:1210px; padding:30px 30px 64px; }
body.checkout-page .checkout-page-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 14px; }
body.checkout-page .checkout-page-title h1 { font-size:42px; line-height:1.1; letter-spacing:-.035em; margin:0; font-weight:900; }
body.checkout-page .checkout-title-secure { display:none; align-items:center; gap:7px; font-size:12px; white-space:nowrap; }
body.checkout-page .checkout-title-secure svg, body.checkout-page .checkout-summary-security svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; }
body.checkout-page .checkout-continuous-flow .checkout-attribution-notice { margin:0 0 16px; padding:10px 14px; border:0; border-radius:7px; background:#f2f3f2; color:#35453d; font-size:13px; font-weight:400; box-shadow:none; }
body.checkout-page .checkout-continuous-flow .checkout-attribution-notice strong { font-weight:750; }
body.checkout-page .checkout-continuous-flow .checkout-grid { grid-template-columns:minmax(0,1fr) 360px; gap:26px; margin-top:20px; align-items:start; }
body.checkout-page .checkout-continuous-flow .checkout-form { min-width:0; gap:12px; }
body.checkout-page .checkout-continuous-flow .checkout-progress { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0 0 6px; max-width:560px; }
body.checkout-page .checkout-progress button { position:relative; display:flex; flex-direction:column; align-items:center; gap:6px; border:0; background:none; min-height:64px; padding:0 4px 8px; color:#68726c; font:inherit; font-size:13px; cursor:pointer; }
body.checkout-page .checkout-progress button:not(:last-child)::after { content:""; position:absolute; left:calc(50% + 20px); right:calc(-50% + 20px); top:15px; height:1px; background:#cbd5ce; }
body.checkout-page .checkout-progress button > span { display:grid; place-items:center; width:30px; height:30px; border:1px solid #bdc9c1; border-radius:50%; background:#f2f3f2; color:#063f2d; font-weight:700; }
body.checkout-page .checkout-progress button[aria-current], body.checkout-page .checkout-progress button.is-complete { color:#063f2d; font-weight:750; }
body.checkout-page .checkout-progress button[aria-current] > span, body.checkout-page .checkout-progress button.is-complete > span { background:#009b49; color:#fff; border-color:#009b49; }
body.checkout-page .checkout-progress button.is-complete::after { background:#009b49; }
body.checkout-page .checkout-progress button:focus-visible { outline:2px solid #063f2d; outline-offset:3px; border-radius:5px; }
body.checkout-page .checkout-continuous-flow .checkout-flow-section { padding:0; border:1px solid #dce2dd; border-radius:10px; background:#fff; box-shadow:none; overflow:hidden; scroll-margin-top:92px; }
body.checkout-page .checkout-continuous-flow .checkout-flow-section.is-current-section { border-color:#009b49; }
body.checkout-page .checkout-continuous-flow .checkout-flow-section .checkout-section-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; min-height:70px; width:100%; padding:16px 20px; margin:0; border:0; background:#fff; color:#063f2d; font:inherit; text-align:left; box-shadow:none; cursor:pointer; }
body.checkout-page .checkout-continuous-flow .checkout-flow-section.is-open .checkout-section-head { grid-template-columns:minmax(0,1fr); min-height:0; padding-bottom:12px; border:0; cursor:default; }
body.checkout-page .checkout-continuous-flow .checkout-flow-section.is-current-section .checkout-section-head { background:#fff; box-shadow:none; }
body.checkout-page .checkout-continuous-flow .checkout-accordion-title strong { font-size:21px; font-weight:850; letter-spacing:-.025em; line-height:1.15; }
body.checkout-page .checkout-continuous-flow .checkout-accordion-title small { color:#647069; font-size:13px; font-weight:400; white-space:normal; overflow:visible; margin-top:5px; }
body.checkout-page .checkout-continuous-flow .checkout-flow-section.is-open .checkout-step-number, body.checkout-page .checkout-continuous-flow .checkout-flow-section.is-open .checkout-order-toggle__action { display:none; }
body.checkout-page .checkout-continuous-flow .checkout-flow-section.is-open:not(.checkout-free-tools-section) .checkout-accordion-title small { display:none; }
body.checkout-page .checkout-continuous-flow .checkout-step-number { position:relative; width:32px; height:32px; min-width:32px; background:#009b49; box-shadow:none; }
body.checkout-page .checkout-continuous-flow .checkout-section-head .checkout-step-number { box-shadow:none; }
body.checkout-page .checkout-continuous-flow .is-complete .checkout-step-number { font-size:0; }
body.checkout-page .checkout-continuous-flow .is-complete .checkout-step-number::after { content:"✓"; font-size:18px; }
body.checkout-page .checkout-continuous-flow .checkout-order-toggle__action { color:#087c42; font-size:13px; font-weight:650; text-decoration:underline; }
body.checkout-page .checkout-continuous-flow .checkout-section-head:focus-visible { outline:2px solid #063f2d; outline-offset:-4px; }
body.checkout-page .checkout-continuous-flow :is(.checkout-section-head, .checkout-progress button) { -webkit-tap-highlight-color:transparent; }
body.checkout-page .checkout-continuous-flow[data-checkout-navigation-input="pointer"] :is(.checkout-section-head, .checkout-progress button):focus-visible { outline:none; }
body.checkout-page .checkout-continuous-flow .checkout-accordion-panel { display:block; padding:0 20px 20px; }
body.checkout-page .checkout-continuous-flow .checkout-accordion-panel[hidden] { display:none !important; }
body.checkout-page .checkout-continuous-flow .checkout-order-product { display:none; }
body.checkout-page .checkout-continuous-flow:not([data-checkout-stage]) [data-checkout-accordion-section="customer"], body.checkout-page .checkout-continuous-flow:not([data-checkout-stage]) [data-checkout-accordion-section="payment"] { display:none; }

body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__coverage { grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:4px 0 0; padding:8px 0; border-radius:6px; background:#f2f3f2; }
body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__coverage > div { min-height:0; padding:2px 6px; gap:3px; border:0; border-radius:0; background:none; color:#555d59; }
body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__coverage > div + div { border-left:1px solid #dce2dd; }
body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__coverage small { font-size:9px; font-weight:600; letter-spacing:.03em; }
body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__coverage strong { font-size:13px; font-weight:650; }
body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__amount { gap:12px; padding:14px; border-color:#bbd3c4; }
body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__schedule { margin-top:4px; }
body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__frequency, body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__date { min-height:72px; border-color:#d2dbd5; background:#fff; }
body.checkout-page .checkout-continuous-flow .checkout-plan [data-checkout-schedule-enhanced] > div { padding:0; }
body.checkout-page .checkout-continuous-flow .checkout-plan [data-checkout-schedule-enhanced] > div > :not(.checkout-schedule-trigger) { display:none; }
body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-schedule-trigger { display:grid; align-content:center; justify-items:start; gap:8px; width:100%; min-width:0; min-height:76px; padding:11px 30px 11px 12px; border:0; border-radius:inherit; background:transparent; color:#063f2d; font:inherit; text-align:left; cursor:pointer; touch-action:manipulation; }
body.checkout-page .checkout-schedule-trigger strong { font-size:17px; font-weight:850; line-height:1.25; }
body.checkout-page .checkout-schedule-trigger[aria-expanded="true"] { background:#f0f8f1 !important; }
body.checkout-page .checkout-schedule-trigger:focus-visible { outline:3px solid #087c42; outline-offset:-3px; }
body.checkout-page .checkout-schedule-picker { position:fixed; inset:auto; box-sizing:border-box; width:360px; max-width:calc(100vw - 24px); margin:0; padding:18px; border:1px solid #cedbd2; border-radius:14px; background:#fff; color:#063f2d; box-shadow:0 16px 50px #063f2d30; overflow:auto; overscroll-behavior:contain; font-family:inherit; }
body.checkout-page .checkout-schedule-picker::backdrop { background:rgba(6,63,45,.22); }
body.checkout-page .checkout-schedule-picker button { box-sizing:border-box; margin:0; box-shadow:none; font:inherit; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
body.checkout-page .checkout-schedule-picker button:focus-visible { outline:2px solid #087c42; outline-offset:2px; }
body.checkout-page .checkout-schedule-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
body.checkout-page .checkout-schedule-head h2 { margin:0; color:#063f2d; font-size:21px; font-weight:850; line-height:1.2; letter-spacing:-.025em; }
body.checkout-page .checkout-schedule-picker .checkout-schedule-icon { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; min-height:36px; padding:0; border:1px solid #dce2dd; border-radius:50%; background:#f4f5f2; color:#063f2d; font-size:25px; line-height:1; }
body.checkout-page .checkout-schedule-month { display:grid; grid-template-columns:36px 1fr 36px; align-items:center; gap:8px; margin-bottom:14px; text-align:center; }
body.checkout-page .checkout-schedule-month strong { font-size:15px; font-weight:750; }
body.checkout-page .checkout-schedule-weekdays, body.checkout-page .checkout-schedule-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; }
body.checkout-page .checkout-schedule-weekdays { margin-bottom:6px; color:#68726c; font-size:10px; font-weight:600; text-align:center; }
body.checkout-page .checkout-schedule-days > * { min-width:0; height:40px; }
body.checkout-page .checkout-schedule-days button { width:100%; min-height:0; padding:0; border:1px solid transparent; border-radius:50%; background:transparent; color:#063f2d; font-size:14px; font-weight:650; }
body.checkout-page .checkout-schedule-days button.is-today { border-color:#b7cfc0; }
body.checkout-page .checkout-schedule-days button:not(:disabled):hover { background:#eaf5e9; }
body.checkout-page .checkout-schedule-days button[aria-pressed="true"], body.checkout-page .checkout-schedule-days button[aria-pressed="true"]:hover { border-color:#009b49; background:#009b49; color:#fff; }
body.checkout-page .checkout-schedule-picker button:disabled { opacity:.3; cursor:default; }
body.checkout-page .checkout-schedule-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; padding-top:12px; border-top:1px solid #dce2dd; color:#647069; font-size:12px; }
body.checkout-page .checkout-schedule-footer button { flex-shrink:0; min-height:36px; padding:2px; border:0; border-radius:3px; background:transparent; color:#087c42; font-size:12px; font-weight:650; text-decoration:underline; }
body.checkout-page .checkout-schedule-options { display:grid; gap:8px; }
body.checkout-page .checkout-schedule-options button { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; min-height:56px; padding:12px 14px; border:1px solid #dce2dd; border-radius:8px; background:#fff; color:#063f2d; font-size:16px; font-weight:700; text-align:left; }
body.checkout-page .checkout-schedule-options button[aria-selected="true"] { border-color:#009b49; background:#eff8ef; }
body.checkout-page .checkout-schedule-check { display:grid; place-items:center; width:24px; height:24px; border:1px solid #cad7ce; border-radius:50%; color:transparent; }
body.checkout-page [aria-selected="true"] > .checkout-schedule-check { border-color:#009b49; background:#009b49; color:#fff; }
@media (max-width:360px) {
  body.checkout-page .checkout-schedule-picker { padding:14px; }
  body.checkout-page .checkout-schedule-days > * { height:36px; }
  body.checkout-page .checkout-schedule-footer { font-size:11px; gap:6px; }
  body.checkout-page .checkout-schedule-footer button { font-size:11px; }
  body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-schedule-trigger { padding-left:9px; padding-right:24px; }
}
body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__coupon-entry { margin:0; padding:0; }
body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__coupon-entry > summary { min-height:36px; padding:2px 2px; color:#087c42; text-decoration:underline; }
body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__coupon-entry .checkout-quantity-row { margin:0 0 4px; }
body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__price > strong { color:#063f2d; }
body.checkout-page .checkout-continuous-flow .checkout-section-intro { display:none; }
body.checkout-page .checkout-continuous-flow .checkout-bumps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] { display:grid; grid-template-areas:none; grid-template-columns:56px minmax(0,1fr) 24px; grid-template-rows:auto auto; column-gap:10px; row-gap:3px; align-items:center; margin:0; padding:10px; min-height:90px; border:1px solid #dce2dd; border-radius:8px; background:#fff; box-shadow:none; }
body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card]:has(input:checked) { background:#fff; border-color:#d0dbd3; box-shadow:none; }
body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] .checkout-bump-card__image { grid-column:1; grid-row:1 / 3; width:56px; height:66px; margin:0; padding:0; border:0; border-radius:5px; background:#f7f8f5; }
body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] .checkout-bump-card__image img { width:100%; height:100%; object-fit:contain; }
body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] .checkout-bump-card__copy { grid-column:2; grid-row:1; align-self:end; gap:0; }
body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] .checkout-bump-card__copy strong { font-size:13px; font-weight:700; line-height:1.3; color:#063f2d; text-transform:none; }
body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] .checkout-bump-card__copy b, body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] em s, body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] .checkout-bump-card__added small { display:none; }
body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] .checkout-bump-card__copy small { display:block; margin-top:4px; overflow:hidden; color:#647069; font-size:12px; font-weight:400; line-height:1.35; letter-spacing:0; text-transform:none; text-overflow:ellipsis; white-space:nowrap; }
body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] em { display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; grid-column:2; grid-row:2; justify-self:start; align-self:start; padding:0; margin:0; background:none; border:0; font-style:normal; color:#087c42; font-size:13px; line-height:1.2; text-transform:none; }
body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] em span { font-size:13px; font-weight:700; text-transform:capitalize; }
body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] em .checkout-bump-card__value { color:#647069; font-size:12px; font-weight:400; text-transform:none; white-space:nowrap; }
body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] i { grid-column:3; grid-row:1 / 3; position:static; width:23px; height:23px; min-width:23px; min-height:23px; padding:0; border:1px solid #b9c9be; border-radius:5px; background:#fff; box-shadow:none; font-size:18px; color:#063f2d; }
body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card]:has(input:checked) i { border-color:#009b49; background:#009b49; color:#fff; }
body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card]:has(input:focus-visible) { outline:2px solid #063f2d; outline-offset:3px; }

body.checkout-page .checkout-continuous-flow .checkout-field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
body.checkout-page .checkout-continuous-flow .checkout-field-grid.single { grid-template-columns:1fr; margin-bottom:14px; }
body.checkout-page .checkout-continuous-flow .checkout-field-grid label { grid-column:auto; min-width:0; gap:6px; }
body.checkout-page .checkout-continuous-flow .checkout-delivery-fields { grid-template-columns:repeat(6,minmax(0,1fr)); }
body.checkout-page .checkout-continuous-flow .checkout-delivery-fields label { grid-column:span 3; }
body.checkout-page .checkout-continuous-flow .checkout-delivery-fields label:has(input[name="phone"]), body.checkout-page .checkout-continuous-flow .checkout-delivery-fields label:has(input[name="line1"]), body.checkout-page .checkout-continuous-flow .checkout-delivery-fields label:has(input[name="line2"]) { grid-column:1 / -1; }
body.checkout-page .checkout-continuous-flow .checkout-delivery-fields label:has(input[name="state_region"]) { grid-column:span 1; }
body.checkout-page .checkout-continuous-flow .checkout-delivery-fields label:has(input[name="postal_code"]) { grid-column:span 2; }
body.checkout-page .checkout-continuous-flow .checkout-field-grid label > span, body.checkout-page .checkout-continuous-flow .checkout-tokenized-field > span { font-size:13px; font-weight:650; letter-spacing:0; text-transform:none; color:#063f2d; }
body.checkout-page .checkout-continuous-flow .checkout-field-grid input, body.checkout-page .checkout-continuous-flow .checkout-tokenized-field input { min-height:46px; width:100%; min-width:0; box-sizing:border-box; padding:11px 12px; border:1px solid #d2dbd5; border-radius:8px; background:#fff; color:#063f2d; font:inherit; font-size:16px; font-weight:400; }
body.checkout-page .checkout-continuous-flow input:focus-visible { outline:2px solid #087c42; outline-offset:1px; }
body.checkout-page .checkout-continuous-flow input::placeholder { color:#7a807c; opacity:1; }
body.checkout-page .checkout-continuous-flow .checkout-payment-methods { max-width:none; margin:0 0 16px; }
body.checkout-page .checkout-continuous-flow .checkout-payment-methods button[aria-selected="true"] { box-shadow:0 0 0 1px #009b49; }
body.checkout-page .checkout-continuous-flow .checkout-card-fields { border:0; padding:0; background:none; }
body.checkout-page .checkout-continuous-flow .checkout-payment-panel { padding:0; border:0; background:none; }
body.checkout-page .checkout-continuous-flow .checkout-payment-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
body.checkout-page .checkout-continuous-flow .checkout-payment-fields label { min-width:0; font-size:13px; font-weight:650; letter-spacing:0; text-transform:none; }
body.checkout-page .checkout-continuous-flow .checkout-payment-fields label:first-child { grid-column:1 / -1; }
body.checkout-page .checkout-continuous-flow .checkout-payment-fields input { min-height:46px; padding:11px 12px; border-color:#d2dbd5; font-size:16px; font-weight:400; }
body.checkout-page .checkout-continuous-flow .checkout-payment-status { background:#f2f3f2; border:0; border-radius:6px; color:#555d59; font-size:12px; font-weight:400; }
body.checkout-page .checkout-continuous-flow .checkout-payment-status.is-error { background:#fff1ed; color:#943a25; }

body.checkout-page .checkout-continuous-flow .checkout-summary { align-self:start; position:sticky; top:102px; display:grid; gap:16px; min-width:0; max-height:calc(100dvh - 126px); overflow:auto; padding:22px; border:1px solid #dce2dd; border-radius:10px; background:#fff; box-shadow:0 8px 24px #063f2d05; }
body.checkout-page .checkout-continuous-flow .checkout-summary-head { gap:8px; }
body.checkout-page .checkout-continuous-flow .checkout-summary-head h2 { flex:1; min-width:0; font-size:clamp(20px,6.4vw,25px); letter-spacing:-.03em; }
body.checkout-page .checkout-continuous-flow .checkout-summary-edit { flex:0 0 auto; min-width:36px; min-height:36px; padding:2px; border:0; border-radius:4px; background:transparent; box-shadow:none; color:#087c42; font-size:13px; font-weight:650; line-height:1.25; text-decoration:underline; cursor:pointer; touch-action:manipulation; }
body.checkout-page .checkout-continuous-flow .checkout-summary-edit:focus-visible { outline:3px solid #07553b; outline-offset:2px; }
body.checkout-page .checkout-continuous-flow .checkout-summary-close { flex-shrink:0; }
body.checkout-page .checkout-continuous-flow .checkout-summary-line { gap:18px; padding:12px 0; font-size:14px; border-bottom:1px solid #e4e8e4; line-height:1.4; }
body.checkout-page .checkout-continuous-flow .checkout-summary-line span { color:#35453d; }
body.checkout-page .checkout-continuous-flow .checkout-summary-line strong { white-space:nowrap; color:#063f2d; }
body.checkout-page .checkout-continuous-flow .checkout-summary-product { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:10px; }
body.checkout-page .checkout-summary-product__image { display:grid; place-items:center; width:48px; height:48px; overflow:hidden; border:1px solid #e4e8e4; border-radius:7px; background:#f5f6f3; }
body.checkout-page .checkout-summary-product__image img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
body.checkout-page .checkout-summary-product__copy { display:grid; gap:4px; min-width:0; }
body.checkout-page .checkout-summary-product__name { font-size:13px; font-weight:650; overflow-wrap:anywhere; }
body.checkout-page .checkout-summary-product__copy small { color:#66716b; font-size:12px; font-weight:400; }
body.checkout-page .checkout-continuous-flow .checkout-summary > div:empty { display:none; }
body.checkout-page .checkout-summary-routine { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px; border-radius:7px; background:#f2f3f2; font-size:13px; }
body.checkout-page .checkout-summary-routine span { color:#555d59; }
body.checkout-page .checkout-summary-routine__plan, body.checkout-page .checkout-summary-routine__date { display:grid; gap:4px; }
body.checkout-page .checkout-summary-routine__date { text-align:right; white-space:nowrap; }
body.checkout-page .checkout-summary-routine__date span { font-size:11px; }
body.checkout-page .checkout-summary-routine__date[hidden] { display:none; }
body.checkout-page .checkout-summary-coupon { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:66px; width:100%; padding:12px; border:1px solid #c9af65; border-radius:9px; background:#fff6d8; color:#6e551c; font:inherit; text-align:left; cursor:pointer; }
body.checkout-page .checkout-summary-coupon[hidden] { display:none; }
body.checkout-page .checkout-summary-coupon__offer { display:flex; align-items:center; gap:8px; min-width:0; }
body.checkout-page .checkout-summary-coupon__icon { display:grid; place-items:center; flex:0 0 28px; height:28px; border-radius:50%; background:#8a6a21; color:#fff; font-size:20px; font-weight:800; }
body.checkout-page .checkout-summary-coupon__copy, body.checkout-page .checkout-summary-coupon__value { display:grid; gap:3px; min-width:0; }
body.checkout-page .checkout-summary-coupon small { font-size:10px; font-weight:700; line-height:1.3; }
body.checkout-page .checkout-summary-coupon__copy small { text-transform:uppercase; }
body.checkout-page .checkout-summary-coupon strong { font-size:15px; line-height:1.2; overflow-wrap:anywhere; }
body.checkout-page .checkout-summary-coupon__value { flex-shrink:0; text-align:right; }
body.checkout-page .checkout-summary-coupon__value small { text-decoration:underline; text-underline-offset:2px; }
body.checkout-page .checkout-summary-coupon[aria-pressed="false"] { border-color:#d8ded7; background:#f1f4ef; color:#506154; }
body.checkout-page .checkout-summary-coupon[aria-pressed="false"] .checkout-summary-coupon__icon { background:#dce4d9; color:#506154; }
body.checkout-page .checkout-summary-coupon:focus-visible { outline:3px solid #009b49; outline-offset:3px; }
body.checkout-page .checkout-summary-coupon:disabled { cursor:wait; opacity:.65; }
body.checkout-page .checkout-summary-note { margin:-6px 0 0; color:#66716b; font-size:12px; line-height:1.4; }
body.checkout-page .checkout-continuous-flow .checkout-total-row { margin:0; padding:16px 0 0; border-top:1px solid #dce2dd; font-size:23px; }
body.checkout-page .checkout-continuous-flow .checkout-total-row strong { font-size:25px; }
body.checkout-page .checkout-continuous-flow .checkout-action { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:76px; padding:14px 16px; border:1px solid #009b49; border-radius:9px; background:#009b49; box-shadow:none; color:#fff; text-align:left; white-space:normal; }
body.checkout-page .checkout-action-copy { display:grid; gap:4px; min-width:0; }
body.checkout-page .checkout-action-copy strong { font-size:18px; font-weight:800; letter-spacing:-.02em; line-height:1.2; }
body.checkout-page .checkout-action-copy small { color:#fff; font-size:13px; font-weight:500; line-height:1.2; text-transform:none; }
body.checkout-page .checkout-action-arrow { display:grid; place-items:center; width:46px; height:46px; flex:0 0 46px; border-radius:50%; background:#fff; color:#009b49; font-size:31px; line-height:1; font-weight:600; }
body.checkout-page .checkout-continuous-flow .checkout-action:disabled { opacity:.55; cursor:not-allowed; }
body.checkout-page .checkout-continuous-flow .checkout-action:focus-visible { outline:3px solid #063f2d; outline-offset:3px; }
body.checkout-page .checkout-summary-security { display:flex; justify-content:center; align-items:center; gap:7px; margin:0; font-size:12px; }
body.checkout-page .checkout-continuous-flow .checkout-submit-status { margin:0 0 14px; padding:12px 14px; border-radius:7px; background:#f2f3f2; font-size:14px; line-height:1.5; }
body.checkout-page .checkout-continuous-flow .checkout-submit-status.is-error { background:#fff1ed; color:#943a25; border:1px solid #e8c3b8; }
body.checkout-page .checkout-summary-backdrop { position:fixed; inset:0; z-index:42; border:0; background:#063f2d45; cursor:default; }
@media (hover:hover) and (pointer:fine) { body.checkout-page .checkout-continuous-flow .checkout-action:hover:not(:disabled) { background:#063f2d; border-color:#063f2d; } }
body.checkout-page .checkout-continuous-flow .checkout-action:active:not(:disabled) { background:#063f2d; border-color:#063f2d; }
@media (hover:none) {
  body.checkout-page .checkout-continuous-flow .checkout-action:hover:not(:active):not(:disabled) { background:#009b49; border-color:#009b49; }
}
@media (max-width:1100px) {
  /* An open menu must cover checkout actions and the floating support launcher. */
  body.checkout-page .checkout-nav:has(.checkout-nav-menu[open]) { z-index:2147483001; }
  body.checkout-page .checkout-nav-links, body.checkout-page .checkout-nav-actions { display:none; }
  body.checkout-page .checkout-nav-inner { grid-template-columns:104px minmax(0,1fr); }
  body.checkout-page .checkout-nav-menu { display:block; }
  body.checkout-page .checkout-title-secure { display:flex; }
  body.checkout-page .checkout-continuous-flow .checkout-grid { grid-template-columns:minmax(0,1fr) 320px; gap:20px; }
  body.checkout-page .checkout-continuous-flow .checkout-bumps { grid-template-columns:1fr; }
}
@media (max-width:820px) {
  /* Let the action bar follow short steps and stick to the viewport on long ones. */
  body.checkout-page:has(.checkout-continuous-flow) { overflow:visible; padding-bottom:0; }
  body.checkout-page .checkout-nav-inner { width:calc(100% - 32px); min-height:64px; padding:0; }
  body.checkout-page .checkout-nav-logo, body.checkout-page .checkout-nav-logo img { width:86px; height:44px; }
  body.checkout-page .checkout-nav-menu nav { max-height:calc(100dvh - 64px); }
  body.checkout-page .checkout-nav-menu summary { width:42px; height:42px; }
  /* Keep the nav in flow throughout delivery so blur cannot cover an Edit tap. */
  body.checkout-page:has(.checkout-continuous-flow[data-checkout-stage="customer"]) .checkout-nav:not(:has(.checkout-nav-menu[open])) { position:relative; top:auto; }
  body.checkout-page .checkout-continuous-flow { --checkout-mobile-gutter:12px; padding:12px var(--checkout-mobile-gutter) 0; }
  body.checkout-page .checkout-continuous-flow[data-checkout-keyboard-open="true"] { padding-bottom:var(--checkout-keyboard-inset, 0px); }
  body.checkout-page .checkout-continuous-flow[data-checkout-keyboard-open="true"] .checkout-mobile-bar { visibility:hidden; pointer-events:none; }
  body.checkout-page .checkout-page-title { padding:0 4px; margin-bottom:8px; }
  body.checkout-page .checkout-page-title h1 { font-size:30px; }
  body.checkout-page .checkout-continuous-flow .checkout-attribution-notice { font-size:12px; padding:8px 10px; margin-bottom:12px; }
  body.checkout-page .checkout-continuous-flow .checkout-grid { display:block; margin-top:8px; }
  body.checkout-page .checkout-continuous-flow .checkout-form { gap:8px; }
  body.checkout-page .checkout-continuous-flow .checkout-progress { max-width:none; margin:0; }
  body.checkout-page .checkout-progress button { font-size:12px; min-height:48px; gap:4px; padding-bottom:4px; }
  body.checkout-page .checkout-progress button > span { width:26px; height:26px; }
  body.checkout-page .checkout-progress button:not(:last-child)::after { top:13px; }
  body.checkout-page .checkout-continuous-flow .checkout-flow-section { scroll-margin-top:80px; }
  body.checkout-page .checkout-continuous-flow .checkout-flow-section .checkout-section-head { padding:10px 12px; gap:10px; min-height:58px; }
  body.checkout-page .checkout-continuous-flow .checkout-flow-section.is-open .checkout-section-head { padding-bottom:8px; }
  body.checkout-page .checkout-continuous-flow .checkout-accordion-title strong { font-size:20px; }
  body.checkout-page .checkout-continuous-flow .checkout-flow-section:not(.is-open) .checkout-accordion-title strong { font-size:16px; }
  body.checkout-page .checkout-continuous-flow .checkout-accordion-title small { font-size:12px; }
  body.checkout-page .checkout-continuous-flow .checkout-accordion-panel { padding:0 12px 10px; }
  body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__amount { padding:9px 8px; gap:8px; }
  body.checkout-page .checkout-continuous-flow .checkout-bumps { gap:8px; }
  body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] { grid-template-columns:56px minmax(0,1fr) 24px; }
  body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] .checkout-bump-card__copy strong { font-size:14px; }
  body.checkout-page .checkout-continuous-flow .checkout-delivery-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.checkout-page .checkout-continuous-flow .checkout-delivery-fields label { grid-column:auto; }
  body.checkout-page .checkout-continuous-flow .checkout-delivery-fields label:has(input[name="city"]) { grid-column:1 / -1; }
  body.checkout-page .checkout-continuous-flow .checkout-delivery-fields label:has(input[name="state_region"]), body.checkout-page .checkout-continuous-flow .checkout-delivery-fields label:has(input[name="postal_code"]) { grid-column:auto; }
  body.checkout-page .checkout-continuous-flow .checkout-summary { position:fixed; top:auto; bottom:calc(14px + env(safe-area-inset-bottom)); left:12px; right:12px; max-height:calc(100dvh - 96px); padding:18px; z-index:46; }
  body.checkout-page .checkout-continuous-flow .checkout-summary.is-mobile-open { opacity:1; pointer-events:auto; transform:none; }
  body.checkout-page .checkout-continuous-flow .checkout-summary-close { display:grid; place-items:center; background:#f2f3f2; width:40px; height:40px; border:1px solid #dce2dd; }
  body.checkout-page .checkout-continuous-flow .checkout-mobile-bar { position:sticky; bottom:0; left:auto; right:auto; margin:8px calc(-1 * var(--checkout-mobile-gutter)) 0; display:grid; grid-template-columns:minmax(0,1fr); gap:0; background:#fff; border-top:1px solid #e3e7e2; padding:0 12px calc(10px + env(safe-area-inset-bottom)); box-shadow:0 -4px 20px #063f2d08; z-index:41; }
  body.checkout-page .checkout-continuous-flow .checkout-mobile-total { display:flex; align-items:center; justify-content:center; gap:4px; width:100%; min-height:40px; margin:6px 0; padding:7px 0; border:0; border-radius:8px; background:#f5f6f4; color:#087c42; cursor:pointer; }
  body.checkout-page .checkout-continuous-flow .checkout-mobile-total span { color:inherit; font-size:12px; font-weight:600; text-transform:none; }
  body.checkout-page .checkout-continuous-flow .checkout-mobile-total svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  body.checkout-page .checkout-continuous-flow .checkout-action { min-height:72px; padding:12px 16px; }
  body.checkout-page .checkout-action-copy strong { font-size:17px; }
  body.checkout-page .checkout-action-copy small { font-size:13px; }
  body.checkout-page .checkout-action-arrow { width:44px; height:44px; flex-basis:44px; }
}
@media (max-width:360px) {
  body.checkout-page .checkout-continuous-flow { --checkout-mobile-gutter:10px; padding-inline:var(--checkout-mobile-gutter); }
  body.checkout-page .checkout-continuous-flow .checkout-accordion-panel { padding-inline:10px; }
  body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__amount { grid-template-columns:minmax(130px,1.15fr) minmax(0,1fr); }
  body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__coverage small { font-size:8px; }
  body.checkout-page .checkout-continuous-flow .checkout-plan .checkout-plan__coverage strong { font-size:12px; }
  body.checkout-page .checkout-continuous-flow .checkout-bump-card[data-checkout-bump-card] { column-gap:8px; }
}
@media (prefers-reduced-motion:reduce) { body.checkout-page .checkout-summary { transition:none; } }

/* Billing is an optional part of delivery, with the same quiet disclosure as promotions. */
body.checkout-page .checkout-billing-entry { margin: 16px 0 0; padding-bottom: 0; }
body.checkout-page .checkout-billing-entry__note { margin: 8px 0 14px; color: #66736c; font-size: 14px; line-height: 1.5; }
body.checkout-page .checkout-billing-fields input { font-size: 16px; }
body.checkout-page .checkout-billing-fields { margin-top: 0; }

body.checkout-page .receipt-addresses { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; margin-top:20px; padding-top:16px; border-top:1px solid #dce2dd; }
body.checkout-page .receipt-addresses h3 { margin:0 0 6px; font-size:15px; }
body.checkout-page .receipt-addresses p { margin:0; color:#66736c; font-size:14px; line-height:1.5; }

body.checkout-page .checkout-billing-entry > summary { display:flex; align-items:center; gap:7px; width:fit-content; max-width:100%; min-height:36px; padding:2px; color:#087c42; font-size:13px; font-weight:650; line-height:1.25; list-style:none; cursor:pointer; touch-action:manipulation; text-decoration:underline; }
body.checkout-page .checkout-billing-entry > summary::-webkit-details-marker { display:none; }
body.checkout-page .checkout-billing-entry > summary::after { content:""; width:6px; height:6px; flex:0 0 6px; margin-left:2px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
body.checkout-page .checkout-billing-entry[open] > summary::after { transform:translateY(2px) rotate(225deg); }
body.checkout-page .checkout-billing-entry > summary:focus-visible { outline:3px solid #07553b; outline-offset:3px; border-radius:4px; }
body.checkout-page .checkout-continuous-flow .checkout-billing-fields { grid-template-columns:repeat(6,minmax(0,1fr)); }
body.checkout-page .checkout-continuous-flow .checkout-billing-fields label { grid-column:span 3; }
body.checkout-page .checkout-continuous-flow .checkout-billing-fields label:has(input[name="billing_line1"]), body.checkout-page .checkout-continuous-flow .checkout-billing-fields label:has(input[name="billing_line2"]) { grid-column:1 / -1; }
body.checkout-page .checkout-continuous-flow .checkout-billing-fields label:has(input[name="billing_state_region"]) { grid-column:span 1; }
body.checkout-page .checkout-continuous-flow .checkout-billing-fields label:has(input[name="billing_postal_code"]) { grid-column:span 2; }
@media (max-width:820px) {
  body.checkout-page .checkout-continuous-flow .checkout-billing-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.checkout-page .checkout-continuous-flow .checkout-billing-fields label { grid-column:auto; }
  body.checkout-page .checkout-continuous-flow .checkout-billing-fields label:has(input[name="billing_city"]) { grid-column:1 / -1; }
  body.checkout-page .checkout-continuous-flow .checkout-billing-fields label:has(input[name="billing_state_region"]), body.checkout-page .checkout-continuous-flow .checkout-billing-fields label:has(input[name="billing_postal_code"]) { grid-column:auto; }
}
/* Loading is a transient status, not an extra row that moves the entire form. */
body.checkout-page .checkout-options-status:not(.is-error):not([hidden]){position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;width:min(380px,calc(100% - 32px));margin:0;box-shadow:0 4px 20px #063f2d14}
body.checkout-page .checkout-plan .checkout-purchase-mode>.checkout-options-skeleton{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}
body.checkout-page .checkout-plan .checkout-purchase-mode>.checkout-options-skeleton span:last-child{width:100%}
