/* =========================================================
   Logged-out auth screens (login/register, lost password,
   reset password) — hide site header/footer outright.
   Covers every wrapper Hello Elementor / Elementor Pro can
   use, since which one applies depends on whether a header/
   footer is set via Site Settings vs. the Theme Builder:
   - Hello Elementor's own classic markup (#site-footer / #masthead)
   - Elementor Pro Theme Builder output (.elementor-location-footer/-header)
   - common fallback ids (#colophon / #site-header)
   ========================================================= */
body.bmd-auth-page #site-footer,
body.bmd-auth-page footer.site-footer,
body.bmd-auth-page #colophon,
body.bmd-auth-page .elementor-location-footer,
body.bmd-auth-page #masthead,
body.bmd-auth-page header.site-header,
body.bmd-auth-page #site-header,
body.bmd-auth-page .elementor-location-header{
  display: none !important;
}

:root{
	--bmd-black:        #000000;
  --bmd-bg:            #0A0F1C;
  --bmd-surface:       #000;
  --bmd-surface-2:     #16213A;
  --bmd-surface-hover: #1B2740;
  --bmd-border:        #223154;
  --bmd-border-soft:   #1A2540;
  --bmd-text:          #E9EDF6;
  --bmd-text-muted:    #8D97AF;
  --bmd-text-faint:    #5C6883;

  --bmd-blue:          #4E7CFF;
  --bmd-blue-dim:      rgba(78,124,255,.14);
  --bmd-violet:        #7B6CF6;
  --bmd-violet-2:      #6355E8;
  --bmd-teal:          #23D3B0;
  --bmd-teal-dim:      rgba(35,211,176,.14);
  --bmd-amber:         #F5A93B;
  --bmd-amber-dim:     rgba(245,169,59,.14);
  --bmd-red:           #FF6B6B;
  --bmd-red-dim:       rgba(255,107,107,.14);

  --bmd-radius-sm:  8px;
  --bmd-radius-md:  14px;
  --bmd-radius-lg:  20px;
  --bmd-shadow:     0 20px 50px -20px rgba(0,0,0,.55);

  --bmd-font-display: 'Space Grotesk', 'Hello Elementor', sans-serif;
  --bmd-font-body:    'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --bmd-font-mono:    'IBM Plex Mono', ui-monospace, monospace;
}

/* =========================================================
   Scope: page shell for account templates
   ========================================================= */
body.woocommerce-account{
  background: var(--bmd-black);
}
body.woocommerce-account #content,
body.woocommerce-account .e-container{
  background: var(--bmd-bg);
}
/* Kill Elementor's page-wrapper top margin — auth pages only.
   Descendant selector (no >) since .bmd-auth may not be a direct
   child of the Elementor container. Overrides both the plain
   margin-top property AND Elementor's --margin-top custom property,
   since containers can source their margin from either. */
body.bmd-auth-page .e-con:has(.bmd-auth),
body.bmd-auth-page .elementor-element:has(.bmd-auth){
  --margin-top: 0px !important;
  margin-top: 0 !important;
}
.bmd-table,
.bmd-table *,
.bmd-table th,
.bmd-table td,
.bmd-table tr,
.bmd-table thead,
.bmd-table tbody {
    border: none !important;
}
.bmd-account,
.bmd-auth{
  font-family: var(--bmd-font-body);
  color: var(--bmd-text-muted);
  -webkit-font-smoothing: antialiased;
}

.bmd-account *, .bmd-auth *{ box-sizing: border-box; }

.bmd-account a{ color: var(--bmd-blue); text-decoration: none; }
.bmd-account a:hover{ color: #7099ff; }
.bmd-logo {
    width: 230px !important;      
}
.bmd-eyebrow{
  font-family: var(--bmd-font-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--bmd-text-faint);
}

.bmd-h1{
  font-family: var(--bmd-font-display);
  font-weight: 600;
  font-size: 28px;
  letter-spacing: -.01em;
  color: var(--bmd-text);
  margin: 4px 0 0;
}

/* =========================================================
   AUTH: Login / Register / Lost password — redesigned
   Signature: "verified access" scan-frame — four corner
   brackets around the card, echoing the lab-verification /
   chain-of-custody idea ("lab-verified orders") instead of
   a decorative chart line. Single centered column — no
   split desktop panel to hide on mobile, so the auth screen
   is the same shape at every size.
   Colors, fonts, and .bmd-btn are unchanged from tokens.
   ========================================================= */
.bmd-auth{
  min-height: 82vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bmd-black);
  padding: 64px 24px;
  position: relative;
  overflow: hidden;
}

