/* ==========================================================================
   TMB Account — My Account area
   File: assets/css/tmb-account.css      Loads after tmb-app-shell.css on
                                         account pages and for signed-in users
   --------------------------------------------------------------------------
   Also styles every TMB portal rendered with tmb_co_portal_shell()
   (inc/portal.php) — CRM today, Dealer Center / My Business next.

   Markup sources
     TMB My Account plugin   layout (.tmb-myacct-layout), navigation
                             (.woocommerce-MyAccount-navigation), dashboard
                             (.tmb-account-dashboard, .tmb-account-app-tile)
     Theme                   inc/account.php (header, account bar, status) and
                             woocommerce/myaccount/*.php
   Script                    assets/js/tmb-app-shell.js turns the navigation
                             into a bottom sheet in app mode.

   Components
     .tmb-account-head       page header (eyebrow, title, intro, actions)
     .tmb-account-bar        profile card (desktop) / section switcher (app)
     .tmb-account-card       content card (+ __head __kicker __title __note)
     .tmb-account-field      form row      .tmb-account-form__grid(--two)
     .tmb-status--{status}   order status pill
     .tmb-auth-card          sign-in / password screens

   Layout
     Desktop  sidebar (account bar + navigation) | content
     App      account bar switcher on top, content below; navigation in a
              bottom sheet opened from the bar or the tray's Account button.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Page frame
-------------------------------------------------------------------------- */
.woocommerce-account .entry-header{ display:none; }  /* each screen has its own header */
.woocommerce-account .site-main > article,
.woocommerce-account .entry-content{ margin:0; padding:0; }

.woocommerce-account .woocommerce{
  width:min(100% - (var(--tmb-gutter) * 2), var(--tmb-container));
  max-width:none;
  margin-inline:auto;
  padding:var(--tmb-space-5) 0 var(--tmb-space-8);
}
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after{ display:none; }

:is(.woocommerce-account,.tmb-portal) .tmb-myacct-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:var(--tmb-space-4);
  align-items:start;
}
:is(.woocommerce-account,.tmb-portal) .tmb-myacct-layout > .woocommerce-MyAccount-navigation,
:is(.woocommerce-account,.tmb-portal) .tmb-myacct-layout > .woocommerce-MyAccount-content{
  float:none;
  width:auto;
  margin:0;
  min-width:0;
}
.woocommerce-account .woocommerce-MyAccount-content{ display:grid; gap:var(--tmb-space-5); }

@media (min-width:900px){
  .woocommerce-account .woocommerce{ padding:var(--tmb-space-7) 0 var(--tmb-space-9); }
  :is(.woocommerce-account,.tmb-portal) .tmb-myacct-layout{
    grid-template-columns:272px minmax(0, 1fr);
    grid-template-areas:
      "bar content"
      "nav content";
    grid-template-rows:auto 1fr;
    column-gap:var(--tmb-space-7);
    row-gap:var(--tmb-space-3);
  }
  :is(.woocommerce-account,.tmb-portal) .tmb-account-bar{ grid-area:bar; }
  :is(.woocommerce-account,.tmb-portal) .tmb-myacct-layout > .woocommerce-MyAccount-navigation{
    grid-area:nav;
    position:sticky;
    top:calc(var(--tmb-header-height) + var(--tmb-space-4));
  }
  :is(.woocommerce-account,.tmb-portal) .tmb-myacct-layout > :is(.woocommerce-MyAccount-content,.tmb-portal__main){ grid-area:content; }
}


/* Portal frame (CRM and other plugin portals rendered with tmb_co_portal_shell()). */
.tmb-portal{
  width:min(100% - (var(--tmb-gutter) * 2), var(--tmb-container));
  margin-inline:auto;
  padding:var(--tmb-space-5) 0 var(--tmb-space-8);
  color:var(--tmb-color-text);
}
.tmb-portal__main{ display:grid; gap:var(--tmb-space-5); min-width:0; }
.tmb-account-nav-fallback{ font-size:var(--tmb-fs-sm); font-weight:var(--tmb-fw-bold); color:var(--tmb-color-primary); }
@media (min-width:900px){
  .tmb-portal{ padding:var(--tmb-space-7) 0 var(--tmb-space-9); }
}


