/*
Theme Name: Mission ONE Portal
Theme URI: https://getfreedommd.com
Description: Freedom MD member portal skin — Mission ONE design system (black/gold, Oswald + Inter). Child of Storefront. Unisex: Freedom MD is the umbrella brand, the portal is identical for every member; only the landers are demo-split.
Author: BlueSky Media
Template: storefront
Version: 0.1.0
*/

/* ============================================================
   Self-hosted fonts. The member portal makes NO third-party
   requests by design (see docs/PRIVACY-COMPLIANCE.md).
   ============================================================ */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/inter-500.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/inter-600.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/inter-700.woff2') format('woff2');}
@font-face{font-family:'Oswald';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/oswald-500.woff2') format('woff2');}
@font-face{font-family:'Oswald';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/oswald-600.woff2') format('woff2');}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/oswald-700.woff2') format('woff2');}

:root{
  --m1-ink:#0A0B0D;
  --m1-raised:#15171A;
  --m1-raised-2:#1B1E22;
  --m1-gold:#C9A961;
  --m1-gold-deep:#B8935E;
  --m1-bone:#F5F2EC;
  --m1-line:#2A2D31;
  --m1-text:#FFFFFF;
  --m1-mute:#9BA0A6;
  --m1-score:#5FCF80;
  --m1-display:'Oswald','Arial Narrow',sans-serif;
  --m1-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* ============================================================
   Portal shell — scoped to account pages so the rest of the
   store keeps Storefront's styling untouched.
   ============================================================ */
body.woocommerce-account{
  background:var(--m1-ink);
  color:var(--m1-text);
  font-family:var(--m1-body);
  -webkit-font-smoothing:antialiased;
}
body.woocommerce-account .site-content,
body.woocommerce-account .content-area,
body.woocommerce-account #content{background:var(--m1-ink);}
body.woocommerce-account .site-header,
body.woocommerce-account .site-footer{background:var(--m1-ink);border:0;}
body.woocommerce-account .site-header{border-bottom:1px solid var(--m1-line);}
body.woocommerce-account h1,body.woocommerce-account h2,
body.woocommerce-account h3,body.woocommerce-account h4{
  font-family:var(--m1-display);text-transform:uppercase;color:var(--m1-text);
  letter-spacing:.01em;font-weight:600;
}
body.woocommerce-account a{color:var(--m1-gold);}
body.woocommerce-account .site-branding,
body.woocommerce-account .storefront-primary-navigation,
body.woocommerce-account .storefront-breadcrumb,
body.woocommerce-account .site-info,
body.woocommerce-account .site-search,
body.woocommerce-account .entry-header,
body.woocommerce-account .page-title,
body.woocommerce-account header.entry-header .entry-title{display:none;}
body.woocommerce-account .content-area{padding-top:0;margin-top:0;}
body.woocommerce-account .entry-content{margin-top:0;}
/* Storefront's .col-full is the centring container — keep it. The masthead breaks
   out of it to full bleed instead of the container being widened, which used to
   throw the account nav against the viewport edge. */
body.woocommerce-account .m1-mast{
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  width:100vw;padding-left:0;padding-right:0;}
/* portal content already sits inside the account content column */
.m1-portal{max-width:none;padding:0 0 90px;}
/* kill Storefront's link underlines + icon-font glyphs inside the portal */
body.woocommerce-account .m1-portal a,
body.woocommerce-account .woocommerce-MyAccount-navigation a{text-decoration:none;}
body.woocommerce-account .woocommerce-MyAccount-navigation li a::after,
body.woocommerce-account .woocommerce-MyAccount-navigation li a::before{display:none !important;content:none !important;}

/* ---- masthead -------------------------------------------------- */
.m1-mast{
  border-bottom:1px solid var(--m1-line);
  background:var(--m1-ink);
  padding:18px 0;margin-bottom:0;
}
.m1-mast-in{max-width:1180px;margin:0 auto;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;}
.m1-brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.m1-brand-txt{display:flex;flex-direction:column;line-height:1;}
.m1-brand-name{font-family:var(--m1-display);font-weight:700;font-size:19px;
  letter-spacing:.06em;color:#fff;text-transform:uppercase;}
.m1-brand-sub{font-size:9px;letter-spacing:.22em;color:var(--m1-mute);
  text-transform:uppercase;margin-top:4px;}
.m1-mast-right{font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--m1-mute);}
.m1-mast-right b{color:var(--m1-gold);font-weight:600;}


/* cross-link to the Mission Systems store (merchandise). Subscriptions stay in
   this portal; this is the doorway to the other side. */
.m1-cross{display:inline-flex;align-items:center;gap:9px;text-decoration:none;
  border:1px solid var(--m1-line);background:var(--m1-raised);border-radius:99px;
  padding:7px 15px 7px 10px;transition:border-color .16s,background .16s;}
.m1-cross:hover{border-color:var(--m1-gold);background:var(--m1-raised-2);}
.m1-cross span{font-family:var(--m1-display);font-size:12px;letter-spacing:.15em;
  text-transform:uppercase;color:#fff;font-weight:600;}
.m1-cross svg:last-child{color:var(--m1-gold);}
.m1-mast-plain{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--m1-mute);}
@media(max-width:620px){.m1-cross{padding:6px 11px 6px 8px}.m1-cross span{font-size:10px;letter-spacing:.1em}}

/* ---- layout ---------------------------------------------------- */
.m1-portal{max-width:1180px;margin:0 auto;padding:0 24px 90px;}
.m1-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--m1-gold);font-weight:600;margin:0 0 10px;}
/* container already contributes 34px top padding on account pages */
.m1-hero{padding:8px 0 30px;}
.m1-hero h1{font-size:44px;line-height:1.02;margin:0 0 10px;font-weight:700;}
.m1-hero p{color:var(--m1-mute);font-size:15px;margin:0;max-width:60ch;}

