/* Customer journey only. Not loaded on the homepage or operator screens. */
.customer-mobile-menu { display:none; }
.checkout-progress { margin:0 0 24px; }
.checkout-progress ol { display:flex; gap:16px; padding:0; margin:0; list-style:none; }
.checkout-progress li { display:flex; align-items:center; gap:8px; color:var(--color-muted); font-size:13px; }
.checkout-progress li>span { display:grid; place-items:center; width:28px; height:28px; flex:none; border:1px solid var(--color-rule-on-paper); border-radius:50%; }
.checkout-progress li[aria-current] { color:var(--color-brand-green-deep); font-weight:800; }
.checkout-progress li[aria-current]>span { color:#fff; background:var(--color-brand-green-deep); border-color:var(--color-brand-green-deep); }
.customer-mobile .subscription-day-presets button { min-height:44px; border:1px solid var(--color-field-border); border-radius:12px; background:#fff; color:var(--color-brand-green-deep); font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.customer-mobile .subscription-day-presets button[aria-pressed=true] { background:var(--color-brand-green-deep); border-color:var(--color-brand-green-deep); color:#fff; }
.customer-mobile .subscription-day-presets button:focus-visible { outline:3px solid var(--color-brand-green-deep); outline-offset:3px; }
.customer-mobile .booking-submit .btn { width:100%; }
.customer-mobile .booking-submit p { margin-top:0; }
.customer-mobile .legal-body { white-space:pre-line; overflow-wrap:anywhere; }
.customer-mobile [data-duration-presets][hidden],
.customer-mobile [data-weekday-options][hidden] { display:none!important; }

@media (max-width:900px) {
  .customer-mobile .booking-grid,
  .customer-mobile .auth-grid,
  .customer-mobile .review-grid,
  .customer-mobile .payment-grid,
  .customer-mobile .account-profile-hero,
  .customer-mobile .account-detail-grid { grid-template-columns:minmax(0,1fr); }
  .customer-mobile .booking-aside { display:none!important; }
  .customer-mobile .auth-art { display:none!important; }
  .customer-mobile .booking-form,
  .customer-mobile .auth-form { width:100%; min-width:0; }
  .customer-mobile .payment-ticket { position:static; }
  .customer-mobile .auth-form .small { display:block!important; font-size:13px!important; line-height:1.5!important; }
  .customer-mobile .auth-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]) { font-size:16px!important; min-height:48px!important; }
  .customer-mobile .auth-form .phone-code { font-size:22px!important; }
  .customer-mobile .auth-form label { font-size:14px!important; line-height:1.4; }
  .customer-mobile .auth-form .check { font-size:13px!important; line-height:1.5!important; }
  .customer-mobile .phone-secondary button { min-height:44px; padding:10px 0; }
  .customer-mobile .phone-prefix-field { flex-wrap:wrap; gap:8px; }
  .customer-mobile .phone-prefix-field input { flex:1 1 175px; }
  .customer-mobile .phone-country { font-size:13px; }
  .customer-mobile .booking-form .choice-grid { grid-template-columns:minmax(0,1fr); }
  .customer-mobile .booking-form .choice-body--product { grid-template-columns:64px minmax(0,1fr); min-height:92px; gap:14px; padding:12px; }
  .customer-mobile .booking-form .choice input:checked+.choice-body--product { padding:11px; }
  .customer-mobile .booking-form .choice-product-thumb img { height:66px; max-height:66px; padding:4px; }
  .customer-mobile .booking-form .choice-product-copy { gap:5px; }
  .customer-mobile .booking-form .choice-product-copy strong { font-size:17px; line-height:1.2; }
  .customer-mobile .booking-form .choice-product-copy>span:last-child { font-size:14px; }
  .customer-mobile .booking-form .cadence-grid .choice-body { min-height:60px; height:100%; justify-content:center; }
  .customer-mobile .booking-form .cadence-grid .choice-body strong { font-size:13px; line-height:1.35; }
  .customer-mobile .field-grid { grid-template-columns:minmax(0,1fr); }
  .customer-mobile .booking-form .weekdays { grid-template-columns:repeat(4,minmax(44px,1fr)); gap:8px; }
  .customer-mobile .booking-form .weekdays span { min-height:48px; font-size:13px; }
  .customer-mobile .booking-form .small,
  .customer-mobile .field-note { font-size:13px; line-height:1.5; }
  .customer-mobile .booking-form legend { font-size:15px; }
  .customer-mobile .booking-form label { font-size:14px; }
  .customer-mobile .booking-form .check { min-height:44px; font-size:13px; }
  .customer-mobile .booking-form input,
  .customer-mobile .booking-form select { scroll-margin-block:24px 110px; }
  .customer-mobile .guided-address-form input,
  .customer-mobile .guided-address-form select { scroll-margin-block:24px 110px; }
}