/* --------------------------------------------------------------------------
   Account bar
-------------------------------------------------------------------------- */
.tmb-account-bar__avatar{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--tmb-color-primary);
  color:var(--tmb-color-on-primary);
  font-size:var(--tmb-fs-sm);
  font-weight:var(--tmb-fw-bold);
  letter-spacing:.02em;
  flex:0 0 auto;
}
.tmb-account-bar__who{ display:grid; gap:2px; min-width:0; text-align:left; }
.tmb-account-bar__who > *{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.tmb-account-bar__profile{
  display:flex;
  align-items:center;
  gap:var(--tmb-space-3);
  padding:var(--tmb-space-4);
  border:1px solid var(--tmb-color-border);
  border-radius:var(--tmb-radius-md);
  background:var(--tmb-color-surface);
}
.tmb-account-bar__profile strong{ color:var(--tmb-color-text); font-size:var(--tmb-fs-md); }
.tmb-account-bar__profile .tmb-account-bar__who span{ color:var(--tmb-color-text-subtle); font-size:var(--tmb-fs-xs); }

.tmb-account-bar__switch{
  appearance:none;
  display:flex;
  align-items:center;
  gap:var(--tmb-space-3);
  width:100%;
  min-height:64px;
  padding:var(--tmb-space-3) var(--tmb-space-4);
  border:1px solid var(--tmb-color-border);
  border-radius:var(--tmb-radius-md);
  background:var(--tmb-color-surface);
  box-shadow:var(--tmb-shadow-sm);
  color:var(--tmb-color-text);
  font:inherit;
  cursor:pointer;
  transition:transform var(--tmb-motion-fast) ease;
}
.tmb-account-bar__switch:active{ transform:scale(.99); }
.tmb-account-bar__switch .tmb-account-bar__who span{ color:var(--tmb-color-text-subtle); font-size:var(--tmb-fs-xs); }
.tmb-account-bar__switch .tmb-account-bar__who strong{ font-size:var(--tmb-fs-md); }
.tmb-account-bar__more{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
  padding:6px 10px 6px 12px;
  border-radius:var(--tmb-radius-pill);
  background:var(--tmb-color-primary-soft);
  color:var(--tmb-color-primary);
  font-size:var(--tmb-fs-xs);
  font-weight:var(--tmb-fw-bold);
  white-space:nowrap;
  flex:0 0 auto;
}
.tmb-account-bar__more svg{ width:16px; height:16px; }
.tmb-account-bar__switch--generic{ margin-bottom:var(--tmb-space-4); }


/* --------------------------------------------------------------------------
   Navigation (plugin markup). Desktop: sidebar. App: bottom sheet.
-------------------------------------------------------------------------- */
.tmb-account-nav-sheet__head{ display:none; }

.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.woocommerce-MyAccount-navigation li{ margin:0; }
.woocommerce-MyAccount-navigation a{
  position:relative;
  display:flex;
  align-items:center;
  gap:var(--tmb-space-3);
  min-height:var(--tmb-tap-min);
  padding:var(--tmb-space-2) var(--tmb-space-3);
  border-radius:var(--tmb-radius-sm);
  color:var(--tmb-color-text);
  font-size:.9375rem;
  font-weight:var(--tmb-fw-medium);
  text-decoration:none;
  transition:background var(--tmb-motion-fast) ease, color var(--tmb-motion-fast) ease;
}
.woocommerce-MyAccount-navigation a:hover{ text-decoration:none; background:var(--tmb-color-surface-muted); }
.woocommerce-MyAccount-navigation .is-active > a,
.woocommerce-MyAccount-navigation a[aria-current="page"]{
  background:var(--tmb-color-primary-soft);
  color:var(--tmb-color-primary);
  font-weight:var(--tmb-fw-bold);
}
.woocommerce-MyAccount-navigation .is-active > a::before,
.woocommerce-MyAccount-navigation a[aria-current="page"]::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:3px;
  border-radius:0 3px 3px 0;
  background:var(--tmb-color-accent);
}
.tmb-account-nav-icon{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:var(--tmb-radius-xs);
  background:var(--tmb-color-surface-muted);
  color:var(--tmb-color-primary);
  flex:0 0 auto;
}
.tmb-account-nav-icon img{ width:18px; height:18px; object-fit:contain; opacity:.85; }
.tmb-account-nav-icon .dashicons{ font-size:18px; width:18px; height:18px; line-height:1; }
.woocommerce-MyAccount-navigation .is-active .tmb-account-nav-icon{ background:var(--tmb-color-surface); }
.tmb-account-nav-label{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.woocommerce-MyAccount-navigation-link--customer-logout,
.tmb-portal__nav .woocommerce-MyAccount-navigation-link--my-account{
  margin-top:var(--tmb-space-2) !important;
  padding-top:var(--tmb-space-2);
  border-top:1px solid var(--tmb-color-border);
}
.woocommerce-MyAccount-navigation-link--customer-logout a,
.tmb-portal__nav .woocommerce-MyAccount-navigation-link--my-account a{ color:var(--tmb-color-text-muted); }

@media (min-width:900px){
  :is(.woocommerce-account,.tmb-portal) .woocommerce-MyAccount-navigation{
    padding:var(--tmb-space-2);
    border:1px solid var(--tmb-color-border);
    border-radius:var(--tmb-radius-md);
    background:var(--tmb-color-surface);
  }
}

/* App mode: the navigation is a bottom sheet (JS moves it to <body>). */
@media (max-width:899.98px){
  .tmb-js .tmb-account-nav-sheet:not(.is-open),
  .tmb-js.woocommerce-account .woocommerce-MyAccount-navigation:not(.tmb-account-nav-sheet),
  .tmb-js .tmb-portal .woocommerce-MyAccount-navigation:not(.tmb-account-nav-sheet){ display:none !important; }

  .tmb-account-nav-sheet{
    position:fixed !important;
    left:0;
    right:0;
    bottom:0;
    z-index:var(--tmb-z-sheet) !important;
    display:flex;
    flex-direction:column;
    width:auto !important;
    max-height:min(80svh, 680px);
    margin:0 !important;
    padding:var(--tmb-space-2) max(var(--tmb-space-4), var(--tmb-safe-left)) calc(var(--tmb-space-5) + var(--tmb-safe-bottom)) max(var(--tmb-space-4), var(--tmb-safe-right)) !important;
    border:0 !important;
    border-radius:var(--tmb-radius-lg) var(--tmb-radius-lg) 0 0 !important;
    background:var(--tmb-color-surface) !important;
    box-shadow:var(--tmb-shadow-sheet) !important;
    overflow:auto;
    overscroll-behavior:contain;
    transform:none !important;
    animation:tmb-sheet-in var(--tmb-motion-base) var(--tmb-ease-emphasized);
  }
  .tmb-account-nav-sheet .tmb-account-nav-sheet__head{ display:block; }
  .tmb-account-nav-sheet ul{ gap:0; }
  .tmb-account-nav-sheet li + li{ border-top:1px solid var(--tmb-color-border); }
  .tmb-account-nav-sheet a{ min-height:56px; padding:var(--tmb-space-2) var(--tmb-space-1); border-radius:0; font-size:var(--tmb-fs-md); }
  .tmb-account-nav-sheet .is-active > a,
  .tmb-account-nav-sheet a[aria-current="page"]{ background:transparent; }
  .tmb-account-nav-sheet .is-active > a::before,
  .tmb-account-nav-sheet a[aria-current="page"]::before{ left:auto; right:var(--tmb-space-1); top:50%; bottom:auto; width:8px; height:8px; border-radius:50%; transform:translateY(-50%); }
  .tmb-account-nav-sheet .tmb-account-nav-icon{ width:36px; height:36px; }
  .tmb-account-nav-sheet :is(.woocommerce-MyAccount-navigation-link--customer-logout,.woocommerce-MyAccount-navigation-link--my-account){ margin-top:0 !important; padding-top:0; }
}


/* --------------------------------------------------------------------------
   Page header + cards
-------------------------------------------------------------------------- */
.tmb-account-page{ display:grid; gap:var(--tmb-space-5); min-width:0; }

.tmb-account-head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--tmb-space-3) var(--tmb-space-5);
}
.tmb-account-head__text{ display:grid; gap:var(--tmb-space-1); min-width:0; }
.tmb-account-head__title{
  margin:0;
  font-family:var(--tmb-font-heading);
  font-size:var(--tmb-title-page-size);
  font-weight:var(--tmb-title-page-weight);
  line-height:var(--tmb-leading-tight);
  letter-spacing:var(--tmb-title-page-tracking);
  color:var(--tmb-color-text);
}
.tmb-account-head__intro{
  max-width:62ch;
  margin:var(--tmb-space-1) 0 0;
  color:var(--tmb-color-text-muted);
  font-size:var(--tmb-fs-sm);
  line-height:var(--tmb-leading-body);
}
.tmb-account-head__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--tmb-space-2); }

