/* Card step, order received page and account order page. Design C (approved 29 Sept 2026),
   same system as intake.css: off-white screen, white cards, dark chip, mint accents.
   UX rules: project doc claude/28-PATIENT-FLOW-UX-RULES.md.
   Only active in flow mode (body.ew-flow) and inside .ewc-acct on My account.
   RESTYLE: every color, font and size comes from assets/theme.css (or Appearance > Everwell look). */
body.ew-flow{margin:0;background:var(--page);color:var(--ink);font-family:var(--sans) !important;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
.ewc-acct{font-family:var(--sans);color:var(--ink);margin:0 0 24px}
body.ew-flow *,body.ew-flow *::before,body.ew-flow *::after{box-sizing:border-box}

/* Top bar: back, section name, lock. No progress bar. */
.ewc-bar{position:sticky;top:0;z-index:5;background:var(--page)}
.ewc-bar-in{width:min(100%,560px);margin:0 auto;padding:14px max(16px,env(safe-area-inset-left)) 6px;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:8px}
.ewc-back,.ewc-lock{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--ink);background:var(--card);box-shadow:var(--tap-shadow)}
.ewc-back:active{transform:scale(.94)}
.ewc-back svg,.ewc-lock svg{width:18px;height:18px}
/* v0.24.0 portal look: the wordmark alone; the section name stays for screen readers. */
body.ew-flow .ewc-sec{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
body.ew-flow .ew-mid .ew-logo{display:block;height:22px;width:auto;max-width:100%}
.ewc-body{width:min(100%,560px);margin:0 auto;padding:10px max(16px,env(safe-area-inset-left)) 64px}

/* Shared pieces */
.ewc-card{background:var(--card);border-radius:24px;padding:20px 18px;box-shadow:var(--tap-shadow)}
body.ew-flow .eyebrow,.ewc-eyebrow{margin:0;font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--mut)}
body.ew-flow h2{margin:4px 0 0;font-family:var(--head) !important;font-weight:600;letter-spacing:-.03em;line-height:1.12;text-transform:none !important;font-size:clamp(25px,6.4vw,30px);color:var(--ink);text-wrap:balance}
.ewc-fine{margin:12px 0 16px;font-size:12px;line-height:1.55;color:var(--mut)}

/* Card step: plan card */
.ewc-summary{margin-bottom:22px}
/* Plan card with the product photo (the portal's plan card). */
.ewc-ptop{display:flex;align-items:center;gap:14px}
.ewc-ptop img,.ewc-ptop .ewc-img-empty{width:84px;height:100px;flex:none;object-fit:cover;border-radius:14px;background:var(--page)}
.ewc-ptop>div{min-width:0}
body.ew-flow .ewc-ptop h2{font-size:clamp(21px,5.6vw,25px)}
.ewc-today{margin:14px 0 0;font-size:13.5px;line-height:1.45;color:var(--mut)}
.ewc-today b{color:var(--ink)}
.ewc-price{margin:8px 0 0;font-size:15px;color:var(--mut)}
.ewc-price b{color:var(--ink);font-weight:700}
.ewc-box{margin:10px 0 0;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--mint) 22%,transparent);font-size:13.5px;line-height:1.45;color:var(--ink)}
.ewc-lead{margin:10px 0 0;font-size:14px;color:var(--mut)}
.ewc-ship{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--page);font-size:14.5px}
.ewc-ship p{margin:0}
.ewc-lab{font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--mut);margin-bottom:4px !important}
.ewc-edit{color:var(--em);font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:3px}
body.ew-flow .ewc-cardhead{margin:0 0 10px;font-family:var(--head);font-weight:600;font-size:20px;letter-spacing:-.02em;color:var(--ink)}

/* Hide what the intake already collected. The values are still posted, from the server. */
body.ew-flow #customer_details,
body.ew-flow #order_review_heading,
body.ew-flow .woocommerce-additional-fields{display:none !important}
body.ew-flow .col2-set{display:none !important}
body.ew-flow form.checkout{display:block;width:auto;float:none}
body.ew-flow #order_review{width:auto !important;float:none !important;padding:0 !important}

body.ew-flow .woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14.5px;border:0}
body.ew-flow .woocommerce-checkout-review-order-table th,
body.ew-flow .woocommerce-checkout-review-order-table td{padding:10px 0;border:0;border-bottom:1px solid var(--line);text-align:left;background:none}
body.ew-flow .woocommerce-checkout-review-order-table td:last-child,
body.ew-flow .woocommerce-checkout-review-order-table th:last-child{text-align:right}
body.ew-flow .woocommerce-checkout-review-order-table thead{display:none}
body.ew-flow .order-total th,body.ew-flow .order-total td{font-weight:700;font-size:16px}

/* The card box: its own clearly bordered area (doc 28, section 5). */
body.ew-flow #payment{background:none !important;border-radius:0}
body.ew-flow #payment ul.payment_methods{list-style:none;margin:0;padding:0 !important;border:0 !important}
body.ew-flow #payment ul.payment_methods li{padding:18px 16px;border-radius:20px;background:var(--card);border:0;box-shadow:var(--tap-shadow);margin:0 0 12px}
body.ew-flow #payment div.payment_box{background:transparent !important;padding:12px 0 0 !important;margin:0 !important;color:var(--ink)}
body.ew-flow #payment div.payment_box::before{display:none}
body.ew-flow #payment .place-order{padding:0 !important;margin-top:8px}
body.ew-flow .woocommerce-privacy-policy-text{font-size:12px;color:var(--mut)}
.ewc-trust{display:flex;align-items:center;gap:12px;margin:4px 0 14px;font-size:13px;color:var(--mut)}
.ewc-trust p{margin:0}
.ewc-trust b{color:var(--ink)}
.ewc-trust img{display:block;width:56px;height:auto;flex:0 0 auto}
.ewc-paymarks{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px;padding:0;list-style:none}
.ewc-paymarks li{line-height:0}
.ewc-paymarks img{display:block;width:38px;height:24px;object-fit:contain;border-radius:4px;box-shadow:0 0 0 1px var(--line)}

/* California ARL: directly above the button. The button is NOT pinned on this page, so the
   terms and the button always sit together. */
.ewc-arl{margin:0;padding:16px;border-radius:20px;background:var(--card);box-shadow:var(--tap-shadow);font-size:14px;line-height:1.5;color:var(--ink)}
.ewc-arl p{margin:0}
.ewc-check{display:flex;gap:12px;align-items:flex-start;margin-top:12px;font-weight:600;cursor:pointer;min-height:44px}
.ewc-check span{line-height:1.4;padding-top:1px}
.ewc-check input{width:22px;height:22px;margin:0;accent-color:var(--em);flex:0 0 auto}

body.ew-flow #place_order{display:flex;align-items:center;justify-content:center;width:100%;min-height:var(--btn-h);padding:16px 32px;border:0;border-radius:var(--pill);background:var(--em) !important;color:var(--on-em) !important;font-family:var(--sans);font-weight:700;font-size:16px;cursor:pointer;float:none;transition:background .18s ease}
body.ew-flow #place_order:hover{background:var(--em-deep) !important}
body.ew-flow #place_order:focus-visible{outline:3px solid var(--em);outline-offset:3px}
body.ew-flow form.processing #place_order{opacity:.6;pointer-events:none}

body.ew-flow .woocommerce-error,body.ew-flow .woocommerce-NoticeGroup-checkout .woocommerce-error{list-style:none;margin:0 0 16px;padding:14px 16px;border-radius:var(--round);background:var(--err-bg);color:var(--err);font-weight:600;font-size:14px;border:0}
body.ew-flow .woocommerce-form-coupon-toggle .woocommerce-info,
body.ew-flow .woocommerce-form-coupon-toggle .wc-block-components-notice-banner{background:none !important;border:0 !important;box-shadow:none !important;padding:0 0 12px !important;margin:0 !important;font-size:13.5px;color:var(--mut) !important}
body.ew-flow .woocommerce-form-coupon-toggle svg{display:none}
body.ew-flow .woocommerce-form-coupon-toggle a{color:var(--em) !important;font-weight:700}
body.ew-flow form.checkout_coupon{margin:0 0 16px;padding:14px;border-radius:var(--round);border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--card)}
body.ew-flow .woocommerce-form-coupon-toggle .woocommerce-info::before{display:none}

/* Order received page. Layout in templates/thankyou.php, words in includes/copy.php. */
body.ew-flow .woocommerce-order-overview,body.ew-flow .woocommerce-order-details,body.ew-flow .woocommerce-customer-details,body.ew-flow .woocommerce-thankyou-order-received,body.ew-flow .woocommerce-order > p:not([class]){display:none}
.ewt{display:grid;gap:12px}
.ewt-hero-top{display:flex;align-items:center;gap:14px}
.ewc-done-ic{display:grid;place-items:center;width:52px;height:52px;flex:0 0 auto;border-radius:50%;background:var(--mint);color:var(--em-deep);font-size:22px;font-weight:700}
.ewc-done h2{margin-top:4px !important;font-size:clamp(23px,6vw,27px) !important}
.ewt-lead{margin:12px 0 0;font-size:14.5px;color:var(--mut)}
.ewt-steps h3{font-family:var(--head);font-weight:600;letter-spacing:-.02em;font-size:18px;margin:0 0 16px;color:var(--ink)}
.ewt-list{list-style:none;margin:0;padding:0}
.ewt-step{display:grid;grid-template-columns:30px minmax(0,1fr);gap:14px;align-items:start;padding:0 0 18px}
.ewt-step:last-child{padding-bottom:0}
.ewt-dot{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--pick);color:var(--em-deep);font-weight:700;font-size:13px}
.ewt-step.is-done .ewt-dot{background:var(--night);color:var(--on-em);box-shadow:none}
.ewt-step.is-now .ewt-dot{background:var(--mint);color:var(--em-deep)}
.ewt-t{margin:4px 0 2px;font-weight:600;font-size:16px;color:var(--ink)}
.ewt-x{margin:0;font-size:14px;color:var(--mut)}
.ewt-plan p{margin:0}
.ewt-plan-name{font-family:var(--head);font-size:19px;font-weight:600;letter-spacing:-.02em;margin-top:6px !important}
.ewt-plan-price{margin-top:6px !important;font-size:14px;color:var(--mut)}
.ewt-plan-price strong{color:var(--ink)}
.ewt-plan-note{margin-top:8px !important;font-size:12.5px;color:var(--mut)}
.ewt-help{text-align:center;font-size:14px;color:var(--mut);margin:6px 0 0}
.ewc-legal{text-align:center;margin-top:0}