.m1-grid{display:grid;gap:18px;margin:26px 0;}
.m1-grid-2{grid-template-columns:1fr 1fr;}
.m1-grid-3{grid-template-columns:repeat(3,1fr);}
/* auto-fit so tiles reflow instead of cramping their labels onto three lines */
.m1-grid-4{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));}

.m1-card{background:var(--m1-raised);border:1px solid var(--m1-line);
  border-radius:10px;padding:26px;}
.m1-card h3{font-size:15px;letter-spacing:.13em;margin:0 0 18px;color:#fff;}

/* ---- Mission ONE member card ----------------------------------- */
.m1-mcard{
  position:relative;overflow:hidden;min-height:196px;gap:18px;
  background:linear-gradient(140deg,#20232744 0%,#0C0E10 55%,#141719 100%),var(--m1-raised);
  border:1px solid #33373C;border-radius:12px;padding:26px;
  display:flex;flex-direction:column;justify-content:space-between;
}
.m1-mcard:before{
  content:"";position:absolute;right:-46px;top:-46px;width:230px;height:230px;
  background:radial-gradient(circle,rgba(201,169,97,.13) 0%,rgba(201,169,97,0) 68%);
}
.m1-mcard-top{display:flex;justify-content:space-between;align-items:flex-start;
  position:relative;z-index:1;}
.m1-mcard-label{font-family:var(--m1-display);font-size:13px;letter-spacing:.24em;
  color:#fff;text-transform:uppercase;font-weight:600;}
.m1-mcard-sub{font-size:9.5px;letter-spacing:.26em;color:var(--m1-gold);
  text-transform:uppercase;margin-top:5px;font-weight:600;}
.m1-mcard-name{font-family:var(--m1-display);font-size:25px;letter-spacing:.05em;
  text-transform:uppercase;color:#fff;position:relative;z-index:1;font-weight:600;}
.m1-mcard-meta{display:flex;gap:26px;position:relative;z-index:1;flex-wrap:wrap;}
.m1-mcard-meta div span{display:block;font-size:9px;letter-spacing:.14em;
  color:var(--m1-mute);text-transform:uppercase;margin-bottom:5px;white-space:nowrap;}
.m1-mcard-meta div b{font-size:13px;color:#fff;font-weight:600;letter-spacing:.03em;
  white-space:nowrap;}
.m1-chip{display:inline-flex;align-items:center;gap:6px;font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  padding:5px 11px;border-radius:99px;}
.m1-chip-on{background:rgba(95,207,128,.13);color:var(--m1-score);
  border:1px solid rgba(95,207,128,.32);}
.m1-chip-off{background:rgba(155,160,166,.1);color:var(--m1-mute);
  border:1px solid var(--m1-line);}
.m1-chip i{width:6px;height:6px;border-radius:99px;background:currentColor;
  display:inline-block;}

/* ---- MRR score ------------------------------------------------- */
.m1-score-head{display:flex;align-items:center;gap:22px;margin-bottom:20px;}
.m1-ring{position:relative;width:132px;height:132px;flex:0 0 132px;}
.m1-ring svg{transform:rotate(-90deg);}
.m1-ring-val{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;}
.m1-ring-val b{font-size:31px;font-weight:700;color:#fff;
  font-variant-numeric:tabular-nums;line-height:1;}
/* label must clear the stroke — it was clipping against the ring at 106px */
.m1-ring-val span{font-size:6.5px;letter-spacing:.08em;color:var(--m1-score);
  text-transform:uppercase;margin-top:5px;font-weight:600;white-space:nowrap;}
.m1-metrics{flex:1;display:flex;flex-direction:column;gap:9px;}
.m1-metric{display:grid;grid-template-columns:82px 1fr 30px;align-items:center;gap:11px;}
.m1-metric span{font-size:10px;letter-spacing:.13em;color:var(--m1-mute);
  text-transform:uppercase;}
.m1-bar{height:3px;background:#2E3237;border-radius:99px;overflow:hidden;}
.m1-bar i{display:block;height:100%;background:var(--m1-gold);border-radius:99px;}
.m1-metric b{font-size:11px;color:#fff;font-variant-numeric:tabular-nums;
  text-align:right;font-weight:600;}
.m1-preview{font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--m1-mute);border-top:1px solid var(--m1-line);padding-top:13px;
  margin-top:4px;line-height:1.6;}

/* ---- stat strip ------------------------------------------------ */
.m1-stat{background:var(--m1-raised);border:1px solid var(--m1-line);
  border-radius:10px;padding:20px 22px;}
.m1-stat span{display:block;font-size:9.5px;letter-spacing:.18em;
  color:var(--m1-mute);text-transform:uppercase;margin-bottom:8px;}
.m1-stat b{font-family:var(--m1-display);font-size:23px;color:#fff;
  font-weight:600;letter-spacing:.02em;display:block;line-height:1.15;}
/* wc_price() nests span/bdi — force inline or the currency symbol wraps
   onto its own line above the amount */
.m1-stat b .woocommerce-Price-amount,
.m1-stat b bdi,
.m1-stat b .woocommerce-Price-currencySymbol{display:inline !important;
  font-family:inherit;font-size:inherit;color:inherit;}
.m1-stat b.gold{color:var(--m1-gold);}
.m1-stat small{display:block;font-size:11px;color:var(--m1-mute);margin-top:6px;}

/* ---- benefit tiles --------------------------------------------- */
.m1-benefit{background:var(--m1-raised);border:1px solid var(--m1-line);
  border-radius:10px;padding:20px 18px;text-align:center;}
.m1-benefit svg{margin-bottom:11px;}
.m1-benefit b{display:block;font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:#fff;font-weight:600;line-height:1.45;}
.m1-benefit small{display:block;font-size:10.5px;color:var(--m1-mute);margin-top:5px;}
.m1-soon{display:inline-block;font-size:8px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--m1-gold);border:1px solid rgba(201,169,97,.4);
  border-radius:99px;padding:2px 7px;margin-top:7px;}

/* ---- action rows ----------------------------------------------- */
.m1-act{display:flex;align-items:center;gap:15px;text-decoration:none;
  background:var(--m1-raised);border:1px solid var(--m1-line);border-radius:10px;
  padding:18px 20px;transition:border-color .16s,background .16s;}
.m1-act:hover{border-color:#3C4147;background:var(--m1-raised-2);}
.m1-act-t{flex:1;}
.m1-act-t b{display:block;font-family:var(--m1-display);font-size:14px;
  letter-spacing:.11em;text-transform:uppercase;color:#fff;font-weight:600;}
.m1-act-t small{display:block;font-size:11.5px;color:var(--m1-mute);margin-top:3px;}
.m1-act-arrow{color:var(--m1-gold);flex:0 0 auto;}

/* ---- buttons --------------------------------------------------- */
.m1-btn{display:inline-block;background:var(--m1-gold);color:#0A0B0D !important;
  font-family:var(--m1-display);font-size:13px;letter-spacing:.13em;
  text-transform:uppercase;font-weight:600;padding:13px 26px;border-radius:3px;
  text-decoration:none;border:0;transition:background .16s;}
.m1-btn:hover{background:var(--m1-gold-deep);color:#0A0B0D !important;}
.m1-btn-ghost{background:transparent;color:#fff !important;
  border:1px solid #3C4147;}
.m1-btn-ghost:hover{background:rgba(255,255,255,.05);color:#fff !important;}

/* ---- upsell (non-member) --------------------------------------- */
.m1-upsell{background:linear-gradient(135deg,#191B1E 0%,#0E1012 100%);
  border:1px solid rgba(201,169,97,.3);border-radius:12px;padding:34px;}
.m1-upsell h2{font-size:29px;margin:0 0 12px;}
.m1-upsell p{color:var(--m1-mute);margin:0 0 22px;max-width:56ch;font-size:14.5px;}
.m1-upsell ul{list-style:none;margin:0 0 26px;padding:0;display:grid;
  grid-template-columns:1fr 1fr;gap:11px;}
.m1-upsell li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;
  color:#D6D9DC;}
.m1-upsell li svg{flex:0 0 auto;margin-top:2px;}
.m1-price-row{display:flex;align-items:baseline;gap:12px;margin-bottom:22px;}
.m1-price-row b{font-family:var(--m1-display);font-size:38px;color:var(--m1-gold);
  font-weight:700;}
.m1-price-row span{color:var(--m1-mute);font-size:13px;}

/* ============================================================
   WooCommerce account nav + tables, restyled
   ============================================================ */
/* Storefront floats the nav and content, which left them vertically misaligned and
   squeezed the content column. Flex the wrapper instead and give the portal room. */
body.woocommerce-account .site-content .col-full{max-width:1280px;}
/* Only flex when the account nav exists. Logged OUT, .woocommerce holds the
   "Login" heading and the form as siblings — flexing put them side by side and
   collided the heading over the form. */
body.woocommerce-account.logged-in .woocommerce{display:flex;gap:34px;align-items:flex-start;}
.woocommerce-account .woocommerce-MyAccount-navigation{
  width:228px;flex:0 0 228px;float:none;margin:0;}
.woocommerce-account .woocommerce-MyAccount-content{
  width:auto;flex:1 1 auto;min-width:0;float:none;margin:0;}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;margin:0;padding:0;border:1px solid var(--m1-line);
  border-radius:10px;overflow:hidden;background:var(--m1-raised);}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  border-bottom:1px solid var(--m1-line);margin:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;padding:14px 18px;font-family:var(--m1-display);font-size:12.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--m1-mute) !important;
  text-decoration:none;border-left:2px solid transparent;transition:all .16s;}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
  color:#fff !important;background:var(--m1-raised-2);}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  color:#fff !important;border-left-color:var(--m1-gold);
  background:var(--m1-raised-2);}

.woocommerce-account .woocommerce-MyAccount-content{color:#C9CDD1;}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3{color:#fff;}
.woocommerce-account table.shop_table{
  background:var(--m1-raised);border:1px solid var(--m1-line);border-radius:10px;
  color:#C9CDD1;border-collapse:separate;}
.woocommerce-account table.shop_table th{
  font-family:var(--m1-display);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--m1-mute);border-bottom:1px solid var(--m1-line);}
.woocommerce-account table.shop_table td{border-top:1px solid var(--m1-line);}
.woocommerce-account .woocommerce-Message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error{
  background:var(--m1-raised);border-top:2px solid var(--m1-gold);color:#C9CDD1;
  border-radius:0 0 10px 10px;padding-left:22px;}
/* WooCommerce prefixes notices with an icon-font glyph that renders as a tofu box */
.woocommerce-account .woocommerce-Message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before{display:none !important;content:none !important;}
/* inner account pages start flush against the masthead without this */
body.woocommerce-account.logged-in .woocommerce{padding-top:34px;}
.woocommerce-account .button,
.woocommerce-account button.button,
.woocommerce-account input.button{
  background:var(--m1-gold) !important;color:#0A0B0D !important;
  font-family:var(--m1-display);letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;border-radius:3px;}
.woocommerce-account .button:hover{background:var(--m1-gold-deep) !important;}
.woocommerce-account input[type=text],.woocommerce-account input[type=email],
.woocommerce-account input[type=password],.woocommerce-account input[type=tel],
.woocommerce-account select,.woocommerce-account textarea{
  background:#101215;border:1px solid var(--m1-line);color:#fff;border-radius:5px;}
.woocommerce-account label{color:var(--m1-mute);font-size:12px;
  letter-spacing:.06em;}

/* ---- login screen (logged out) — first thing a member sees -------- */
body.woocommerce-account:not(.logged-in) .woocommerce{
  display:block;max-width:428px;margin:64px auto 110px;}
body.woocommerce-account:not(.logged-in) .woocommerce > h2{
  font-size:27px;text-align:center;margin:0 0 6px;letter-spacing:.04em;}
body.woocommerce-account:not(.logged-in) .woocommerce > h2 + p,
body.woocommerce-account:not(.logged-in) .m1-login-sub{
  text-align:center;color:var(--m1-mute);font-size:13px;margin:0 0 24px;}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register{
  background:var(--m1-raised);border:1px solid var(--m1-line);
  border-radius:12px;padding:30px;margin:0;}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login p{margin-bottom:16px;}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login input[type=text],
body.woocommerce-account:not(.logged-in) .woocommerce-form-login input[type=password]{
  width:100%;padding:12px 13px;font-size:14px;}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login button[type=submit]{
  width:100%;padding:13px;font-size:13px;}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login label{
  display:block;margin-bottom:6px;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;}
/* WooCommerce's show-password toggle ships a light chip that glares on black */
body.woocommerce-account .show-password-input{background:transparent;}
body.woocommerce-account .password-input{display:block;position:relative;}
body.woocommerce-account .show-password-input::after{color:var(--m1-mute);}
body.woocommerce-account .woocommerce-form-login__rememberme{
  font-size:12px;color:var(--m1-mute);}
body.woocommerce-account .woocommerce-LostPassword{
  text-align:center;margin:16px 0 0;font-size:12.5px;}

/* ---- responsive -------------------------------------------------- */
@media(max-width:900px){
  /* stack the nav above the content — width:100% alone loses to flex:0 0 228px,
     which crushed the content column to ~130px on phones */
  body.woocommerce-account.logged-in .woocommerce{flex-direction:column;gap:22px;}
  .woocommerce-account .woocommerce-MyAccount-navigation{
    width:100%;flex:1 1 auto;}
  .woocommerce-account .woocommerce-MyAccount-content{width:100%;flex:1 1 auto;}
  .m1-grid-2,.m1-grid-3{grid-template-columns:1fr 1fr;}
  .m1-grid-4{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}
  .m1-hero{padding:30px 0 22px;}
  .m1-hero h1{font-size:33px;}
  .m1-upsell ul{grid-template-columns:1fr;}
}
@media(max-width:620px){
  .m1-grid-2,.m1-grid-3,.m1-grid-4{grid-template-columns:1fr;}
  .m1-score-head{flex-direction:column;align-items:center;gap:18px;}
  .m1-metrics{width:100%;}
  .m1-hero h1{font-size:27px;}
  .m1-mcard-meta{gap:18px;}
  .m1-mast-in{padding:0 16px;}
  .m1-brand-name{font-size:16px;}
  .m1-brand-sub{font-size:8px;letter-spacing:.16em;}
  .m1-mast-right{font-size:9.5px;letter-spacing:.1em;text-align:right;}
  .m1-card,.m1-mcard,.m1-upsell{padding:20px;}
  .m1-portal{padding-bottom:60px;}
}

/* ============================================================
   CLINICAL WHITE  (added 2026-08-07)

   Freedom MD is the CLINICAL side of the HIPAA split and should not
   look like the commerce side. Mission ONE keeps Mike's black/gold on
   mission1os.com; this portal goes white and clinical so the two halves
   of the wall are visually distinct as well as technically separate.

   Appended rather than edited into the rules above, so reverting is a
   matter of deleting this block. Most of it is a token swap; the rest
   patches values that were hardcoded against a dark background.
   ============================================================ */
:root{
  --m1-ink:#F5F8FB;        /* page */
  --m1-raised:#FFFFFF;     /* cards */
  --m1-raised-2:#EEF3F9;   /* hover */
  --m1-gold:#0B6CFD;       /* accent: the Freedom MD blue, not gold */
  --m1-gold-deep:#0857CC;
  --m1-bone:#F5F8FB;
  --m1-line:#DCE4ED;
  --m1-text:#0E1B2E;
  --m1-mute:#5B6775;
  --m1-score:#12A150;      /* darkened: #5FCF80 fails contrast on white */
}

/* text that was hardcoded #fff for a dark background */
body.woocommerce-account .m1-brand-name,
body.woocommerce-account .m1-cross span,
body.woocommerce-account .m1-card h3,
body.woocommerce-account .m1-mcard-label,
body.woocommerce-account .m1-mcard-name,
body.woocommerce-account .m1-mcard-meta div b,
body.woocommerce-account .m1-ring-val b,
body.woocommerce-account .m1-metric b,
body.woocommerce-account .m1-stat b,
body.woocommerce-account .m1-benefit b,
body.woocommerce-account .m1-act-t b{color:var(--m1-text);}

/* surfaces that were dark gradients */
body.woocommerce-account .m1-mcard{
  background:linear-gradient(140deg,#FFFFFF 0%,#F2F6FB 60%,#EAF1FA 100%);
  border-color:#D3DEEA;}
body.woocommerce-account .m1-mcard:before{
  background:radial-gradient(circle,rgba(11,108,253,.10) 0%,rgba(11,108,253,0) 68%);}
body.woocommerce-account .m1-upsell{
  background:linear-gradient(135deg,#FFFFFF 0%,#F1F6FD 100%);
  border-color:rgba(11,108,253,.28);}
body.woocommerce-account .m1-upsell li{color:#33414F;}
body.woocommerce-account .m1-bar{background:#E1E8F0;}
body.woocommerce-account .m1-act:hover{border-color:#B9C8DA;}
body.woocommerce-account .m1-btn{color:#fff !important;}
body.woocommerce-account .m1-btn:hover{color:#fff !important;}
body.woocommerce-account .m1-btn-ghost{color:var(--m1-text) !important;border-color:#C3CFDC;}
body.woocommerce-account .m1-btn-ghost:hover{background:rgba(11,108,253,.06);color:var(--m1-text) !important;}
body.woocommerce-account .m1-chip-off{background:#EEF2F7;border-color:var(--m1-line);}

/* clinical typography: the tactical condensed caps go, headings read as prose */
body.woocommerce-account h1,
body.woocommerce-account .m1-hero h1,
body.woocommerce-account .m1-upsell h2{
  font-family:var(--m1-body);text-transform:none;letter-spacing:-.02em;font-weight:700;}
body.woocommerce-account .m1-hero h1{font-size:38px;}

/* ---- pending provider review --------------------------------------
   The first thing a new patient sees. They have paid, nothing has
   shipped, and a human is reading their intake. Say that plainly.     */
.m1-review{
  background:#fff;border:1px solid var(--m1-line);border-left:4px solid var(--m1-gold);
  border-radius:10px;padding:28px 30px;margin:0 0 22px;}
.m1-review h2{font-family:var(--m1-body);text-transform:none;font-size:23px;
  letter-spacing:-.01em;margin:0 0 10px;color:var(--m1-text);font-weight:700;}
.m1-review p{color:var(--m1-mute);font-size:14.5px;line-height:1.65;margin:0;max-width:64ch;}

/* status rail */
.m1-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:26px 0 0;}
.m1-rail-step{position:relative;padding:0 14px 0 0;}
.m1-rail-dot{width:13px;height:13px;border-radius:99px;background:var(--m1-line);
  position:relative;z-index:2;margin-bottom:12px;}
.m1-rail-step.done .m1-rail-dot{background:var(--m1-score);}
.m1-rail-step.now .m1-rail-dot{background:var(--m1-gold);
  box-shadow:0 0 0 5px rgba(11,108,253,.16);}
.m1-rail-step:not(:last-child):after{content:"";position:absolute;left:13px;top:6px;
  right:0;height:1px;background:var(--m1-line);z-index:1;}
.m1-rail-step b{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--m1-text);font-weight:600;margin-bottom:4px;}
.m1-rail-step small{display:block;font-size:12px;color:var(--m1-mute);line-height:1.5;}
@media(max-width:680px){
  .m1-rail{grid-template-columns:1fr;gap:18px;}
  .m1-rail-step:not(:last-child):after{display:none;}
}

/* while-you-wait banner: the only thing they CAN buy right now */
.m1-wait{display:flex;align-items:center;justify-content:space-between;gap:24px;
  background:var(--m1-text);border-radius:10px;padding:26px 30px;margin:22px 0 0;}
.m1-wait-t b{display:block;font-family:var(--m1-display);font-size:19px;letter-spacing:.06em;
  text-transform:uppercase;color:#fff;font-weight:600;margin-bottom:6px;}
.m1-wait-t small{display:block;font-size:13.5px;color:rgba(255,255,255,.72);line-height:1.55;}
.m1-wait .m1-btn{flex:0 0 auto;}
@media(max-width:680px){.m1-wait{flex-direction:column;align-items:flex-start;}}

/* form controls were styled for a dark page: black fills on a white form */
body.woocommerce-account input[type=text],
body.woocommerce-account input[type=email],
body.woocommerce-account input[type=password],
body.woocommerce-account input[type=tel],
body.woocommerce-account input[type=number],
body.woocommerce-account select,
body.woocommerce-account textarea{
  background:#fff !important;color:var(--m1-text) !important;
  border:1px solid #C6D2E0 !important;}
body.woocommerce-account input::placeholder,
body.woocommerce-account textarea::placeholder{color:#93A1B0;}
body.woocommerce-account input:focus,
body.woocommerce-account select:focus,
body.woocommerce-account textarea:focus{
  border-color:var(--m1-gold) !important;
  box-shadow:0 0 0 3px rgba(11,108,253,.16);outline:none;}
body.woocommerce-account .button,
body.woocommerce-account button.button,
body.woocommerce-account input.button,
body.woocommerce-account button[type=submit]{color:#fff !important;}
body.woocommerce-account .show-password-input::after{color:var(--m1-mute);}

/* --- rules further down the sheet that force white/near-white text -------
   .woocommerce-MyAccount-content h2,h3 was the big one: it colours every
   heading inside the account column, so the review card, the upsell and
   the Quick Actions label all rendered white on white.                    */
body.woocommerce-account .woocommerce-MyAccount-content{color:#33414F;}
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3{color:var(--m1-text);}
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
  color:var(--m1-text) !important;}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  color:var(--m1-text) !important;background:#EEF3F9;}
body.woocommerce-account table.shop_table{color:#33414F;}
body.woocommerce-account .woocommerce-Message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error{color:#33414F;}

/* the while-you-wait banner sits on the dark ink block, so its heading has
   to stay white and must not inherit the fix above */
body.woocommerce-account .m1-wait .m1-wait-t b{color:#fff;}

/* clinical CTA on the waiting screen — the route to the doctor */
.m1-clinical{display:flex;align-items:center;justify-content:space-between;gap:22px;
  margin:24px -30px -28px;padding:22px 30px;border-top:1px solid var(--m1-line);
  background:#F7FAFE;border-radius:0 0 9px 9px;}
.m1-clinical-t b{display:block;font-family:var(--m1-display);font-size:15px;
  letter-spacing:.09em;text-transform:uppercase;color:var(--m1-text);
  font-weight:600;margin-bottom:5px;}
.m1-clinical-t small{display:block;font-size:13px;color:var(--m1-mute);
  line-height:1.55;max-width:62ch;}
.m1-clinical .m1-btn{flex:0 0 auto;}
@media(max-width:680px){
  .m1-clinical{flex-direction:column;align-items:flex-start;gap:16px;}
}

/* --- two blue buttons read as the same action. They are not. -------------
   Open Clinical Portal is a utility link out to a third party (Architek).
   Shop Mission ONE is the commercial action and the other brand. So the
   clinical one goes quiet, and Mission ONE takes its own brand gold, which
   also reinforces the split: clinical is blue/white, Mission ONE is gold/black. */

/* clinical: outline, secondary */
body.woocommerce-account .m1-clinical .m1-btn{
  background:transparent !important;
  color:var(--m1-text) !important;
  border:2px solid #C3CFDC !important;
  box-shadow:none !important;}
body.woocommerce-account .m1-clinical .m1-btn:hover{
  background:#EEF3F9 !important;
  border-color:var(--m1-text) !important;
  color:var(--m1-text) !important;}

/* Mission ONE: brand gold, the loudest thing on the page */
body.woocommerce-account .m1-wait .m1-btn{
  background:#C9A961 !important;
  color:#0A0B0D !important;
  border:2px solid #C9A961 !important;
  font-size:15px;
  padding:17px 34px;
  letter-spacing:.14em;}
body.woocommerce-account .m1-wait .m1-btn:hover{
  background:#DCBE78 !important;
  border-color:#DCBE78 !important;
  color:#0A0B0D !important;}

/* give the merch band a gold edge so the whole block reads as the other brand */
body.woocommerce-account .m1-wait{
  border-left:4px solid #C9A961;}
body.woocommerce-account .m1-wait .m1-wait-t b{
  color:#C9A961;}

/* product shots in the while-you-wait band. Self-hosted, never hotlinked. */
body.woocommerce-account .m1-wait{align-items:center;gap:30px;padding:26px 30px;}
body.woocommerce-account .m1-wait-t{flex:1 1 auto;min-width:0;}
body.woocommerce-account .m1-wait-t small{margin-bottom:18px;}
body.woocommerce-account .m1-wait-shots{
  display:flex;gap:12px;flex:0 0 auto;}
body.woocommerce-account .m1-wait-shots img{
  width:104px;height:104px;object-fit:cover;border-radius:8px;
  border:1px solid rgba(201,169,97,.45);background:#fff;display:block;}
@media(max-width:900px){
  body.woocommerce-account .m1-wait{flex-direction:column;align-items:flex-start;}
  body.woocommerce-account .m1-wait-shots img{width:88px;height:88px;}
}
@media(max-width:520px){
  body.woocommerce-account .m1-wait-shots img:nth-child(3){display:none;}
}