.tmb-account-card,
.woocommerce-account .woocommerce-Addresses .tmb-card,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields{
  padding:var(--tmb-card-padding);
  border:1px solid var(--tmb-card-border);
  border-radius:var(--tmb-card-radius);
  background:var(--tmb-card-bg);
  box-shadow:var(--tmb-card-shadow);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.tmb-account-card{ display:grid; gap:var(--tmb-space-4); }
.tmb-account-card__head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--tmb-space-2) var(--tmb-space-5);
  padding-bottom:var(--tmb-space-4);
  border-bottom:1px solid var(--tmb-color-border);
}
.tmb-account-card__kicker{
  margin:0 0 2px;
  color:var(--tmb-color-primary);
  font-size:var(--tmb-fs-2xs);
  font-weight:var(--tmb-fw-bold);
  letter-spacing:var(--tmb-tracking-caps);
  text-transform:uppercase;
}
.tmb-account-card__title{ margin:0; font-size:var(--tmb-fs-lg); font-weight:var(--tmb-fw-bold); line-height:var(--tmb-leading-snug); color:var(--tmb-color-text); }
.tmb-account-card__note{ max-width:44ch; margin:0; color:var(--tmb-color-text-subtle); font-size:var(--tmb-fs-sm); line-height:var(--tmb-leading-body); }

@media (min-width:900px){
  .tmb-account-card,
  .woocommerce-account .woocommerce-Addresses .tmb-card,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields{ padding:var(--tmb-space-6); }
}