/* Next step box (ID upload), on the order page and on My account */
.ewc-next{margin-top:14px;text-align:left}
.ewc-next [hidden]{display:none!important}
.ewc-wait{color:var(--mut);font-size:14px;margin:0}
.ewc-spin{display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:2px solid var(--rule);border-top-color:var(--em);border-radius:50%;animation:ewspin .8s linear infinite}
@keyframes ewspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ewc-spin{animation-duration:2.4s}}
.ewc-id{text-align:left}
.ewc-acct .ewc-id{background:var(--paper);border-radius:var(--round-lg);padding:20px;box-shadow:var(--card-shadow)}
.ewc-id h3{font-family:var(--head);font-size:22px;margin:6px 0 8px;color:var(--ink)}
.ewc-id p{color:var(--mut);font-size:14px;margin:0 0 12px}
.ewt-step .ewc-id>.ewc-eyebrow,.ewt-step .ewc-id>h3{display:none}
.ewc-file{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;border:0;border-radius:var(--round);background:var(--pick);cursor:pointer;text-align:center;padding:14px;transition:background .18s ease}
.ewc-file:hover{background:var(--glow)}
.ewc-file:focus-within{outline:3px solid var(--mint);outline-offset:2px}
.ewc-file-ic{width:22px;height:22px;color:var(--em);flex:0 0 auto}
.ewc-file input{position:absolute;opacity:0;width:1px;height:1px}
.ewc-file-txt{font-weight:700;color:var(--em)}
.ewc-file.has{background:var(--glow)}
.ewc-err{color:var(--err);font-size:14px;margin:10px 0 0}
.ewc-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:var(--btn-h);margin-top:12px;padding:16px 32px;border:0;border-radius:var(--pill);background:var(--em);color:var(--on-em);font:700 16px var(--sans);cursor:pointer;transition:background .18s ease}
.ewc-btn:hover{background:var(--em-deep)}
.ewc-btn:focus-visible{outline:3px solid var(--mint);outline-offset:2px}
.ewc-btn[disabled]{opacity:.45;cursor:not-allowed}
.ewc-later-note{font-size:13px;margin:12px 0 0!important;text-align:center}
.ewc-end,.ewc-review{margin:10px 0 0;font-size:15px;font-weight:600;color:var(--em)}

/* Prescription card (account order page, later the portal). Clinician's words, shown as written. */
.ewc-rx{background:var(--paper);border:0;border-radius:var(--round-lg);padding:24px 20px;margin:0 0 20px;box-shadow:var(--card-shadow)}
.ewc-rx h3{font-family:var(--head);font-weight:600;font-size:22px;line-height:1.2;letter-spacing:-.02em;margin:8px 0 16px;color:var(--ink)}
.ewc-rx-lbl{font-size:12px;font-weight:600;color:var(--mut);margin:0 0 6px}
.ewc-rx-dir{border-left:3px solid var(--mint);padding:2px 0 2px 14px;margin:0 0 18px;color:var(--ink);font-size:16px;line-height:1.5}
.ewc-rx-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 14px;padding:4px 0;border-radius:12px;background:var(--screen)}
.ewc-rx-facts div{padding:12px 14px}
.ewc-rx-facts div+div{padding-left:6px}
.ewc-rx-facts dt{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.ewc-rx-facts dd{margin:4px 0 0;font-family:var(--head);font-weight:600;font-size:17px;color:var(--ink)}

/* Portal (My account home). v0.23.0 redesign, approved 6 Oct 2026 (doc 52, prototype "Everwell Portal Prototype").
   One dark status card (black and white only, no mint on dark), cards you tap, a tab bar. Phone first. */
.ewp{--ewp-bg:color-mix(in srgb,var(--em) 5%,var(--screen));--ewp-shadow:0 1px 2px color-mix(in srgb,var(--ink) 7%,transparent),0 10px 24px -8px color-mix(in srgb,var(--em-deep) 14%,transparent);
  display:flex;flex-direction:column;gap:14px;max-width:560px;margin:0 auto 24px;padding-bottom:96px;font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased}
.ewp *,.ewp *::before,.ewp *::after{box-sizing:border-box}
.ewp-view{display:flex;flex-direction:column;gap:14px}
.ewp-view[hidden]{display:none!important}
.ewp-num{font-variant-numeric:tabular-nums}
.ewp-top{display:none}
.ewp-hi span{display:block;font-size:14px;color:var(--mut)}
.ewc-acct .ewp-name,.ewc-acct .ewp-h1{margin:0;font-family:var(--head)!important;font-weight:600!important;letter-spacing:-.03em;line-height:1.1;color:var(--ink);text-transform:none;text-wrap:balance}
.ewc-acct .ewp-name{font-size:24px}
.ewc-acct .ewp-h1{font-size:28px}
/* Status card */
.ewp-status{display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:26px;background:var(--night);color:var(--on-em);box-shadow:0 16px 30px -14px color-mix(in srgb,var(--night) 55%,transparent)}
.ewp-eyebrow{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;color:color-mix(in srgb,var(--on-em) 62%,transparent)}
.ewp-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--on-em);flex:none}
.ewc-acct .ewp-title{margin:0;font-family:var(--head)!important;font-weight:600!important;font-size:27px;line-height:1.1;letter-spacing:-.03em;color:var(--on-em);text-transform:none;text-wrap:balance}
.ewp-line{margin:0;font-size:14.5px;line-height:1.45;color:color-mix(in srgb,var(--on-em) 70%,transparent)}
.ewp-held{margin:0;font-size:13px;line-height:1.4;color:color-mix(in srgb,var(--on-em) 85%,transparent)}
.ewp-track{display:flex;flex-direction:column;gap:7px}
.ewp-bars{display:flex;gap:5px}
.ewp-bars span{flex:1;height:5px;border-radius:9px;background:color-mix(in srgb,var(--on-em) 16%,transparent)}
.ewp-bars span.is-done{background:var(--on-em)}
.ewp-bars span.is-now{background:color-mix(in srgb,var(--on-em) 50%,transparent)}
.ewp-steps{display:flex;justify-content:space-between;gap:6px;font-size:11.5px;color:color-mix(in srgb,var(--on-em) 45%,transparent)}
.ewp-steps .is-done{color:var(--on-em);font-weight:600}
.ewp-steps .is-now{color:color-mix(in srgb,var(--on-em) 85%,transparent);font-weight:600}
/* Buttons */
.ewp-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:12px 20px;border:0;border-radius:var(--pill);font:700 15.5px var(--sans);text-decoration:none!important;cursor:pointer;transition:transform .15s ease,background-color .2s ease}
.ewp-btn:active{transform:scale(.98)}
.ewp-btn-light{background:var(--on-em);color:var(--night)!important}.ewp-btn-light:hover{background:color-mix(in srgb,var(--on-em) 88%,var(--night))}
.ewp-btn-dark{background:var(--em);color:var(--on-em)!important}.ewp-btn-dark:hover{background:var(--em-deep)}
.ewp-btn-line{background:transparent;color:var(--em);box-shadow:inset 0 0 0 1.5px var(--em)}.ewp-btn-line:hover{background:var(--hover)}
.ewp :focus-visible{outline:3px solid var(--em);outline-offset:3px}
.ewp-status :focus-visible{outline-color:var(--on-em)}
/* Cards you tap */
.ewp-tap{display:flex;width:100%;border:0;border-radius:22px;background:var(--card);box-shadow:var(--ewp-shadow);color:var(--ink)!important;text-align:left;text-decoration:none!important;font:inherit;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}
.ewp-tap:hover{box-shadow:0 1px 2px color-mix(in srgb,var(--ink) 8%,transparent),0 14px 28px -10px color-mix(in srgb,var(--em-deep) 22%,transparent)}
.ewp-tap:active{transform:scale(.98)}
.ewp-plan{align-items:center;gap:14px;padding:12px}
.ewp-plan img,.ewp-plan .ewp-img-empty{width:78px;height:94px;object-fit:cover;border-radius:12px;background:var(--ewp-bg);flex:none}
.ewp-plan-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ewp-plan-t strong{font-size:15.5px;font-weight:600}
.ewp-sub{font-size:13.5px;color:var(--mut)}
.ewp-fact{display:flex;align-items:center;gap:6px;padding-top:6px;font-size:13px;font-weight:600;color:var(--em)}
.ewp-fact svg{width:16px;height:16px;flex:none}
.ewp-chev{width:16px;height:16px;flex:none;color:var(--mut)}
.ewp-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* v0.40.10: a lone tile (the existing-patient home has only Messages) spans the row instead of sitting half-width. */
.ewp-tiles>.ewp-tile:only-child{grid-column:1/-1}
.ewp-tile{flex-direction:column;gap:8px;padding:16px;border-radius:20px}
.ewp-tile-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}
.ewp-tile strong{font-size:16px;font-weight:600}
.ewp-tile-sub{font-size:13px;line-height:1.35;color:var(--mut)}
.ewp-ib{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--mint) 28%,transparent);color:var(--em-deep);flex:none}
.ewp-ib svg{width:22px;height:22px}
.ewp-flag{padding:3px 7px;border-radius:6px;background:var(--em);color:var(--on-em);font-size:11px;font-weight:700}
.ewp-nav{align-items:center;gap:14px;padding:14px;border-radius:20px}
.ewp-nav-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ewp-nav-t strong{font-size:15.5px;font-weight:600}
.ewp-nav-t span{font-size:13px;color:var(--mut)}
.ewp-err:not([hidden]){margin:0;font-size:14px;color:var(--err)}
.ewp-code{margin:0;font-size:13.5px;font-weight:600;color:var(--ink)}
.ewp-fine{margin:0!important;font-size:11.5px!important}
/* Plan */
.ewp-card{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:24px;background:var(--card);box-shadow:var(--ewp-shadow)}
.ewp-ptop{display:flex;align-items:center;gap:14px}
.ewp-ptop img,.ewp-ptop .ewp-img-empty{width:92px;height:112px;object-fit:cover;border-radius:12px;background:var(--ewp-bg);flex:none}
.ewp-ptop strong{display:block;font-size:16px;font-weight:600;margin-bottom:4px}
.ewp-price{margin:0;font-family:var(--head);font-weight:600;font-size:20px;letter-spacing:-.02em;color:var(--em)}
.ewp-rule{height:1px;background:var(--line)}
.ewp-kv{display:flex;align-items:center;gap:10px;margin:0;font-size:14px}
.ewp-kv svg{width:18px;height:18px;color:var(--em);flex:none}
.ewp-kv span{flex:1;color:var(--mut)}
.ewp-kv b{font-weight:600}
.ewp-center{margin:0;text-align:center;font-size:12.5px;color:var(--mut)}
.ewp-label{margin:4px 0 0;font-size:14px;font-weight:600;color:var(--mut)}
/* Prescription view: the same prescription component, as one card */
.ewp-back{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;font-size:14px;font-weight:600;color:var(--em)!important;text-decoration:none!important}
.ewp-back svg{width:18px;height:18px}
.ewp .ewc-acct{margin:0}
.ewp .ewc-rx{margin:0;padding:20px;border-radius:24px;box-shadow:var(--ewp-shadow)}
.ewp .ewc-rx>.ewc-eyebrow{display:none}
.ewp .ewc-rx h3{margin:0 0 14px;font-size:19px;line-height:1.22}
.ewp .ewc-rx-facts{gap:8px;padding:0;background:none}
.ewp .ewc-rx-facts div,.ewp .ewc-rx-facts div+div{padding:12px;border-radius:12px;background:var(--ewp-bg)}
.ewp .ewc-rx-facts dt{font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}
.ewp .ewc-rx-facts dd{font-size:16px}
/* Account */
.ewp-help{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:20px;background:color-mix(in srgb,var(--mint) 22%,transparent);color:var(--em-deep)}
.ewp-help b{display:flex;align-items:center;gap:10px;font-size:15px}
.ewp-help b svg{width:20px;height:20px;flex:none}
.ewp-help>span{font-size:13px;line-height:1.4;opacity:.85}
.ewp-signout{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:4px 0;font-size:15px;font-weight:600;color:var(--em)!important;text-decoration:none!important}
.ewp-signout svg{width:18px;height:18px}
.ewp-legal{margin:0;font-size:12px;color:var(--mut)}
.ewp-legal a{color:var(--mut)!important}
/* Tab bar: fixed to the bottom of the screen */
.ewp-tabs{position:fixed;left:0;right:0;bottom:0;z-index:999;display:flex;justify-content:center;background:var(--card);border-top:1px solid var(--line);padding:0 8px calc(14px + env(safe-area-inset-bottom,0px))}
.ewp-tab{flex:1;max-width:140px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:0 0 2px;border:0;background:none;font:500 11.5px var(--sans);color:var(--mut);cursor:pointer}
.ewp-tab::before{content:"";width:28px;height:3px;margin-bottom:5px;border-radius:3px;background:transparent}
.ewp-tab svg{width:24px;height:24px}
.ewp-tab .ewp-ic-on{display:none}
.ewp-tab[aria-current="page"]{color:var(--em);font-weight:700}
.ewp-tab[aria-current="page"]::before{background:var(--em)}
.ewp-tab[aria-current="page"] .ewp-ic-on{display:block}
.ewp-tab[aria-current="page"] .ewp-ic-off{display:none}
.ewp-toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:1000;max-width:calc(100% - 40px);padding:12px 14px;border-radius:14px;background:var(--night);color:var(--on-em);font-size:13.5px}
@media (prefers-reduced-motion:reduce){.ewp-btn,.ewp-tap{transition:none}}
/* App mode (body.ewp-app, portal home only): slim Everwell bar instead of the theme header, title, menu,
   footer and WooCommerce's default "Hello ... From your account dashboard" text. Works with Elementor, classic and block themes. */