/* faint background dot-grid, echoes a chart/monitor surface */
.bmd-auth::before{
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(var(--bmd-border-soft) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: radial-gradient(60% 55% at 50% 0%, #000 0%, transparent 75%);
  opacity: .5;
  pointer-events: none;
}

.bmd-auth-frame{
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 440px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.bmd-auth-frame .bmd-logo{
  width: auto !important;
  max-width: none !important;
  overflow: visible !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bmd-auth-frame .bmd-logo img{
  display: block !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
margin-bottom:20px !important;
}
.bmd-auth-frame .bmd-logo img,
.bmd-auth-frame .bmd-logo a{
  display: block;
}
.woocommerce form.login{
	margin:0px !important;
padding-top:10px !important;
}

.bmd-auth-head{
  text-align: center;
  margin: 26px 0 22px;
}
.bmd-auth-head h2{
  font-family: var(--bmd-font-display);
  font-size: 26px;
  line-height: 1.2;
  letter-spacing: -.01em;
  margin: 8px 0 10px;
  color: var(--bmd-text);
}
.bmd-auth-head p.lede{
  color: var(--bmd-text-muted);
  font-size: 14px;
  line-height: 1.6;
  max-width: 360px;
  margin: 0 auto;
}

/* Stat ribbon — horizontal, centered, replaces the old side-panel list */
.bmd-auth-ribbon{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 20px 0 28px;
  font-family: var(--bmd-font-mono);
}
.bmd-auth-ribbon .stat{
  display: flex;
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;
}
.bmd-auth-ribbon .stat b{
  font-size: 15px;
  font-weight: 600;
  color: var(--bmd-teal);
}
.bmd-auth-ribbon .stat span{
  font-size: 10px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--bmd-text-faint);
}
.bmd-auth-ribbon .sep{
  width: 3px; height: 3px; border-radius: 50%;
  background: var(--bmd-border);
  flex-shrink: 0;
}

/* Card, framed by four scan-corner brackets instead of a squared
   clip-corner + tab strip. */
.bmd-auth-card{
  position: relative;
  width: 100%;
  background: var(--bmd-bg);
  border: 1px solid var(--bmd-border);
  border-radius: var(--bmd-radius-lg);
  box-shadow: var(--bmd-shadow);
  padding: 34px 30px 28px;
}
.bmd-auth a,
.bmd-auth-foot a,
.woocommerce-LostPassword{
  color: var(--bmd-blue) !important;
  font-weight: 600;
}
.bmd-auth a:hover,
.bmd-auth-foot a:hover,
.woocommerce-LostPassword:hover{
  color: #7099ff !important;
}

.bmd-auth-card-status{
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 20px;
  font-family: var(--bmd-font-mono);
  font-size: 10.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--bmd-text-faint);
}
.bmd-auth-card-status .dot{
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--bmd-teal);
  box-shadow: 0 0 0 3px var(--bmd-teal-dim);
}
@media (prefers-reduced-motion: no-preference){
  .bmd-auth-card-status .dot{ animation: bmd-dot-pulse 2.2s ease-in-out infinite; }
}
@keyframes bmd-dot-pulse{
  0%, 100%{ box-shadow: 0 0 0 3px var(--bmd-teal-dim); }
  50%{ box-shadow: 0 0 0 6px transparent; }
}

/* Tabs — segmented pill control instead of underline tabs */
.bmd-tabs{
  display: flex;
  gap: 2px;
  background: var(--bmd-surface-2);
  border: 1px solid var(--bmd-border-soft);
  border-radius: var(--bmd-radius-md);
  padding: 4px;
  margin-bottom: 24px;
display:none;
}
.bmd-tab{
  flex: 1 1 0;
  text-align: center;
  padding: 9px 0;
  border-radius: 10px;
  font-family: var(--bmd-font-body);
  font-weight: 600;
  font-size: 13px;
  color: var(--bmd-text-muted);
  cursor: pointer;
  user-select: none;
  transition: background .15s ease, color .15s ease;
}
.bmd-tab.is-active{
  background: var(--bmd-blue);
  color: #fff;
}

.bmd-auth-pane{ display: none; }
.bmd-auth-pane.is-active{ display: block; }

.bmd-account .woocommerce-input-wrapper,
.bmd-auth .woocommerce-input-wrapper,
body.woocommerce-account .woocommerce-input-wrapper{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.bmd-account .form-row,
.bmd-auth .form-row{ margin: 0 0 16px; }

.bmd-field{ position: relative; }
.bmd-field label{
  display:block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--bmd-text-muted);
  margin-bottom: 6px;
}

/* Leading field icons — email / lock glyphs drawn with a CSS mask,
   no extra markup needed beyond the field modifier class. */
.bmd-field--user input,
.bmd-field--pass input{ padding-left: 42px !important; }
.bmd-field--user::after,
.bmd-field--pass::after{
  content:"";
  position: absolute;
  left: 14px; bottom: 13px;
  width: 16px; height: 16px;
  background: var(--bmd-text-faint);
  pointer-events: none;
}
.bmd-field--user::after{
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'><path d='M4 4h16v16H4z' opacity='0'/><path d='M3 6l9 6 9-6M4 5h16a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1z'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'><path d='M3 6l9 6 9-6M4 5h16a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1z'/></svg>") center / contain no-repeat;
}
.bmd-field--pass::after{
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'><rect x='4' y='11' width='16' height='9' rx='2'/><path d='M8 11V7a4 4 0 0 1 8 0v4'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'><rect x='4' y='11' width='16' height='9' rx='2'/><path d='M8 11V7a4 4 0 0 1 8 0v4'/></svg>") center / contain no-repeat;
}
.bmd-account input[type="text"],
.bmd-account input[type="email"],
.bmd-account input[type="password"],
.bmd-account input[type="tel"],
.bmd-account textarea,
.bmd-account select,
.bmd-auth input[type="text"],
.bmd-auth input[type="email"],
.bmd-auth input[type="password"]{
  width: 100%;
  background: var(--bmd-surface-2);
  border: 1px solid var(--bmd-border);
  border-radius: var(--bmd-radius-sm);
  padding: 12px 14px;
  font-family: var(--bmd-font-body);
  font-size: 14px;
  color: var(--bmd-text);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.bmd-account input:focus,
.bmd-account textarea:focus,
.bmd-account select:focus,
.bmd-auth input:focus{
  outline: none;
  border-color: var(--bmd-blue) !important;
}
.bmd-account ::placeholder,
.bmd-auth ::placeholder{ color: var(--bmd-text-faint); }

.bmd-auth-foot{
  margin-top: 18px;
  font-size: 13px;
  color: var(--bmd-text-muted);
  text-align: center;
}

.bmd-remember{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: -4px 0 18px;
  font-size: 13px;
  color: var(--bmd-text-muted);
}
.bmd-remember label{ display:flex; align-items:center; gap:8px; cursor:pointer; }

@media (max-width: 480px){
  .bmd-auth{ padding: 40px 16px; }
  .bmd-auth-card{ padding: 26px 20px 22px; }
  .bmd-auth-head h2{ font-size: 22px; }
  .bmd-auth-ribbon{ gap: 12px; flex-wrap: wrap; row-gap: 6px; }
}


/* =========================================================
   ACCOUNT SHELL: sidebar + content
   ========================================================= */
.bmd-account-shell{
  max-width: 1400px !important;
  margin: 0 auto;
  padding: 40px 24px 80px;
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 28px;
}

.bmd-side{
  background: var(--bmd-surface);
  border: 1px solid var(--bmd-border);
  border-radius: var(--bmd-radius-lg);
  padding: 18px;
  align-self: start;
  position: sticky;
  top: 24px;
  width:100% !important;
}

.bmd-side-brand{
  display:flex; align-items:center; gap:10px;
  padding: 4px 6px 16px;
  font-family: var(--bmd-font-display);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .02em;
  color: var(--bmd-text);
}
.bmd-side-brand .dot{
  width: 8px; height:8px; border-radius:50%;
  background: var(--bmd-violet);
  box-shadow: 0 0 0 4px var(--bmd-blue-dim);
}

.bmd-side-user{
  display: flex;
  gap: 12px;
  padding: 4px 6px 18px;
  border-bottom: 1px solid var(--bmd-border-soft);
  margin-bottom: 14px;
}
.bmd-avatar{
  width: 40px; height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--bmd-violet), var(--bmd-teal));
  display:flex; align-items:center; justify-content:center;
  font-family: var(--bmd-font-display);
  font-weight: 700;
  color: #0B0F1E;
  flex-shrink:0;
}
.bmd-side-user .name{ font-weight:600; font-size:14px; color: var(--bmd-text); }
.bmd-side-user .email{ font-size:12px; color: var(--bmd-text-faint); }