/* --------------------------------------------------------------------------
   Dashboard (plugin markup)
-------------------------------------------------------------------------- */
.tmb-account-dashboard{ display:grid; gap:var(--tmb-space-5); }
.tmb-account-dashboard__header{ display:grid; gap:var(--tmb-space-1); }
/* Optional one-line intro under a dashboard title (portal dashboards). */
.tmb-account-dashboard__text{
  max-width:62ch;
  margin:var(--tmb-space-1) 0 0;
  color:var(--tmb-color-text-muted);
  font-size:var(--tmb-fs-sm);
  line-height:var(--tmb-leading-body);
}
.tmb-account-dashboard__title{
  margin:0;
  font-family:var(--tmb-font-heading);
  font-size:var(--tmb-title-page-size);
  font-weight:var(--tmb-title-page-weight);
  line-height:var(--tmb-leading-tight);
  letter-spacing:var(--tmb-tracking-tight);
  color:var(--tmb-color-text);
}
.tmb-account-app-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--tmb-space-3);
}
.tmb-account-app-tile{
  display:flex;
  flex-direction:column;
  gap:var(--tmb-space-3);
  min-width:0;
  min-height:132px;
  padding:var(--tmb-space-4);
  border:1px solid var(--tmb-color-border);
  border-radius:var(--tmb-radius-md);
  background:var(--tmb-color-surface);
  box-shadow:var(--tmb-shadow-sm);
  color:var(--tmb-color-text);
  text-decoration:none !important;
  transition:transform var(--tmb-motion-base) ease, box-shadow var(--tmb-motion-base) ease, border-color var(--tmb-motion-base) ease;
}
.tmb-account-app-tile:hover,
.tmb-account-app-tile:focus-visible{ transform:translateY(-2px); box-shadow:var(--tmb-shadow-lg); border-color:var(--tmb-color-border-strong); color:var(--tmb-color-text); }
.tmb-account-app-tile:active{ transform:scale(.98); }
.tmb-account-app-tile__icon{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:var(--tmb-radius-sm);
  background:var(--tmb-color-primary-soft);
  color:var(--tmb-color-primary);
  flex:0 0 auto;
}
.tmb-account-app-tile__icon img{ width:22px; height:22px; object-fit:contain; }
.tmb-account-app-tile__icon .dashicons{ font-size:22px; width:22px; height:22px; line-height:1; }
.tmb-account-app-tile__initial{ font-size:var(--tmb-fs-lg); font-weight:var(--tmb-fw-bold); }
.tmb-account-app-tile__body{ display:grid; gap:var(--tmb-space-1); min-width:0; }
.tmb-account-app-tile__title{ font-size:var(--tmb-fs-md); font-weight:var(--tmb-fw-bold); line-height:var(--tmb-leading-snug); }
.tmb-account-app-tile__text{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:var(--tmb-color-text-subtle);
  font-size:var(--tmb-fs-xs);
  line-height:1.45;
}
.tmb-account-app-tile--customer-logout{ background:var(--tmb-color-surface-muted); box-shadow:none; }
.tmb-account-app-tile--customer-logout .tmb-account-app-tile__icon{ background:var(--tmb-color-surface); }

@media (min-width:600px){
  .tmb-account-app-grid{ grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:var(--tmb-space-4); }
  .tmb-account-app-tile{ min-height:168px; padding:var(--tmb-space-5); }
  .tmb-account-app-tile__text{ font-size:var(--tmb-fs-sm); }
}
@media (min-width:900px){
}