html:has(body.ewp-app),body.ewp-app{overflow-x:hidden}
body.ewp-app{background:color-mix(in srgb,var(--ew-em) 5%,var(--ew-screen))}
body.ewp-app .elementor-location-header,body.ewp-app .elementor-location-footer,body.ewp-app #masthead,body.ewp-app .site-header,body.ewp-app .site-footer,
body.ewp-app header.wp-block-template-part,body.ewp-app footer.wp-block-template-part,body.ewp-app .wp-block-post-title,
body.ewp-app .woocommerce-MyAccount-navigation,body.ewp-app .page-header,body.ewp-app .entry-title,body.ewp-app .woocommerce-MyAccount-content>p{display:none!important}
body.ewp-app .woocommerce-MyAccount-content{float:none!important;width:100%!important;padding:0!important}
body.ewp-app .ewp{width:min(560px,calc(100vw - 32px));max-width:none;margin:0 0 0 calc(50% - min(280px,50vw - 16px));padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
body.ewp-app main,body.ewp-app .wp-site-blocks,body.ewp-app .site-main,body.ewp-app .page-content,body.ewp-app .entry-content,body.ewp-app .woocommerce{margin-top:0!important;padding-top:0!important;margin-bottom:0!important;padding-bottom:0!important}
body.ewp-app .ewp-top{display:flex;align-items:center;padding:8px 0 2px}
body.ewp-app .ewp-top img{height:22px;width:auto}
a.ewc-btn{text-decoration:none}

/* Messages sheet: MDI's messaging, framed inside the portal (v0.9.0). Messages stay on MDI's servers. */
.ewp-sheet{position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;background:var(--off);font-family:var(--sans)}
.ewp-sheet-x{position:absolute;z-index:2;top:calc(10px + env(safe-area-inset-top,0px));left:12px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:var(--ink);color:var(--card);cursor:pointer;box-shadow:0 2px 6px color-mix(in srgb,var(--ink) 20%,transparent),0 8px 20px -6px color-mix(in srgb,var(--ink) 40%,transparent)}
.ewp-sheet-x:hover{background:color-mix(in srgb,var(--ink) 85%,var(--card))}
.ewp-sheet-x:focus-visible{outline:3px solid var(--mint);outline-offset:2px}
.ewp-sheet-x svg{width:16px;height:16px}
.ewp-sheet-body{position:relative;flex:1;min-height:0;padding-top:env(safe-area-inset-top,0px)}
.ewp-sheet iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--paper)}
.ewp-sheet-wait{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:10px;padding:24px;text-align:center;color:var(--mut);font-size:14px;background:var(--off)}
.ewp-sheet-wait[hidden]{display:none}
.ewp-sheet-wait .ewc-btn{width:auto;min-width:220px}
.ewp-sheet-open{overflow:hidden}
/* v0.39.9: while MDI's chat loads, the same dark "connecting" screen as the intake (Cristian, 29 Oct). */
.ewp-sheet.is-wait{background:var(--night)}
.ewp-conn{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;padding:32px 24px max(28px,env(safe-area-inset-bottom));background:var(--night);color:var(--on-em);font-size:15px;transition:opacity .32s ease,visibility .32s ease}
.ewp-conn.is-done{opacity:0;visibility:hidden}
.ewp-conn-in{display:flex;flex-direction:column;align-items:center;max-width:320px;margin:auto 0}
.ewp-conn-ring{position:relative;display:grid;place-items:center;width:76px;height:76px;margin-bottom:28px;color:var(--mint)}
.ewp-conn-ring i{position:absolute;inset:0;border-radius:50%;border:2px solid color-mix(in srgb,var(--on-em) 12%,transparent);border-top-color:var(--mint);animation:ewspin 1.1s linear infinite}
.ewp-conn-ring svg{width:26px;height:26px}
.ewp-conn .ewp-conn-t{margin:0;font:600 27px/1.12 var(--head);letter-spacing:-.03em;color:var(--on-em);text-wrap:balance}
.ewp-conn .ewp-conn-s{margin:10px 0 0;font-size:15px;line-height:1.5;color:color-mix(in srgb,var(--on-em) 62%,transparent);text-wrap:balance}
.ewp-conn .ewp-conn-s b{color:var(--on-em);letter-spacing:.06em}
.ewp-conn .ewc-btn{margin-top:22px}
.ewp-conn-foot{margin:0}
.ewp-conn-foot .ew-logo{display:block;height:20px;width:auto;filter:brightness(0) invert(1);opacity:.8}
.ewp-sheet.is-wait .ewp-sheet-x{background:color-mix(in srgb,var(--on-em) 14%,transparent);color:var(--on-em);box-shadow:none}
.ewp-sheet.is-wait .ewp-sheet-x:hover{background:color-mix(in srgb,var(--on-em) 22%,transparent)}
@media (prefers-reduced-motion:reduce){.ewp-conn{transition:none}.ewp-conn-ring i{animation:none;border-color:color-mix(in srgb,var(--mint) 70%,transparent)}}