.bmd-nav{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:3px; }
.bmd-nav li{ margin:0; }
.bmd-nav a{
  display:flex; align-items:center; gap:11px;
  padding: 10px 12px;
  border-radius: 11px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--bmd-text-muted);
  transition: background .12s ease, color .12s ease, transform .12s ease;
}
.bmd-nav a:hover{ background: var(--bmd-surface-hover); color: var(--bmd-text); }
.bmd-nav .icon{
  width: 30px; height: 30px;
  flex-shrink: 0;
  display:flex; align-items:center; justify-content:center;
  border-radius: 9px;
  background: var(--bmd-surface-2);
  color: var(--bmd-text-muted);
}
.bmd-nav .icon svg{ width:16px; height:16px; }

.bmd-nav li.is-active a{
  background: #0F4DFF;
  color: #fff;
  box-shadow: 0 8px 20px -8px rgba(123,108,246,.65);
}
.bmd-nav li.is-active .icon{
  background: rgba(255,255,255,.16);
  color: #fff;
}

.bmd-nav li.is-logout{ margin-top: 8px; padding-top: 10px; border-top:1px solid var(--bmd-border-soft); }
.bmd-nav li.is-logout a{ color: var(--bmd-red); }
.bmd-nav li.is-logout .icon{ color: var(--bmd-red); }
.bmd-nav li.is-logout a:hover{ background: var(--bmd-red-dim); }

/* Mobile-only back bar (replaces the sidebar nav on subpages so there
   is no second hamburger menu): a small icon-only "back" button on the
   left, followed by the current subpage's title (e.g. "Orders"). */
.bmd-mobile-back-bar{ display:none; align-items:center; gap:12px; }
.bmd-back-link{
  display:inline-flex; align-items:center; justify-content:center;
  width: 38px; height: 38px;
  flex-shrink: 0;
  color: var(--bmd-text) !important;
  background: var(--bmd-surface);
  border: 1px solid var(--bmd-border);
  border-radius: var(--bmd-radius-md);
}
.bmd-back-link:hover{ background: var(--bmd-surface-hover); }
.bmd-back-link svg{ flex-shrink:0; }
.bmd-back-title{
  font-family: var(--bmd-font-display);
  font-weight: 600;
  font-size: 20px;
  color: var(--bmd-text);
}

.bmd-main{
  min-width: 0;
  width:100% !important;
}

.bmd-card{
  background: var(--bmd-surface);
  border: 1px solid var(--bmd-border);
  border-radius: var(--bmd-radius-lg);
  padding: 24px;
}
.bmd-card + .bmd-card{ margin-top: 20px; }

.bmd-card-head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom: 16px;
}
.bmd-card-head h3{
  font-family: var(--bmd-font-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--bmd-text);
  margin:0;
}
.bmd-card-head .view-all{ font-size:12px; font-weight:600; }

/* Welcome banner */
.bmd-welcome{
  background: linear-gradient(120deg, #14224a 0%, var(--bmd-surface) 65%);
  border: 1px solid var(--bmd-border);
  border-radius: var(--bmd-radius-lg);
  padding: 26px 28px;
  display:flex; 
  gap:16px;
  margin-bottom: 20px;
}
.bmd-welcome .bmd-avatar{ width:52px; height:52px; font-size:18px; }
.bmd-welcome .greet{ font-size:12px; color: var(--bmd-text-muted); }
.bmd-welcome h2{
  font-family: var(--bmd-font-display);
  font-size: 18px; margin: 2px 0 0; color: var(--bmd-text);
}

/* Vitals strip — signature element */
.bmd-vitals{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 20px;
}
.bmd-vital{
  background: var(--bmd-surface);
  border: 1px solid var(--bmd-border);
  border-radius: var(--bmd-radius-md);
  padding: 16px 18px;
  position: relative;
  overflow: hidden;
}
.bmd-vital::before{
  content:"";
  position:absolute; left:0; top:0; bottom:0; width:3px;
  background: var(--bmd-teal);
}
.bmd-vital.amber::before{ background: var(--bmd-amber); }
.bmd-vital.blue::before{ background: var(--bmd-blue); }
.bmd-vital .label{
  font-family: var(--bmd-font-mono);
  font-size: 10px; letter-spacing:.1em; text-transform:uppercase;
  color: var(--bmd-text-faint);
}
.bmd-vital .value{
  font-family: var(--bmd-font-mono);
  font-size: 24px; font-weight:600; color: var(--bmd-text);
  margin-top: 6px;
}
.bmd-vital .value small{
  font-size: 12px; color: var(--bmd-text-muted); font-weight:400; margin-left:4px;
}

/* Orders table (dashboard / list view) */
.bmd-table{ width:100%; border-collapse: collapse; }
.bmd-table th{
  text-align:left;
  font-size: 11px; letter-spacing:.06em; text-transform:uppercase;
  color: var(--bmd-text-faint);
  font-weight:600;
  padding: 0 12px 10px;
  border-bottom: 1px solid var(--bmd-border-soft);
}
.bmd-table td{
  padding: 14px 12px;
  border-bottom: 1px solid var(--bmd-border-soft);
  font-size: 13px;
  color: var(--bmd-text);
  vertical-align: middle;
}
.bmd-table tr:last-child td{ border-bottom:none; }
.bmd-table tr:hover td{ background: var(--bmd-surface-hover); }
.bmd-table .order-id{ font-family: var(--bmd-font-mono); color: var(--bmd-blue); font-weight:600; }
.bmd-table .muted{ color: var(--bmd-text-muted); }

.bmd-pill{
  display:inline-flex; align-items:center; gap:6px;
  padding: 0;
  background: transparent !important;
  border-radius: 0;
  font-size: 10px; font-weight:600; letter-spacing:.04em;
  text-transform: uppercase;
}
.bmd-pill::before{ content:""; width:6px; height:6px; border-radius:50%; flex-shrink:0; }
.bmd-pill.completed{ color: var(--bmd-teal); }
.bmd-pill.completed::before{ background: var(--bmd-teal); }
.bmd-pill.processing{ color: var(--bmd-amber); }
.bmd-pill.processing::before{ background: var(--bmd-amber); }
.bmd-pill.cancelled, .bmd-pill.failed, .bmd-pill.refunded{ color: var(--bmd-red); }
.bmd-pill.cancelled::before, .bmd-pill.failed::before, .bmd-pill.refunded::before{ background: var(--bmd-red); }
.bmd-pill.on-hold, .bmd-pill.pending{ color: var(--bmd-text-muted); }
.bmd-pill.on-hold::before, .bmd-pill.pending::before{ background: var(--bmd-text-muted); }

.bmd-table .view-link{
  font-size:12px; font-weight:600;
  border:1px solid var(--bmd-border);
  border-radius: var(--bmd-radius-sm);
  padding: 6px 12px;
  color: var(--bmd-text) !important;
}
.bmd-table .view-link:hover{ background: var(--bmd-surface-hover); }

/* Address cards */
.bmd-addr-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.bmd-addr-card{
  background: var(--bmd-surface-2);
  border: 1px solid var(--bmd-border-soft);
  border-radius: var(--bmd-radius-md);
  padding: 18px;
}
.bmd-addr-card h4{
  font-size:13px; font-weight:600; color: var(--bmd-text-muted);
  text-transform:uppercase; letter-spacing:.05em;
  margin: 0 0 10px;
}
.bmd-addr-card address{
  font-style:normal; font-size:14px; line-height:1.7; color: var(--bmd-text);
}
.bmd-addr-card .edit-link{
  display:inline-block; margin-top:12px; font-size:12px; font-weight:600;
}

.bmd-empty .bmd-btn{ width:auto !important; padding: 10px 22px; margin-top:14px; display:inline-flex; }

/* Notices */
.bmd-account .woocommerce-message,
.bmd-account .woocommerce-error,
.bmd-account .woocommerce-info{
  list-style:none;
  background: var(--bmd-surface);
  border: 1px solid var(--bmd-border);
  border-left: 3px solid var(--bmd-blue);
  color: var(--bmd-text);
  border-radius: var(--bmd-radius-sm);
  padding: 14px 40px;
  margin: 0 0 20px;
  font-size: 13px;
}
.bmd-account .woocommerce-error{ border-left-color: var(--bmd-red); 
padding:13px 40px !important;}

/* Native WooCommerce address field grid (form-edit-address.php)
   NOTE: the real rules live in the mobile-first "ADDRESS FIELDS" block
   further down this file (single source of truth — see that block for
   why). This early declaration is intentionally left minimal so it
   can never compete with / be reordered against that block. */
.woocommerce-address-fields__field-wrapper .form-row{ margin-bottom: 16px; }
.bmd-account .select2-container .select2-selection--single{
  background: var(--bmd-surface);
  border: 1px solid var(--bmd-border);
  height: 44px;
  border-radius: var(--bmd-radius-sm);
}
.bmd-account .select2-selection__rendered{ color: var(--bmd-text) !important; line-height: 44px !important; }
.bmd-account .select2-selection__arrow{ height: 42px !important; }

/* =========================================================
   SINGLE ORDER VIEW — redesigned (view-order.php)
   ========================================================= */
.bmd-account .woocommerce-order-details,
.bmd-account .woocommerce-customer-details,
.bmd-account .woocommerce-order-downloads,
.woocommerce-order-details,
body .woocommerce-order-details{
  background: var(--bmd-surface) !important;
  border: 1px solid var(--bmd-border) !important;
  border-radius: var(--bmd-radius-lg) !important;
  padding: 28px !important;
  margin-bottom: 20px !important;
}

.woocommerce-order-details__title,
.bmd-account .woocommerce-order-details__title,
.bmd-account .woocommerce-column__title{
  font-family: var(--bmd-font-display) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--bmd-text) !important;
  margin: 0 0 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--bmd-border-soft) !important;
}