/* --------------------------------------------------------------------------
   Buttons inside account content
-------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--tmb-space-2);
  min-height:var(--tmb-tap-min);
  padding:var(--tmb-btn-padding);
  border:1px solid var(--tmb-btn-bg);
  border-radius:var(--tmb-btn-radius);
  background:var(--tmb-btn-bg);
  color:var(--tmb-btn-fg);
  font-size:var(--tmb-fs-sm);
  font-weight:var(--tmb-btn-weight);
  line-height:1.2;
  text-decoration:none;
  box-shadow:none;
  cursor:pointer;
  transition:opacity var(--tmb-motion-fast) ease, transform var(--tmb-motion-fast) ease;
}
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover{ opacity:.92; color:var(--tmb-color-on-primary); text-decoration:none; transform:none; }
.woocommerce-account .woocommerce-MyAccount-content .button:active{ transform:scale(.98); }
/* Row actions (View, Pay, Cancel…), edit links and resource links are secondary. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .button,
.woocommerce-account .woocommerce-MyAccount-content .tmb-btn--secondary.button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .edit,
.woocommerce-account .woocommerce-MyAccount-content .tmb-button--secondary{
  border-color:var(--tmb-color-border-strong);
  background:var(--tmb-color-surface);
  color:var(--tmb-color-text);
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .tmb-btn--secondary.button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .edit:hover{
  color:var(--tmb-color-text);
  border-color:var(--tmb-color-primary);
  opacity:1;
}
.woocommerce-account .woocommerce-MyAccount-content .tmb-btn--sm{ min-height:40px; padding:8px 14px; }


/* --------------------------------------------------------------------------
   Status pills
-------------------------------------------------------------------------- */
.tmb-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:4px 12px;
  border-radius:var(--tmb-radius-pill);
  background:var(--tmb-color-surface-muted);
  color:var(--tmb-color-text-muted);
  font-size:var(--tmb-fs-xs);
  font-weight:var(--tmb-fw-bold);
  white-space:nowrap;
}
.tmb-status::before{ content:""; width:7px; height:7px; border-radius:50%; background:currentColor; opacity:.8; }
.tmb-status--processing{ background:#e0f2fe; color:#075985; }
.tmb-status--completed{ background:#dcfce7; color:#166534; }
.tmb-status--on-hold,
.tmb-status--pending{ background:#fef3c7; color:#92400e; }
.tmb-status--cancelled,
.tmb-status--failed,
.tmb-status--refunded{ background:#fee2e2; color:#991b1b; }


/* --------------------------------------------------------------------------
   Tables (orders, payment methods, manuals, order items)
-------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table{
  width:100%;
  margin:0;
  border:1px solid var(--tmb-color-border);
  border-collapse:separate;
  border-spacing:0;
  border-radius:var(--tmb-radius-md);
  background:var(--tmb-color-surface);
  box-shadow:var(--tmb-shadow-sm);
  overflow:hidden;
}
.woocommerce-account .woocommerce-MyAccount-content .tmb-account-card table.shop_table{ border:0; border-radius:0; box-shadow:none; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th{
  padding:var(--tmb-space-3) var(--tmb-space-4);
  border:0;
  border-bottom:1px solid var(--tmb-color-border);
  background:var(--tmb-color-surface-muted);
  color:var(--tmb-color-text-subtle);
  font-size:var(--tmb-fs-2xs);
  font-weight:var(--tmb-fw-bold);
  letter-spacing:var(--tmb-tracking-caps);
  text-align:left;
  text-transform:uppercase;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td{
  padding:var(--tmb-space-4);
  border:0;
  border-top:1px solid var(--tmb-color-border);
  color:var(--tmb-color-text);
  font-size:var(--tmb-fs-sm);
  font-weight:var(--tmb-fw-regular);
  text-align:left;
  vertical-align:middle;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:first-child > *{ border-top:0; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:hover > *{ background:color-mix(in srgb, var(--tmb-color-primary) 3%, transparent); }
.woocommerce-account .woocommerce-orders-table__cell-order-number a{ color:var(--tmb-color-primary); font-weight:var(--tmb-fw-bold); }
.woocommerce-account .woocommerce-orders-table__cell-order-actions{ text-align:right !important; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .tmb-cluster{ justify-content:flex-end; gap:var(--tmb-space-2); }

.tmb-myacct-product-thumb{
  display:block;
  width:64px;
  height:64px;
  flex:0 0 64px;
  padding:0;
  overflow:hidden;
  border:1px solid var(--tmb-color-border);
  border-radius:var(--tmb-radius-xs);
  background:var(--tmb-color-surface-muted);
  box-shadow:none;
}
.woocommerce-account .tmb-myacct-product-thumb img,
.woocommerce-account .tmb-myacct-product-thumb__image{ width:100%; height:100%; max-width:none; object-fit:contain; mix-blend-mode:multiply; }

/* App mode: tables become stacked cards. */
@media (max-width:899.98px){
  .woocommerce-account .woocommerce-MyAccount-content table.shop_table,
  .woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody{ display:block; border:0; border-radius:0; background:none; box-shadow:none; overflow:visible; }
  .woocommerce-account .woocommerce-MyAccount-content table.shop_table thead{ display:none; }
  .woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody{ display:grid; gap:var(--tmb-space-3); }
  .woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:var(--tmb-space-2) var(--tmb-space-3);
    padding:var(--tmb-space-4);
    border:1px solid var(--tmb-color-border);
    border-radius:var(--tmb-radius-md);
    background:var(--tmb-color-surface);
    box-shadow:var(--tmb-shadow-sm);
  }
  .woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:hover > *{ background:none; }
  .woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody th,
  .woocommerce-account .woocommerce-MyAccount-content table.shop_table td{
    display:block;
    padding:0;
    border:0 !important;
    text-align:left !important;
  }
  .woocommerce-account .woocommerce-MyAccount-content table.shop_table td::before,
  .woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody th::before{ display:none; content:none; }
  .woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr > *{ grid-column:1 / -1; }

  /* Orders card: number + status on top, date and total below, full-width actions. */
  .woocommerce-account .woocommerce-orders-table__cell-order-number{ grid-column:1 / 2 !important; font-size:var(--tmb-fs-md) !important; }
  .woocommerce-account .woocommerce-orders-table__cell-order-status{ grid-column:2 / 3 !important; grid-row:1; justify-self:end; }
  .woocommerce-account .woocommerce-orders-table__cell-order-date,
  .woocommerce-account .woocommerce-orders-table__cell-order-total{ color:var(--tmb-color-text-muted) !important; font-size:var(--tmb-fs-sm); }
  .woocommerce-account .woocommerce-orders-table__cell-order-actions{ padding-top:var(--tmb-space-2) !important; }
  .woocommerce-account .woocommerce-orders-table__cell-order-actions .tmb-cluster{ justify-content:stretch; }
  .woocommerce-account .woocommerce-orders-table__cell-order-actions .button{ flex:1; }

  /* Labeled rows elsewhere (payment methods, manuals): show the column name. */
  .woocommerce-account .account-payment-methods-table td[data-title]::before{
    display:block;
    content:attr(data-title);
    margin-bottom:2px;
    color:var(--tmb-color-text-subtle);
    font-size:var(--tmb-fs-2xs);
    font-weight:var(--tmb-fw-bold);
    letter-spacing:var(--tmb-tracking-caps);
    text-transform:uppercase;
  }
}


/* --------------------------------------------------------------------------
   Order detail
-------------------------------------------------------------------------- */
.tmb-account-order .tmb-account-head__actions .tmb-status{ min-height:36px; padding:6px 14px; font-size:var(--tmb-fs-sm); }
.tmb-account-order section > h3,
.tmb-account-order .woocommerce-column__title,
.tmb-account-order .woocommerce-order-details__title{
  margin:0 0 var(--tmb-space-3);
  font-size:var(--tmb-fs-lg);
  font-weight:var(--tmb-fw-bold);
  color:var(--tmb-color-text);
}
.tmb-account-order .woocommerce-table--order-details tfoot th,
.tmb-account-order .woocommerce-table--order-details tfoot td{
  padding:var(--tmb-space-3) var(--tmb-space-4);
  border-top:1px solid var(--tmb-color-border);
  font-size:var(--tmb-fs-sm);
}
.tmb-account-order .woocommerce-table--order-details tfoot tr:last-child > *{ font-size:var(--tmb-fs-md); font-weight:var(--tmb-fw-bold); color:var(--tmb-color-primary); }
.tmb-account-order address{
  padding:var(--tmb-space-5);
  border:1px solid var(--tmb-color-border);
  border-radius:var(--tmb-radius-md);
  background:var(--tmb-color-surface);
  font-style:normal;
  line-height:var(--tmb-leading-body);
}
.tmb-account-order .woocommerce-customer-details .woocommerce-columns{ display:grid; gap:var(--tmb-space-4); }
@media (min-width:600px){
  .tmb-account-order .woocommerce-customer-details .woocommerce-columns{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
.tmb-account-order .woocommerce-customer-details .woocommerce-column{ float:none; width:auto; }
.tmb-account-order .woocommerce-OrderUpdates,
.tmb-account-order ol.commentlist{ list-style:none; margin:0; padding:0; display:grid; gap:var(--tmb-space-3); }
.tmb-account-order .woocommerce-OrderUpdate,
.tmb-account-order ol.commentlist li{
  padding:var(--tmb-space-4);
  border:1px solid var(--tmb-color-border);
  border-left:3px solid var(--tmb-color-accent);
  border-radius:var(--tmb-radius-sm);
  background:var(--tmb-color-surface);
}
.tmb-account-order textarea{ min-height:120px; }
@media (max-width:899.98px){
  .tmb-account-order .woocommerce-table--order-details tfoot{ display:block; margin-top:var(--tmb-space-3); padding:var(--tmb-space-2) var(--tmb-space-4); border:1px solid var(--tmb-color-border); border-radius:var(--tmb-radius-md); background:var(--tmb-color-surface); }
  .tmb-account-order .woocommerce-table--order-details tfoot tr{ display:flex; justify-content:space-between; gap:var(--tmb-space-3); padding:var(--tmb-space-2) 0; }
  .tmb-account-order .woocommerce-table--order-details tfoot tr + tr{ border-top:1px solid var(--tmb-color-border); }
  .tmb-account-order .woocommerce-table--order-details tfoot th,
  .tmb-account-order .woocommerce-table--order-details tfoot td{ padding:0; border:0; }
  /* Item rows: thumbnail + name on the left, total on the right. */
  .tmb-account-order .order_details tbody tr td:first-child{ grid-column:1 / 2 !important; }
  .tmb-account-order .order_details tbody tr td:last-child{ grid-column:2 / 3 !important; align-self:start; font-weight:var(--tmb-fw-bold); }
  .tmb-account-order .order_details tbody tr td:not(:first-child):not(:last-child){ grid-column:1 / 2 !important; color:var(--tmb-color-text-muted); font-size:var(--tmb-fs-xs); }
  .tmb-account-order .order_details tbody td[data-title]:not(:first-child):not(:last-child)::before{ display:inline; content:attr(data-title) ": "; color:var(--tmb-color-text-subtle); }
}


/* --------------------------------------------------------------------------
   Addresses
-------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address{ float:none; width:auto; margin:0; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title::before,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title::after{ display:none; } /* WooCommerce clearfix */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h3{ float:none; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title,
.woocommerce-account .woocommerce-Addresses header{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:var(--tmb-space-2);
  margin-bottom:var(--tmb-space-3);
}
.woocommerce-account .woocommerce-Addresses h2,
.woocommerce-account .woocommerce-Addresses h3{ margin:0; font-size:var(--tmb-fs-lg); font-weight:var(--tmb-fw-bold); }
.woocommerce-account .woocommerce-Addresses address{ font-style:normal; color:var(--tmb-color-text-muted); line-height:var(--tmb-leading-body); }
.woocommerce-account .woocommerce-Addresses .edit{ float:none; min-height:40px; padding:8px 14px; font-size:var(--tmb-fs-xs); }


/* --------------------------------------------------------------------------
   Forms
-------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-content .form-row,
.tmb-auth-card .form-row{
  float:none;
  width:auto;
  display:grid;
  gap:6px;
  margin:0;
  padding:0;
}
.woocommerce-account .woocommerce-MyAccount-content .form-row::before,
.woocommerce-account .woocommerce-MyAccount-content .form-row::after{ display:none; }
.woocommerce-account .woocommerce-MyAccount-content label,
.tmb-auth-card label{
  margin:0;
  color:var(--tmb-color-text);
  font-size:var(--tmb-fs-sm);
  font-weight:var(--tmb-fw-medium);
  line-height:1.4;
  letter-spacing:0;
  text-transform:none;
}
.woocommerce-account .woocommerce-MyAccount-content .required,
.tmb-auth-card .required{ color:var(--tmb-color-danger); text-decoration:none; }
.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content textarea,
.tmb-auth-card input.input-text{ min-height:48px; }
.tmb-account-field__help{ color:var(--tmb-color-text-subtle); font-size:var(--tmb-fs-xs); line-height:1.5; }

.tmb-account-form{ display:grid; gap:var(--tmb-space-4); }
.tmb-account-form__grid,
.woocommerce-address-fields__field-wrapper{ display:grid; gap:var(--tmb-space-4); }
@media (min-width:600px){
  .tmb-account-form__grid--two{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .woocommerce-address-fields__field-wrapper{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .woocommerce-address-fields__field-wrapper .form-row-wide{ grid-column:1 / -1; }
}

/* Save bar: floats above the thumb tray on phones so it's always reachable. */
.tmb-account-form__actions,
.woocommerce-account .woocommerce-MyAccount-content .tmb-form__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--tmb-space-3);
}
@media (max-width:899.98px){
  .tmb-account-form__actions,
  .woocommerce-account .tmb-account-address-form .tmb-form__actions{
    position:sticky;
    bottom:calc(var(--tmb-app-tray-h) + var(--tmb-safe-bottom) + var(--tmb-space-3));
    z-index:5;
    padding:var(--tmb-space-3);
    border:1px solid var(--tmb-color-border);
    border-radius:var(--tmb-radius-pill);
    background:color-mix(in srgb, var(--tmb-color-surface) 92%, transparent);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    box-shadow:var(--tmb-shadow-lg);
  }
  .tmb-account-form__actions .button,
  .woocommerce-account .tmb-account-address-form .tmb-form__actions .button{ flex:1; min-height:48px; }
}

/* Email preference switches */
.tmb-account-subscriptions__global,
.tmb-account-subscriptions__brands{ display:grid; gap:var(--tmb-space-2); }
.tmb-account-subscriptions__label{
  margin:var(--tmb-space-3) 0 var(--tmb-space-1);
  color:var(--tmb-color-text-subtle);
  font-size:var(--tmb-fs-2xs);
  font-weight:var(--tmb-fw-bold);
  letter-spacing:var(--tmb-tracking-caps);
  text-transform:uppercase;
}
.tmb-account-subscription-option{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:var(--tmb-space-4);
  min-height:64px;
  padding:var(--tmb-space-3) var(--tmb-space-4);
  border:1px solid var(--tmb-color-border);
  border-radius:var(--tmb-radius-sm);
  background:var(--tmb-color-surface);
  cursor:pointer;
}
.tmb-account-subscription-option--global{ background:var(--tmb-color-primary-soft); border-color:transparent; }
.tmb-account-subscription-option > span{ display:grid; gap:2px; min-width:0; }
.tmb-account-subscription-option strong{ font-size:var(--tmb-fs-sm); color:var(--tmb-color-text); }
.tmb-account-subscription-option small{ color:var(--tmb-color-text-subtle); font-size:var(--tmb-fs-xs); line-height:1.45; }
.tmb-account-subscription-option input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  width:46px;
  height:28px;
  margin:0;
  border-radius:var(--tmb-radius-pill);
  background:var(--tmb-color-border-strong);
  cursor:pointer;
  flex:0 0 auto;
  transition:background var(--tmb-motion-fast) ease;
}
.tmb-account-subscription-option input[type="checkbox"]::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(15,23,42,.25);
  transition:transform var(--tmb-motion-base) var(--tmb-ease-emphasized);
}
.tmb-account-subscription-option input[type="checkbox"]:checked{ background:var(--tmb-color-primary); }
.tmb-account-subscription-option input[type="checkbox"]:checked::after{ transform:translateX(18px); }
.tmb-account-subscription-option input[type="checkbox"]:focus-visible{ outline:3px solid var(--tmb-color-focus); outline-offset:2px; }


/* --------------------------------------------------------------------------
   Notices inside the account
-------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-notice{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:var(--tmb-space-3);
  margin:0;
  padding:var(--tmb-space-4);
  border:1px solid var(--tmb-color-border);
  border-left:4px solid var(--tmb-color-primary);
  border-radius:var(--tmb-radius-sm);
  background:var(--tmb-color-surface);
  color:var(--tmb-color-text);
  font-size:var(--tmb-fs-sm);
  box-shadow:none;
  list-style:none;
}
.woocommerce-account .woocommerce-message{ border-left-color:var(--tmb-color-success); }
.woocommerce-account .woocommerce-error{ border-left-color:var(--tmb-color-danger); }
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-error::before{ display:none; }
.woocommerce-account .woocommerce-info .button,
.woocommerce-account .woocommerce-message .button{ order:2; margin-left:auto; }
.woocommerce-account .woocommerce-notices-wrapper:empty{ display:none; }


/* --------------------------------------------------------------------------
   Sign in, register, lost / reset password
-------------------------------------------------------------------------- */
.woocommerce-account:not(.logged-in) .woocommerce{ padding-top:var(--tmb-space-6); }
.tmb-auth-wrap{ width:min(100%, 460px); margin:0 auto; }
.tmb-auth-card{
  position:relative;
  display:grid;
  gap:var(--tmb-space-5);
  padding:var(--tmb-space-6) var(--tmb-space-5);
  border:1px solid var(--tmb-color-border);
  border-radius:var(--tmb-radius-lg);
  background:var(--tmb-color-surface);
  box-shadow:var(--tmb-shadow-lg);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.tmb-auth-card::before{
  /* Brand flame mark */
  content:"";
  display:block;
  width:44px;
  height:44px;
  border-radius:var(--tmb-radius-sm);
  background:var(--tmb-color-primary);
  -webkit-mask:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.tmb-auth-card::after{
  content:"";
  position:absolute;
  top:calc(var(--tmb-space-6) + 9px);
  left:calc(var(--tmb-space-5) + 13px);
  width:18px;
  height:26px;
  background:var(--tmb-color-accent);
  -webkit-mask:url("../icons/Flame.svg") center / contain no-repeat;
  mask:url("../icons/Flame.svg") center / contain no-repeat;
}
.tmb-auth-card > header,
.tmb-auth-top{ display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:var(--tmb-space-3); }
.tmb-auth-card h2,
.tmb-auth-title{
  margin:0;
  font-family:var(--tmb-font-heading);
  font-size:var(--tmb-fs-2xl);
  line-height:var(--tmb-leading-tight);
  letter-spacing:var(--tmb-tracking-tight);
  color:var(--tmb-color-text);
}
.tmb-auth-card header p,
.tmb-auth-sub{ margin:var(--tmb-space-1) 0 0; color:var(--tmb-color-text-muted); font-size:var(--tmb-fs-sm); }
.tmb-auth-switch .button{
  min-height:40px;
  padding:8px 14px;
  border:1px solid var(--tmb-color-border-strong);
  border-radius:var(--tmb-radius-pill);
  background:var(--tmb-color-surface);
  color:var(--tmb-color-text);
  font-size:var(--tmb-fs-xs);
  font-weight:var(--tmb-fw-bold);
  box-shadow:none;
}
.tmb-auth-pane{ display:none; }
.tmb-auth-pane.is-active{ display:grid; gap:var(--tmb-space-4); }
/* .woocommerce prefix outranks WooCommerce's own bordered "form.login" box. */
.woocommerce .tmb-auth-card form,
.tmb-auth-card form{ display:grid; gap:var(--tmb-space-4); margin:0; padding:0; border:0; border-radius:0; }
.tmb-auth-actions{ display:grid; gap:var(--tmb-space-3); }
.tmb-auth-remember{ display:inline-flex !important; align-items:center; gap:var(--tmb-space-2); font-weight:var(--tmb-fw-medium); }
.tmb-auth-remember input{ width:18px; height:18px; margin:0; accent-color:var(--tmb-color-primary); }
.tmb-auth-card button[type="submit"],
.tmb-auth-card .woocommerce-form-login__submit,
.tmb-auth-card .woocommerce-Button{
  width:100%;
  min-height:50px;
  margin:0;
  border:1px solid var(--tmb-color-primary);
  border-radius:var(--tmb-radius-pill);
  background:var(--tmb-color-primary);
  color:var(--tmb-color-on-primary);
  font-size:var(--tmb-fs-md);
  font-weight:var(--tmb-fw-bold);
  box-shadow:none;
  cursor:pointer;
}
.tmb-auth-card button[type="submit"]:hover{ opacity:.92; color:var(--tmb-color-on-primary); }
.tmb-auth-card .woocommerce-LostPassword,
.tmb-auth-card .lost_password{ margin:0; text-align:center; }
.tmb-auth-card .tmb-link{ color:var(--tmb-color-primary); font-weight:var(--tmb-fw-bold); }
.tmb-auth-card .woocommerce-message,
.tmb-auth-card .woocommerce-info{ margin:0; }
@media (min-width:600px){
  .tmb-auth-card{ padding:var(--tmb-space-7); }
  .tmb-auth-card::after{ top:calc(var(--tmb-space-7) + 9px); left:calc(var(--tmb-space-7) + 13px); }
}