/* Sign in with an emailed code (v0.10.0), My account when logged out. */
.ewl{max-width:480px;margin:0 auto 24px}
body.ewl-on #ewLogin ~ h2,body.ewl-on .woocommerce-form-login,body.ewl-on #customer_login{display:none !important}
.ewl .ewl-h{font-size:clamp(25px,6.4vw,30px);margin-top:8px}
.ewl-form{display:flex;flex-direction:column;gap:6px;margin-top:16px}
.ewl-form[hidden]{display:none}
.ewl-lab{font-size:13px;font-weight:600;color:var(--ink)}
.ewl-inp{width:100%;min-height:52px;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);font:16px var(--sans);box-sizing:border-box}
.ewl-inp:focus{border-color:var(--em);outline:none;box-shadow:0 0 0 4px var(--glow)}
.ewl-code{letter-spacing:.4em;font-family:var(--head);font-size:22px;text-align:center}
.ewl .ewc-err{margin:4px 0 0;font-size:13.5px;font-weight:600;color:var(--err)}
.ewl .ewc-err[hidden]{display:none}
.ewl-sent{margin:0 0 4px}
.ewl-links{text-align:center}
.ewl-link{background:none;border:0;padding:0;color:var(--em);font:700 13.5px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ewl-link:focus-visible{outline:3px solid var(--mint);outline-offset:2px}
.ewl .ewl-h[hidden]{display:none}

/* Shipped line on the order page (v0.11.0) */
.ewc-ship-line{margin:0 0 16px;padding:12px 14px;border-radius:14px;background:var(--glow);color:var(--ink);font-size:14.5px}

/* Wordmark in the top bar (v0.15.0): logo, then the section name under it. */
.ew-mid{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}
.ew-mid .ew-logo{display:block;height:24px;width:auto;max-width:100%}
.ew-mid .ewc-sec,.ew-mid .ewi-sec{margin:0 !important;font-size:10.5px !important;letter-spacing:.14em !important}

/* Less to read on the card step: the plan card already shows the price, so Woo's line-item table is hidden. */
body.ew-flow .woocommerce-checkout-review-order-table{display:none}
.ewc-id-how{color:var(--ink)!important;font-size:15px!important}

/* My account > order: WooCommerce's own order table without the grid lines. */
body.woocommerce-view-order .woocommerce-table--order-details,body.woocommerce-view-order .woocommerce-table--order-details th,body.woocommerce-view-order .woocommerce-table--order-details td,
body.woocommerce-view-order .woocommerce-customer-details address{border:0!important}
body.woocommerce-view-order .woocommerce-table--order-details{border-radius:var(--ew-round);background:var(--ew-card);box-shadow:0 12px 28px -18px color-mix(in srgb,var(--ew-ink) 35%,transparent);overflow:hidden}
body.woocommerce-view-order .woocommerce-table--order-details tfoot tr:last-child{font-weight:700}

/* Desktop: messages open as a side panel over the account page, not a full-screen phone sheet. */
@media (min-width:900px) and (hover:hover){
  .ewp-sheet{inset:0 0 0 auto;width:min(560px,100%);box-shadow:-24px 0 60px -30px color-mix(in srgb,var(--ew-ink) 45%,transparent);border-left:1px solid var(--line)}
}

/* =====================================================================
   v0.25.0: My account inside the Everwell frame (templates/account.php).
   No theme on these pages, so WooCommerce's own pages (plan, orders, addresses, cards, details,
   sign in) are styled here, in the portal look: page tint, white cards, pill buttons.
   ===================================================================== */
body.ewa-on{margin:0;background:var(--page);color:var(--ink);font-family:var(--sans) !important;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
body.ewa-on *,body.ewa-on *::before,body.ewa-on *::after{box-sizing:border-box}
body.ewa-on .ewc-sec{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
body.ewa-on .ew-mid .ew-logo{display:block;height:22px;width:auto;max-width:100%}
body.ewa-on .ewa-gap{width:40px;height:40px}
body.ewa-on .ewa-body{padding-bottom:calc(48px + env(safe-area-inset-bottom,0px))}
body.ewa-home .ewa-body{padding-top:6px;padding-bottom:0}
body.ewa-home .ewa-content{margin:0}
body.ewa-home .ewp{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
body.ewa-on .ewp-top{display:flex;align-items:center;padding:8px 0 2px}
body.ewa-on .ewp-top img{height:22px;width:auto}
body.ewa-on .ewp{margin:0}
body.ewa-on .ewp-simple{padding-bottom:24px}
body.ewa-on .ewa-h1{margin:6px 0 18px;font-family:var(--head);font-weight:600;font-size:28px;line-height:1.1;letter-spacing:-.03em;color:var(--ink);text-wrap:balance}
body.ewa-on .ewa-content{margin:0}
body.ewa-on .woocommerce{width:100%;max-width:none;margin:0;padding:0}
body.ewa-on .woocommerce-MyAccount-content{float:none;width:100%;margin:0;padding:0}
body.ewa-on .woocommerce-MyAccount-navigation{display:none}
body.ewa-on a{color:var(--em)}
body.ewa-on p{margin:0 0 14px;font-size:15px;line-height:1.5}
body.ewa-on mark{background:none;color:var(--ink);font-weight:700}
body.ewa-on .woocommerce-MyAccount-content h2:not(.ewp-title),body.ewa-on .woocommerce-MyAccount-content h3,
body.ewa-on .woocommerce-ResetPassword h2{margin:22px 0 10px;font-family:var(--head) !important;font-weight:600;font-size:20px;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}

/* Notices */
body.ewa-on .woocommerce-message,body.ewa-on .woocommerce-info,body.ewa-on .woocommerce-error,
body.ewa-on .woocommerce-notices-wrapper .wc-block-components-notice-banner{list-style:none;margin:0 0 16px;padding:14px 16px;border:0;border-radius:16px;background:var(--card);color:var(--ink);font-size:14.5px;box-shadow:var(--tap-shadow)}
body.ewa-on .woocommerce-error{background:var(--err-bg);color:var(--err)}
body.ewa-on .woocommerce-message::before,body.ewa-on .woocommerce-info::before,body.ewa-on .woocommerce-error::before{display:none}
body.ewa-on .woocommerce-message .button,body.ewa-on .woocommerce-info .button{float:none;display:inline-flex;margin:10px 0 0;min-height:40px}

/* Tables (orders, plan, cards): one white card, no grid lines */
body.ewa-on table.shop_table,body.ewa-on table.woocommerce-orders-table,body.ewa-on table.woocommerce-MyAccount-paymentMethods,body.ewa-on table.subscription_details{
  width:100%;margin:0 0 18px;border:0 !important;border-collapse:separate;border-spacing:0;border-radius:20px;background:var(--card);box-shadow:var(--tap-shadow);overflow:hidden;font-size:14.5px}
body.ewa-on table.shop_table th,body.ewa-on table.shop_table td{padding:13px 16px !important;border:0 !important;border-top:1px solid var(--line) !important;text-align:left;vertical-align:middle;background:none !important;color:var(--ink)}
body.ewa-on table.shop_table thead th{border-top:0 !important;font-size:12.5px;font-weight:600;color:var(--mut)}
body.ewa-on table.shop_table tbody tr:first-child td,body.ewa-on table.shop_table tbody tr:first-child th{border-top:1px solid var(--line) !important}
body.ewa-on table.shop_table:not(:has(thead)) tbody tr:first-child td,body.ewa-on table.shop_table:not(:has(thead)) tbody tr:first-child th{border-top:0 !important}
body.ewa-on table.shop_table tfoot th{font-weight:600;color:var(--mut)}
body.ewa-on table.shop_table tfoot tr:last-child td,body.ewa-on table.shop_table tfoot tr:last-child th{font-weight:700;color:var(--ink)}
@media (max-width:768px){
  body.ewa-on table.shop_table_responsive thead{display:none}
  body.ewa-on table.shop_table_responsive tbody tr{display:block;padding:6px 0;border-top:1px solid var(--line)}
  body.ewa-on table.shop_table_responsive tbody tr:first-child{border-top:0}
  body.ewa-on table.shop_table_responsive tbody td,body.ewa-on table.shop_table_responsive tbody th{display:flex;justify-content:space-between;gap:12px;padding:7px 16px !important;border:0 !important;text-align:right !important}
  body.ewa-on table.shop_table_responsive tbody td::before,body.ewa-on table.shop_table_responsive tbody th::before{content:attr(data-title);float:none;font-weight:600;color:var(--mut);text-align:left}
  body.ewa-on table.shop_table_responsive tbody td.woocommerce-orders-table__cell-order-actions::before,
  body.ewa-on table.shop_table_responsive tbody td.subscription-actions::before,body.ewa-on table.shop_table_responsive tbody td.payment-method-actions::before{content:none}
  body.ewa-on table.shop_table_responsive tbody td.woocommerce-orders-table__cell-order-actions,body.ewa-on table.shop_table_responsive tbody td.subscription-actions,body.ewa-on table.shop_table_responsive tbody td.payment-method-actions{justify-content:flex-start;flex-wrap:wrap}
}

/* Buttons: WooCommerce's own buttons in the pill look */
body.ewa-on .ewa-content .button,body.ewa-on .ewa-content button.button,body.ewa-on .ewa-content a.button,body.ewa-on .ewa-content input.button,
body.ewa-on .ewa-content .woocommerce-button,body.ewa-on .ewa-content button[type=submit]:not(.ewp-btn):not(.ewc-btn){
  display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--btn-h);padding:12px 22px;margin:0;border:0;border-radius:var(--pill);
  background:var(--em);color:var(--on-em) !important;font:700 15.5px var(--sans);line-height:1.2;text-decoration:none !important;text-transform:none;letter-spacing:0;cursor:pointer;box-shadow:none}
body.ewa-on .ewa-content .button:hover,body.ewa-on .ewa-content button[type=submit]:not(.ewp-btn):not(.ewc-btn):hover{background:var(--em-deep);color:var(--on-em) !important}
body.ewa-on .ewa-content .button:disabled,body.ewa-on .ewa-content .button.disabled{opacity:.5;cursor:not-allowed}
body.ewa-on table .button,body.ewa-on table a.button,body.ewa-on .woocommerce-orders-table .button{min-height:38px;padding:8px 14px;margin:3px 6px 3px 0;font-size:13.5px;background:transparent;color:var(--em) !important;box-shadow:inset 0 0 0 1.5px var(--em-line)}
body.ewa-on table .button:hover{background:var(--hover);color:var(--em) !important}
body.ewa-on table .button.cancel,body.ewa-on table a.button.delete{color:var(--err) !important;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--err) 35%,transparent)}
body.ewa-on .woocommerce-pagination{display:flex;gap:8px;margin:0 0 16px}
body.ewa-on .woocommerce-Button--previous,body.ewa-on .woocommerce-Button--next{min-height:44px !important}

/* Forms: account details, addresses, reset password */
body.ewa-on .ewa-content form{margin:0}
body.ewa-on .ewa-content .woocommerce-address-fields,body.ewa-on .ewa-content .woocommerce-EditAccountForm,body.ewa-on .ewa-content .woocommerce-ResetPassword,
body.ewa-on .ewa-content form.lost_reset_password,body.ewa-on .ewa-content #add_payment_method{display:block;padding:20px 18px;margin:0 0 16px;border-radius:24px;background:var(--card);box-shadow:var(--tap-shadow)}
body.ewa-on .ewa-content .form-row{display:block;float:none !important;width:100% !important;margin:0 0 14px;padding:0}
@media (min-width:560px){
  body.ewa-on .ewa-content .form-row-first,body.ewa-on .ewa-content .form-row-last{display:inline-block;width:calc(50% - 6px) !important;vertical-align:top}
  body.ewa-on .ewa-content .form-row-first{margin-right:12px}
}
body.ewa-on .ewa-content .clear{display:none}
body.ewa-on .ewa-content label{display:block;margin:0 0 6px;font-size:13px;font-weight:600;color:var(--ink);line-height:1.3}
body.ewa-on .ewa-content label .required{color:var(--err);text-decoration:none;border:0}
body.ewa-on .ewa-content label .optional{font-weight:400;color:var(--mut)}
body.ewa-on .ewa-content input.input-text,body.ewa-on .ewa-content input[type=text],body.ewa-on .ewa-content input[type=email],body.ewa-on .ewa-content input[type=tel],
body.ewa-on .ewa-content input[type=password],body.ewa-on .ewa-content select,body.ewa-on .ewa-content textarea{
  width:100%;min-height:52px;padding:12px 14px;border:1.5px solid var(--field-line);border-radius:12px;background:var(--card);color:var(--ink);font:16px var(--sans);box-shadow:none;box-sizing:border-box;appearance:none}
body.ewa-on .ewa-content select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6B62' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:42px}
body.ewa-on .ewa-content input:focus,body.ewa-on .ewa-content select:focus,body.ewa-on .ewa-content textarea:focus{border-color:var(--em);outline:none;box-shadow:0 0 0 4px var(--glow)}
body.ewa-on .ewa-content .select2-container .select2-selection--single{height:52px;border:1.5px solid var(--field-line);border-radius:12px}
body.ewa-on .ewa-content .select2-container .select2-selection--single .select2-selection__rendered{line-height:49px;padding-left:14px;color:var(--ink)}
body.ewa-on .ewa-content .select2-container .select2-selection--single .select2-selection__arrow{height:49px;right:8px}
body.ewa-on .ewa-content fieldset{margin:8px 0 14px;padding:16px 0 0;border:0;border-top:1px solid var(--line)}
body.ewa-on .ewa-content legend{padding:0 0 10px;font-family:var(--head);font-weight:600;font-size:17px;color:var(--ink)}
body.ewa-on .ewa-content em,body.ewa-on .ewa-content #account_display_name_description{display:block;margin-top:6px;font-size:12.5px;font-style:normal;color:var(--mut)}
body.ewa-on .ewa-content .password-input{position:relative;display:block}
body.ewa-on .ewa-content .show-password-input{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer}
body.ewa-on .ewa-content form .button,body.ewa-on .ewa-content form button[type=submit]{width:100%;margin-top:6px}

/* Addresses */
body.ewa-on .woocommerce-Addresses{display:flex;flex-direction:column;gap:14px;margin:0 0 16px}
body.ewa-on .woocommerce-Addresses::before,body.ewa-on .woocommerce-Addresses::after{display:none}
body.ewa-on .woocommerce-Address{float:none !important;width:100% !important;margin:0;padding:18px;border-radius:20px;background:var(--card);box-shadow:var(--tap-shadow)}
body.ewa-on .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}
body.ewa-on .woocommerce-Address-title h2,body.ewa-on .woocommerce-Address-title h3{margin:0 !important;font-size:17px !important}
body.ewa-on .woocommerce-Address-title .edit{float:none;font-weight:700;font-size:14px}
body.ewa-on .woocommerce-Address address{font-style:normal;font-size:15px;line-height:1.55;color:var(--ink);border:0;padding:0}
body.ewa-on .woocommerce-Addresses + p,body.ewa-on .woocommerce-MyAccount-content > p:first-child{color:var(--mut);font-size:14px}