@media (max-width:700px) {
  .customer-mobile { --customer-dock-space:0px; }
  .customer-mobile.has-customer-dock { --customer-dock-space:calc(76px + env(safe-area-inset-bottom,0px)); }
  .customer-mobile .container { padding:20px 16px 28px; min-width:0; }
  .customer-mobile .topbar { gap:8px!important; position:relative; }
  .customer-mobile .topbar .header-nav { display:none; }
  .customer-mobile .topbar .wordmark { font-size:1.9rem!important; margin-right:auto; }
  .customer-mobile .topbar .mobile-products-cta { min-height:44px!important; min-width:66px!important; padding:0 10px!important; font-size:12px!important; }
  .customer-mobile-menu { display:block; flex:none; }
  .customer-mobile-menu summary { display:flex; align-items:center; justify-content:center; min-width:48px; min-height:44px; padding:8px; border:1px solid var(--color-rule-on-paper); border-radius:12px; color:var(--color-brand-green-deep); font-size:12px; }
  .customer-mobile-menu nav { position:absolute; top:calc(100% - 4px); right:12px; z-index:60; display:grid; min-width:220px; max-width:calc(100vw - 24px); padding:10px; background:#fff; border:1px solid var(--color-rule-on-paper); border-radius:16px; box-shadow:0 12px 32px #123f3126; }
  .customer-mobile-menu nav a { display:flex; align-items:center; min-height:48px; padding:10px 12px; font-size:15px; text-decoration:none; border-radius:8px; }
  .customer-mobile-menu nav a:focus-visible { outline:2px solid var(--color-brand-green-deep); outline-offset:-2px; }
  .customer-mobile .mobile-user { padding:10px 16px 0; align-items:center; gap:12px; font-size:12px; }
  .customer-mobile .mobile-user>span { min-width:0; overflow-wrap:anywhere; }
  .customer-mobile .mobile-user>a { min-height:44px; display:flex; align-items:center; flex-shrink:0; }
  .customer-mobile .card,
  .customer-mobile .blue-panel { padding:20px 16px; min-width:0; }
  .customer-mobile .page-heading { margin-bottom:20px; }
  .customer-mobile .page-heading h1 { font-size:clamp(2rem,9vw,2.75rem); }
  .customer-mobile .page-heading>.pill { margin-top:12px; }
  .customer-mobile .page-heading>.btn { margin-top:12px; }
  .customer-mobile .btn { min-width:0; min-height:48px; white-space:normal; overflow-wrap:anywhere; }
  .customer-mobile input:not([type=radio]):not([type=checkbox]):not([type=hidden]),
  .customer-mobile select,
  .customer-mobile textarea { font-size:16px!important; min-height:48px; max-width:100%; }
  .customer-mobile .check { min-height:44px; padding:4px 0; line-height:1.5; }
  .customer-mobile .check input { margin-top:2px; }
  .customer-mobile .notice { font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
  .customer-mobile .auth-form { padding:20px 16px!important; }
  .customer-mobile .auth-form h2 { font-size:1.8rem!important; line-height:1.15!important; }
  .customer-mobile .auth-form>.muted { font-size:14px!important; line-height:1.5!important; }
  .customer-mobile .auth-form form { gap:16px!important; }
  .customer-mobile .auth-other a { display:inline-flex; align-items:center; min-height:44px; }
  .customer-mobile .checkout-progress { margin-bottom:20px; }
  .customer-mobile .checkout-progress ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
  .customer-mobile .checkout-progress li { flex-direction:column; gap:6px; font-size:12px; text-align:center; }
  .customer-mobile .checkout-progress li>span { width:28px; height:28px; }
  .customer-mobile .booking-form { gap:24px; }
  .customer-mobile .booking-form .cadence-grid { grid-template-columns:minmax(0,1fr); gap:8px; }
  .customer-mobile .booking-form .cadence-grid .choice-body { min-height:48px; padding:12px; text-align:left; align-items:flex-start; }
  .customer-mobile .booking-form .cadence-grid input:checked+.choice-body { padding:11px; }
  .customer-mobile .booking-submit .btn { font-size:16px; }
  .customer-mobile .form-stack>a.small { display:flex; align-items:center; min-height:44px; font-size:14px; }
  .customer-mobile .store-card__footer a { min-height:44px!important; padding:10px!important; font-size:12px!important; }
  .customer-mobile .store-card__body h3 { font-size:1rem!important; line-height:1.3!important; }
  .customer-mobile .storefront-hero { height:auto!important; max-height:none!important; min-height:0!important; }
  .customer-mobile .storefront-hero h1 { line-height:1.08!important; }
  .customer-mobile .storefront-quick-panel { min-width:0; }
  .customer-mobile .product-checkout { min-width:0!important; width:100%; }
  .customer-mobile .product-subscription-form { padding:16px!important; }
  .customer-mobile .product-subscription-form>label:first-child { grid-template-columns:minmax(0,1fr) 144px!important; }
  .customer-mobile .quantity-stepper--large { width:144px!important; grid-template-columns:44px minmax(0,1fr) 44px!important; }
  .customer-mobile .quantity-stepper button,
  .customer-mobile .quantity-stepper input,
  .customer-mobile .quick-product-submit { min-height:44px!important; font-size:16px!important; }
  .customer-mobile .product-subscription-form .field-note { display:block!important; font-size:13px!important; line-height:1.5; }
  .customer-mobile .subscription-day-presets { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:8px!important; }
  .customer-mobile .subscription-day-presets button { font-size:13px; min-height:46px; }
  .customer-mobile .product-detail__lead { font-size:14px!important; line-height:1.5!important; }
  .customer-mobile .product-detail__facts { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; }
  .customer-mobile .product-detail__facts strong { font-size:14px!important; line-height:1.3; }
  .customer-mobile .product-detail__facts span { font-size:12px!important; line-height:1.4!important; }
  .customer-mobile .product-detail__info>.small.muted { display:block!important; font-size:13px; line-height:1.5; }
  .customer-mobile .review-grid .price { font-size:clamp(2.4rem,11vw,4rem)!important; overflow-wrap:anywhere; }
  .customer-mobile .review-grid p { line-height:1.5; }
  .customer-mobile .details>div { font-size:14px; gap:12px; }
  .customer-mobile .details dt,
  .customer-mobile .details dd { min-width:0; overflow-wrap:anywhere; }
  .customer-mobile .payment-controls>.section-header h2 { font-size:1.6rem; }
  .customer-mobile .payment-ticket .payment-amount { font-size:clamp(2.4rem,11vw,3.8rem); }
  .customer-mobile .payment-banner form { min-width:0; }
  .customer-mobile .payment-banner .btn { width:100%; }
  .customer-mobile .row-action summary { min-height:44px; padding:10px 0; }
  .customer-mobile .metric-row { gap:12px; flex-wrap:wrap; }
  .customer-mobile .metric-row>div { min-width:65px; }
  .customer-mobile .account-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .customer-mobile .account-metric-grid strong { font-size:clamp(1.6rem,7vw,2.2rem); overflow-wrap:anywhere; }
  .customer-mobile .account-orders-table { min-width:0; width:100%; }
  .customer-mobile .account-orders-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .customer-mobile .account-orders-table tbody,
  .customer-mobile .account-orders-table tr { display:block; }
  .customer-mobile .account-orders-table tr { padding:12px 0; border-bottom:1px solid var(--color-rule-on-paper); }
  .customer-mobile .account-orders-table td { display:block; width:100%; padding:8px 0; border:0; overflow-wrap:anywhere; }
  .customer-mobile .account-orders-table td[data-label]::before { content:attr(data-label); display:block; margin-bottom:4px; font-size:11px; font-weight:700; text-transform:uppercase; color:var(--color-muted); }
  .customer-mobile .account-orders-table td a { display:inline-flex; min-height:44px; align-items:center; }
  .customer-mobile .seo-page,
  .customer-mobile .seo-hub { padding:20px 0; min-width:0; }
  .customer-mobile .seo-hero__copy h1,
  .customer-mobile .seo-hub__header h1 { font-size:clamp(2rem,10vw,3rem); overflow-wrap:anywhere; line-height:1.05; }
  .customer-mobile .seo-sources { padding:20px 16px; overflow-wrap:anywhere; }
  .customer-mobile .seo-card__link { display:inline-flex; align-items:center; min-height:44px; }
  .customer-mobile .seo-cta { padding:24px 18px; }
  .customer-mobile .footer { margin:0 16px calc(var(--customer-dock-space) + 24px); padding-bottom:16px; }
  .customer-mobile .footer-links { gap:4px 16px; }
  .customer-mobile .footer-links a { display:flex; min-height:44px; align-items:center; font-size:13px; }
  .customer-mobile .dock { padding-bottom:max(10px,env(safe-area-inset-bottom)); }
  .customer-mobile .whatsapp-float { bottom:calc(var(--customer-dock-space) + 16px)!important; }
}

@media (max-width:380px) {
  .customer-mobile .container { padding-left:12px; padding-right:12px; }
  .customer-mobile .product-subscription-form>label:first-child { grid-template-columns:minmax(0,1fr)!important; }
  .customer-mobile .quantity-stepper--large { width:100%!important; }
  .customer-mobile .checkout-progress li { font-size:11px; }
}

@media (prefers-reduced-motion:reduce) {
  .customer-mobile * { scroll-behavior:auto!important; }
}

/* Tablet widths need the same reachable navigation and one-column reading flow. */
@media (max-width:900px) {
  .customer-mobile .topbar { position:relative; gap:12px; }
  .customer-mobile .topbar .wordmark { margin-right:auto; }
  .customer-mobile .topbar .header-nav { display:none; }
  .customer-mobile .topbar .mobile-products-cta { display:inline-flex; min-height:44px!important; }
  .customer-mobile .customer-mobile-menu { display:block; }
  .customer-mobile-menu summary { display:flex; align-items:center; justify-content:center; min-width:48px; min-height:44px; padding:8px; border:1px solid var(--color-rule-on-paper); border-radius:12px; font-size:12px; }
  .customer-mobile-menu nav { position:absolute; top:calc(100% - 4px); right:12px; z-index:60; display:grid; min-width:220px; max-width:calc(100vw - 24px); padding:10px; background:#fff; border:1px solid var(--color-rule-on-paper); border-radius:16px; box-shadow:0 12px 32px #123f3126; }
  .customer-mobile-menu nav a { display:flex; align-items:center; min-height:48px; padding:10px 12px; font-size:15px; text-decoration:none; }
  .customer-mobile .two-col,
  .customer-mobile .overview-grid,
  .customer-mobile .product-detail__grid { grid-template-columns:minmax(0,1fr); }
  .customer-mobile .product-detail__media { height:380px; }
  .customer-mobile .content-grid { grid-template-columns:minmax(0,1fr)!important; }
  .customer-mobile .article-sidebar { position:static; min-width:0; }
  .customer-mobile .article-hero-card { grid-template-columns:minmax(0,1fr); }
  .customer-mobile .article-hero-media { min-height:240px; max-height:360px; }
  .customer-mobile .public-container { overflow-x:visible; }
  .customer-mobile .share-icons { flex-wrap:wrap; }
  .customer-mobile .share-icons a,
  .customer-mobile .share-icons button { width:44px; height:44px; }
  .customer-mobile .toc-card a { display:inline-flex; align-items:center; min-height:44px; }
  .customer-mobile .related-item strong { font-size:13px; line-height:1.4; }
  .customer-mobile .related-item small,
  .customer-mobile .related-category { font-size:11px; }
}
@media (max-width:900px) {
  .customer-mobile .booking-form .choice-product-copy .eyebrow { font-size:13px; letter-spacing:.06em; }
}