.bmd-account .woocommerce-order-details table,
.bmd-account table.shop_table,
table.shop_table,
table.shop_table_responsive,
.woocommerce-table--order-details{
  width: 100% !important;
  border-collapse: collapse !important;
  background: transparent !important;
  border: none !important;
}

/* Header row */
table.shop_table thead th{
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--bmd-border-soft) !important;
  text-align: left !important;
  font-family: var(--bmd-font-mono) !important;
  font-size: 10.5px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--bmd-text-faint) !important;
  font-weight: 600 !important;
  padding: 0 12px 12px !important;
}
table.shop_table thead th:last-child{ text-align: right !important; }

/* Body rows */
table.shop_table tbody td,
table.shop_table tfoot th,
table.shop_table tfoot td{
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--bmd-border-soft) !important;
  padding: 16px 12px !important;
  color: var(--bmd-text) !important;
  font-size: 13.5px !important;
  vertical-align: top !important;
}
table.shop_table tbody tr:last-child td{ border-bottom: none !important; }

/* Product name + meta */
table.shop_table .product-name{
  font-weight: 600 !important;
  color: var(--bmd-text) !important;
}
table.shop_table .wc-item-meta,
table.shop_table .wc-item-meta li{
  list-style: none !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  color: var(--bmd-text-faint) !important;
}
table.shop_table .wc-item-meta li{
  display: inline-block;
  margin-right: 14px !important;
}

/* Quantity + price columns */
table.shop_table .product-quantity,
table.shop_table td.product-total,
table.shop_table th.product-total{
  text-align: right !important;
  font-family: var(--bmd-font-mono) !important;
  color: var(--bmd-text-muted) !important;
}
table.shop_table td.product-total{
  color: var(--bmd-text) !important;
  font-weight: 600 !important;
}

/* Footer summary rows (subtotal, fees, total) */
table.shop_table tfoot th{
  text-align: left !important;
  font-weight: 500 !important;
  color: var(--bmd-text-muted) !important;
  font-size: 13px !important;
}
table.shop_table tfoot td{
  text-align: right !important;
  font-family: var(--bmd-font-mono) !important;
  color: var(--bmd-text) !important;
  font-weight: 600 !important;
}

/* Highlight final "Total order cost" row */
table.shop_table tfoot tr:last-child th,
table.shop_table tfoot tr:last-child td{
  border-top: 1px solid var(--bmd-border) !important;
  border-bottom: none !important;
  padding-top: 18px !important;
  font-size: 15px !important;
  color: var(--bmd-text) !important;
}
table.shop_table tfoot tr:last-child th{ font-weight: 700 !important; }
table.shop_table tfoot tr:last-child td{
  color: var(--bmd-teal) !important;
  font-size: 17px !important;
}

/* Order intro header — order number/date on the left, status pill on
   the right. Rendered by woocommerce/myaccount/view-order.php (replaces
   WooCommerce's plain "Order #X was placed on Y..." sentence, which
   wrapped unevenly on mobile). */
.bmd-order-intro{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  background: var(--bmd-surface);
  border: 1px solid var(--bmd-border);
  border-radius: var(--bmd-radius-lg);
  padding: 16px 20px;
  margin-bottom: 20px;
  overflow: hidden;               /* belt-and-suspenders against overflow forcing a wrap */
}
.bmd-order-intro-sentence{
  flex: 1 1 auto !important;
  min-width: 0 !important;        /* required for text-overflow to work inside flex */
  margin: 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--bmd-text-muted);
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.bmd-order-status-pill{
  flex: 0 0 auto !important;      /* pill keeps its size, never wraps */
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
  background: rgba(141,151,175,.14);
  color: var(--bmd-text-muted);
}

.bmd-order-intro-meta{
  display: flex !important;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}