/* Order and plan detail pages */
body.ewa-on .woocommerce-customer-details,body.ewa-on .woocommerce-order-details{margin:0 0 18px}
body.ewa-on .woocommerce-customer-details address{padding:16px;border:0 !important;border-radius:20px;background:var(--card);box-shadow:var(--tap-shadow);font-style:normal;line-height:1.55}
body.ewa-on .woocommerce-customer-details .woocommerce-columns{display:flex;flex-direction:column;gap:14px}
body.ewa-on .woocommerce-customer-details .woocommerce-column{float:none;width:100%;margin:0}
body.ewa-on .woocommerce-customer-details--phone,body.ewa-on .woocommerce-customer-details--email{margin:6px 0 0;font-size:14px;color:var(--mut)}
body.ewa-on .woocommerce-customer-details--phone::before,body.ewa-on .woocommerce-customer-details--email::before{display:none}
body.ewa-on .order-again{display:none}
body.ewa-on .woocommerce-order-downloads{display:none}

/* Payment methods + add a card (Stripe's card box sits on white, never the theme's gray) */
body.ewa-on #add_payment_method #payment,body.ewa-on #add_payment_method #payment ul.payment_methods,body.ewa-on #add_payment_method #payment div.payment_box{background:none !important;border:0 !important;padding:0 !important;margin:0}
body.ewa-on #add_payment_method #payment div.payment_box::before{display:none}
body.ewa-on #add_payment_method #payment ul.payment_methods li{list-style:none;margin:0 0 10px}
body.ewa-on #add_payment_method #payment .form-row{margin-top:14px}

/* Sign in, when logged out */
body.ewa-on .ewl{margin:6px 0 24px;max-width:none}
body.ewa-on .woocommerce-form-login,body.ewa-on .woocommerce-form-register{padding:20px 18px;border:0;border-radius:24px;background:var(--card);box-shadow:var(--tap-shadow);margin:0 0 16px}
body.ewa-on .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:8px;font-weight:500}
body.ewa-on .woocommerce-form-login__rememberme input{width:auto;min-height:0}
body.ewa-on .lost_password{margin:12px 0 0;text-align:center;font-size:14px}

/* =====================================================================
   v0.25.0: card step cleanup.
   ===================================================================== */
/* v0.27.0: Apple Pay / Google Pay sit under the renewal consent (EW_Flow_Checkout::move_express), locked
   until the box is ticked (assets/express.js). Stripe's own "or" line is replaced by ours. */
body.ew-flow #wc-stripe-express-checkout-button-separator,body.ew-flow .wc-stripe-payment-request-button-separator,body.ew-flow #wc-stripe-payment-request-button-separator{display:none !important}
.ewc-express{margin:0}
.ewc-express.is-on{margin:16px 0 8px}
.ewc-express:not(.is-on) .ewc-or,.ewc-express:not(.is-on) .ewc-express-gate{display:none}
.ewc-or{display:flex;align-items:center;gap:12px;margin:0 0 12px;font-size:13px;color:var(--mut)}
.ewc-or::before,.ewc-or::after{content:"";flex:1;height:1px;background:var(--line)}
.ewc-express-in{position:relative}
.ewc-express-in #wc-stripe-express-checkout-element{margin-top:0 !important}
.ewc-express-gate{position:absolute;inset:0;z-index:5;padding:0;border:0;border-radius:var(--pill);background:transparent;cursor:pointer}
.ewc-express-gate[hidden]{display:none}
.ewc-arl.ewc-arl-flag{box-shadow:0 0 0 3px var(--em),var(--tap-shadow);transition:box-shadow .2s ease}
.ewc-arl .ewc-arl-err{margin:10px 0 0;color:var(--err);font-size:14px;font-weight:600;line-height:1.4}
body.ew-flow #wcpay-express-checkout-element,body.ew-flow .wcpay-payment-request-wrapper{display:none !important}
body.ew-flow .ewc-check a{color:var(--em);font-weight:700;text-decoration:underline;text-underline-offset:2px}
/* v0.25.0 polish */
body.ew-flow span.ewc-back,body.ewa-on span.ewc-back{visibility:hidden}
body.ewa-on .wc-block-components-notice-banner{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:14px 16px;border:0 !important;border-radius:16px;background:var(--card) !important;color:var(--ink);font-size:14.5px;box-shadow:var(--tap-shadow)}
body.ewa-on .wc-block-components-notice-banner>svg{flex:none;width:22px;height:22px;padding:2px;border-radius:50%;background:var(--pick) !important;fill:var(--em-deep) !important}
body.ewa-on .wc-block-components-notice-banner.is-error{background:var(--err-bg) !important;color:var(--err)}
body.ewa-on .wc-block-components-notice-banner.is-error>svg{background:none !important;fill:var(--err) !important}
body.ewa-on .woocommerce-Address-title h2,body.ewa-on .woocommerce-Address-title h3{padding:0 !important;float:none !important}
body.ewa-on .woocommerce-Address-title .edit{white-space:nowrap;font-size:13.5px}
body.ewa-on .ewa-content select{height:52px;line-height:1.3;padding-top:0;padding-bottom:0}
body.ewa-on .woocommerce-Address-title::before,body.ewa-on .woocommerce-Address-title::after{display:none !important;content:none !important}
body.ewa-on .woocommerce-Address-title h2,body.ewa-on .woocommerce-Address-title h3{flex:1;text-align:left}
body.ewa-on.woocommerce-edit-address .woocommerce-MyAccount-content > form > h2:first-child,
body.ewa-on .woocommerce-MyAccount-content > form > h3:first-child{display:none}

/* v0.25.1: already has an account -> sign in with a code first, on the card step itself. */
body.ewc-signin form.checkout,body.ewc-signin .woocommerce-form-coupon-toggle,body.ewc-signin form.checkout_coupon{display:none !important}
body.ew-flow .ewl-checkout{margin:0 0 16px;max-width:none}
body.ew-flow .ewl-checkout .ewl-h{font-size:clamp(23px,6vw,27px)}
body.ew-flow .ewl-why{margin:10px 0 4px;font-size:15px;line-height:1.5;color:var(--mut)}
body.ew-flow .ewl-why b{color:var(--ink);overflow-wrap:anywhere}
body.ew-flow .ewl-checkout a.ewc-btn{display:flex;margin-top:14px}
body.ew-flow .ewl-checkout .ewl-links{text-align:center;margin:12px 0 0}
/* WooCommerce's newer notice banners on the card step: icon beside the text, never on top of it. */
body.ew-flow .wc-block-components-notice-banner{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:14px 16px !important;border:0 !important;border-radius:16px;background:var(--card) !important;color:var(--ink);font-size:14.5px;line-height:1.45;box-shadow:var(--tap-shadow)}
body.ew-flow .wc-block-components-notice-banner>svg{position:static !important;flex:none;width:22px;height:22px;margin:0 !important;padding:2px;border-radius:50%;background:var(--pick) !important;fill:var(--em-deep) !important}
body.ew-flow .wc-block-components-notice-banner.is-error{background:var(--err-bg) !important;color:var(--err)}
body.ew-flow .wc-block-components-notice-banner.is-error>svg{background:var(--err) !important;fill:var(--on-em) !important}
body.ew-flow .wc-block-components-notice-banner>.wc-block-components-notice-banner__content{flex:1;min-width:0}
body.ew-flow .woocommerce-error::before,body.ew-flow .woocommerce-message::before,body.ew-flow .woocommerce-info::before{display:none !important}

/* =====================================================================
   v0.26.0: card step and order received in the portal's look (approved Superdesign round,
   7 Oct 2026). Phosphor icons only, the portal's plan card, status card and help box.
   ===================================================================== */
body.ew-flow .ewc-back svg,body.ew-flow .ewc-lock svg,body.ewa-on .ewc-back svg{width:20px;height:20px}
body.ew-flow .ew-ic,body.ewa-on .ew-ic{display:block;flex:none}
/* Plan card */
.ewc-plan{padding:12px;border-radius:22px}
.ewc-plan .ewc-ptop{gap:14px}
.ewc-plan .ewc-ptop img,.ewc-plan .ewc-ptop .ewc-img-empty{width:78px;height:94px;border-radius:12px;background:var(--img)}
.ewc-pt{display:flex;flex-direction:column;gap:3px;min-width:0}
body.ew-flow .ewc-plan h2,.ewt-plan .ewt-plan-name{margin:0 !important;font-family:var(--sans) !important;font-size:15.5px !important;font-weight:600;letter-spacing:0;line-height:1.3;color:var(--ink)}
.ewc-plan .ewc-price{margin:0;font-size:13.5px;color:var(--mut)}
.ewc-plan .ewc-today{display:flex;align-items:flex-start;gap:6px;margin:4px 0 0;padding-top:2px;font-size:13px;font-weight:600;line-height:1.35;color:var(--em)}
.ewc-plan .ewc-today svg{width:16px;height:16px;margin-top:1px}
.ewc-plan .ewc-today b{color:var(--em)}
.ewc-kvs{margin:12px 2px 0;border-top:1px solid var(--line)}
.ewc-kv{display:flex;align-items:flex-start;gap:12px;padding:12px 2px 2px}
.ewc-kv + .ewc-kv{border-top:1px solid var(--line);margin-top:10px}
.ewc-kv-ic{flex:none;color:var(--em);margin-top:1px}
.ewc-kv-ic svg{width:20px;height:20px}
.ewc-kv-t{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.45;color:var(--ink)}
.ewc-kv-t p{margin:0}
.ewc-kv .ewc-lab{font-size:13px;color:var(--mut);margin-bottom:2px !important}
.ewc-kv .ewc-box{margin:0;padding:0;background:none;font-size:14px;color:var(--ink)}
.ewc-edit{font-weight:600;text-decoration:none}
.ewc-edit:hover{text-decoration:underline}
body.ew-flow .woocommerce-form-coupon-toggle .woocommerce-info{text-align:center}
body.ew-flow .ewc-cardhead{margin:4px 0 12px}
/* Card box: one white card, light fields. */
body.ew-flow #payment ul.payment_methods li{padding:16px;border-radius:24px}
body.ew-flow #payment ul.payment_methods li > label{font-weight:600;font-size:15px}
/* Trust row and the renewal consent card. */
.ewc-trust{margin:2px 2px 14px}
.ewc-arl{padding:18px;border-radius:22px}
.ewc-check{align-items:flex-start;margin-top:14px;font-weight:500;font-size:14px;color:var(--ink)}
.ewc-check input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:0;flex:0 0 22px;border-radius:6px;border:1.5px solid var(--field-line);background:var(--card) center/14px no-repeat;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.ewc-check input:checked{background-color:var(--em);border-color:var(--em);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='white'%3E%3Cpath d='M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E")}
.ewc-check input:focus-visible{outline:3px solid var(--em);outline-offset:2px}
body.ew-flow #place_order{min-height:50px;font-size:15.5px}
.ewc-btn{min-height:50px;font-size:15.5px}

/* Order received: the portal's dark status card with the 4-step track. */
.ewt{gap:14px}
.ewt-status{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:26px;background:var(--night);color:var(--on-em);box-shadow:var(--status-shadow)}
.ewt-status p{margin:0}
.ewt-eye{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:color-mix(in srgb,var(--on-em) 62%,transparent)}
.ewt-eye i{width:7px;height:7px;border-radius:50%;background:var(--on-em);flex:none}
body.ew-flow .ewt-status h2{margin:0 !important;font-size:27px !important;line-height:1.1;color:var(--on-em)}
.ewt-line{font-size:14.5px;line-height:1.45;color:color-mix(in srgb,var(--on-em) 70%,transparent)}
.ewt-track{display:flex;flex-direction:column;gap:7px;margin-top:4px}
.ewt-bars{display:flex;gap:5px}
.ewt-bars span{flex:1;height:5px;border-radius:9px;background:color-mix(in srgb,var(--on-em) 16%,transparent);transition:background .3s ease}
.ewt-bars span.is-done{background:var(--on-em)}
.ewt-bars span.is-now{background:color-mix(in srgb,var(--on-em) 50%,transparent)}
.ewt-labels{display:flex;justify-content:space-between;gap:6px;font-size:11.5px;color:color-mix(in srgb,var(--on-em) 45%,transparent)}
.ewt-labels .is-done{color:var(--on-em);font-weight:600}
.ewt-labels .is-now{color:color-mix(in srgb,var(--on-em) 85%,transparent);font-weight:600}
/* ID step: one white card. */
.ewt-next{padding:20px 18px}
.ewt-next .ewc-next{margin:0}
.ewc-id h3{margin:0 0 6px;font-family:var(--head);font-weight:600;font-size:19px;letter-spacing:-.02em;color:var(--ink)}
.ewc-id .ewc-id-how{margin:0 0 14px;font-size:14px !important;line-height:1.5;color:var(--mut) !important}
.ewc-file{flex-direction:column;gap:10px;min-height:120px;padding:18px;border-radius:16px;background:var(--page)}
.ewc-file:hover,.ewc-file.has{background:color-mix(in srgb,var(--mint) 18%,var(--page))}
.ewc-file .ewc-file-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--mint) 28%,transparent);color:var(--em-deep)}
.ewc-file .ewc-file-ic svg{width:22px;height:22px}
.ewc-file-txt{font-weight:600;color:var(--ink)}
.ewc-id-send[disabled]{opacity:.4;cursor:not-allowed}
.ewc-later-note{margin:10px 0 0 !important;font-size:12.5px !important;line-height:1.45;text-align:center;color:var(--mut)}
.ewc-end,.ewc-review{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:14.5px;line-height:1.45;color:var(--ink)}
.ewc-end svg,.ewc-review svg{flex:none;width:22px;height:22px;padding:4px;border-radius:8px;background:color-mix(in srgb,var(--mint) 28%,transparent);color:var(--em-deep);box-sizing:content-box}
/* Plan card + help box (portal). */
.ewt-plan{padding:12px}
.ewt-help{display:flex;align-items:center;gap:10px;margin:0;padding:16px;border-radius:20px;background:color-mix(in srgb,var(--mint) 22%,transparent);color:var(--em-deep);font-size:15px;font-weight:600;text-align:left}
.ewt-help svg{width:20px;height:20px}
.ewt .ewc-legal{margin:2px 0 0;text-align:left;font-size:12px}
.ewc-bar-left{grid-template-columns:1fr !important}
.ewc-bar-left .ew-mid{align-items:flex-start}
body.ew-flow .ewc-arl .ewc-check{display:flex !important;align-items:flex-start;gap:12px}
body.ew-flow .ewc-arl .ewc-check span{flex:1;min-width:0}

/* v0.31.0: wallet buttons look normal before the tick (the grey veil read as broken). A tap before the
   tick lights up the renewal box and shows one line under the buttons. */
.ewc-express-hint{margin:8px 0 0;font-size:13.5px;font-weight:600;color:var(--err);text-align:center}
.ewc-express-hint[hidden]{display:none}
.ewc-express:not(.is-on) .ewc-express-hint{display:none}
/* v0.31.0: billing address same as shipping (ticked by default). */
.ewc-bill{margin:10px 2px 0;padding-top:4px;border-top:1px solid var(--line)}
.ewc-bill .ewc-check{margin-top:8px;font-weight:500;font-size:14px}
.ewc-billf{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.ewc-billf[hidden]{display:none}
.ewc-billt{margin:0;font-size:13px;font-weight:600;color:var(--mut)}
.ewc-f{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--ink);min-width:0}
.ewc-f input,.ewc-f select{width:100%;height:52px;border-radius:12px;border:1.5px solid var(--field-line);background:var(--card);padding:0 14px;font:400 16px var(--sans);color:var(--ink)}
.ewc-f input:focus,.ewc-f select:focus{outline:0;border-color:var(--em);box-shadow:0 0 0 4px var(--glow)}
.ewc-f2{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}

/* =====================================================================
   v0.35.0 card step (approved mock v3c, 9 Oct 2026). Borders, not shadows. 8px rhythm.
   ===================================================================== */