.bmd-order-intro-num{
  font-family: var(--bmd-font-mono);
  font-weight: 700;
  color: var(--bmd-text);
}
.bmd-order-intro-sep{ color: var(--bmd-text-faint); }
.bmd-order-intro-date{
  color: var(--bmd-text);
  font-weight: 500;
}

.bmd-order-status-pill::before{
  content:"";
  width:6px; height:6px; border-radius:50%;
  background: var(--bmd-text-muted);
}
.bmd-order-status-pill.completed{ background: var(--bmd-teal-dim); color: var(--bmd-teal); }
.bmd-order-status-pill.completed::before{ background: var(--bmd-teal); }
.bmd-order-status-pill.processing{ background: var(--bmd-amber-dim); color: var(--bmd-amber); }
.bmd-order-status-pill.processing::before{ background: var(--bmd-amber); }
.bmd-order-status-pill.cancelled,
.bmd-order-status-pill.failed,
.bmd-order-status-pill.refunded{ background: var(--bmd-red-dim); color: var(--bmd-red); }
.bmd-order-status-pill.cancelled::before,
.bmd-order-status-pill.failed::before,
.bmd-order-status-pill.refunded::before{ background: var(--bmd-red); }

/* order Empty */
/* Empty state */
.bmd-empty{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 48px 20px 40px;
}
.bmd-empty-icon{
  width: 56px;
  height: 56px;
  border-radius: var(--bmd-radius-md);
  background: var(--bmd-blue-dim);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}
.bmd-empty-icon svg{ width: 24px; height: 24px; stroke: var(--bmd-blue); }
.bmd-empty h4{
  font-family: var(--bmd-font-display);
  font-size: 15px;
  font-weight: 600;
  color: var(--bmd-text);
  margin: 0 0 6px;
}
.bmd-empty p{
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--bmd-text-muted);
  max-width: 320px;
  margin: 0 0 20px;
}
.bmd-btn{
	margin-bottom:20px;
}
.bmd-empty .bmd-btn-outline{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: auto;
  padding: 10px 20px;
  border-radius: var(--bmd-radius-sm);
  border: 1px solid var(--bmd-border);
  background: transparent;
  color: var(--bmd-text) !important;
  font-weight: 600;
  font-size: 13.5px;
  transition: background .15s ease, border-color .15s ease;
}
.bmd-empty .bmd-btn-outline:hover{
  background: var(--bmd-surface-hover);
  border-color: var(--bmd-blue);
}
/* Account page */
body.woocommerce-account .bmd-card p:empty {
  display: none !important;
  margin: 0 !important;
}
body.woocommerce-account .password-input .show-password-input::before {
  filter: brightness(0) invert(1) !important;
  opacity: 0.6 !important;
}
body.woocommerce-account .password-input .show-password-input:hover::before {
  opacity: 1 !important;
}
body.woocommerce-account button[name="save_account_details"] br {
  display: none !important;
}
body.woocommerce-account button[name="save_account_details"] {
  line-height: 1.4 !important;
}
.bmd-addr-card .view-link {
	font-size: 15px;
}
.bmd-addr-card .view-link.delete {
	color: #f5f5f5; /* smoke white */
}
.bmd-addr-card .view-link.default {
	color: #4E7CFF; /* blue */
}
/* =========================================================
   Add Payment Method — Braintree Credit Card (corrected)
   ========================================================= */

body.woocommerce-account ul.payment_methods {
  border: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
}

body.woocommerce-account ul.payment_methods > li {
  background: var(--bmd-surface) !important;
  border: 1px solid var(--bmd-border) !important;
  border-radius: var(--bmd-radius-lg) !important;
  padding: 20px 24px !important;
}

body.woocommerce-account ul.payment_methods label[for="payment_method_braintree_credit_card"] {
  color: var(--bmd-text) !important;
  font-family: var(--bmd-font-display) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
}

body.woocommerce-account .wc-braintree-test-badge {
  background: var(--bmd-amber-dim) !important;
  color: var(--bmd-amber) !important;
  border-radius: var(--bmd-radius-sm) !important;
  padding: 4px 10px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

body.woocommerce-account .sv-wc-payment-gateway-card-icons img {
  margin-left: 6px !important;
  border-radius: 3px !important;
  opacity: 0.9 !important;
}

/* The dark expandable panel under the radio */
body.woocommerce-account .payment_box {
  background: var(--bmd-surface-2) !important;
  border: 1px solid var(--bmd-border-soft) !important;
  border-radius: var(--bmd-radius-md) !important;
  padding: 24px !important;
  margin-top: 16px !important;
}
body.woocommerce-account .payment_box::before {
  border-bottom-color: var(--bmd-surface-2) !important;
}
body.woocommerce-account .payment_box > p:first-child {
  color: var(--bmd-text-muted) !important;
  font-size: 13.5px !important;
  margin: 0 0 18px !important;
}

/* THE FIX: fieldset was defaulting to white — force it transparent/dark */
body.woocommerce-account #wc-braintree-credit-card-credit-card-form {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hide the empty hosted "context" placeholder row causing the stray line */
body.woocommerce-account .wc-braintree-credit-card-new-payment-method-form > .form-row:first-of-type {
  display: none !important;
}

/* Field labels */
body.woocommerce-account .wc-braintree-hosted-field-parent label {
  color: var(--bmd-text-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-bottom: 6px !important;
  display: block !important;
}
body.woocommerce-account .wc-braintree-hosted-field-parent label .required {
  color: var(--bmd-red) !important;
}

/* Spacing between rows */
body.woocommerce-account .wc-braintree-hosted-field-parent {
  margin-bottom: 18px !important;
}
body.woocommerce-account .wc-braintree-hosted-field-card-expiry-parent,
body.woocommerce-account .wc-braintree-hosted-field-card-csc-parent {
  margin-bottom: 0 !important;
}

/* Two-column row for Expiry / CSC */
body.woocommerce-account .wc-braintree-credit-card-new-payment-method-form {
  display: block !important;
}
body.woocommerce-account .wc-braintree-hosted-field-card-expiry-parent {
  display: inline-block !important;
  width: 48% !important;
  margin-right: 4% !important;
  vertical-align: top !important;
}
body.woocommerce-account .wc-braintree-hosted-field-card-csc-parent {
  display: inline-block !important;
  width: 48% !important;
  vertical-align: top !important;
}

/* The actual iframe container — clean white pill, sized like a normal input */
body.woocommerce-account .wc-braintree-hosted-field {
  background: #111A2E !important;
  border: 1px solid #223154 !important;
  border-radius: var(--bmd-radius-sm) !important;
  height: 46px !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  transition: border-color .15s ease !important;
}
body.woocommerce-account .wc-braintree-hosted-field iframe {
  height: 46px !important;
}
body.woocommerce-account .wc-braintree-hosted-field.sv-wc-payment-gateway-hosted-field-focus,
body.woocommerce-account .braintree-hosted-fields-focused {
  border-color: var(--bmd-blue) !important;
  box-shadow: 0 0 0 3px var(--bmd-blue-dim) !important;
}

/* Add payment method button */
body.woocommerce-account #place_order {
  background: var(--bmd-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--bmd-radius-sm) !important;
  padding: 13px 22px !important;
  font-family: var(--bmd-font-body) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  transition: background .15s ease !important;
}
body.woocommerce-account #place_order:hover {
  background: #3E68E0 !important;
}
body.woocommerce-account #place_order br {
  display: none !important;
}