.ewc-v35{margin:0}
.ewc-prod{display:flex;align-items:center;gap:14px;margin:4px 0 28px}
.ewc-prod img,.ewc-prod .ewc-img-empty{width:56px;height:68px;flex:none;object-fit:cover;border-radius:12px;background:var(--img)}
body.ew-flow .ewc-prod h2{margin:0;font-size:17px;line-height:1.25;letter-spacing:-.02em}
.ewc-prod p{margin:2px 0 0;font-size:13.5px;color:var(--mut)}
.ewc-h{margin:0 0 12px;font-family:var(--head);font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--ink)}
.ewc-pls{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ewc-plans.is-one .ewc-pls{grid-template-columns:1fr}
.ewc-plans.is-busy{opacity:.6;pointer-events:none}
.ewc-pl{position:relative;display:flex;flex-direction:column;gap:2px;padding:16px 14px;border-radius:16px;border:1.5px solid var(--line);background:var(--card);cursor:pointer}
.ewc-pl.is-on{border:2px solid var(--em-deep);padding:15.5px 13.5px}
.ewc-plans.is-one .ewc-pl{cursor:default}
.ewc-pl input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.ewc-pl:focus-within{outline:3px solid var(--em-line);outline-offset:2px}
.ewc-pl-n{font-size:13px;font-weight:600;color:var(--mut)}
.ewc-pl-b{margin-top:2px;font-family:var(--head);font-weight:600;font-size:26px;line-height:1.15;letter-spacing:-.03em;color:var(--ink)}
.ewc-pl-s{font-size:12.5px;color:var(--mut)}
.ewc-pl-tag{position:absolute;top:-10px;right:10px;padding:3px 8px;border-radius:var(--pill);background:var(--em-deep);color:var(--on-em);font-size:11px;font-weight:600}
.ewc-fee{margin:10px 2px 0;font-size:12px;color:var(--mut)}
.ewc-zero{margin:24px 0 0;padding:20px 18px 18px;border-radius:18px;border:1px solid var(--line);background:var(--card)}
.ewc-due{margin:0;font-family:var(--head);font-weight:600;font-size:16px;line-height:1.25;letter-spacing:-.02em;color:var(--ink)}
.ewc-due b{display:block;margin-bottom:6px;font-size:40px;line-height:1;letter-spacing:-.04em}
.ewc-tl{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin:18px 0 0;padding:16px 0 0;list-style:none;border-top:1px solid var(--line)}
.ewc-tl::before{content:"";position:absolute;top:21px;left:6px;right:calc(33.333% + 6px);height:2px;background:linear-gradient(90deg,var(--em-deep) 0 50%,var(--line) 50%)}
.ewc-tl li{position:relative;display:flex;flex-direction:column;gap:2px;padding-top:20px;min-width:0}
.ewc-tl i{position:absolute;top:0;left:0;width:12px;height:12px;border-radius:50%;background:var(--card);box-shadow:0 0 0 2px var(--line)}
.ewc-tl li.is-on i{background:var(--em-deep);box-shadow:0 0 0 2px var(--em-deep)}
.ewc-tl b{font-size:12.5px;color:var(--ink)}
.ewc-tl span{font-size:12px;color:var(--mut)}
.ewc-nope{margin:16px 0 0;padding:10px 12px;border-radius:10px;background:var(--page);font-size:13px;font-weight:600;color:var(--em)}
.ewc-v35 .ewc-arl{margin:24px 2px 14px;padding:0;border-radius:0;background:none;box-shadow:none}
.ewc-v35 .ewc-arl .ewc-check{margin:0;min-height:0;align-items:center;font-weight:500;font-size:14px}
.ewc-v35 .ewc-arl.ewc-arl-flag{box-shadow:0 0 0 3px var(--em);border-radius:10px}
.ewc-express.is-on{margin:0}
.ewc-express-in #wc-stripe-express-checkout-element{margin-top:0 !important}
.ewc-bnpl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 0}
.ewc-bn{display:flex;align-items:center;justify-content:center;gap:6px;min-height:50px;padding:0 10px;border:0;border-radius:12px;cursor:pointer;font-family:var(--sans)}
.ewc-bn b{font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.ewc-bn em{padding:2px 6px;border-radius:var(--pill);background:var(--card);color:var(--mut);font-size:10.5px;font-weight:600;font-style:normal}
.ewc-bn-klarna{background:color-mix(in srgb,pink 55%,white)}
.ewc-bn-affirm{background:color-mix(in srgb,lavender 85%,slateblue 6%)}
.ewc-bnpl.is-off .ewc-bn{opacity:.5}
.ewc-bnpl .ewc-bn:only-child{grid-column:1 / -1}
.ewc-bn:focus-visible{outline:3px solid var(--em);outline-offset:2px}
.ewc-bn-hint{margin:8px 2px 0;font-size:13px;color:var(--mut)}
.ewc-or-card{margin:22px 0 14px}
.ewc-or-card:not(.is-on){display:none}
.ewc-cardrow{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 14px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 15px var(--sans);cursor:pointer;text-align:left}
.ewc-cr-ic{display:grid;place-items:center;flex:none}.ewc-cr-ic svg{width:22px;height:22px}
.ewc-cr-t{flex:1}
.ewc-cr-marks{display:flex;gap:3px}.ewc-cr-marks img{display:block;width:26px;height:17px;border-radius:3px;box-shadow:0 0 0 1px var(--line)}
.ewc-cr-chev{display:grid;color:var(--mut);transition:transform .2s ease}.ewc-cr-chev svg{width:16px;height:16px}
body.ewc-card-open .ewc-cr-chev{transform:rotate(90deg)}
.ewc-cardbits{margin:10px 2px 0}
.ewc-cardbits .ewc-check{margin:0;min-height:0;font-size:13.5px;font-weight:500}
body.ewc-js:not(.ewc-card-open) .ewc-cardbits{display:none}
body.ewc-js:not(.ewc-card-open) #payment ul.payment_methods{display:none}
body.ew-flow .woocommerce-checkout-review-order-table,body.ew-flow .woocommerce-privacy-policy-text:empty{display:none}
body.ew-flow #payment ul.payment_methods{margin-top:10px !important}
body.ew-flow #payment ul.payment_methods > li{padding:14px;border-radius:14px;border:1px solid var(--line);box-shadow:none}
body.ew-flow #payment ul.payment_methods > li:has(> input.input-radio:not(:checked)){display:none}
body.ew-flow #payment ul.payment_methods > li > input.input-radio,body.ew-flow #payment ul.payment_methods > li > label{display:none}
body.ew-flow #payment div.payment_box{padding:0 !important}
.ewc-shipl{display:flex;align-items:center;gap:10px;margin:14px 4px 0;font-size:13px;color:var(--mut)}
.ewc-shipl p{flex:1;margin:0;min-width:0}.ewc-shipl b{color:var(--ink);font-weight:500}
.ewc-sl-ic{display:grid;flex:none}.ewc-sl-ic svg{width:18px;height:18px}
.ewc-shipl .ewc-edit{font-size:13px;font-weight:500;color:var(--ink)}
.ewc-boxl{margin:6px 4px 0 32px;font-size:12px;color:var(--mut)}
body.ew-flow #payment .place-order{margin-top:24px}
body.ew-flow #place_order{min-height:56px;border-radius:14px;background:var(--em-deep) !important;font-size:16px}
.ewc-again{margin:12px 8px 0;text-align:center;font-size:11.5px;line-height:1.5;color:var(--mut)}
.ewc-again a{color:var(--mut);text-decoration:underline}
body.ew-flow .woocommerce-form-coupon-toggle{margin-top:14px;text-align:center}
.ewc-cardbits .ewc-bill{margin:0;padding:0;border:0}

/* v0.37.0 reviews: portal card, form and thanks. */
.ewp-ask{align-items:center;gap:14px;padding:16px 16px 16px 18px;margin-top:12px}
.ewr-lede{margin:6px 0 16px!important;font-size:15px!important;line-height:1.45}
.ewr-form{gap:0;padding:20px}
.ewr-pick{display:flex;justify-content:space-between;gap:4px}
.ewr-star{display:grid;place-items:center;width:54px;height:54px;padding:0;border:0;background:none;cursor:pointer;color:var(--line)}
.ewr-star svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.3}
.ewr-star.on{color:var(--ink)}.ewr-star.on svg{fill:currentColor;stroke:none}
.ewr-star:focus-visible{outline:3px solid var(--mint);outline-offset:2px;border-radius:12px}
.ewr-ends{display:flex;justify-content:space-between;font-size:12.5px;color:var(--mut);margin:2px 4px 20px}
.ewr-lab{font-weight:600;font-size:15px;margin-bottom:8px;color:var(--ink)}
.ewr-text{width:100%;min-height:118px;padding:14px;border:1.5px solid var(--line);border-radius:16px;font:400 16px/1.45 var(--sans);color:var(--ink);background:var(--card);resize:vertical}
.ewr-text:focus{outline:none;border-color:var(--ink)}
.ewr-hint{margin:8px 2px 0!important;font-size:12.5px;line-height:1.4;color:var(--mut)}
.ewr-ok{display:flex;gap:12px;align-items:flex-start;margin:20px 0 4px;font-size:14.5px;line-height:1.4;color:var(--ink);cursor:pointer}
.ewr-ok input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--ink)}
.ewr-err{margin:12px 0 0!important}
.ewr-send{margin-top:18px}
.ewr-thanks{gap:6px;padding:22px 20px}.ewr-thanks strong{font-size:18px;color:var(--ink)}
.ewp .ewr-form[hidden],.ewp .ewr-thanks[hidden]{display:none!important}
.ewp .ewr-ok{display:flex!important;align-items:flex-start;gap:12px;font-weight:400!important;font-size:14.5px!important;line-height:1.4;margin:18px 0 0!important}
.ewp .ewr-ok span{font-weight:400!important}
.ewp .ewr-ok input{appearance:none;-webkit-appearance:none;flex:none;width:24px;height:24px;margin:0!important;border:1.5px solid var(--field-line);border-radius:7px;background:var(--card);display:grid;place-items:center;cursor:pointer}
.ewp .ewr-ok input:checked{background:var(--ink);border-color:var(--ink)}
.ewp .ewr-ok input:checked::after{content:"";width:6px;height:11px;border:solid var(--card);border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}
.ewp .ewr-ok input:focus-visible{outline:3px solid var(--mint);outline-offset:2px}
.ewp .ewr-hint{margin-bottom:0!important}

/* v0.39.7 (Cristian's test order, 27 Oct) ------------------------------------------------------- */
/* 4. Sign in: the "New here?" line had no room under the card. Centered, with air and one link. */
.ewl .ewl-new{display:flex;flex-direction:column;align-items:center;gap:8px;margin:24px 16px 0;text-align:center;font-size:14px;line-height:1.55;color:var(--mut);text-wrap:balance}
.ewl .ewl-new a{font-weight:700;color:var(--em);text-decoration:underline;text-underline-offset:3px}

/* 7. Prescription: the clinician's directions in blocks (one per month or week range), one line per
   sentence, doses in bold. No thin side line. The words are the clinician's (class-treatment.php). */
.ewc-rx .ewc-rx-lbl{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--mut)}
.ewc-rx .ewc-rx-dir{display:flex;flex-direction:column;gap:10px;margin:0 0 18px;padding:0;border:0;font-size:16px}
.ewc-rx .ewc-rx-step{padding:14px 16px 16px;border-radius:18px;background:var(--page)}
.ewc-rx .ewc-rx-when{display:inline-flex;margin:0 0 10px;padding:5px 12px;border-radius:var(--pill);background:var(--night);color:var(--on-em);font-size:12.5px;font-weight:700;line-height:1.25}
.ewc-rx .ewc-rx-lines{list-style:none;display:flex;flex-direction:column;gap:9px;margin:0;padding:0}
.ewc-rx .ewc-rx-lines li{position:relative;margin:0;padding-left:18px;font-size:16px;line-height:1.5;color:var(--ink)}
.ewc-rx .ewc-rx-lines li::before{content:"";position:absolute;left:1px;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--em)}
.ewc-rx .ewc-rx-line{margin:0;font-size:16px;line-height:1.5;color:var(--ink)}
.ewc-rx .ewc-rx-dir b{font-weight:700;color:var(--ink)}
.ewc-rx .ewc-rx-note{margin:0;padding:12px 14px;border-radius:14px;background:var(--pick);color:var(--em-deep);font-size:14.5px;line-height:1.5}
.ewc-rx .ewc-rx-dir > .ewc-rx-line,.ewc-rx .ewc-rx-dir > .ewc-rx-lines{padding:14px 16px;border-radius:18px;background:var(--page)}
.ewp-rx-wait p{margin:0;color:var(--mut);font-size:15px}

/* Back-compat: the old one-paragraph directions had a thin mint side line. */
.ewc-rx p.ewc-rx-dir{border:0;padding:0}

/* 8. Your plan (WooCommerce Subscriptions' page): one row per fact, label left and value right on one
   line; the buttons full width at the bottom of the card; Cancel plan last, as a quiet red link. */
body.ewa-on table.subscription_details,body.ewa-on table.subscription_details tbody{display:block}
body.ewa-on table.subscription_details tr{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:15px 18px;border-top:1px solid var(--line)}
body.ewa-on table.subscription_details tr:first-child{border-top:0}
body.ewa-on table.subscription_details td{display:block;padding:0 !important;border:0 !important;background:none !important}
body.ewa-on table.subscription_details td:first-child{flex:none;font-size:14.5px;font-weight:500;color:var(--mut);white-space:nowrap}
body.ewa-on table.subscription_details td:last-child{min-width:0;text-align:right;font-size:15px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
body.ewa-on table.subscription_details tr:has(a.button){display:block;padding:18px}
body.ewa-on table.subscription_details tr:has(a.button) td:first-child{display:none}
body.ewa-on table.subscription_details tr:has(a.button) td:last-child{display:flex;flex-direction:column;gap:10px;text-align:center}
body.ewa-on .ewa-content table.subscription_details a.button{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin:0;padding:12px 20px;border-radius:var(--pill);
  background:var(--card);color:var(--em) !important;box-shadow:inset 0 0 0 1.5px var(--em-line);font-size:15px;font-weight:700;line-height:1.2}
body.ewa-on .ewa-content table.subscription_details a.button:hover{background:var(--hover)}
body.ewa-on .ewa-content table.subscription_details a.button.cancel{order:9;min-height:44px;margin-top:2px;background:none;box-shadow:none;color:var(--err) !important;font-weight:600;
  text-decoration:underline !important;text-underline-offset:3px}

/* Small buttons inside tables (orders, cards): the outline look they were meant to have. The page-wide
   button rule above was stronger, so they showed as solid green pills. */
body.ewa-on .ewa-content table .button,body.ewa-on .ewa-content table a.button{min-height:38px;padding:8px 14px;margin:3px 6px 3px 0;font-size:13.5px;background:transparent;color:var(--em) !important;box-shadow:inset 0 0 0 1.5px var(--em-line)}
body.ewa-on .ewa-content table .button:hover{background:var(--hover);color:var(--em) !important}
body.ewa-on .ewa-content table .button.cancel,body.ewa-on .ewa-content table a.button.delete{color:var(--err) !important;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--err) 35%,transparent)}