/* Bottom action row wrapper */
body.woocommerce-account #add_payment_method > .form-row:last-of-type {
  background: transparent !important;
  padding: 20px 0 0 !important;
  text-align: right !important;
}

/* Kill stray empty <p></p> gaps from wpautop everywhere on this page */
body.woocommerce-account #add_payment_method p:empty {
  display: none !important;
  margin: 0 !important;
}

/* Responsive: mobile + tablet share the same stacked, single-column
   layout (content above nav — see order swap below). Only desktop
   (≥1025px) keeps the side-by-side sidebar + content grid. */
@media (max-width: 1024px){
  .bmd-account-shell{
    display: flex;
    flex-direction: column;
    padding: 16px 16px 60px;
    gap: 16px;
  }

  /* Mobile/tablet navigation flow — no drawer, no second hamburger:
     - Dashboard root: the dashboard content (bmd-main) shows first,
       followed by the sidebar nav list further down the page.
     - Any subpage (Orders, Addresses, Payment methods, Account details,
       Downloads…): sidebar nav is hidden; the "Back to Account" bar
       (rendered in my-account.php only for subpages) is shown instead. */
  .bmd-mobile-back-bar{
    display:flex;
    margin: 16px 16px 0;
  }

  .bmd-side{
    position: static;
    width: 100%;
    z-index: auto;
    transform: none;
    transition: none;
    overflow-y: visible;
    order: 2;
    /* Drop the single grouped card chrome — each nav item becomes its
       own separate card below (see .bmd-nav li rules). */
    background: transparent;
    border: none;
    padding: 0;
  }
  body.bmd-account-subpage .bmd-side{ display:none; }

  /* Remove the user (avatar/name/email) block from the sidebar. */
  .bmd-side-user{ display:none !important; }

  /* Remove the "Dashboard" entry from the nav list — the dashboard
     content itself is already showing above this list. */
  .bmd-nav li.woocommerce-MyAccount-navigation-link--dashboard{ display:none; }

  /* Each remaining menu item becomes its own separate row/card instead
     of being grouped together inside one bordered box. */
  .bmd-nav{ gap: 10px; }
  .bmd-nav li{
    background: var(--bmd-surface);
    border: 1px solid var(--bmd-border);
    border-radius: var(--bmd-radius-md);
    overflow: hidden;
  }
  .bmd-nav a{ padding: 14px 16px; }
  .bmd-nav li.is-logout{
    margin-top: 0;
    padding-top: 0;
    border-top: 1px solid var(--bmd-border);
  }

  .bmd-main{ width: 100% !important; order: 1; }

  .bmd-vitals, .bmd-addr-grid{ grid-template-columns: 1fr; }
  /* Orders table (dashboard "Recent orders" + full Orders History list)
     — a proper 2-column card instead of one field per full-width line:
       Row 1: order id ............ status pill
       Row 2: date ................. total
       Row 3: view/actions (full width)
     Column order in both templates is fixed (id, date, status, total,
     actions), so `order` reflows them without touching the markup. */
  .bmd-table thead{ display:none; }
  .bmd-table, .bmd-table tbody{ display:block; width:100%; }
  .bmd-table tr{
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 12px;
    row-gap: 5px;
    padding: 14px 2px;
    border-bottom: 1px solid var(--bmd-border-soft);
  }
  .bmd-table tr:last-child{ border-bottom: none; }
  .bmd-table td{ display:block; width:auto; border:none; padding:0; }
  .bmd-table td:nth-child(1){ order:1; font-size:14px; } /* order id */
  .bmd-table td:nth-child(2){ order:3; color: var(--bmd-text-muted); font-size:12.5px; } /* date */
  .bmd-table td:nth-child(3){ order:2; justify-self:end; } /* status pill */
  .bmd-table td:nth-child(4){ order:4; justify-self:end; font-weight:600; text-align:right; } /* total */
  .bmd-table td:nth-child(5){
    order:5;
    grid-column: 1 / -1;
    margin-top:6px;
    justify-self: start !important;   /* don't stretch this grid item full-width */
    width: auto !important;
    display: flex !important;
    justify-content: flex-start !important;
  } /* view / actions */
  .bmd-table td:nth-child(5) .view-link{
    display:inline-flex !important;
    width: auto !important;
    flex: 0 0 auto !important;        /* shrink to content, stay pinned left */
  }
  .bmd-form-grid-2{ grid-template-columns: 1fr; }

  /* ORDER DETAILS (single order view) — clean label-left / value-right
     rows instead of the previous block-stack, which broke alignment
     because only <td> (not <th>) was forced to display:block. */
  table.shop_table thead{ display:none; }
  table.shop_table, table.shop_table tbody, table.shop_table tfoot{
    display:block; width:100%;
  }
  table.shop_table tr{
    display:flex !important;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2px 16px;
    width: 100%;
    border-bottom:1px solid var(--bmd-border-soft) !important;
    padding: 14px 0 !important;
  }
  table.shop_table tr:last-child{ border-bottom: none !important; }
  table.shop_table td,
  table.shop_table th{
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border: none !important;
  }
  /* Label side (product name, row label) takes the flexible space;
     value side (qty, price, totals) hugs the right edge. */
  table.shop_table td.product-name,
  table.shop_table tfoot th{
    flex: 1 1 60%;
    text-align: left !important;
    color: var(--bmd-text) !important;
  }
  table.shop_table td.product-quantity,
  table.shop_table td.product-total,
  table.shop_table tfoot td{
    flex: 0 0 auto;
    text-align: right !important;
    font-weight: 600 !important;
    color: var(--bmd-text) !important;
  }
  table.shop_table .wc-item-meta{
    flex-basis: 100%;
    width: 100%;
  }

  /* Order-placed summary (view-order.php intro line/list) */
  body.woocommerce-account .woocommerce-order-overview,
  body.woocommerce-account .woocommerce-thankyou-order-details{
    background: var(--bmd-surface);
    border: 1px solid var(--bmd-border);
    border-radius: var(--bmd-radius-lg);
    padding: 18px 20px;
    margin: 0 0 16px;
    color: var(--bmd-text);
    font-size: 14px;
    line-height: 1.7;
  }
  body.woocommerce-account .woocommerce-order-overview li{
    list-style: none;
  }
}
/* =========================================================
   Edit Address form — fix overflow + proper 2-col pairing
   ========================================================= */

/* ---------------------------------------------------------
   ADDRESS FIELDS — mobile-first (single source of truth)
   ---------------------------------------------------------
   Single column is the UNCONDITIONAL default — it applies to phones
   AND tablets with zero dependency on override order. The previous
   version declared 2 columns unconditionally and then tried to fight
   it back down to 1 column inside a max-width:1024px query later in
   the file. That only works if every rule stays in exact source
   order — which broke in practice (e.g. under CSS-combine/minify
   caching that can reorder same-specificity rules), producing the
   squashed single-column-width inputs seen on mobile/tablet. Now
   there is nothing to "win back": 2 columns only ever turns on
   inside the min-width:1025px query below, so phones and tablets
   can never end up with a 2-column grid by accident. */
body.woocommerce-account .woocommerce-address-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row {
  grid-column: 1 / -1 !important; /* every row full-width by default */
  width: 100% !important;
  min-width: 0 !important; /* lets grid items shrink instead of overflowing */
  box-sizing: border-box !important;
  margin-bottom: 18px !important;
}

@media (min-width: 1025px){
  body.woocommerce-account .woocommerce-address-fields__field-wrapper {
    grid-template-columns: 1fr 1fr !important;
    gap: 0 16px !important;
  }
  body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row {
    grid-column: auto !important; /* reset the mobile full-width default */
  }

  /* Fields that should span the FULL row */
  body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-wide,
  body.woocommerce-account .woocommerce-address-fields__field-wrapper p.form-row:has(#billing_country),
  body.woocommerce-account .woocommerce-address-fields__field-wrapper p.form-row:has(#billing_address_1),
  body.woocommerce-account .woocommerce-address-fields__field-wrapper p.form-row:has(#billing_address_2),
  body.woocommerce-account .woocommerce-address-fields__field-wrapper p.form-row:has(#billing_email) {
    grid-column: 1 / -1 !important;
  }

  /* Explicit 2-column pairing: City + State, ZIP + Phone */
  body.woocommerce-account .woocommerce-address-fields__field-wrapper p.form-row:has(#billing_city),
  body.woocommerce-account .woocommerce-address-fields__field-wrapper p.form-row:has(#billing_postcode) {
    grid-column: 1 / 2 !important;
  }
  body.woocommerce-account .woocommerce-address-fields__field-wrapper p.form-row:has(#billing_state),
  body.woocommerce-account .woocommerce-address-fields__field-wrapper p.form-row:has(#billing_phone) {
    grid-column: 2 / 3 !important;
  }
  /* Explicit 2-column pairing for SHIPPING: City + State, ZIP + Phone */
  body.woocommerce-account .woocommerce-address-fields__field-wrapper p.form-row:has(#shipping_city),
  body.woocommerce-account .woocommerce-address-fields__field-wrapper p.form-row:has(#shipping_postcode) {
    grid-column: 1 / 2 !important;
  }
  body.woocommerce-account .woocommerce-address-fields__field-wrapper p.form-row:has(#shipping_state),
  body.woocommerce-account .woocommerce-address-fields__field-wrapper p.form-row:has(#shipping_phone) {
    grid-column: 2 / 3 !important;
  }

  /* Fallback for browsers without :has() support (older Safari/iOS):
     without this, unsupported browsers simply keep every row full
     width at desktop widths too — safe, just not paired. This isn't
     the tablet/mobile bug, but it's a real gap worth closing so the
     desktop 2-col layout doesn't silently degrade for those visitors. */
  @supports not selector(:has(a)) {
    body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first {
      grid-column: 1 / 2 !important;
    }
    body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last {
      grid-column: 2 / 3 !important;
    }
  }
}

/* Container safety: prevent whole card from ever overflowing viewport */
body.woocommerce-account .bmd-card {
  overflow-x: hidden !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body.woocommerce-account .woocommerce-address-fields {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Uniform label styling */
body.woocommerce-account .woocommerce-address-fields__field-wrapper label {
  display: block !important;
  width: 100% !important;
  white-space: normal !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--bmd-text) !important;
  margin-bottom: 6px !important;
}
body.woocommerce-account .woocommerce-address-fields__field-wrapper .required {
  color: var(--bmd-red) !important;
}

/* Uniform field sizing */
body.woocommerce-account .woocommerce-address-fields__field-wrapper input[type="text"],
body.woocommerce-account .woocommerce-address-fields__field-wrapper input[type="email"],
body.woocommerce-account .woocommerce-address-fields__field-wrapper input[type="tel"],
body.woocommerce-account .woocommerce-address-fields__field-wrapper textarea,
body.woocommerce-account .woocommerce-address-fields__field-wrapper select {
  width: 100% !important;
  height: 46px !important;
  background: var(--bmd-surface) !important;
  border: 1px solid var(--bmd-border) !important;
  border-radius: var(--bmd-radius-sm) !important;
  padding: 0 14px !important;
  font-family: var(--bmd-font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--bmd-text) !important;
  box-sizing: border-box !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}
body.woocommerce-account .woocommerce-address-fields__field-wrapper textarea {
  height: auto !important;
  min-height: 46px !important;
  padding: 12px 14px !important;
}

body.woocommerce-account .woocommerce-address-fields__field-wrapper input:focus,
body.woocommerce-account .woocommerce-address-fields__field-wrapper textarea:focus,
body.woocommerce-account .woocommerce-address-fields__field-wrapper select:focus {
  outline: none !important;
  border-color: var(--bmd-blue) !important;
  box-shadow: 0 0 0 3px var(--bmd-blue-dim) !important;
}

body.woocommerce-account .woocommerce-address-fields__field-wrapper ::placeholder {
  color: var(--bmd-text-faint) !important;
  opacity: 1 !important;
  font-weight: 400 !important;
}

/* Country readonly text row */
body.woocommerce-account .woocommerce-address-fields__field-wrapper p.form-row strong {
  display: flex !important;
  align-items: center !important;
  height: 46px !important;
  background: var(--bmd-surface) !important;
  border: 1px solid var(--bmd-border) !important;
  border-radius: var(--bmd-radius-sm) !important;
  padding: 0 14px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--bmd-text) !important;
  box-sizing: border-box !important;
}

/* Select2 (State dropdown) */
body.woocommerce-account .select2-container {
  width: 100% !important;
}
body.woocommerce-account .select2-container .select2-selection--single {
  background: var(--bmd-surface) !important;
  border: 1px solid var(--bmd-border) !important;
  height: 46px !important;
  border-radius: var(--bmd-radius-sm) !important;
}
body.woocommerce-account .select2-selection__rendered {
  color: var(--bmd-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 46px !important;
  padding-left: 14px !important;
}
body.woocommerce-account .select2-selection__arrow {
  height: 44px !important;
}
body.woocommerce-account .select2-dropdown {
  background: var(--bmd-surface) !important;
  border: 1px solid var(--bmd-border) !important;
}
body.woocommerce-account .select2-results__option {
  color: var(--bmd-text) !important;
  font-size: 14px !important;
}
body.woocommerce-account .select2-results__option--highlighted {
  background: var(--bmd-blue) !important;
  color: #fff !important;
}

/* Save button */
body.woocommerce-account button[name="save_address"] {
  width: 100% !important;
  display: block !important;
  height: 48px !important;
  background: var(--bmd-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--bmd-radius-sm) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  margin-top: 8px !important;
  transition: background .15s ease !important;
}
body.woocommerce-account button[name="save_address"]:hover {
  background: #3E68E0 !important;
}
body.woocommerce-account button[name="save_address"] br {
  display: none !important;
}

body.woocommerce-account .woocommerce-address-fields p:empty {
  display: none !important;
  margin: 0 !important;
}
body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row,
body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first,
body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last,
body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-wide {
  width: 100% !important;
  float: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.bmd-addr-card address{
	color:#fff !important;
}
/* Fix Select2 height/alignment to match other inputs */
.select2-container--default .select2-selection--single {
	height: 52px;
	background-color: transparent;
	border: 1px solid var(--bmd-border, rgba(255,255,255,0.15));
	border-radius: 8px;
	display: flex;
	align-items: center;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--bmd-text, #ffffff);
	line-height: 52px;
	padding-left: 16px;
	font-size: 15px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 50px;
	right: 12px;
}

/* Make the dropdown arrow visible on dark background */
.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: #9ca3af transparent transparent transparent; /* light grey arrow */
	border-width: 6px 5px 0 5px;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
	border-color: transparent transparent #9ca3af transparent;
	border-width: 0 5px 6px 5px;
}

/* Dropdown panel styling (the opened list) */
.select2-dropdown {
	background-color: #0f1626;
	border: 1px solid rgba(255,255,255,0.15);
	border-radius: 8px;
}

.select2-container--default .select2-results__option {
	color: #e5e7eb;
	padding: 8px 16px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background-color: #6366f1;
	color: #fff;
}

.select2-search--dropdown .select2-search__field {
	background-color: #1a2236;
	color: #fff;
	border: 1px solid rgba(255,255,255,0.15);
	border-radius: 6px;
}
.woocommerce form.login{
	border:none!important;
}


.bmd-field--user::after,.bmd-field--pass::after{
	top:48px !important;
}
/* Force left alignment on reset-password labels/inputs to match the login form */
.bmd-auth .lost_reset_password .bmd-field,
.bmd-auth .lost_reset_password .bmd-field label,
.bmd-auth .lost_reset_password h1.bmd-h1 {
    text-align: left !important;
}

.bmd-reset-sent-card{
    text-align: center;
}

.bmd-reset-sent-icon{
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--bmd-teal);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
}

.bmd-reset-sent-sub{
    color: var(--bmd-text-muted);
    font-size: 13px;
    line-height: 1.7;
    margin: 0 0 24px;
}
.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"] {
    border-color: #223154 !important;
}
.bmd-auth-frame .bmd-logo img{
  display: block !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
  margin-bottom: 40px !important;
}
.bmd-back-to-site{
  position: fixed !important;
  top: 50px !important;
  left: 40px !important;
  z-index: 100 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: max-content !important;
  white-space: nowrap !important;
  font-family: var(--bmd-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: var(--bmd-text-muted) !important;
    padding: 10px 15px 10px 15px !important;
  border: 1px solid var(--bmd-border) !important;
  border-radius: var(--bmd-radius-md) !important;
  background: var(--bmd-surface) !important;
  text-decoration: none !important;
  transition: color .15s ease, border-color .15s ease, background .15s ease !important;
}
.bmd-back-to-site svg{
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 15px !important;
  display: block !important;
}
.bmd-back-to-site:hover{
  color: var(--bmd-text) !important;
  border-color: var(--bmd-blue) !important;
  background: var(--bmd-surface-hover) !important;
}
.bmd-side-user {
    display: flex;
    align-items: center;
    gap: 10px;
}
.bmd-side-user > div:last-child {
    min-width: 0; /* critical, lets flex child shrink below content size */
    flex: 1;
}
.bmd-side-user .name,
.bmd-side-user .email {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Tablet */
@media (max-width: 1024px){
  .bmd-back-to-site{ top: 18px !important; left: 18px !important; }
}

/* Mobile */
@media (max-width: 767px){
  .bmd-back-to-site{
    top: 34px !important;
    left: 14px !important;
    padding: 6px 12px 6px 8px !important;
    font-size: 12px !important;
  }
  .bmd-back-to-site svg{ width: 13px !important; height: 13px !important; flex: 0 0 13px !important; }
}
@media (max-width: 1024px){ /* tablet */
  .bmd-auth-frame .bmd-logo img{
    max-width: 160px !important;
  }
}

@media (max-width: 767px){ /* mobile */
  .bmd-auth-frame .bmd-logo img{
    max-width: 120px !important;
  }
}
@media (max-width: 1024px) { /* tablet */
  .bmd-auth-frame .bmd-logo img {
    width: 160px;
  }
}

@media (max-width: 767px) { /* mobile */
  .bmd-auth-frame .bmd-logo img {
    width: 120px;
  }
}

@media (max-width: 480px){
  .bmd-h1{ font-size: 22px; }
  .bmd-card{ padding: 18px; }
}
@media (max-width: 480px){
  .woocommerce-privacy-policy-text {
    font-size: 12px !important;
  }
}

@media (min-width: 481px) and (max-width: 1024px){
  .woocommerce-privacy-policy-text {
    font-size: 12px !important;
  }
}


.woocommerce form.register{
	margin:0px !important;
}




.woocommerce-password-strength.short ,.woocommerce-password-strength.bad {
    background-color: #971313;
    border-color: #e35b5b;
    color: white;
    font-size: 12px;
}

.woocommerce-password-strength.good {
    background-color: #c18c00;
    border-color: #ffc733;
    color: white;
    font-size: 12px;
}

.woocommerce-password-strength.strong {
    background-color: #5bc640;
    border-color: #83c373;
    color: white;
    font-size: 12px;
}
.bmd-account .woocommerce-message{
    list-style: none;
    background: var(--bmd-surface)!important;
    border: 1px solid var(--bmd-border) !important;
    border-left: 3px solid var(--bmd-blue) !important;
    color: var(--bmd-text);
    border-radius: var(--bmd-radius-sm);
    padding: 14px 40px;
    margin: 0 0 20px;
    font-size: 13px;
}