/* v0.39.9: "Have a code?" by the price (Cristian, 29 Oct). */
body.ew-flow .ewc-code{margin:12px 0 0}
body.ew-flow .ewc-code-toggle,body.ew-flow .ewc-code-rm{padding:4px 0;border:0;background:none;color:var(--em);font:700 14px var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
body.ew-flow .ewc-code-toggle:focus-visible,body.ew-flow .ewc-code-rm:focus-visible,body.ew-flow .ewc-code-apply:focus-visible{outline:3px solid var(--mint);outline-offset:2px;border-radius:6px}
body.ew-flow .ewc-code-box{display:flex;gap:8px;margin-top:8px}
body.ew-flow .ewc-code-box[hidden]{display:none}
body.ew-flow .ewc-code-box input{flex:1;min-width:0;min-height:48px;padding:0 14px;border:0;border-radius:var(--round);box-shadow:inset 0 0 0 1px var(--line);background:var(--card);color:var(--ink);font:600 16px var(--sans);letter-spacing:.04em;text-transform:uppercase}
body.ew-flow .ewc-code-box input::placeholder{text-transform:none;letter-spacing:0;font-weight:500;color:var(--mut)}
body.ew-flow .ewc-code-box input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--em)}
body.ew-flow .ewc-code-apply{flex:none;min-height:48px;padding:0 20px;border:0;border-radius:var(--pill);background:var(--ink);color:var(--card);font:700 15px var(--sans);cursor:pointer}
body.ew-flow .ewc-code.is-busy{opacity:.6;pointer-events:none}
body.ew-flow .ewc-code-on{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:10px 14px;border-radius:var(--round);background:color-mix(in srgb,var(--mint) 22%,var(--card));color:var(--em-deep);font-size:14px}
body.ew-flow .ewc-code-on b{letter-spacing:.04em}
body.ew-flow .ewc-code-msg{margin:8px 0 0;font-size:13.5px;color:var(--mut)}
body.ew-flow .ewc-code-msg.is-bad{color:var(--err)}
body.ew-flow .ewc-code-msg[hidden]{display:none}
.ewc-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* v0.39.9: account pages in the portal's own look (Cristian, 29 Oct: "Not up to date design"). */
body.ewa-on .ewa-list{display:flex;flex-direction:column;gap:12px;margin:0 0 18px}
body.ewa-on .ewa-row{display:flex;flex-direction:column;gap:8px}
body.ewa-on .ewa-order .ewp-nav-t,body.ewa-on .ewa-card .ewp-nav-t{gap:3px}
body.ewa-on .ewa-dot{display:inline;margin:0 2px;color:var(--mut);font-size:inherit}
body.ewa-on .ewp-nav-t strong .ewa-dot{font-weight:400}
body.ewa-on .ewa-meta{display:flex !important;align-items:center;gap:10px;margin-top:6px}
body.ewa-on .ewa-amt{font-size:14px !important;font-weight:600;color:var(--ink) !important;font-variant-numeric:tabular-nums}
body.ewa-on .ewa-amt del{color:var(--mut);font-weight:400}
body.ewa-on .ewa-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:12px !important;font-weight:600;line-height:1.4;white-space:nowrap;background:color-mix(in srgb,var(--mut) 12%,transparent);color:var(--ink) !important}
body.ewa-on .ewa-pill.is-ok{background:color-mix(in srgb,var(--mint) 30%,transparent);color:var(--em-deep) !important}
body.ewa-on .ewa-pill.is-wait{background:color-mix(in srgb,var(--night) 9%,transparent);color:var(--ink) !important}
body.ewa-on .ewa-pill.is-off{color:var(--mut) !important}
body.ewa-on .ewa-pill.is-bad{background:var(--err-bg);color:var(--err) !important}
body.ewa-on .ewa-card{cursor:default}
body.ewa-on .ewa-card:active{transform:none}
body.ewa-on .ewa-card .ewa-pill{flex:none}
body.ewa-on .ewa-acts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 0 66px}
body.ewa-on .ewa-content .ewa-acts a.button{min-height:38px !important;width:auto !important;margin:0 !important;padding:8px 14px !important;font-size:13.5px !important;background:transparent !important;color:var(--em) !important;box-shadow:inset 0 0 0 1.5px var(--em-line) !important}
body.ewa-on .ewa-content .ewa-acts a.button.delete,body.ewa-on .ewa-content .ewa-acts a.button.cancel{color:var(--err) !important;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--err) 35%,transparent) !important}
body.ewa-on .ewa-empty{padding:22px 18px;margin:0 0 16px;border-radius:22px;background:var(--card);box-shadow:var(--ewp-shadow)}
body.ewa-on .ewa-empty p{margin:0;font-weight:600}
body.ewa-on .ewa-empty .ewa-fine{margin-top:6px}
body.ewa-on .ewa-fine{margin:0 0 16px;font-size:13.5px !important;font-weight:400 !important;color:var(--mut)}
body.ewa-on a.button.ewa-add{display:flex;width:100%;justify-content:center}
body.ewa-on .ewa-pages{display:flex;gap:10px}
/* Addresses: the WooCommerce intro line is replaced by one about the pharmacy (class-portal.php). */
body.ewa-on .woocommerce-MyAccount-content > p:first-child{color:var(--mut);font-size:14px}
/* Forms: select text sits in the middle like the text boxes. */
body.ewa-on .ewa-content select{height:52px;padding-top:0 !important;padding-bottom:0 !important;line-height:normal}
/* Account details for patients: they sign in with a code, so no password box and no "display name". */
body.ewa-patient .woocommerce-EditAccountForm fieldset,body.ewa-patient .woocommerce-EditAccountForm .form-row:has(#account_display_name){display:none}
body.ewa-on .ewa-note{margin:-4px 0 16px;font-size:13px !important;color:var(--mut)}
body.ewa-on input[readonly]{background:color-mix(in srgb,var(--line) 35%,var(--card)) !important;color:var(--mut) !important}
body.ewa-on .ewa-list,body.ewa-on .ewa-empty{--ewp-shadow:0 1px 2px color-mix(in srgb,var(--ink) 7%,transparent),0 10px 24px -8px color-mix(in srgb,var(--em-deep) 14%,transparent)}
/* Country and state boxes (WooCommerce's select2): same look as the text boxes, text in the middle. */
body.ewa-on .ewa-content .select2-container{width:100% !important}
body.ewa-on .ewa-content .select2-container .select2-selection--single{position:relative;display:flex;align-items:center;height:52px;border:1.5px solid var(--field-line);border-radius:12px;background:var(--card)}
body.ewa-on .ewa-content .select2-container .select2-selection--single .select2-selection__rendered{flex:1;min-width:0;padding:0 42px 0 14px !important;line-height:1.3 !important;color:var(--ink);font:16px var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.ewa-on .ewa-content .select2-container .select2-selection--single .select2-selection__arrow{position:absolute;top:50% !important;right:10px !important;height:24px !important;transform:translateY(-50%)}
body.ewa-on .ewa-content .select2-container--focus .select2-selection--single,body.ewa-on .ewa-content .select2-container--open .select2-selection--single{border-color:var(--em);box-shadow:0 0 0 4px var(--glow)}
body.ewa-on .select2-dropdown{border:1.5px solid var(--em) !important;border-radius:12px !important;overflow:hidden;background:var(--card);font-family:var(--sans);box-shadow:0 18px 40px -16px color-mix(in srgb,var(--ink) 35%,transparent)}
body.ewa-on .select2-search--dropdown{padding:10px}
body.ewa-on .select2-search--dropdown .select2-search__field{min-height:44px;padding:8px 12px;border:1.5px solid var(--field-line) !important;border-radius:10px;font:16px var(--sans);outline:none}
body.ewa-on .select2-search--dropdown .select2-search__field:focus{border-color:var(--em) !important}
body.ewa-on .select2-results__option{padding:11px 14px;font-size:16px;color:var(--ink)}
body.ewa-on .select2-results__option[aria-selected=true],body.ewa-on .select2-results__option[data-selected=true]{background:color-mix(in srgb,var(--mint) 26%,var(--card)) !important;color:var(--em-deep) !important}
body.ewa-on .select2-results__option--highlighted[aria-selected],body.ewa-on .select2-results__option--highlighted[data-selected]{background:var(--em) !important;color:var(--on-em) !important}

/* v0.43.0: "Use this card for my plan" (class-plan-card.php). One card above the saved cards. */
body.ewa-on .ewa-move{display:flex;flex-direction:column;gap:8px;margin:0 0 16px;padding:18px;border-radius:22px;background:var(--card);box-shadow:var(--ewp-shadow);border:1.5px solid color-mix(in srgb,var(--em) 35%,transparent)}
body.ewa-on .ewa-move p{margin:0}
body.ewa-on .ewa-move-t strong{font-size:16px;color:var(--ink)}
body.ewa-on .ewa-move-s{font-size:14px;color:var(--mut)}
body.ewa-on .ewa-move .ewa-move-b{margin-top:4px;width:100%;justify-content:center}
body.ewa-on .ewa-move.is-done{border-color:color-mix(in srgb,var(--mint) 70%,transparent)}
body.ewa-on .ewa-move .ewc-err[hidden]{display:none}

/* =====================================================================
   v0.41.0: the v6 look on the card step and the order page (body.ew-flow only, so the patient portal
   keeps its own look): white page, deep forest #13261D, light round header buttons, outlined cards,
   forest pill buttons. Same as the quiz and the health questions. Look only, no behaviour change.
   ===================================================================== */
body.ew-flow{--forest:var(--ew6-forest);--pine:var(--ew6-pine);--night:var(--ew6-forest);--mist:var(--ew6-mist);--v6-line:var(--ew6-ink-a10);background:var(--ew6-white)}
body.ew-flow .ewc-bar{background:var(--ew6-white)}
body.ew-flow .ewc-back,body.ew-flow .ewc-lock{background:var(--mist);box-shadow:none}
body.ew-flow h2{font-weight:700;letter-spacing:-.04em;line-height:1.06}
body.ew-flow .ewc-card{box-shadow:none;border:1.5px solid var(--v6-line)}
body.ew-flow .ewc-box,body.ew-flow .ewc-ship{background:var(--mist);color:var(--ink)}
body.ew-flow .ewc-btn,body.ew-flow #place_order{min-height:54px;border-radius:999px;background:var(--forest) !important;color:var(--ew6-white) !important;font:600 16px/1 var(--sans);box-shadow:0 12px 26px -14px var(--ew6-forest-a6)}
body.ew-flow .ewc-btn:hover,body.ew-flow #place_order:hover{background:var(--pine) !important}
body.ew-flow .ewc-code-box input{border-radius:14px;box-shadow:inset 0 0 0 1.5px var(--ew6-ink-a14)}
body.ew-flow .ewc-code-box input:focus{box-shadow:inset 0 0 0 1.5px var(--forest),0 0 0 4px var(--ew6-forest-a10)}
body.ew-flow .wc-block-components-notice-banner{border:1.5px solid var(--v6-line) !important;box-shadow:none !important}

