/* ======================================================================
   TMB Solutions — universal-styling.css
   Purpose:
   - Single shared front-end stylesheet for TMB-driven themes and plugins.
   - Keep plugins lean: plugins output structure/content, this file outputs UI.
   - Theme variations should come from tokens + body classes, not duplicated CSS.

   Front-end architecture:
   - Plugins output function, data, and semantic structure.
   - The theme owns visual presentation through this single stylesheet.
   - TMB Settings owns admin interface styling and shared brand tokens.
   - Use tmb-* naming for all front-end classes.
   - Add plugin-specific front-end styles in clearly labeled sections below.
   ====================================================================== */

/* ----------------------------------------------------------------------
   1) Base Tokens
------------------------------------------------------------------------ */
:root{
  /* Typography */
  --tmb-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --tmb-font-serif: Georgia, Cambria, "Times New Roman", Times, serif;
  --tmb-font-primary: var(--tmb-font-sans);
  --tmb-font-heading: var(--tmb-font-sans);

  /* Surfaces */
  --tmb-page-bg: #f8fafc;
  --tmb-surface-bg: #ffffff;
  --tmb-surface-alt: #f1f5f9;
  --tmb-surface-soft: #ffffff;
  --tmb-surface-elevated: rgba(255,255,255,.82);

  /* Text */
  --tmb-text: #0f172a;
  --tmb-text-muted: #475569;
  --tmb-text-soft: #64748b;
  --tmb-text-inverse: #ffffff;

  /* Borders */
  --tmb-border: #dbe5ef;
  --tmb-border-strong: #cbd5e1;
  --tmb-border-soft: rgba(15,23,42,.08);

  /* UI treatment */
  --tmb-ui-surface: rgba(255,255,255,.76);
  --tmb-ui-border: rgba(15,23,42,.10);
  --tmb-ui-border-strong: rgba(15,23,42,.16);
  --tmb-ui-shadow: 0 14px 34px rgba(15,23,42,.10);
  --tmb-ui-shadow-soft: 0 8px 18px rgba(15,23,42,.07);
  --tmb-ui-shadow-none: none;
  --tmb-ui-blur: 14px;

  /* Radius */
  --tmb-radius-xs: 10px;
  --tmb-radius-sm: 14px;
  --tmb-radius: 18px;
  --tmb-radius-lg: 24px;
  --tmb-radius-pill: 999px;
  --tmb-radius-base: var(--tmb-radius);

  /* Site / legacy-safe aliases */
  --tmb-ink: var(--tmb-text);
  --tmb-muted: var(--tmb-text-muted);
  --tmb-white: #ffffff;
  --tmb-glass-bg: var(--tmb-ui-surface);
  --tmb-glass-bg-2: var(--tmb-surface-elevated);
  --tmb-glass-blur: var(--tmb-ui-blur);
  --tmb-shadow: var(--tmb-ui-shadow);
  --tmb-shadow-soft: var(--tmb-ui-shadow-soft);

  /* Sizing */
  --tmb-content-max: 1200px;
  --tmb-content-narrow: 980px;
  --tmb-content-wide: 1280px;
  --tmb-content-gutter: 18px;
  --tmb-section-space: clamp(48px, 6vw, 88px);

  /* Motion / focus */
  --tmb-focus: rgba(15,39,64,.18);
  --tmb-duration-fast: .16s;
  --tmb-duration-base: .22s;
  --tmb-ease: ease;

  /* Brand tokens are overwritten by TMB Settings at runtime */
  --tmb-primary: #0f2740;
  --tmb-secondary: #cfd7e2;
  --tmb-accent: #f4b400;
  --tmb-brand-surface: var(--tmb-primary);

  /* Derived aliases used by existing templates */
  --tmb-color-primary: var(--tmb-primary);
  --tmb-color-secondary: var(--tmb-secondary);
  --tmb-color-accent: var(--tmb-accent);
  --tmb-color-10: var(--tmb-primary);
  --tmb-color-30: var(--tmb-secondary);
  --tmb-color-60: color-mix(in srgb, var(--tmb-primary) 12%, white);

  --tmb-surface-card: var(--tmb-ui-surface);
  --tmb-shadow-card: var(--tmb-ui-shadow);
  --tmb-border-color: var(--tmb-ui-border);
  --tmb-text-color: var(--tmb-text);
}

/* ----------------------------------------------------------------------
   2) Theme Mode Hooks
------------------------------------------------------------------------ */
body.tmb-theme-mode-light{
  --tmb-page-bg: #f8fafc;
  --tmb-surface-bg: #ffffff;
  --tmb-surface-alt: #f1f5f9;
  --tmb-surface-soft: #ffffff;
  --tmb-surface-elevated: rgba(255,255,255,.82);
  --tmb-text: #0f172a;
  --tmb-text-muted: #475569;
  --tmb-text-soft: #64748b;
  --tmb-border: #dbe5ef;
  --tmb-border-strong: #cbd5e1;
}

body.tmb-theme-mode-dark{
  --tmb-page-bg: #0b1220;
  --tmb-surface-bg: #111827;
  --tmb-surface-alt: #172033;
  --tmb-surface-soft: #0f172a;
  --tmb-surface-elevated: rgba(17,24,39,.82);
  --tmb-text: #f8fafc;
  --tmb-text-muted: #cbd5e1;
  --tmb-text-soft: #94a3b8;
  --tmb-border: rgba(255,255,255,.10);
  --tmb-border-strong: rgba(255,255,255,.16);
}

/* ----------------------------------------------------------------------
   3) Surface Mode Hooks
------------------------------------------------------------------------ */
body.tmb-surface-style-glass{
  --tmb-ui-surface: rgba(255,255,255,.76);
  --tmb-ui-border: rgba(15,23,42,.10);
  --tmb-ui-border-strong: rgba(15,23,42,.16);
  --tmb-ui-shadow: 0 14px 34px rgba(15,23,42,.10);
  --tmb-ui-shadow-soft: 0 8px 18px rgba(15,23,42,.07);
  --tmb-ui-blur: 14px;
}

body.tmb-theme-mode-dark.tmb-surface-style-glass{
  --tmb-ui-surface: rgba(17,24,39,.72);
  --tmb-ui-border: rgba(255,255,255,.10);
  --tmb-ui-border-strong: rgba(255,255,255,.18);
  --tmb-ui-shadow: 0 18px 42px rgba(0,0,0,.26);
  --tmb-ui-shadow-soft: 0 10px 22px rgba(0,0,0,.18);
}

body.tmb-surface-style-minimal{
  --tmb-ui-surface: var(--tmb-surface-bg);
  --tmb-ui-border: var(--tmb-border);
  --tmb-ui-border-strong: var(--tmb-border-strong);
  --tmb-ui-shadow: none;
  --tmb-ui-shadow-soft: none;
  --tmb-ui-blur: 0px;
}

/* ----------------------------------------------------------------------
   4) Reset + Base
------------------------------------------------------------------------ */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html,body{ min-height:100%; }
body{
  margin:0;
  background: var(--tmb-page-bg);
  color: var(--tmb-text);
  font-family: var(--tmb-font-primary);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img,svg,video,canvas{ display:block; max-width:100%; }
button,input,textarea,select{ font: inherit; }
a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:underline; text-underline-offset:3px; }
hr{ border:0; border-top:1px solid var(--tmb-ui-border); margin:24px 0; }

:focus-visible{
  outline: 3px solid var(--tmb-focus);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation:none !important;
    transition:none !important;
  }
}

/* ----------------------------------------------------------------------
   5) Shared Layout Primitives
------------------------------------------------------------------------ */
.tmb-container{
  width:min(100% - (var(--tmb-content-gutter) * 2), var(--tmb-content-max));
  margin-inline:auto;
}
.tmb-container--narrow{ max-width:var(--tmb-content-narrow); }
.tmb-container--wide{ max-width:var(--tmb-content-wide); }

.tmb-section{ padding: var(--tmb-section-space) 0; }
.tmb-section--tight{ padding: clamp(24px, 4vw, 40px) 0; }
.tmb-section--flush-top{ padding-top:0; }
.tmb-section--flush-bottom{ padding-bottom:0; }

.tmb-stack{ display:grid; gap:16px; }
.tmb-stack--xs{ gap:8px; }
.tmb-stack--sm{ gap:12px; }
.tmb-stack--lg{ gap:24px; }
.tmb-stack--xl{ gap:32px; }

.tmb-grid{ display:grid; gap:24px; }
.tmb-grid--sm{ gap:16px; }
.tmb-grid--lg{ gap:32px; }
.tmb-grid-2{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.tmb-grid-3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.tmb-grid-4{ grid-template-columns:repeat(4, minmax(0, 1fr)); }

@media (max-width: 1024px){
  .tmb-grid-4{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px){
  .tmb-grid-2,
  .tmb-grid-3,
  .tmb-grid-4{ grid-template-columns:1fr; }
}

/* ----------------------------------------------------------------------
   Layout: Sidebar
------------------------------------------------------------------------ */
.tmb-layout-sidebar{
  display:grid;
  grid-template-columns:minmax(0, 1fr) clamp(240px, 20vw, 300px);
  gap:28px;
  align-items:start;
}

.tmb-layout-sidebar--left{
  grid-template-columns:clamp(240px, 20vw, 300px) minmax(0, 1fr);
}

.tmb-layout-sidebar--left .tmb-sidebar{
  order:-1;
}

.tmb-content-area{
  min-width:0;
}

@media (max-width:1024px){
  .tmb-layout-sidebar,
  .tmb-layout-sidebar--left{
    grid-template-columns:1fr;
  }

  .tmb-layout-sidebar--left .tmb-sidebar{
    order:initial;
  }
}

/* ----------------------------------------------------------------------
   Component: TMB Sidebar / Widgets
------------------------------------------------------------------------ */
.tmb-sidebar{
  display:grid;
  gap:16px;
  align-content:start;
}

.tmb-sidebar .widget,
.tmb-sidebar section,
.tmb-sidebar > div{
  background:var(--tmb-ui-surface);
  border:1px solid var(--tmb-ui-border);
  border-radius:var(--tmb-radius);
  box-shadow:var(--tmb-ui-shadow-soft);
  backdrop-filter:blur(var(--tmb-ui-blur));
  -webkit-backdrop-filter:blur(var(--tmb-ui-blur));
  padding:16px;
  color:var(--tmb-text);
}

.tmb-sidebar .widget-title,
.tmb-sidebar h2,
.tmb-sidebar h3{
  margin:0 0 12px;
  font-family:var(--tmb-font-heading);
  font-size:1rem;
  line-height:1.25;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--tmb-text);
}

.tmb-sidebar ul,
.tmb-sidebar ol{
  list-style:none;
  margin:0;
  padding:0;
}

.tmb-sidebar li{
  margin:0;
  padding:0;
}

.tmb-sidebar li + li{
  border-top:1px solid var(--tmb-ui-border);
}

.tmb-sidebar a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 0;
  color:var(--tmb-text);
  font-size:.94rem;
  line-height:1.35;
  font-weight:700;
  text-decoration:none !important;
}

.tmb-sidebar a:hover{
  color:var(--tmb-primary);
  text-decoration:none !important;
}

.tmb-sidebar p{
  margin:0;
  color:var(--tmb-text-muted);
  line-height:1.65;
}

.tmb-sidebar select,
.tmb-sidebar input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.tmb-sidebar textarea{
  width:100%;
}

.tmb-post-nav,
.tmb-comments{
  margin-top:24px;
}

@media (max-width:768px){
  .tmb-sidebar{
    display:none;
  }
}


.tmb-cluster{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}
.tmb-cluster--center{ justify-content:center; }
.tmb-cluster--between{ justify-content:space-between; }

.tmb-shell{
  background: var(--tmb-ui-surface);
  border: 1px solid var(--tmb-ui-border);
  border-radius: var(--tmb-radius-lg);
  box-shadow: var(--tmb-ui-shadow);
  backdrop-filter: blur(var(--tmb-ui-blur));
  -webkit-backdrop-filter: blur(var(--tmb-ui-blur));
}

/* ----------------------------------------------------------------------
   6) Typography Primitives
------------------------------------------------------------------------ */
.tmb-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: var(--tmb-primary);
}

.tmb-heading-xl,
.tmb-heading-lg,
.tmb-heading-md,
.tmb-heading-sm,
.tmb-heading,
.tmb-title{
  margin:0;
  color: var(--tmb-text);
  font-family: var(--tmb-font-heading);
  letter-spacing:-.03em;
}
.tmb-heading-xl{ font-size:clamp(2.15rem, 4.8vw, 3.8rem); line-height:1.02; }
.tmb-heading-lg{ font-size:clamp(1.9rem, 4vw, 3.2rem); line-height:1.08; }
.tmb-heading-md{ font-size:clamp(1.45rem, 2.8vw, 2.1rem); line-height:1.12; }
.tmb-heading-sm{ font-size:clamp(1.05rem, 1.8vw, 1.2rem); line-height:1.25; }

.tmb-text,
.tmb-copy,
.tmb-prose{
  color: var(--tmb-text-muted);
  line-height:1.75;
  font-size:1rem;
}
.tmb-text-sm{ font-size:.94rem; line-height:1.7; }
.tmb-text-xs{ font-size:.82rem; line-height:1.6; }
.tmb-text-muted{ color: var(--tmb-text-muted); }
.tmb-text-soft{ color: var(--tmb-text-soft); }
.tmb-text-strong{ color: var(--tmb-text); }
.tmb-text-center{ text-align:center; }
.tmb-prose p,
.tmb-copy p{ margin:0; }
.tmb-prose > * + *{ margin-top:1em; }

/* ----------------------------------------------------------------------
   7) Reusable Surfaces / Media / Dividers
------------------------------------------------------------------------ */
.tmb-card,
.tmb-surface-card,
.tmb-theme-card{
  background: var(--tmb-ui-surface);
  border: 1px solid var(--tmb-ui-border);
  border-radius: var(--tmb-radius);
  box-shadow: var(--tmb-ui-shadow);
  backdrop-filter: blur(var(--tmb-ui-blur));
  -webkit-backdrop-filter: blur(var(--tmb-ui-blur));
  color: var(--tmb-text);
  padding:20px;
}
.tmb-card--tight{ padding:14px; }
.tmb-card--soft{ box-shadow: var(--tmb-ui-shadow-soft); }
.tmb-card--pad-lg{ padding:28px; }

.tmb-quote{
  padding:20px 24px;
  border:1px solid var(--tmb-ui-border);
  border-left:4px solid var(--tmb-primary);
  border-radius:0 var(--tmb-radius) var(--tmb-radius) 0;
  background: var(--tmb-ui-surface);
  box-shadow: var(--tmb-ui-shadow);
  color: var(--tmb-text);
  line-height:1.75;
  font-weight:600;
}

.tmb-media-shell{
  overflow:hidden;
  border-radius: var(--tmb-radius-lg);
  border: 1px solid var(--tmb-ui-border);
  background: var(--tmb-ui-surface);
  box-shadow: var(--tmb-ui-shadow);
}
.tmb-media-shell img{
  width:100%;
  height:auto;
  object-fit:cover;
}

.tmb-rule,
.tmb-hr{
  height:1px;
  background: var(--tmb-ui-border);
  border:0;
  margin:16px 0;
}

.tmb-pill,
.tmb-badge,
.tmb-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:34px;
  padding:7px 12px;
  border-radius: var(--tmb-radius-pill);
  border:1px solid var(--tmb-ui-border);
  background: var(--tmb-ui-surface);
  box-shadow: var(--tmb-ui-shadow-soft);
  color: var(--tmb-text);
  font-size:.85rem;
  font-weight:700;
}

/* ----------------------------------------------------------------------
   8) Buttons / Links
------------------------------------------------------------------------ */
.tmb-button,
.tmb-btn,
.tmb-theme-button{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:10px 18px;
  border-radius: var(--tmb-radius-pill);
  border:1px solid var(--tmb-primary);
  background: var(--tmb-primary);
  color: var(--tmb-text-inverse);
  cursor:pointer;
  font-weight:700;
  text-decoration:none !important;
  box-shadow: var(--tmb-ui-shadow-soft);
  transition:
    transform var(--tmb-duration-fast) var(--tmb-ease),
    opacity var(--tmb-duration-fast) var(--tmb-ease),
    background var(--tmb-duration-fast) var(--tmb-ease),
    border-color var(--tmb-duration-fast) var(--tmb-ease),
    color var(--tmb-duration-fast) var(--tmb-ease);
}
.tmb-button:hover,
.tmb-btn:hover,
.tmb-theme-button:hover{
  text-decoration:none !important;
  color: var(--tmb-text-inverse);
  opacity:.95;
  transform: translateY(-1px);
}

.tmb-button--secondary,
.tmb-btn--secondary,
.tmb-theme-button--secondary{
  background: transparent;
  color: var(--tmb-text);
  border-color: var(--tmb-ui-border-strong);
  box-shadow:none;
}
.tmb-button--secondary:hover,
.tmb-btn--secondary:hover,
.tmb-theme-button--secondary:hover{
  color: var(--tmb-text);
  background: color-mix(in srgb, var(--tmb-primary) 6%, transparent);
}

.tmb-button--ghost,
.tmb-btn--ghost{
  background: transparent;
  color: var(--tmb-text);
  border-color: transparent;
  box-shadow:none;
}

.tmb-link{
  color: var(--tmb-primary);
  font-weight:800;
}
.tmb-link:hover{
  color: var(--tmb-accent);
  text-decoration:none;
}

body.tmb-surface-style-minimal .tmb-button,
body.tmb-surface-style-minimal .tmb-btn,
body.tmb-surface-style-minimal .tmb-theme-button{
  box-shadow:none;
}

/* ----------------------------------------------------------------------
   9) Forms / Inputs / Notices
------------------------------------------------------------------------ */
.tmb-field,
.tmb-theme-input,
.tmb-form input[type="text"],
.tmb-form input[type="email"],
.tmb-form input[type="tel"],
.tmb-form input[type="password"],
.tmb-form input[type="search"],
.tmb-form input[type="number"],
.tmb-form textarea,
.tmb-form select,
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
select,
textarea{
  width:100%;
  max-width:100%;
  padding:12px 14px;
  border-radius: var(--tmb-radius-sm);
  border:1px solid var(--tmb-ui-border);
  background: var(--tmb-surface-bg);
  color: var(--tmb-text);
  font-size:16px;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.05);
  transition:
    border-color var(--tmb-duration-fast) var(--tmb-ease),
    box-shadow var(--tmb-duration-fast) var(--tmb-ease),
    background var(--tmb-duration-fast) var(--tmb-ease);
}
.tmb-field:focus,
.tmb-theme-input:focus,
.tmb-form input:focus,
.tmb-form textarea:focus,
.tmb-form select:focus,
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
select:focus,
textarea:focus{
  outline:none;
  border-color: color-mix(in srgb, var(--tmb-primary) 30%, white);
  box-shadow: 0 0 0 4px var(--tmb-focus);
}

.tmb-form,
.tmb-form__inner{ display:grid; gap:16px; }
.tmb-form__field,
.tmb-field-wrap{ display:grid; gap:8px; }
.tmb-form__field label,
.tmb-label{
  font-weight:700;
  color: var(--tmb-text);
}
.tmb-form__actions{ display:flex; flex-wrap:wrap; gap:12px; }
.tmb-form__honeypot{ position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

.tmb-notice,
.tmb-form__notice{
  padding:14px 16px;
  border-radius: var(--tmb-radius);
  font-weight:600;
  border:1px solid var(--tmb-ui-border);
  background: var(--tmb-ui-surface);
}
.tmb-notice--success,
.tmb-form__notice--success{
  background: rgba(34,197,94,.10);
  border-color: rgba(34,197,94,.24);
  color:#166534;
}
.tmb-notice--error,
.tmb-form__notice--error{
  background: rgba(239,68,68,.08);
  border-color: rgba(239,68,68,.20);
  color:#991b1b;
}

/* ----------------------------------------------------------------------
   10) Generic Utility Helpers
------------------------------------------------------------------------ */
.tmb-center{ text-align:center; }
.tmb-sr-only{
  position:absolute !important;
  width:1px; height:1px;
  margin:-1px; padding:0;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}
.tmb-w-full{ width:100%; }
.tmb-max-none{ max-width:none; }
.tmb-mx-auto{ margin-inline:auto; }
.tmb-hidden{ display:none !important; }
.tmb-rounded{ border-radius: var(--tmb-radius); }
.tmb-rounded-lg{ border-radius: var(--tmb-radius-lg); }
.tmb-shadow-none{ box-shadow:none !important; }
.tmb-surface{ background: var(--tmb-ui-surface); }
.tmb-border{ border:1px solid var(--tmb-ui-border); }

/* ----------------------------------------------------------------------
   11) Woo / Commerce Shared Layer
------------------------------------------------------------------------ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-radius: var(--tmb-radius);
  border:1px solid var(--tmb-ui-border);
  box-shadow: var(--tmb-ui-shadow-soft);
  background: var(--tmb-ui-surface);
  padding:14px 16px;
}
.woocommerce-message{ border-color: color-mix(in srgb, var(--tmb-primary) 22%, white); }
.woocommerce-info{ border-color: var(--tmb-ui-border-strong); }
.woocommerce-error{ border-color: rgba(179,45,46,.28); }

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  appearance:none;
  border:1px solid var(--tmb-ui-border);
  background: var(--tmb-ui-surface);
  color: var(--tmb-text);
  border-radius: var(--tmb-radius-sm);
  padding:10px 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  cursor:pointer;
  transition: transform var(--tmb-duration-fast) var(--tmb-ease), background var(--tmb-duration-fast) var(--tmb-ease), border-color var(--tmb-duration-fast) var(--tmb-ease);
  box-shadow: var(--tmb-ui-shadow-soft);
  text-decoration:none !important;
  font-weight:800;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{
  background: color-mix(in srgb, var(--tmb-surface-bg) 92%, white);
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--tmb-primary) 20%, white);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
  background: color-mix(in srgb, var(--tmb-accent) 18%, transparent);
  border-color: color-mix(in srgb, var(--tmb-accent) 34%, white);
  color: var(--tmb-text);
}

.woocommerce table.shop_table{
  border:1px solid var(--tmb-ui-border);
  border-radius: var(--tmb-radius);
  overflow:hidden;
  background: var(--tmb-ui-surface);
  box-shadow: var(--tmb-ui-shadow-soft);
}
.woocommerce table.shop_table thead th{
  background: color-mix(in srgb, var(--tmb-primary) 5%, white);
  color: var(--tmb-text);
  font-weight:900;
  border-bottom:1px solid var(--tmb-ui-border);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{
  padding:12px 14px;
  border-top:1px solid var(--tmb-ui-border);
  vertical-align:middle;
}
.woocommerce table.shop_table tr:first-child td{ border-top:0; }

.woocommerce-account .woocommerce{
  max-width: var(--tmb-content-max);
  margin:0 auto;
  padding:18px var(--tmb-content-gutter);
}
.woocommerce-account .tmb-myacct-layout{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:16px;
  align-items:start;
}
.woocommerce-account .tmb-myacct-layout > .woocommerce-MyAccount-navigation,
.woocommerce-account .tmb-myacct-layout > .woocommerce-MyAccount-content{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  min-width:0;
}
.woocommerce-account .woocommerce-MyAccount-navigation{
  border:1px solid var(--tmb-ui-border);
  border-radius: var(--tmb-radius);
  background: var(--tmb-ui-surface);
  box-shadow: var(--tmb-ui-shadow-soft);
  backdrop-filter: blur(var(--tmb-ui-blur));
  -webkit-backdrop-filter: blur(var(--tmb-ui-blur));
  padding:10px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  border-radius: var(--tmb-radius-sm);
  border:1px solid transparent;
  background: color-mix(in srgb, var(--tmb-surface-bg) 65%, transparent);
  font-weight:800;
  color: var(--tmb-text);
  text-decoration:none !important;
  transition: background var(--tmb-duration-base) var(--tmb-ease), border-color var(--tmb-duration-base) var(--tmb-ease), transform var(--tmb-duration-base) var(--tmb-ease);
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
  background: color-mix(in srgb, var(--tmb-primary) 8%, transparent);
  border-color: color-mix(in srgb, var(--tmb-primary) 14%, white);
  transform: translateY(-1px);
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active > a,
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link.is-active > a{
  background: color-mix(in srgb, var(--tmb-accent) 18%, transparent);
  border-color: color-mix(in srgb, var(--tmb-accent) 22%, white);
}
.woocommerce-account .woocommerce-MyAccount-content{
  border:1px solid var(--tmb-ui-border);
  border-radius: var(--tmb-radius);
  background: var(--tmb-ui-surface);
  box-shadow: var(--tmb-ui-shadow);
  backdrop-filter: blur(var(--tmb-ui-blur));
  -webkit-backdrop-filter: blur(var(--tmb-ui-blur));
  padding:18px;
  min-height:340px;
}

.woocommerce-account .tmb-myacct-product-thumb{
  width:100px;
  height:100px;
  flex:0 0 100px;
  padding:0;
  overflow:hidden;
}
.woocommerce-account .tmb-myacct-product-thumb img,
.woocommerce-account .tmb-myacct-product-thumb__image{
  width:100px;
  height:100px;
  max-width:100px;
  max-height:100px;
  object-fit:cover;
}

@media (max-width: 980px){
  .woocommerce-account .tmb-myacct-layout{ grid-template-columns:1fr; }
}

/* =========================================
   TMB Pages — Theme Styles
   Plugins output structure/content only.
========================================= */

.tmb-home-page,.tmb-about-page,.tmb-about-split,.tmb-contact-page,.tmb-faq-page,.tmb-home-cta,.tmb-home-hero-rail,.tmb-home-categories,.tmb-home-products{font-family:var(--tmb-font-primary, var(--tmb-font-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif));}
.tmb-about-page__title,.tmb-about-split__title,.tmb-contact-page__title,.tmb-contact-page__details h2,.tmb-faq-page__title,.tmb-faq-page__question,.tmb-home-cta__title,.tmb-home-hero-rail__headline,.tmb-home-categories__title,.tmb-home-categories__card-title,.tmb-home-products__title,.tmb-home-products__empty-title,.tmb-form__title{font-family:var(--tmb-font-heading, var(--tmb-font-primary, var(--tmb-font-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif)));}
.tmb-about-page__lead,.tmb-about-page__quote,.tmb-about-page__feature p,.tmb-about-page__button,.tmb-about-split__lead,.tmb-about-split__quote,.tmb-about-split__feature p,.tmb-about-split__button,.tmb-contact-page__lead,.tmb-contact-page__details-copy,.tmb-contact-page__item,.tmb-faq-page__lead,.tmb-faq-page__answer,.tmb-faq-page__button,.tmb-home-cta__eyebrow,.tmb-home-cta__text,.tmb-home-cta__button,.tmb-home-hero-rail__eyebrow,.tmb-home-hero-rail__subhead,.tmb-home-hero-rail__tile-label,.tmb-home-categories__text,.tmb-home-categories__card-text,.tmb-home-categories__cta,.tmb-home-products__text,.tmb-home-products__button,.tmb-form__description,.tmb-form__notice,.tmb-form__field label,.tmb-form__field input,.tmb-form__field textarea,.tmb-form__submit{font-family:var(--tmb-font-primary, var(--tmb-font-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif));}

.tmb-about-page{padding:clamp(48px,7vw,88px) 0;}
.tmb-about-page,.tmb-about-page *{box-sizing:border-box;}
.tmb-about-page__container{max-width:1120px;margin:0 auto;padding:0 24px;display:grid;gap:32px;}
.tmb-about-page__stack{max-width:760px;margin:0 auto;display:grid;gap:18px;text-align:center;}
.tmb-about-page__title{margin:0;font-size:clamp(2rem,4vw,3.15rem);line-height:1.1;letter-spacing:-.025em;color:var(--tmb-text-color,#111827);}
.tmb-about-page__lead{margin:0;font-size:1rem;line-height:1.8;color:var(--tmb-text-muted,#4b5563);}
.tmb-about-page__lead p{margin:0;}
.tmb-about-page__quote{max-width:860px;margin:0 auto;padding:20px 24px;border:1px solid var(--tmb-border-color,#e5e7eb);border-radius:var(--tmb-radius-lg,20px);background:var(--tmb-surface-card,#fafafa);box-shadow:var(--tmb-shadow-card,none);font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.7;font-weight:600;color:var(--tmb-text-color,#1f2937);text-align:center;}
.tmb-about-page__features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.tmb-about-page__feature{padding:24px;border:1px solid var(--tmb-border-color,#e5e7eb);border-radius:var(--tmb-radius-base,18px);background:var(--tmb-surface-card,#fff);box-shadow:var(--tmb-shadow-card,none);display:grid;gap:10px;align-content:start;}
.tmb-about-page__feature h3{margin:0;font-size:1.05rem;line-height:1.3;color:var(--tmb-text-color,#111827);}
.tmb-about-page__feature p{margin:0;font-size:.98rem;line-height:1.75;color:var(--tmb-text-muted,#4b5563);}
.tmb-about-page__image{max-width:980px;margin:0 auto;border-radius:var(--tmb-radius-lg,24px);overflow:hidden;border:1px solid var(--tmb-border-color,#e5e7eb);background:var(--tmb-surface-card,#fff);box-shadow:var(--tmb-shadow-card,none);}
.tmb-about-page__image img{display:block;width:100%;height:auto;object-fit:cover;}
.tmb-about-page__actions{text-align:center;}
.tmb-about-page__button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;border:1px solid var(--tmb-color-10,var(--tmb-color-primary,#111827));background:var(--tmb-color-10,var(--tmb-color-primary,#111827));color:#fff;text-decoration:none;font-weight:700;line-height:1;transition:opacity .18s ease, transform .18s ease;}
.tmb-about-page__button:hover{color:#fff;opacity:.94;transform:translateY(-1px);}
@media (max-width:960px){.tmb-about-page__features{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:680px){.tmb-about-page__container{padding:0 18px;gap:24px;}.tmb-about-page__features{grid-template-columns:1fr;}.tmb-about-page__feature{padding:20px;}}
.tmb-about-split{padding:clamp(48px,7vw,88px) 0;}
.tmb-about-split,.tmb-about-split *{box-sizing:border-box;}
.tmb-about-split__container{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;gap:34px;}
.tmb-about-split__hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:28px;align-items:center;}
.tmb-about-split__copy{display:grid;gap:18px;}
.tmb-about-split__title{margin:0;font-size:clamp(2rem,4vw,3.3rem);line-height:1.06;letter-spacing:-.03em;color:var(--tmb-text-color,#111827);}
.tmb-about-split__lead{margin:0;font-size:1rem;line-height:1.85;color:var(--tmb-text-muted,#4b5563);}
.tmb-about-split__lead p{margin:0;}
.tmb-about-split__quote{padding:18px 20px;border-left:4px solid var(--tmb-color-10,var(--tmb-color-primary,#111827));background:var(--tmb-surface-card,#fafafa);border:1px solid var(--tmb-border-color,#e5e7eb);border-left-width:4px;border-radius:0 var(--tmb-radius-base,16px) var(--tmb-radius-base,16px) 0;box-shadow:var(--tmb-shadow-card,none);font-size:1rem;line-height:1.75;font-weight:600;color:var(--tmb-text-color,#1f2937);}
.tmb-about-split__actions{display:flex;flex-wrap:wrap;gap:12px;}
.tmb-about-split__button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;border:1px solid var(--tmb-color-10,var(--tmb-color-primary,#111827));background:var(--tmb-color-10,var(--tmb-color-primary,#111827));color:#fff;text-decoration:none;font-weight:700;line-height:1;transition:opacity .18s ease, transform .18s ease;}
.tmb-about-split__button:hover{color:#fff;opacity:.94;transform:translateY(-1px);}
.tmb-about-split__media{border-radius:var(--tmb-radius-lg,24px);overflow:hidden;border:1px solid var(--tmb-border-color,#e5e7eb);background:var(--tmb-surface-card,#fff);box-shadow:var(--tmb-shadow-card,none);min-height:100%;}
.tmb-about-split__media img{display:block;width:100%;height:100%;object-fit:cover;}
.tmb-about-split__features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.tmb-about-split__feature{padding:24px;border:1px solid var(--tmb-border-color,#e5e7eb);border-radius:var(--tmb-radius-base,18px);background:var(--tmb-surface-card,#fff);box-shadow:var(--tmb-shadow-card,none);display:grid;gap:10px;align-content:start;}
.tmb-about-split__feature h3{margin:0;font-size:1.05rem;line-height:1.3;color:var(--tmb-text-color,#111827);}
.tmb-about-split__feature p{margin:0;font-size:.98rem;line-height:1.75;color:var(--tmb-text-muted,#4b5563);}
@media (max-width:900px){.tmb-about-split__hero{grid-template-columns:1fr;}.tmb-about-split__media{order:-1;}.tmb-about-split__features{grid-template-columns:1fr;}}
@media (max-width:680px){.tmb-about-split__container{padding:0 18px;gap:24px;}.tmb-about-split__feature{padding:20px;}}
.tmb-form__honeypot{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.tmb-contact-page{padding:clamp(48px,7vw,88px) 0;}
.tmb-contact-page,.tmb-contact-page *{box-sizing:border-box;}
.tmb-contact-page__container{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;gap:28px;}
.tmb-contact-page__stack{max-width:760px;margin:0 auto;display:grid;gap:16px;text-align:center;}
.tmb-contact-page__title{margin:0;font-size:clamp(2rem,4vw,3.15rem);line-height:1.08;letter-spacing:-.03em;color:var(--tmb-text-color,#111827);}
.tmb-contact-page__lead{margin:0;font-size:1rem;line-height:1.8;color:var(--tmb-text-muted,#4b5563);}
.tmb-contact-page__lead p{margin:0;}
.tmb-contact-page__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:24px;align-items:start;}
.tmb-contact-page__content,.tmb-contact-page__form-shell{padding:24px;border:1px solid var(--tmb-border-color,#e5e7eb);border-radius:var(--tmb-radius-lg,24px);background:var(--tmb-surface-card,#fff);box-shadow:var(--tmb-shadow-card,none);}
.tmb-contact-page__details{display:grid;gap:14px;}
.tmb-contact-page__details h2{margin:0;font-size:1.2rem;line-height:1.2;color:var(--tmb-text-color,#111827);}
.tmb-contact-page__details-copy{color:var(--tmb-text-muted,#4b5563);line-height:1.75;}
.tmb-contact-page__details-copy p{margin:0;}
.tmb-contact-page__items{display:grid;gap:12px;}
.tmb-contact-page__item{padding:16px 18px;border:1px solid var(--tmb-border-color,#e5e7eb);border-radius:var(--tmb-radius-base,18px);background:var(--tmb-surface-alt,#f8fafc);}
.tmb-contact-page__item strong{display:block;margin:0 0 4px;color:var(--tmb-text-color,#111827);}
.tmb-contact-page__item span{display:block;color:var(--tmb-text-muted,#4b5563);line-height:1.7;}
.tmb-contact-page__image{overflow:hidden;border-radius:var(--tmb-radius-lg,24px);border:1px solid var(--tmb-border-color,#e5e7eb);}
.tmb-contact-page__image img{display:block;width:100%;height:auto;object-fit:cover;}
.tmb-form,.tmb-form *{box-sizing:border-box;}
.tmb-form__inner{display:grid;gap:16px;}
.tmb-form__title{margin:0;font-size:1.35rem;line-height:1.15;color:var(--tmb-text-color,#111827);}
.tmb-form__description{color:var(--tmb-text-muted,#4b5563);line-height:1.75;}
.tmb-form__description p{margin:0;}
.tmb-form__notice{padding:14px 16px;border-radius:var(--tmb-radius-base,18px);font-weight:600;}
.tmb-form__notice--success{background:rgba(34,197,94,.10);border:1px solid rgba(34,197,94,.22);color:#166534;}
.tmb-form__notice--error{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.18);color:#991b1b;}
.tmb-form__form{display:grid;gap:14px;}
.tmb-form__field{display:grid;gap:8px;}
.tmb-form__field label{font-weight:700;color:var(--tmb-text-color,#111827);}
.tmb-form__field input,.tmb-form__field textarea{width:100%;padding:12px 14px;border-radius:var(--tmb-radius-base,18px);border:1px solid var(--tmb-border-color,#dbe5ef);background:#fff;color:var(--tmb-text-color,#111827);}
.tmb-form__field textarea{min-height:140px;resize:vertical;}
.tmb-form__actions{display:flex;}
.tmb-form__submit{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;border:1px solid var(--tmb-color-10,var(--tmb-color-primary,#111827));background:var(--tmb-color-10,var(--tmb-color-primary,#111827));color:#fff;font-weight:700;cursor:pointer;transition:opacity .18s ease,transform .18s ease;}
.tmb-form__submit:hover{opacity:.94;transform:translateY(-1px);}
@media (max-width:920px){.tmb-contact-page__grid{grid-template-columns:1fr;}.tmb-contact-page__form-shell{order:-1;}}
@media (max-width:680px){.tmb-contact-page__container{padding:0 18px;}.tmb-contact-page__content,.tmb-contact-page__form-shell{padding:20px;}}
.tmb-faq-page{padding:clamp(48px,7vw,88px) 0;}
.tmb-faq-page,.tmb-faq-page *{box-sizing:border-box;}
.tmb-faq-page__container{max-width:980px;margin:0 auto;padding:0 24px;display:grid;gap:26px;}
.tmb-faq-page__head{max-width:760px;margin:0 auto;display:grid;gap:14px;text-align:center;}
.tmb-faq-page__title{margin:0;font-size:clamp(2rem,4vw,3.15rem);line-height:1.1;letter-spacing:-.025em;color:var(--tmb-text-color,#111827);}
.tmb-faq-page__lead{margin:0;font-size:1rem;line-height:1.8;color:var(--tmb-text-muted,#4b5563);}
.tmb-faq-page__lead p{margin:0;}
.tmb-faq-page__list{display:grid;gap:14px;}
.tmb-faq-page__item{border:1px solid var(--tmb-border-color,#e5e7eb);border-radius:var(--tmb-radius-base,18px);background:var(--tmb-surface-card,#fff);box-shadow:var(--tmb-shadow-card,none);overflow:hidden;}
.tmb-faq-page__question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:0;background:transparent;color:var(--tmb-text-color,#111827);font-size:1.02rem;font-weight:700;text-align:left;cursor:pointer;}
.tmb-faq-page__question:after{content:'+';font-size:24px;line-height:1;color:var(--tmb-color-primary,#0f2740);}
.tmb-faq-page__item.is-open .tmb-faq-page__question:after{content:'−';}
.tmb-faq-page__answer{display:none;padding:0 20px 20px;color:var(--tmb-text-muted,#4b5563);font-size:.98rem;line-height:1.8;}
.tmb-faq-page__item.is-open .tmb-faq-page__answer{display:block;}
.tmb-faq-page__answer p{margin:0;}
.tmb-faq-page__actions{text-align:center;padding-top:6px;}
.tmb-faq-page__button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;border:1px solid var(--tmb-color-10,var(--tmb-color-primary,#111827));background:var(--tmb-color-10,var(--tmb-color-primary,#111827));color:#fff;text-decoration:none;font-weight:700;line-height:1;transition:opacity .18s ease, transform .18s ease;}
.tmb-faq-page__button:hover{color:#fff;opacity:.94;transform:translateY(-1px);}
@media (max-width:680px){.tmb-faq-page__container{padding:0 18px;}}
#tmb-splash{
position: fixed;
inset: 0;
z-index: 9999;
display: flex;
align-items: center;
justify-content: center;
background: radial-gradient(closest-side at 50% 35%, rgba(17,153,187,.08), transparent 70%), #ffffff;
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
opacity: 0;
pointer-events: none;
transition: opacity .35s ease;
}
#tmb-splash.is-visible{opacity:1;pointer-events:auto;}
#tmb-splash.is-hidden{opacity:0;pointer-events:none;}
.tmb-splash__inner{
display:flex;
flex-direction:column;
align-items:center;
gap:14px;
padding:28px 34px;
border-radius:28px;
background:rgba(255,255,255,.82);
border:1px solid rgba(5,46,69,.12);
box-shadow:0 20px 50px rgba(2,10,25,.12), inset 0 1px 0 rgba(255,255,255,.6);
}
.tmb-splash__logo{width:min(320px,70vw);height:auto;display:block;}
.tmb-splash__welcome{margin:0;font-size:15px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--tmb-pages-text-soft, #6b7280);}
@media (prefers-reduced-motion: reduce){#tmb-splash{transition:none;}}
.tmb-home-cta{padding:clamp(48px,6vw,84px) 0;}
.tmb-home-cta,.tmb-home-cta *{box-sizing:border-box;}
.tmb-home-cta__container{max-width:1180px;margin:0 auto;padding:0 24px;}
.tmb-home-cta__panel{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(280px,.96fr);gap:26px;align-items:center;padding:28px;border:1px solid var(--tmb-border-color,#e5e7eb);border-radius:var(--tmb-radius-lg,24px);background:var(--tmb-surface-card,#fff);box-shadow:var(--tmb-shadow-card,none);}
.tmb-home-cta__copy{display:grid;gap:16px;align-content:start;}
.tmb-home-cta__eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--tmb-color-primary,#0f2740);}
.tmb-home-cta__title{margin:0;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.08;letter-spacing:-.03em;color:var(--tmb-text-color,#111827);}
.tmb-home-cta__text{margin:0;font-size:1rem;line-height:1.8;color:var(--tmb-text-muted,#4b5563);max-width:64ch;}
.tmb-home-cta__text p{margin:0;}
.tmb-home-cta__actions{display:flex;flex-wrap:wrap;gap:12px;}
.tmb-home-cta__button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;border:1px solid var(--tmb-color-10,var(--tmb-color-primary,#111827));background:var(--tmb-color-10,var(--tmb-color-primary,#111827));color:#fff;text-decoration:none;font-weight:700;line-height:1;transition:opacity .18s ease,transform .18s ease;}
.tmb-home-cta__button:hover{color:#fff;opacity:.94;transform:translateY(-1px);}
.tmb-home-cta__media{border-radius:var(--tmb-radius-base,18px);overflow:hidden;border:1px solid var(--tmb-border-color,#e5e7eb);background:var(--tmb-surface-alt,#f8fafc);min-height:100%;}
.tmb-home-cta__media img{display:block;width:100%;height:100%;object-fit:cover;}
@media (max-width:900px){.tmb-home-cta__panel{grid-template-columns:1fr;}.tmb-home-cta__media{order:-1;}}
@media (max-width:680px){.tmb-home-cta__container{padding:0 18px;}.tmb-home-cta__panel{padding:22px;gap:20px;}}
.tmb-home-hero-rail{padding:0;border-top:1px solid var(--tmb-section-border-strong,var(--tmb-border-color,#dbe5ef));border-bottom:1px solid var(--tmb-section-border-strong,var(--tmb-border-color,#dbe5ef));background:var(--tmb-section-surface,var(--tmb-surface-card,#ffffff));box-shadow:var(--tmb-section-shadow,var(--tmb-shadow-card,none));overflow:visible!important;}
.tmb-home-hero-rail{--tmb-hr-top:0px;}
.tmb-home-hero-rail__scrolly{position:relative;overflow:visible!important;}
.tmb-home-hero-rail__sticky{position:sticky;top:var(--tmb-hr-top);z-index:5;padding:20px 0 16px;background:var(--tmb-section-surface,var(--tmb-surface-card,#ffffff));backdrop-filter:blur(var(--tmb-section-backdrop-blur,0px));-webkit-backdrop-filter:blur(var(--tmb-section-backdrop-blur,0px));border-top:1px solid var(--tmb-section-border-strong,var(--tmb-border-color,#dbe5ef));border-bottom:1px solid var(--tmb-section-border-strong,var(--tmb-border-color,#dbe5ef));}
.tmb-home-hero-rail__top{padding:0 0 10px;}
.tmb-home-hero-rail__inner{max-width:1180px;margin:0 auto;padding:0 24px;}
.tmb-home-hero-rail__eyebrow{margin:0 0 10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--tmb-text-muted,#64748b);font-weight:800;}
.tmb-home-hero-rail__headline{margin:0 0 10px;font-size:clamp(2rem,4.6vw,3.5rem);line-height:1.03;letter-spacing:-.03em;color:var(--tmb-text-color,#111827);}
.tmb-home-hero-rail__subhead{margin:0;max-width:64ch;color:var(--tmb-text-muted,#4b5563);font-size:1rem;line-height:1.7;}
.tmb-home-hero-rail__rail-wrap{overflow:hidden;width:100%;}
.tmb-home-hero-rail__rail{display:flex;gap:14px;padding:10px 24px 12px;will-change:transform;transform:translate3d(0,0,0);}
.tmb-home-hero-rail__tile{flex:0 0 auto;width:clamp(240px,36vw,420px);height:clamp(160px,22vw,240px);border-radius:22px;border:1px solid rgba(255,255,255,.22);box-shadow:0 22px 44px rgba(2,10,25,.18);text-decoration:none;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:18px;color:#fff;background-image:var(--tmb-hero-tile-bg);background-size:cover;background-position:center;background-repeat:no-repeat;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;}
.tmb-home-hero-rail__tile::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 520px at 30% 10%, rgba(0,0,0,.10), rgba(0,0,0,0) 60%),linear-gradient(to top, rgba(0,0,0,.62), rgba(0,0,0,.20) 58%, rgba(0,0,0,0));z-index:1;}
.tmb-home-hero-rail__tile::after{content:"";position:absolute;inset:0;border-radius:22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.20);z-index:2;pointer-events:none;}
.tmb-home-hero-rail__tile:hover{transform:translateY(-3px);box-shadow:0 28px 60px rgba(2,10,25,.28);filter:saturate(1.05);}
.tmb-home-hero-rail__tile-label{position:relative;z-index:3;font-size:clamp(20px,2.4vw,30px);font-weight:900;letter-spacing:-.02em;color:#fff;text-shadow:0 8px 22px rgba(0,0,0,.42);}
.tmb-home-hero-rail__progress{max-width:1180px;margin:2px auto 0;padding:0 24px 4px;}
.tmb-home-hero-rail__progress-bar{display:block;height:3px;width:0%;border-radius:99px;background:var(--tmb-color-accent,var(--tmb-color-10,#f4b400));box-shadow:0 8px 18px rgba(244,180,0,.25);}
@media (max-width:880px){.tmb-home-hero-rail__sticky{position:relative;top:auto;}.tmb-home-hero-rail__rail-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;}.tmb-home-hero-rail__rail{transform:none!important;will-change:auto;padding-bottom:16px;}.tmb-home-hero-rail__tile{scroll-snap-align:start;width:clamp(240px,78vw,420px);height:190px;}}
@media (prefers-reduced-motion:reduce){.tmb-home-hero-rail__sticky{position:relative;}.tmb-home-hero-rail__rail-wrap{overflow-x:auto;scroll-snap-type:x mandatory;}.tmb-home-hero-rail__rail{transform:none!important;}.tmb-home-hero-rail__tile{scroll-snap-align:start;}}





.tmb-home-categories{padding:clamp(48px,6vw,84px) 0;}
.tmb-home-categories,.tmb-home-categories *{box-sizing:border-box;}
.tmb-home-categories__container{max-width:1180px;margin:0 auto;padding:0 24px;}
.tmb-home-categories__head{text-align:center;margin-bottom:22px;}
.tmb-home-categories__title{margin:0 0 8px 0;color:var(--tmb-text-color,#111827);font-size:clamp(2rem,3.4vw,3rem);letter-spacing:-0.03em;line-height:1.08;}
.tmb-home-categories__text{margin:0 auto;max-width:62ch;color:var(--tmb-text-muted,#4b5563);line-height:1.7;font-size:1rem;}
.tmb-home-categories__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px;}
.tmb-home-categories__card{position:relative;padding:0;overflow:hidden;min-height:220px;display:flex;align-items:stretch;transform:translateY(8px);opacity:0;transition:opacity .5s ease,transform .5s ease;border:1px solid var(--tmb-border-color,#dbe5ef);border-radius:var(--tmb-radius-lg,24px);background:var(--tmb-surface-card,#fff);box-shadow:var(--tmb-shadow-card,none);}
.tmb-home-categories__card::before{content:"";position:absolute;inset:0;background-image:var(--tmb-cat-bg);background-size:cover;background-position:center;opacity:0;transform:scale(1.02);transition:opacity .35s ease,transform .6s ease;filter:saturate(1.05);}
.tmb-home-categories__card::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom, rgba(15,39,64,.15), rgba(15,39,64,.58));opacity:0;transition:opacity .35s ease;}
.tmb-home-categories__inner{position:relative;z-index:2;padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;width:100%;}
.tmb-home-categories__card-title{margin:0;color:var(--tmb-text-color,#111827);font-size:1.15rem;letter-spacing:-0.01em;}
.tmb-home-categories__card-text{margin:0;color:var(--tmb-text-muted,#4b5563);line-height:1.65;font-size:.95rem;max-width:48ch;}
.tmb-home-categories__cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:14px;border:1px solid var(--tmb-border-color,#dbe5ef);background:rgba(255,255,255,.78);color:var(--tmb-text-color,#111827);font-weight:800;text-decoration:none;box-shadow:0 8px 18px rgba(2,10,25,.06);transition:transform .15s ease,background .15s ease,border-color .15s ease;}
.tmb-home-categories__cta:hover{text-decoration:none;transform:translateY(-1px);background:rgba(255,255,255,.92);border-color:var(--tmb-color-30,var(--tmb-color-secondary,#cfd7e2));color:var(--tmb-text-color,#111827);}
.tmb-home-categories__arrow{font-size:16px;line-height:1;opacity:.9;}
.tmb-home-categories__card:hover::before{opacity:1;transform:scale(1.06);}
.tmb-home-categories__card:hover::after{opacity:1;}
.tmb-home-categories__card:hover .tmb-home-categories__card-title,
.tmb-home-categories__card:hover .tmb-home-categories__card-text{color:rgba(255,255,255,.94);}
.tmb-home-categories__card:hover .tmb-home-categories__cta{background:rgba(255,255,255,.9);border-color:rgba(255,255,255,.35);}
.tmb-home-categories__card:hover .tmb-home-categories__arrow{color:var(--tmb-color-accent,var(--tmb-color-10,#f4b400));}
.tmb-home-categories__card.is-inview{opacity:1;transform:translateY(0);}
@media (max-width:1024px){.tmb-home-categories__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:680px){.tmb-home-categories__container{padding:0 18px;}.tmb-home-categories__grid{grid-template-columns:1fr;}.tmb-home-categories__card{min-height:210px;}}
.tmb-home-products{padding:clamp(48px,6vw,84px) 0;}
.tmb-home-products,.tmb-home-products *{box-sizing:border-box;}
.tmb-home-products__container{max-width:1180px;margin:0 auto;padding:0 24px;}
.tmb-home-products__head{display:grid;gap:12px;justify-items:center;text-align:center;margin-bottom:18px;}
.tmb-home-products__title{margin:0;font-size:clamp(2rem,3.6vw,3rem);line-height:1.08;letter-spacing:-.03em;color:var(--tmb-text-color,#111827);}
.tmb-home-products__text{margin:0;max-width:64ch;font-size:1rem;line-height:1.75;color:var(--tmb-text-muted,#4b5563);}
.tmb-home-products__actions{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;}
.tmb-home-products__button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--tmb-border-color,#dbe5ef);background:var(--tmb-surface-card,#fff);box-shadow:var(--tmb-shadow-card,none);color:var(--tmb-text-color,#111827);text-decoration:none;font-weight:700;transition:transform .15s ease,opacity .15s ease,border-color .15s ease;cursor:pointer;}
.tmb-home-products__button:hover{transform:translateY(-1px);opacity:.96;color:var(--tmb-text-color,#111827);border-color:var(--tmb-color-30,var(--tmb-color-secondary,#cfd7e2));}
.tmb-home-products__button--primary{background:var(--tmb-color-10,var(--tmb-color-primary,#0f2740));border-color:var(--tmb-color-10,var(--tmb-color-primary,#0f2740));color:#fff;}
.tmb-home-products__button--primary:hover{color:#fff;border-color:var(--tmb-color-10,var(--tmb-color-primary,#0f2740));}
.tmb-home-products__grid{margin-top:16px;}
.tmb-home-products__products{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:0 !important;margin:0 !important;}
.tmb-home-products__products::before,.tmb-home-products__products::after{content:none !important;}
.tmb-home-products__empty{padding:24px;border:1px solid var(--tmb-border-color,#dbe5ef);border-radius:var(--tmb-radius-lg,24px);background:var(--tmb-surface-card,#fff);box-shadow:var(--tmb-shadow-card,none);display:grid;gap:12px;justify-items:start;}
.tmb-home-products__empty-title{margin:0;font-size:1.15rem;color:var(--tmb-text-color,#111827);}
.tmb-home-products__empty-text{margin:0;color:var(--tmb-text-muted,#4b5563);line-height:1.7;}
@media (max-width:1024px){.tmb-home-products__products{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:680px){.tmb-home-products__container{padding:0 18px;}.tmb-home-products__products{grid-template-columns:1fr;}}
.tmb-hide-native-title .entry-title,.tmb-hide-native-title .page-title,.tmb-hide-native-title .wp-block-post-title{display:none !important;}

/* =========================================
   TMB Search — Theme Styles
========================================= */
.tmb-search{display:flex;flex-direction:column;gap:12px;position:relative;}
.tmb-search__field{width:100%;}
.tmb-search__input{width:100%;box-sizing:border-box;border-radius:9999px;border:1px solid var(--tmb-search-border-strong,var(--tmb-border-strong,rgba(166,189,208,.55)));background:var(--tmb-search-input-bg,var(--tmb-glass-bg,rgba(255,255,255,.70)));padding:12px 14px;font-size:16px;font-weight:800;color:var(--tmb-search-text,var(--tmb-ink,var(--tmb-primary)));outline:none;-webkit-appearance:none;box-shadow:var(--tmb-search-input-shadow,var(--tmb-shadow-soft,0 1px 1px rgba(15,23,32,.06)));}
.tmb-search__input::placeholder{color:var(--tmb-search-placeholder,rgba(33,45,58,.55));font-weight:800;}
.tmb-search__results{display:flex;flex-direction:column;gap:8px;}
.tmb-search__hint{padding:10px 12px;border-radius:14px;border:1px solid var(--tmb-search-border,var(--tmb-border,rgba(166,189,208,.35)));background:var(--tmb-search-hint-bg,rgba(255,255,255,.50));color:var(--tmb-search-muted,rgba(33,45,58,.72));font-weight:800;font-size:13px;}
.tmb-search__result{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;border:1px solid var(--tmb-search-border,var(--tmb-border,rgba(166,189,208,.32)));background:var(--tmb-search-result-bg,rgba(255,255,255,.52));text-decoration:none;color:inherit;}
.tmb-search__thumb{width:var(--tmb-search-thumb-size,44px);height:var(--tmb-search-thumb-size,44px);border-radius:12px;overflow:hidden;flex:0 0 auto;border:1px solid var(--tmb-search-border,var(--tmb-border,rgba(166,189,208,.35)));background:var(--tmb-search-thumb-bg,rgba(255,255,255,.65));display:flex;align-items:center;justify-content:center;}
.tmb-search__thumb img{display:block;width:100%;height:100%;object-fit:cover;}
.tmb-search__thumb--ph{font-weight:900;color:var(--tmb-search-placeholder,rgba(33,45,58,.55));font-size:12px;letter-spacing:.04em;}
.tmb-search__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.tmb-search__title{font-weight:900;font-size:14px;color:var(--tmb-search-text,var(--tmb-ink,var(--tmb-primary)));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tmb-search__sub{font-weight:800;font-size:12px;color:var(--tmb-search-subtext,rgba(33,45,58,.62));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tmb-search__chev{width:18px;height:18px;opacity:.65;flex:0 0 18px;color:var(--tmb-search-text,var(--tmb-ink,var(--tmb-primary)));}
.tmb-search__chev path{fill:currentColor;}
.tmb-search-notice{border-radius:14px;border:1px solid var(--tmb-search-border,var(--tmb-border,rgba(15,23,32,.12)));background:var(--tmb-search-notice-bg,rgba(255,255,255,.72));padding:12px 14px;font-weight:800;}
.tmb-search-notice--error{border-color:rgba(179,45,46,.35);color:#b32d2e;}


/* =========================================
   TMB Locations — Theme Styles
========================================= */
/* ==========================================================================
   TMB Locations locator styling (theme-controlled, scoped)
   Works alongside universal-styling.css without conflicts.
   ========================================================================== */

/* Scope all visuals inside the locator */
.tmb-locator{
  /* Local alias tokens mapped to universal TMB variables */
  --dl-ink: var(--tmb-text);
  --dl-muted: var(--tmb-text-muted);
  --dl-bg: var(--tmb-page-bg);
  --dl-surface: var(--tmb-ui-surface);
  --dl-surface-2: var(--tmb-surface-elevated);
  --dl-border: var(--tmb-ui-border);
  --dl-border-2: var(--tmb-ui-border-strong);
  --dl-shadow: var(--tmb-ui-shadow);
  --dl-shadow-soft: var(--tmb-ui-shadow-soft);
  --dl-radius: var(--tmb-radius-lg);
  --dl-radius-sm: var(--tmb-radius-sm);
  --dl-focus: var(--tmb-focus);

  --dl-accent: var(--tmb-primary);
  --dl-accent-2: var(--tmb-accent);
  --dl-title: var(--tmb-primary);
  --dl-card: var(--tmb-surface-bg);

  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  padding: 40px 20px;
  background: var(--dl-bg);
  box-sizing: border-box;
}

/* Left column (list) */
.tmb-locator .tmb-locator__list{
  flex: 1;
  max-width: 30%;
  height: 600px;
  display: flex;
  flex-direction: column;
  padding: 0;
  border-radius: var(--dl-radius);
  border: 1px solid var(--dl-border);
  background: var(--dl-surface);
  backdrop-filter: blur(var(--tmb-ui-blur));
  -webkit-backdrop-filter: blur(var(--tmb-ui-blur));
  box-shadow: var(--dl-shadow);
  overflow: hidden;
  box-sizing: border-box;
}

/* Header within list */
.tmb-locator .tmb-locator__list-header{
  padding: 18px;
  background: var(--dl-surface-2);
  border-bottom: 1px solid var(--dl-border);
  box-shadow: var(--dl-shadow-soft);
  z-index: 1;
}

.tmb-locator .tmb-locator__list h2{
  margin: 0 0 10px;
  font-family: var(--tmb-font-primary);
  font-size: 20px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -0.01em;
  color: var(--dl-title);
}

/* Unified search + select */
.tmb-locator .tmb-locator__search-group{
  display: flex;
  gap: 0;
  margin-top: 10px;
  margin-bottom: 0;
}

.tmb-locator .tmb-locator__search-input,
.tmb-locator .tmb-locator__distance-select{
  min-height: 44px;
  padding: 10px 12px;
  font-size: 15px;
  border: 1px solid var(--dl-border);
  background: rgba(255,255,255,.86);
  color: var(--dl-ink);
  box-shadow: inset 0 1px 2px rgba(15, 23, 32, .06);
  box-sizing: border-box;
}

.tmb-locator .tmb-locator__search-input{
  flex: 1;
  width: 100%;
  border-right: 0;
  border-radius: var(--dl-radius-sm) 0 0 var(--dl-radius-sm);
}

.tmb-locator .tmb-locator__distance-select{
  width: 140px;
  border-left: 0;
  border-radius: 0 var(--dl-radius-sm) var(--dl-radius-sm) 0;
  appearance: none;
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(15,23,32,.55) 50%),
    linear-gradient(135deg, rgba(15,23,32,.55) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 34px;
}

/* Focus state aligned with TMB */
.tmb-locator .tmb-locator__search-input:focus,
.tmb-locator .tmb-locator__distance-select:focus{
  outline: none;
  border-color: rgba(31,182,166,.55);
  box-shadow: 0 0 0 4px var(--dl-focus);
}

/* Scroll only the list content */
.tmb-locator .tmb-locator__items-scroll{
  flex: 1;
  overflow-y: auto;
  padding: 16px;
  box-sizing: border-box;
}

/* Scrollbar styling (apply to the actual scroll container) */
.tmb-locator .tmb-locator__items-scroll::-webkit-scrollbar{
  width: 8px;
}
.tmb-locator .tmb-locator__items-scroll::-webkit-scrollbar-thumb{
  background: rgba(31,182,166,.55);
  border-radius: 999px;
}
.tmb-locator .tmb-locator__items-scroll::-webkit-scrollbar-track{
  background: rgba(15, 23, 32, .06);
  border-radius: 999px;
}

/* Dealer cards */
.tmb-locator .tmb-locator__item{
  background: rgba(255,255,255,.86);
  border: 1px solid var(--dl-border);
  border-radius: var(--dl-radius);
  padding: 14px;
  margin-bottom: 14px;
  color: var(--dl-ink);
  box-shadow: var(--dl-shadow-soft);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
  cursor: pointer;
}

.tmb-locator .tmb-locator__item:last-child{
  margin-bottom: 0;
}

.tmb-locator .tmb-locator__item h3{
  margin: 0 0 6px;
  font-family: var(--tmb-font-primary);
  font-size: 16px;
  line-height: 1.2;
  font-weight: 900;
  color: var(--dl-title);
}

.tmb-locator .tmb-locator__item p{
  margin: 0 0 6px;
  font-family: var(--tmb-font-primary);
  font-size: 14px;
  line-height: 1.45;
  color: rgba(15,23,32,.78);
}

.tmb-locator .tmb-locator__item p:last-child{
  margin-bottom: 0;
}

.tmb-locator .tmb-locator__item a{
  color: inherit;
  text-decoration: none;
}
.tmb-locator .tmb-locator__item a:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Distance line: make it read like a subtle badge */
.tmb-locator .tmb-locator__distance{
  margin-top: 8px;
  font-weight: 800;
  color: rgba(15,23,32,.72);
}

/* Active locator highlight */
.tmb-locator .tmb-locator__item.active{
  background: linear-gradient(135deg, rgba(31,182,166,.16), rgba(183,243,74,.10));
  border-color: rgba(31,182,166,.45);
  box-shadow: 0 14px 34px rgba(15, 23, 32, .12);
  transform: translateY(-1px);
}

.tmb-locator .tmb-locator__item.active h3{
  color: var(--dl-title);
}
.tmb-locator .tmb-locator__item.active p,
.tmb-locator .tmb-locator__item.active .tmb-locator__distance{
  color: rgba(15,23,32,.82);
}

/* Map */
.tmb-locator .tmb-locator__map{
  flex: 2;
  width: 70%;
  height: 600px;
  border-radius: var(--dl-radius);
  border: 1px solid var(--dl-border);
  background: rgba(15,23,32,.06);
  box-shadow: var(--dl-shadow);
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}

/* Responsive */
@media (max-width: 1024px){
  .tmb-locator{
    flex-direction: column;
  }
  .tmb-locator .tmb-locator__list,
  .tmb-locator .tmb-locator__map{
    width: 100%;
    max-width: 100%;
  }
  .tmb-locator .tmb-locator__map{
    height: 420px;
  }
}

@media (max-width: 768px){
  .tmb-locator{
    padding: 22px 14px;
  }
  .tmb-locator .tmb-locator__map{
    min-height: 400px;
  }

  /* Your JS uses .tmb-locator__items to collapse the list on mobile */
  .tmb-locator .tmb-locator__items{
    display: none;
  }

  /* Make select narrower on mobile */
  .tmb-locator .tmb-locator__distance-select{
    width: 130px;
  }
}


.tmb-locator-infowindow{
  text-align:center;
  color: var(--dl-ink);
}
.tmb-locator-infowindow__logo{
  width:100px;
  height:auto;
  margin:0 auto 10px;
  display:block;
}
.tmb-locator-infowindow__title{
  margin:0 0 6px;
  font-size:16px;
  line-height:1.2;
  font-weight:900;
  color:var(--dl-title);
}
.tmb-locator-infowindow__address,
.tmb-locator-infowindow__phone,
.tmb-locator-infowindow__distance{
  margin:5px 0 0;
  font-size:14px;
  line-height:1.45;
}
.tmb-locator-infowindow__distance{
  font-weight:700;
}

/* ----------------------------------------------------------------------
   Header / Site Navigation
   ---------------------------------------------------------------------- */
.tmb-skip{
  position:absolute;
  left:-999px;
  top:10px;
  z-index:9999;
  padding:10px 12px;
  background:var(--tmb-surface-bg);
  border:1px solid var(--tmb-ui-border);
  border-radius:var(--tmb-radius-sm);
  box-shadow:var(--tmb-ui-shadow-soft);
}

.tmb-skip:focus{
  left:10px;
}

.tmb-header{
  position:var(--tmb-head-position, sticky);
  top:0;
  z-index:999;
  background:var(--tmb-surface-bg);
  border-bottom:1px solid var(--tmb-ui-border);
}

.tmb-header__bar{
  min-height:var(--tmb-head-h, 74px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.tmb-header__bar > *{
  min-width:0;
}

.tmb-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:180px;
}

.tmb-logo{
  display:flex;
  align-items:center;
  line-height:0;
  text-decoration:none !important;
}

.tmb-logo img{
  height:var(--tmb-logo-h, 44px);
  width:auto;
  max-width:100%;
}

.tmb-logo__img--inverted{
  display:none;
}

.tmb-logo__text{
  color:var(--tmb-primary);
  font-weight:900;
  line-height:1.1;
}

.tmb-nav{
  flex:1;
  display:flex;
  justify-content:center;
  min-width:0;
}

.tmb-nav .menu,
.tmb-nav ul{
  list-style:none;
  display:flex;
  align-items:center;
  gap:18px;
  margin:0;
  padding:0;
  min-width:0;
}

.tmb-nav a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 0;
  color:var(--tmb-text);
  font-weight:800;
  text-decoration:none !important;
  white-space:nowrap;
}

.tmb-nav a:hover,
.tmb-nav .current-menu-item > a,
.tmb-nav .current_page_item > a{
  color:var(--tmb-primary);
}

.tmb-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:180px;
  flex:0 1 auto;
}

.tmb-header .tmb-btn,
.tmb-mobile .tmb-btn{
  min-height:42px;
  padding:9px 12px;
  border-radius:var(--tmb-radius-sm);
  background:var(--tmb-surface-bg);
  color:var(--tmb-text);
  border-color:var(--tmb-ui-border);
  box-shadow:none;
}

.tmb-header .tmb-btn:hover,
.tmb-mobile .tmb-btn:hover{
  background:var(--tmb-surface-alt);
  color:var(--tmb-text);
}

.tmb-header .tmb-btn svg,
.tmb-mobile .tmb-btn svg{
  width:18px;
  height:18px;
  flex:0 0 auto;
}

.tmb-cart{
  position:relative;
}

.tmb-cart-count{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:var(--tmb-radius-pill);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
  color:var(--tmb-text);
  background:var(--tmb-accent);
  border:2px solid var(--tmb-surface-bg);
}

.tmb-header-search{
  display:none;
  padding:12px 0 16px;
}

.tmb-header-search.is-open{
  display:block;
}

.tmb-search-fallback-form input[type="search"]{
  width:100%;
  box-sizing:border-box;
}

.tmb-burger{
  display:none;
}

.tmb-mobile{
  display:none;
  border-top:1px solid var(--tmb-ui-border);
  padding:12px 0 16px;
}

.tmb-mobile.is-open{
  display:block;
}

.tmb-mobile .menu,
.tmb-mobile ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.tmb-mobile a:not(.tmb-btn){
  display:flex;
  padding:12px;
  border:1px solid var(--tmb-ui-border);
  border-radius:var(--tmb-radius-sm);
  background:var(--tmb-surface-bg);
  color:var(--tmb-text);
  font-weight:800;
  text-decoration:none !important;
}

.tmb-mobile a:not(.tmb-btn):hover{
  background:var(--tmb-surface-alt);
}

.tmb-mobile__quick{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:10px;
}

.tmb-mobile__search{
  margin:10px 0 12px;
}

@media (max-width:900px){
  .tmb-header__bar{
    min-height:var(--tmb-head-h-mobile, 70px);
  }

  .tmb-nav{
    display:none;
  }

  .tmb-burger{
    display:inline-flex;
  }

  .tmb-brand{
    min-width:0;
    flex:0 1 auto;
  }

  .tmb-actions{
    min-width:0;
    flex:0 1 auto;
    gap:8px;
  }

  .tmb-logo img{
    height:var(--tmb-logo-h-mobile, 34px);
  }

  .tmb-logo--has-inverted .tmb-logo__img--standard{
    display:none;
  }

  .tmb-logo--has-inverted .tmb-logo__img--inverted{
    display:block;
  }
}

@media (max-width:520px){
  .tmb-mobile__quick{
    grid-template-columns:1fr;
  }

  .tmb-btn .tmb-btn__label{
    display:none;
  }

  .tmb-actions .tmb-search-btn,
  .tmb-actions .tmb-account{
    display:none;
  }
}

/* ----------------------------------------------------------------------
   Footer — TMB Dynamic Footer
------------------------------------------------------------------------ */
.tmb-footer{
  margin-top:48px;
  padding:28px 0 18px;
  border-top:1px solid var(--tmb-ui-border);
  background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--tmb-primary) 4%, transparent));
}

.tmb-footer__panel{
  padding:18px;
}

.tmb-footer__grid{
  align-items:start;
}

.tmb-footer__logo{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  line-height:0;
  text-decoration:none !important;
}

.tmb-footer__logo img{
  height:var(--tmb-footer-logo-height, 64px);
  width:auto;
  max-width:100%;
}

.tmb-footer__site-name{
  text-decoration:none !important;
}

.tmb-footer__blurb{
  max-width:56ch;
}

.tmb-footer__links,
.tmb-footer__contact-list{
  list-style:none;
  margin:0;
  padding:0;
}

.tmb-footer__links{
  display:grid;
  gap:8px;
}

.tmb-footer__links a{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  padding:8px 10px;
  border-radius:var(--tmb-radius-sm);
  border:1px solid transparent;
  background:color-mix(in srgb, var(--tmb-surface-bg) 58%, transparent);
  color:var(--tmb-text);
  font-weight:800;
  text-decoration:none !important;
}

.tmb-footer__links a:hover{
  background:color-mix(in srgb, var(--tmb-primary) 8%, transparent);
  border-color:var(--tmb-ui-border);
  text-decoration:none !important;
}

.tmb-footer__contact-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:var(--tmb-text);
  font-size:.94rem;
  line-height:1.5;
}

.tmb-footer__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 22px;
  width:22px;
  height:22px;
  margin-top:1px;
  color:var(--tmb-secondary);
}

.tmb-footer__icon svg{
  width:20px;
  height:20px;
}

.tmb-footer__social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:var(--tmb-radius-sm);
  border:1px solid var(--tmb-ui-border);
  background:color-mix(in srgb, var(--tmb-surface-bg) 75%, transparent);
  color:var(--tmb-text);
  box-shadow:var(--tmb-ui-shadow-soft);
  text-decoration:none !important;
  transition:transform var(--tmb-duration-fast) var(--tmb-ease), background var(--tmb-duration-fast) var(--tmb-ease);
}

.tmb-footer__social-link:hover{
  background:var(--tmb-surface-bg);
  transform:translateY(-1px);
  text-decoration:none !important;
}

.tmb-footer__social-link svg{
  width:18px;
  height:18px;
}

.tmb-footer__bottom{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--tmb-ui-border);
}

.tmb-footer__copy,
.tmb-footer__meta{
  margin:0;
  color:var(--tmb-text-muted);
}

.tmb-footer__meta{
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.tmb-footer__dot{
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:var(--tmb-radius-pill);
  background:var(--tmb-accent);
}

@media (max-width:900px){
  .tmb-footer__grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:520px){
  .tmb-footer__bottom{
    align-items:flex-start;
  }
}

/* Footer mode switching: desktop gets the original footer, mobile gets the app tray. */
.tmb-footer--mobile{display:none;}
.tmb-footer--desktop{display:block;}

/* ----------------------------------------------------------------------
   Footer — Mobile App Thumb Tray (Mobile Only)
------------------------------------------------------------------------ */
.tmb-footer.tmb-thumb-tray{
  position:sticky;
  bottom:0;
  z-index:80;
  width:100%;
  margin:40px 0 0;
  padding:10px max(12px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-right));
  border-top:1px solid color-mix(in srgb, var(--tmb-ui-border) 84%, transparent);
  background:color-mix(in srgb, var(--tmb-surface-bg) 94%, transparent);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  box-shadow:0 -14px 34px rgba(15,23,32,.10);
}

.tmb-thumb-tray__nav{
  width:min(100%, 680px);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  align-items:center;
  gap:6px;
}

.tmb-thumb-tray__item{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:58px;
  padding:7px 4px 6px;
  border:1px solid transparent;
  border-radius:18px;
  color:var(--tmb-text-muted);
  text-decoration:none !important;
  font-weight:900;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  transition:
    color var(--tmb-duration-fast) var(--tmb-ease),
    background var(--tmb-duration-fast) var(--tmb-ease),
    border-color var(--tmb-duration-fast) var(--tmb-ease),
    transform var(--tmb-duration-fast) var(--tmb-ease);
}

.tmb-thumb-tray__item:hover,
.tmb-thumb-tray__item:focus-visible{
  color:var(--tmb-text);
  background:color-mix(in srgb, var(--tmb-primary) 7%, transparent);
  text-decoration:none !important;
}

.tmb-thumb-tray__item:focus-visible{
  outline:3px solid color-mix(in srgb, var(--tmb-accent) 48%, transparent);
  outline-offset:2px;
}

.tmb-thumb-tray__item:active{
  transform:translateY(1px) scale(.98);
}

.tmb-thumb-tray__item.is-active{
  color:var(--tmb-primary);
  border-color:color-mix(in srgb, var(--tmb-primary) 16%, transparent);
  background:linear-gradient(180deg, color-mix(in srgb, var(--tmb-primary) 12%, transparent), color-mix(in srgb, var(--tmb-accent) 8%, transparent));
}

.tmb-thumb-tray__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  line-height:1;
}

.tmb-thumb-tray__icon svg{
  display:block;
  width:24px;
  height:24px;
}

.tmb-thumb-tray__label{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
  line-height:1.05;
  letter-spacing:-.02em;
}

@media (min-width:901px){
  .tmb-footer.tmb-thumb-tray{
    position:relative;
    bottom:auto;
    padding:14px 16px;
  }

  .tmb-thumb-tray__nav{
    padding:6px;
    border:1px solid var(--tmb-ui-border);
    border-radius:24px;
    background:color-mix(in srgb, var(--tmb-surface-bg) 70%, transparent);
    box-shadow:var(--tmb-ui-shadow-soft);
  }
}

@media (max-width:900px){
  body{
    padding-bottom:calc(82px + env(safe-area-inset-bottom));
  }

  .tmb-footer.tmb-thumb-tray{
    position:fixed;
    left:0;
    right:0;
    margin:0;
  }
}

@media (max-width:390px){
  .tmb-footer.tmb-thumb-tray{
    padding-left:max(8px, env(safe-area-inset-left));
    padding-right:max(8px, env(safe-area-inset-right));
  }

  .tmb-thumb-tray__nav{
    gap:3px;
  }

  .tmb-thumb-tray__item{
    min-height:56px;
    border-radius:16px;
    padding-left:2px;
    padding-right:2px;
  }

  .tmb-thumb-tray__label{
    font-size:10px;
  }
}

@media (min-width:901px){
  .tmb-footer--mobile,
  .tmb-footer-search{
    display:none !important;
  }

  .tmb-footer--desktop{
    display:block;
  }
}

@media (max-width:900px){
  .tmb-footer--desktop{
    display:none !important;
  }

  .tmb-footer--mobile{
    display:block;
  }
}

            /* ==========================================================
               Hero Landing Page CSS
               Purpose: layout glue only. Shared UI styling comes from
               tmb-universal-styling.css through tmb-* classes/tokens.
               ========================================================== */
            .tmb-hero-landing-template{overflow:hidden;background:var(--tmb-page-bg);}
            .tmb-landing-hero{min-height:calc(100svh - var(--tmb-header-height,0px));display:grid;align-items:center;position:relative;isolation:isolate;}
            .tmb-landing-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 24%, color-mix(in srgb, var(--tmb-accent) 22%, transparent), transparent 32%),radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--tmb-primary) 14%, transparent), transparent 30%);z-index:-1;pointer-events:none;}
            .tmb-landing-hero__inner{max-width:860px;}
            .tmb-landing-logo{display:inline-flex;align-items:center;margin-bottom:18px;}
            .tmb-landing-logo img{max-height:58px;width:auto;}
            .tmb-landing-jumpnav{margin-top:28px;}

            .tmb-landing-section{position:relative;min-height:100svh;display:grid;align-items:center;border-top:1px solid var(--tmb-ui-border);scroll-margin-top:calc(var(--tmb-header-height, 80px) + 24px);}
            .tmb-landing-section:nth-of-type(even){background:color-mix(in srgb, var(--tmb-primary) 4%, transparent);}
            .tmb-landing-section__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,5vw,64px);align-items:center;}
            .tmb-landing-section:nth-of-type(odd) .tmb-landing-section__media{order:2;}
            .tmb-landing-section__copy{max-width:620px;}

            /* Fixed-height media frame so images truly fill the container. */
            .tmb-landing-section__media{position:relative;height:clamp(390px,52vw,680px);overflow:hidden;}
            .tmb-landing-section__media img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;}
            .tmb-landing-section__media .tmb-landing-section__placeholder{min-height:100%;align-content:center;}

            .tmb-landing-points{display:grid;gap:10px;margin:6px 0 0;padding:0;list-style:none;}
            .tmb-landing-points li{position:relative;padding-left:28px;color:var(--tmb-text-muted);line-height:1.65;font-weight:650;}
            .tmb-landing-points li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:10px;border-radius:999px;background:var(--tmb-accent);box-shadow:0 0 0 5px color-mix(in srgb, var(--tmb-accent) 18%, transparent);}

            @media (max-width:900px){
                .tmb-landing-hero,.tmb-landing-section{min-height:auto;}
                .tmb-landing-section__grid{grid-template-columns:1fr;}
                .tmb-landing-section:nth-of-type(odd) .tmb-landing-section__media{order:initial;}
                .tmb-landing-section__media{height:clamp(300px,68vw,460px);}
            }
/* ----------------------------------------------------------------------
   TMB Locator / Locations
------------------------------------------------------------------------ */

.tmb-locator {
  width: min(100% - (var(--tmb-content-gutter) * 2), var(--tmb-content-max));
  max-width: var(--tmb-content-max);
  margin-inline: auto;
  display: grid;
  gap: 18px;
  align-items: start;
}

/* Top search card */
.tmb-locator__header {
  display: grid;
  gap: 14px;
  padding: 18px;
}

/* Search row */
.tmb-locator__search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 220px);
  gap: 12px;
  align-items: center;
}

.tmb-locator__search-input,
.tmb-locator__radius-select {
  min-height: 46px;
}

/* Main locator layout */
.tmb-locator__content {
  display: grid;
  grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  min-height: min(72vh, 720px);
}

/* Results column */
.tmb-locator__list {
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 10px;
}

/* Independent scrolling results column */
.tmb-locator__items {
  display: grid;
  gap: 12px;
  align-content: start;
  min-height: 0;
  max-height: max(72vh, 720px) !important;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  padding: 2px 6px 2px 2px;
  scrollbar-width: thin;
}

/* Location tiles */
.tmb-locator__item {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 10px;
  cursor: pointer;
  padding: 16px;
  border-radius: var(--tmb-radius);
  background: var(--tmb-ui-surface);
  border: 1px solid var(--tmb-ui-border);
  box-shadow: var(--tmb-ui-shadow-soft);
  color: var(--tmb-text);
  transition:
    transform var(--tmb-duration-fast) var(--tmb-ease),
    border-color var(--tmb-duration-fast) var(--tmb-ease),
    box-shadow var(--tmb-duration-fast) var(--tmb-ease);
}

.tmb-locator__item:hover {
  border-color: color-mix(in srgb, var(--tmb-primary) 22%, white);
  transform: translateY(-1px);
}

.tmb-locator__item.active,
.tmb-locator__item.is-active {
  border-color: color-mix(in srgb, var(--tmb-primary) 34%, white);
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--tmb-primary) 10%, transparent),
    var(--tmb-ui-shadow-soft);
}

.tmb-locator__item-title {
  margin: 0;
}

.tmb-locator__item p {
  margin: 0;
  color: var(--tmb-text-muted);
  font-size: .94rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.tmb-locator__item a:not(.tmb-button):not(.tmb-btn) {
  color: var(--tmb-primary);
  font-weight: 700;
  text-decoration: none;
}

.tmb-locator__item a:not(.tmb-button):not(.tmb-btn):hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Tile actions */
.tmb-locator__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding-top: 4px;
}

.tmb-locator__location-link {
  min-height: 40px;
  padding-inline: 16px;
  font-size: .9rem;
}

/* Map column */
.tmb-locator__map {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  min-height: min(72vh, 720px);
  height: auto;
  overflow: hidden;
  padding: 0;
  border-radius: var(--tmb-radius-lg);
  background: var(--tmb-ui-surface);
  border: 1px solid var(--tmb-ui-border);
  box-shadow: var(--tmb-ui-shadow);
}

/* Google map internals */
.tmb-locator__map > div,
.tmb-locator__map .gm-style {
  width: 100% !important;
  height: 100% !important;
  min-height: min(72vh, 720px);
  border-radius: var(--tmb-radius-lg);
}

/* Google info window content */
.tmb-locator__info {
  display: grid;
  gap: 8px;
  min-width: 190px;
  max-width: 250px;
  text-align: center;
  color: #0f172a;
}

.tmb-locator__info-logo {
  max-width: 104px;
  height: auto;
  margin: 0 auto 2px;
}

.tmb-locator__info-title {
  margin: 0;
  font-size: 1rem;
  line-height: 1.25;
  color: #0f172a;
}

.tmb-locator__info-text {
  margin: 0;
  font-size: .9rem;
  line-height: 1.45;
  color: #475569;
}

.tmb-locator__info-link {
  color: #0f2740;
  font-weight: 800;
  text-decoration: none;
}

.tmb-locator__info-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.tmb-locator__info-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 13px;
  border-radius: var(--tmb-radius-pill);
  background: var(--tmb-primary);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800;
}

/* Tablet */
@media (max-width: 1024px) {
  .tmb-locator__content {
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  }
}

/* Mobile */
@media (max-width: 900px) {
  .tmb-locator__search {
    grid-template-columns: 1fr;
  }

  .tmb-locator__content {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .tmb-locator__items {
    max-height: 420px;
  }

  .tmb-locator__map,
  .tmb-locator__map > div,
  .tmb-locator__map .gm-style {
    min-height: 420px;
  }
}


/* ----------------------------------------------------------------------
   TMB Location Archive
------------------------------------------------------------------------ */

.tmb-location-archive__grid {
  align-items: stretch;
}

.tmb-location-card {
  height: 100%;
  align-content: start;
}

.tmb-location-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 140px;
  padding: 18px;
  background: var(--tmb-surface-bg);
}

.tmb-location-card__logo {
  width: auto;
  max-width: 220px;
  max-height: 110px;
  object-fit: contain;
}

.tmb-location-card__title a {
  color: inherit;
  text-decoration: none;
}

.tmb-location-card__title a:hover {
  color: var(--tmb-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.tmb-location-card__actions {
  margin-top: auto;
}

.tmb-location-card__button {
  min-height: 40px;
  font-size: .9rem;
}

.tmb-location-archive__pagination {
  display: flex;
  justify-content: center;
}

.tmb-location-archive__pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.tmb-location-archive__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 38px;
  padding: 8px 12px;
  border-radius: var(--tmb-radius-pill);
  border: 1px solid var(--tmb-ui-border);
  background: var(--tmb-ui-surface);
  color: var(--tmb-text);
  font-weight: 800;
  text-decoration: none;
}

.tmb-location-archive__pagination .page-numbers.current {
  background: var(--tmb-primary);
  border-color: var(--tmb-primary);
  color: #fff;
}


/* ----------------------------------------------------------------------
   TMB / Crawford Outdoor — Single Product
------------------------------------------------------------------------ */

.tmb-single-product-page {
  padding: clamp(18px, 3vw, 32px) 0 clamp(48px, 6vw, 88px);
}

.tmb-product-top__grid {
  align-items: start;
}

.tmb-product-gallery {
  min-width: 0;
}

.tmb-product-gallery__main {
  position: relative;
  min-height: 420px;
  aspect-ratio: 1 / .84;
  overflow: hidden;
}

.tmb-product-gallery__main-picture {
  display: block;
  width: 100%;
  height: 100%;
}

.tmb-product-gallery__main-picture > img,
.tmb-product-gallery__main > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tmb-product-sale-badge,
.tmb-product-render-notice {
  position: absolute;
  z-index: 5;
}

.tmb-product-sale-badge {
  top: 12px;
  left: 12px;
  background: var(--tmb-primary);
  color: var(--tmb-text-inverse);
  border-color: color-mix(in srgb, var(--tmb-primary) 82%, white);
}

.tmb-product-render-notice {
  top: 12px;
  right: 12px;
  max-width: min(320px, calc(100% - 24px));
  background: rgba(255,255,255,.88);
  color: #0f172a;
}

.tmb-product-gallery__nav {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 6;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  gap: 10px;
  align-items: center;
  pointer-events: none;
}

.tmb-product-gallery__button,
.tmb-product-gallery__thumbs {
  pointer-events: auto;
}

.tmb-product-gallery__button {
  width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
}

.tmb-product-gallery__thumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  overflow-x: auto;
  padding: 6px 8px;
  border-radius: var(--tmb-radius-pill);
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(var(--tmb-ui-blur));
  -webkit-backdrop-filter: blur(var(--tmb-ui-blur));
  box-shadow: var(--tmb-ui-shadow-soft);
  scrollbar-width: thin;
}

.tmb-product-gallery__thumb {
  appearance: none;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: var(--tmb-radius-pill);
  border: 1px solid rgba(255,255,255,.72);
  background: rgba(255,255,255,.72);
  overflow: hidden;
  cursor: pointer;
  transition:
    transform var(--tmb-duration-fast) var(--tmb-ease),
    border-color var(--tmb-duration-fast) var(--tmb-ease),
    box-shadow var(--tmb-duration-fast) var(--tmb-ease);
}

.tmb-product-gallery__thumb:hover,
.tmb-product-gallery__thumb.is-active {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--tmb-primary) 34%, white);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--tmb-primary) 10%, transparent);
}

.tmb-product-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tmb-product-samples-bar {
  padding: 14px 16px;
}

.tmb-product-summary {
  display: grid;
  gap: 14px;
}

.woocommerce div.product .tmb-product-summary .product_title {
  margin: 0;
  color: var(--tmb-text);
  font-family: var(--tmb-font-heading);
  font-size: clamp(1.8rem, 3.2vw, 2.55rem);
  line-height: 1.05;
  letter-spacing: -.03em;
}

.woocommerce div.product .tmb-product-summary p.price,
.woocommerce div.product .tmb-product-summary span.price {
  color: var(--tmb-text);
  font-size: 1.25rem;
  font-weight: 900;
  margin: 0;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--tmb-text-muted);
  line-height: 1.72;
  position: relative;
}

.woocommerce div.product .woocommerce-product-details__short-description.tmb-is-collapsed {
  max-height: 122px;
  overflow: hidden;
}

.woocommerce div.product .woocommerce-product-details__short-description.tmb-is-collapsed::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 72px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), var(--tmb-ui-surface) 88%);
  pointer-events: none;
}

.tmb-product-shortdesc-more {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6px;
  display: none;
  justify-content: center;
  z-index: 2;
}

.woocommerce div.product .woocommerce-product-details__short-description.tmb-is-collapsed .tmb-product-shortdesc-more {
  display: flex;
}

.tmb-product-shortdesc-less {
  display: none;
  margin-top: 4px;
}

.woocommerce div.product .woocommerce-product-details__short-description.tmb-is-expanded + .tmb-product-shortdesc-less {
  display: block;
}

.tmb-product-summary form.cart {
  display: grid;
  gap: 12px;
  margin: 0;
}

.tmb-product-summary .quantity .qty {
  min-height: 44px;
  border-radius: var(--tmb-radius-pill);
}

.tmb-product-summary button.single_add_to_cart_button,
.tmb-product-sticky-dock button.single_add_to_cart_button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 18px;
  border-radius: var(--tmb-radius-pill);
  border: 1px solid var(--tmb-primary);
  background: var(--tmb-primary);
  color: var(--tmb-text-inverse);
  font-weight: 800;
  box-shadow: var(--tmb-ui-shadow-soft);
}

.tmb-product-summary .product_meta {
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px solid var(--tmb-ui-border);
  color: var(--tmb-text-muted);
  font-size: .92rem;
  line-height: 1.6;
}

.tmb-product-summary .product_meta a {
  color: var(--tmb-primary);
  font-weight: 800;
  text-decoration: none;
}

.tmb-product-description-card {
  padding: clamp(18px, 3vw, 28px);
}

.tmb-product-related-card {
  color: inherit;
  text-decoration: none !important;
  height: 100%;
}

.tmb-product-related-card:hover {
  transform: translateY(-1px);
}

.tmb-product-related-card__media {
  aspect-ratio: 1 / .78;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tmb-product-related-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tmb-product-overlay {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(2, 10, 25, .56);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.tmb-product-overlay.is-open {
  display: flex;
}

.tmb-product-overlay__card {
  width: min(620px, calc(100vw - 36px));
  max-height: calc(100dvh - 36px);
  overflow: auto;
}

.tmb-product-overlay__head {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--tmb-ui-border);
}

.tmb-product-overlay__finishes img {
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  body.tmb-has-product-sticky-dock {
    padding-bottom: calc(94px + env(safe-area-inset-bottom, 0px));
  }

  .tmb-single-product-page {
    --tmb-content-gutter: 10px;
    padding-top: 12px;
  }

  .tmb-single-product-page .tmb-container {
    width: min(100% - 20px, var(--tmb-content-max));
  }

  .tmb-product-top__grid {
    gap: 14px;
  }

  .tmb-product-gallery__main {
    min-height: 0;
    height: auto;
    aspect-ratio: 1 / .92;
    max-height: 360px;
    border-radius: var(--tmb-radius-lg);
    margin-left: 0;
    margin-right: 0;
  }

  .tmb-product-gallery__nav {
    left: 8px;
    right: 8px;
    bottom: 8px;
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    gap: 8px;
  }

  .tmb-product-gallery__button {
    width: 38px;
    height: 38px;
    min-height: 38px;
  }

  .tmb-product-gallery__thumbs {
    gap: 7px;
    padding: 5px 7px;
  }

  .tmb-product-gallery__thumb {
    width: 38px;
    height: 38px;
  }

  .tmb-product-render-notice {
    top: 8px;
    right: 8px;
    max-width: calc(100% - 16px);
    font-size: .76rem;
    padding: 6px 9px;
  }

  .tmb-product-sticky-dock {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    border-radius: var(--tmb-radius-lg) var(--tmb-radius-lg) 0 0;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom, 0px));
  }

  .tmb-product-sticky-dock form.variations_form {
    margin: 0 !important;
  }

  .tmb-product-sticky-dock .woocommerce-variation-price,
  .tmb-product-sticky-dock .woocommerce-variation-availability,
  .tmb-product-sticky-dock .woocommerce-variation-description {
    display: none !important;
  }
}

/* ----------------------------------------------------------------------
   TMB / Crawford Outdoor — Single Product
------------------------------------------------------------------------ */

.tmb-single-product-page {
  padding: clamp(18px, 3vw, 32px) 0 clamp(48px, 6vw, 88px);
}

.tmb-product-top__grid {
  align-items: start;
}

.tmb-product-gallery {
  min-width: 0;
}

.tmb-product-gallery__main {
  position: relative;
  min-height: 420px;
  aspect-ratio: 1 / .84;
  overflow: hidden;
}

.tmb-product-gallery__main-picture {
  display: block;
  width: 100%;
  height: 100%;
}

.tmb-product-gallery__main-picture > img,
.tmb-product-gallery__main > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tmb-product-sale-badge,
.tmb-product-render-notice {
  position: absolute;
  z-index: 5;
}

.tmb-product-sale-badge {
  top: 12px;
  left: 12px;
  background: var(--tmb-primary);
  color: var(--tmb-text-inverse);
  border-color: color-mix(in srgb, var(--tmb-primary) 82%, white);
}

.tmb-product-render-notice {
  top: 12px;
  right: 12px;
  max-width: min(320px, calc(100% - 24px));
  background: rgba(255,255,255,.88);
  color: #0f172a;
}

.tmb-product-gallery__nav {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 6;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  gap: 10px;
  align-items: center;
  pointer-events: none;
}

.tmb-product-gallery__button,
.tmb-product-gallery__thumbs {
  pointer-events: auto;
}

.tmb-product-gallery__button {
  width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
}

.tmb-product-gallery__thumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  overflow-x: auto;
  padding: 6px 8px;
  border-radius: var(--tmb-radius-pill);
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(var(--tmb-ui-blur));
  -webkit-backdrop-filter: blur(var(--tmb-ui-blur));
  box-shadow: var(--tmb-ui-shadow-soft);
  scrollbar-width: thin;
}

.tmb-product-gallery__thumb {
  appearance: none;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: var(--tmb-radius-pill);
  border: 1px solid rgba(255,255,255,.72);
  background: rgba(255,255,255,.72);
  overflow: hidden;
  cursor: pointer;
  transition:
    transform var(--tmb-duration-fast) var(--tmb-ease),
    border-color var(--tmb-duration-fast) var(--tmb-ease),
    box-shadow var(--tmb-duration-fast) var(--tmb-ease);
}

.tmb-product-gallery__thumb:hover,
.tmb-product-gallery__thumb.is-active {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--tmb-primary) 34%, white);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--tmb-primary) 10%, transparent);
}

.tmb-product-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tmb-product-samples-bar {
  padding: 14px 16px;
}

/* Product page title moved above gallery/summary */
.tmb-product-page-head {
  max-width: min(900px, 100%);
}

.tmb-product-page-head__title {
  margin: 0;
}

/* Warranty callout now lives directly below the sample comparison bar */
.tmb-product-warranty-inline {
  width: 100%;
}

.tmb-product-warranty-inline > * {
  margin: 0;
}

.tmb-product-summary {
  display: grid;
  gap: 14px;
}

.woocommerce div.product .tmb-product-summary .product_title {
  margin: 0;
  color: var(--tmb-text);
  font-family: var(--tmb-font-heading);
  font-size: clamp(1.8rem, 3.2vw, 2.55rem);
  line-height: 1.05;
  letter-spacing: -.03em;
}

.woocommerce div.product .tmb-product-summary p.price,
.woocommerce div.product .tmb-product-summary span.price {
  color: var(--tmb-text);
  font-size: 1.25rem;
  font-weight: 900;
  margin: 0;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--tmb-text-muted);
  line-height: 1.72;
  position: relative;
}

.woocommerce div.product .woocommerce-product-details__short-description.tmb-is-collapsed {
  max-height: 122px;
  overflow: hidden;
}

.woocommerce div.product .woocommerce-product-details__short-description.tmb-is-collapsed::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 72px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), var(--tmb-ui-surface) 88%);
  pointer-events: none;
}

.tmb-product-shortdesc-more {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6px;
  display: none;
  justify-content: center;
  z-index: 2;
}

.woocommerce div.product .woocommerce-product-details__short-description.tmb-is-collapsed .tmb-product-shortdesc-more {
  display: flex;
}

.tmb-product-shortdesc-less {
  display: none;
  margin-top: 4px;
}

.woocommerce div.product .woocommerce-product-details__short-description.tmb-is-expanded + .tmb-product-shortdesc-less {
  display: block;
}

.tmb-product-summary form.cart {
  display: grid;
  gap: 12px;
  margin: 0;
}

.tmb-product-summary .quantity .qty {
  min-height: 44px;
  border-radius: var(--tmb-radius-pill);
}

.tmb-product-summary button.single_add_to_cart_button,
.tmb-product-sticky-dock button.single_add_to_cart_button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 18px;
  border-radius: var(--tmb-radius-pill);
  border: 1px solid var(--tmb-primary);
  background: var(--tmb-primary);
  color: var(--tmb-text-inverse);
  font-weight: 800;
  box-shadow: var(--tmb-ui-shadow-soft);
}

.tmb-product-summary .product_meta {
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px solid var(--tmb-ui-border);
  color: var(--tmb-text-muted);
  font-size: .92rem;
  line-height: 1.6;
}

.tmb-product-summary .product_meta a {
  color: var(--tmb-primary);
  font-weight: 800;
  text-decoration: none;
}

.tmb-product-description-card {
  padding: clamp(18px, 3vw, 28px);
}

.tmb-product-related-card {
  color: inherit;
  text-decoration: none !important;
  height: 100%;
}

.tmb-product-related-card:hover {
  transform: translateY(-1px);
}

.tmb-product-related-card__media {
  aspect-ratio: 1 / .78;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tmb-product-related-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tmb-product-overlay {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(2, 10, 25, .56);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.tmb-product-overlay.is-open {
  display: flex;
}

.tmb-product-overlay__card {
  width: min(620px, calc(100vw - 36px));
  max-height: calc(100dvh - 36px);
  overflow: auto;
}

.tmb-product-overlay__head {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--tmb-ui-border);
}

.tmb-product-overlay__finishes img {
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  body.tmb-has-product-sticky-dock {
    padding-bottom: calc(94px + env(safe-area-inset-bottom, 0px));
  }

  .tmb-single-product-page {
    --tmb-content-gutter: 10px;
    padding-top: 12px;
  }

  .tmb-single-product-page .tmb-container {
    width: min(100% - 20px, var(--tmb-content-max));
  }

  .tmb-product-top__grid {
    gap: 14px;
  }

  .tmb-product-gallery__main {
    min-height: 0;
    height: auto;
    aspect-ratio: 1 / .92;
    max-height: 360px;
    border-radius: var(--tmb-radius-lg);
    margin-left: 0;
    margin-right: 0;
  }

  .tmb-product-gallery__nav {
    left: 8px;
    right: 8px;
    bottom: 8px;
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    gap: 8px;
  }

  .tmb-product-gallery__button {
    width: 38px;
    height: 38px;
    min-height: 38px;
  }

  .tmb-product-gallery__thumbs {
    gap: 7px;
    padding: 5px 7px;
  }

  .tmb-product-gallery__thumb {
    width: 38px;
    height: 38px;
  }

  .tmb-product-render-notice {
    top: 8px;
    right: 8px;
    max-width: calc(100% - 16px);
    font-size: .76rem;
    padding: 6px 9px;
  }

  .tmb-product-sticky-dock {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    border-radius: var(--tmb-radius-lg) var(--tmb-radius-lg) 0 0;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom, 0px));
  }

  .tmb-product-sticky-dock form.variations_form {
    margin: 0 !important;
  }

  .tmb-product-sticky-dock .woocommerce-variation-price,
  .tmb-product-sticky-dock .woocommerce-variation-availability,
  .tmb-product-sticky-dock .woocommerce-variation-description {
    display: none !important;
  }
}



/* TMB Single Product — Ultra-small gallery height cap */
@media (max-width: 420px) {
  .tmb-product-gallery__main {
    max-height: 335px;
    aspect-ratio: 1 / .88;
  }
}

/* ----------------------------------------------------------------------
   TMB Single Product — Summary Layout Fix
   Prevent WooCommerce .summary float/width rules and collapsed shortdesc issues.
------------------------------------------------------------------------ */

.woocommerce div.product .tmb-product-top__grid,
.tmb-product-top__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  gap: clamp(18px, 3vw, 32px);
  align-items: start;
  width: 100%;
}

.woocommerce div.product .tmb-product-gallery,
.woocommerce div.product .tmb-product-summary {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  clear: none !important;
}

.woocommerce div.product .tmb-product-summary {
  align-self: start;
  display: grid;
  gap: 14px;
  padding: clamp(18px, 2.4vw, 28px);
}

.woocommerce div.product .tmb-product-summary .product_title {
  font-size: clamp(2rem, 3.1vw, 2.9rem);
  line-height: 1.05;
  margin: 0 0 8px;
}

.woocommerce div.product .tmb-product-summary .woocommerce-product-details__short-description {
  position: static !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 0 0 18px;
}

.woocommerce div.product .tmb-product-summary .woocommerce-product-details__short-description::after,
.tmb-product-shortdesc-more,
.tmb-product-shortdesc-less {
  display: none !important;
}

.woocommerce div.product .tmb-product-summary .co-var-atc {
  margin-top: 0;
}

.woocommerce div.product .tmb-product-summary .co-var-atc .variations td.value select:first-of-type {
  padding-right: 210px;
}

.woocommerce div.product .tmb-product-summary .product_meta,
.woocommerce div.product .tmb-product-summary .co-product-meta {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--tmb-ui-border);
  display: grid;
  gap: 7px;
}

@media (max-width: 980px) {
  .woocommerce div.product .tmb-product-top__grid,
  .tmb-product-top__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .woocommerce div.product .tmb-product-summary .co-var-atc .variations td.value select:first-of-type {
    padding-right: 170px;
  }
}


/* ======================================================================
   TMB WooCommerce migration layer — centralized template CSS
   ====================================================================== */

/* ----------------------------------------------------------------------
   WooCommerce Archive / Product Loop — TMB Universal Layer
   ---------------------------------------------------------------------- */
.tmb-shop-archive .woocommerce-products-header{display:none;}
.tmb-shop-toolbar{align-items:center;}
.tmb-shop-toolbar .woocommerce-result-count{margin:0;color:var(--tmb-text-muted);font-weight:700;}
.tmb-shop-toolbar .woocommerce-ordering{margin:0;}
.tmb-shop-archive ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6vw,18px);list-style:none!important;margin:0!important;padding:0!important;}
.tmb-shop-archive ul.products::before,.tmb-shop-archive ul.products::after{content:none!important;}
.tmb-shop-archive ul.products>li.product{float:none!important;width:auto!important;margin:0!important;padding:0!important;}
@media (min-width:768px){.tmb-shop-archive ul.products{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (min-width:1100px){.tmb-shop-archive ul.products{grid-template-columns:repeat(4,minmax(0,1fr));}}
.tmb-product-loop-card{height:100%;display:flex;flex-direction:column;padding:12px;overflow:hidden;transition:transform var(--tmb-duration-fast) var(--tmb-ease),border-color var(--tmb-duration-fast) var(--tmb-ease);}
.tmb-product-loop-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tmb-primary) 18%,white);}
.tmb-product-loop-link{display:block;color:var(--tmb-text);text-decoration:none!important;border-radius:var(--tmb-radius);}
.tmb-product-loop-media{position:relative;aspect-ratio:1/1;background:var(--tmb-surface-bg);box-shadow:var(--tmb-ui-shadow-soft);}
.tmb-product-loop-media .co-prod-imgwrap{display:grid;width:100%;height:100%;place-items:center;}
.tmb-product-loop-media .co-prod-img{grid-area:1/1;width:100%;height:100%;object-fit:contain;padding:10px;transition:opacity var(--tmb-duration-fast) var(--tmb-ease);}
.tmb-product-loop-media .co-prod-img--secondary{opacity:0;}
@media (hover:hover) and (pointer:fine){.tmb-product-loop-card.has-hoverimg:hover .co-prod-img--primary{opacity:0;}.tmb-product-loop-card.has-hoverimg:hover .co-prod-img--secondary{opacity:1;}}
.tmb-product-loop-badge{position:absolute;left:10px;top:10px;z-index:2;background:var(--tmb-primary);color:#fff;border-color:var(--tmb-primary);}
.tmb-product-loop-meta{padding:12px 4px 0;}
.tmb-product-loop-title{margin:0;}
.tmb-product-loop-row{align-items:baseline;}
.tmb-product-loop-row .price{font-weight:900;color:var(--tmb-text);}
.tmb-product-loop-actions{margin-top:auto;padding:10px 4px 4px;display:grid;gap:8px;}
.tmb-product-loop-actions .button,.tmb-product-loop-actions .added_to_cart{width:100%;min-height:42px;border-radius:var(--tmb-radius-pill);}

/* ----------------------------------------------------------------------
   WooCommerce Add To Cart — TMB Universal Layer
   ---------------------------------------------------------------------- */
.tmb-atc,.tmb-atc-form,.tmb-var-atc{display:grid;gap:12px;margin-top:10px;}
.tmb-atc-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;}
.tmb-qty,.co-qty{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:6px;border-radius:var(--tmb-radius-pill);background:var(--tmb-ui-surface);border:1px solid var(--tmb-ui-border);box-shadow:var(--tmb-ui-shadow-soft);}
.tmb-qty-btn,.co-qty-btn{width:38px;height:38px;min-height:38px;padding:0;border-radius:var(--tmb-radius-pill);}
.tmb-qty .qty,.co-qty .qty{width:64px;height:38px;min-height:38px;border-radius:var(--tmb-radius-pill);text-align:center;font-weight:900;padding:0 10px;}
.tmb-atc-btn,.co-atc-btn{width:100%;min-height:46px;border-radius:var(--tmb-radius-pill)!important;}
.tmb-var-atc .variations{width:100%!important;border:0!important;margin:0!important;}
.tmb-var-atc .variations tbody,.tmb-var-atc .variations tr{display:block;}
.tmb-var-atc .variations th.label{display:none!important;}
.tmb-var-atc .variations td.value{display:grid;gap:10px;padding:0!important;position:relative;}
.tmb-var-atc .variations select{min-height:46px;font-weight:800;}
.tmb-variation-actions{position:absolute;right:8px;top:6px;z-index:4;gap:6px;}
.tmb-var-atc .variations td.value select:first-of-type{padding-right:210px;}
.tmb-var-atc .single_variation_wrap{display:grid;gap:10px;}
.tmb-var-atc .woocommerce-variation-description,.tmb-var-atc .woocommerce-variation-availability{display:none!important;}
.tmb-var-atc .woocommerce-variation-price .price{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border-radius:var(--tmb-radius-sm);border:1px solid var(--tmb-ui-border);background:var(--tmb-ui-surface);font-weight:900;color:var(--tmb-text);}
.tmb-var-atc .woocommerce-variation-add-to-cart .quantity{display:none!important;}
.tmb-qtybar,.co-qtybar{display:grid;grid-template-columns:54px 1fr 54px;height:48px;border:1px solid var(--tmb-ui-border);background:var(--tmb-ui-surface);border-radius:var(--tmb-radius-sm);overflow:hidden;}
.tmb-qtybtn,.co-qtybtn{border:0;background:transparent;color:var(--tmb-text);font-weight:900;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.tmb-qtycenter,.co-qtycenter{display:grid;place-items:center;position:relative;}
.tmb-qtycenter .qty,.co-qtycenter .qty{width:100%;height:48px;border:0;background:transparent;text-align:center;font-weight:900;box-shadow:none;}
.tmb-cta-center,.co-cta-center{position:absolute;inset:0;border:0;background:transparent;color:var(--tmb-text);font-weight:900;cursor:pointer;opacity:0;pointer-events:none;}
.tmb-qtybar.co-idle .tmb-cta-center,.co-qtybar.co-idle .co-cta-center{opacity:1;pointer-events:auto;}
.tmb-qtybar.co-idle .qty,.co-qtybar.co-idle .qty{opacity:0;pointer-events:none;}
.tmb-hide-native-atc,.co-hide-native-atc{position:absolute!important;left:-9999px!important;top:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
@media (max-width:980px){.tmb-atc-row{grid-template-columns:1fr;}.tmb-var-atc .variations td.value select:first-of-type{padding-right:196px;}}

/* ----------------------------------------------------------------------
   Product Specs / Warranty / Meta
   ---------------------------------------------------------------------- */
.tmb-product-specs-docs__inner{align-items:start;}
.tmb-product-specs-card,.tmb-product-video-card{overflow:hidden;}
.co-specs-head,.co-video-head{padding-bottom:12px;border-bottom:1px solid var(--tmb-ui-border);}
.co-accordion{display:grid;gap:8px;}
.co-accordion-item{border:1px solid var(--tmb-ui-border);border-radius:var(--tmb-radius-sm);overflow:hidden;background:var(--tmb-surface-bg);}
.co-accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:0;background:transparent;color:var(--tmb-text);font-weight:900;cursor:pointer;text-align:left;}
.co-accordion-trigger:hover{background:color-mix(in srgb,var(--tmb-primary) 5%,transparent);}
.co-accordion-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--tmb-text-soft);}
.co-accordion-chevron::before{content:'+';font-size:20px;color:var(--tmb-primary);}
.co-accordion-item.is-open .co-accordion-chevron::before{content:'−';}
.co-accordion-panel{display:none;padding:0 14px 12px;}.co-accordion-item.is-open .co-accordion-panel{display:block;}
.co-specs-table{width:100%;border-collapse:collapse;}.co-specs-table th,.co-specs-table td{padding:10px;border-bottom:1px solid var(--tmb-ui-border);font-size:.92rem;}.co-specs-table th{text-align:left;color:var(--tmb-text);}.co-specs-table td{text-align:right;color:var(--tmb-text-muted);font-weight:800;}
.co-doc-actions{display:flex;gap:10px;flex-wrap:wrap;}.co-video-embed iframe{width:100%!important;aspect-ratio:16/9;height:auto!important;border:0!important;border-radius:var(--tmb-radius);}
.tmb-product-meta>span{display:block;margin:6px 0;color:var(--tmb-text-muted);}.tmb-product-meta .sku,.tmb-product-meta .upc{color:var(--tmb-text);font-weight:800;}
.tmb-product-warranty{display:flex;align-items:center;justify-content:space-between;gap:16px;text-decoration:none!important;color:inherit;}
.tmb-product-warranty__badges{position:relative;width:150px;height:118px;flex:0 0 auto;}.tmb-product-warranty__badge{position:absolute;width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.22));transition:transform var(--tmb-duration-fast) var(--tmb-ease),left var(--tmb-duration-fast) var(--tmb-ease),top var(--tmb-duration-fast) var(--tmb-ease);}.tmb-product-warranty__badge--commercial{left:18px;top:12px;transform:rotate(8deg);}.tmb-product-warranty__badge--residential{left:0;top:0;z-index:2;transform:rotate(-8deg);}.tmb-product-warranty:hover .tmb-product-warranty__badge--residential{left:-8px;top:-6px;transform:rotate(-12deg);}.tmb-product-warranty:hover .tmb-product-warranty__badge--commercial{left:54px;top:28px;transform:rotate(14deg);}
@media (max-width:768px){.tmb-product-warranty{display:grid;justify-items:center;text-align:center;}.tmb-product-warranty__badge--commercial{display:none;}.tmb-product-warranty__badges{width:120px;height:120px;}.tmb-product-warranty__badge--residential{position:static;width:110px;height:110px;}}

/* Migrated from Woo template: archive-product.php */
.woocommerce-products-header {
		display: none;
	}
	/* ============================================
	   Shop Archive Layout (no sidebar + spacing)
	============================================ */

	/* Nuke theme padding that can double-stack with Woo wrappers */
	body.woocommerce.archive .site-main,
	body.woocommerce-page.archive .site-main{
		padding: 0 !important;
	}

	.co-shop-archive{
		width: 100%;
		max-width: var(--tmb-max, 1200px);
		margin: 0 auto;
		padding: clamp(18px, 3vw, 34px) clamp(14px, 2.2vw, 26px);
	}

	/* Notices */
	.co-shop-archive .woocommerce-notices-wrapper{
		margin: 0 0 14px;
	}

	/* Page title / taxonomy header */
	.co-shop-archive .woocommerce-products-header{
		margin: 0 0 14px;
	}

	/* Result count + ordering row */
	.co-shop-archive .woocommerce-before-loop{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 10px 14px;
		margin: 0 0 18px;
	}

	/* ============================================
	   PRODUCT GRID SPACING
	   Note: your content-product.php sets li margin/padding to 0,
	   so we must create guttering at the UL level.
	============================================ */

	/* Reset Woo defaults that often add odd margins */
	.co-shop-archive ul.products{
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;

		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(12px, 1.6vw, 18px);

		/* Adds “outer gutter” so tiles don’t hug the container edge */
		padding-top: 2px !important;
	}

	/* Ensure LI doesn’t fight the grid */
	.co-shop-archive ul.products > li.product{
		width: auto !important;
		float: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* Desktop grid */
	@media (min-width: 768px){
		.co-shop-archive ul.products{
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}
	}
	@media (min-width: 1100px){
		.co-shop-archive ul.products{
			grid-template-columns: repeat(4, minmax(0, 1fr));
		}
	}

	/* If any Woo clearfix or legacy styles apply, ignore them */
	.co-shop-archive ul.products:before,
	.co-shop-archive ul.products:after{
		content: none !important;
	}

	/* Pagination spacing */
	.co-shop-archive nav.woocommerce-pagination{
		margin-top: 22px;
	}

	/* Optional: tighten pagination list spacing (safe) */
	.co-shop-archive .woocommerce-pagination ul{
		margin: 0;
	}


/* Migrated from Woo template: content-product.php */
/* ============================================
		* PRODUCT TILE (Loop) — CO Glass / Light
		* - square media, contain images
		* - hover swaps to 2nd image if present
		* ============================================ */

		.woocommerce ul.products li.product.co-prod-tile{
			list-style:none;
			margin: 0 !important;
			padding: 0 !important;
		}

		/* Outer card (NOT a link) */
		.co-prod-card{
			position: relative;
			display:flex;
			flex-direction:column;
			border-radius: 22px;
			overflow:hidden;
			padding: 12px;
			background: var(--tmb-ui-surface, rgba(255,255,255,.72));
			border: 1px solid var(--tmb-ui-border, rgba(5,46,69,.12));
			backdrop-filter: blur(14px);
			-webkit-backdrop-filter: blur(14px);
			box-shadow: var(--tmb-ui-shadow, 0 10px 30px rgba(2,10,25,.10));
			transition: transform .18s ease, border-color .18s ease, background .18s ease;
		}
		.co-prod-card:hover{
			transform: translateY(-2px);
			border-color: rgba(17,153,187,.22);
			background: rgba(255,255,255,.80);
		}

		/* Link wrapper (image + meta only) */
		.co-prod-link{
			display:block;
			text-decoration:none;
			color: var(--tmb-primary);
			border-radius: 18px;
		}
		.co-prod-link:focus-visible{
			outline: none;
			box-shadow: 0 0 0 3px var(--tmb-focus, rgba(17,153,187,.35));
			border-radius: 18px;
		}

		/* Media (SQUARE) */
		.co-prod-media{
			position: relative;
			border-radius: 18px;
			overflow:hidden;
			border: 1px solid rgba(5,46,69,.12);
			background: rgba(255,255,255,.55);
			box-shadow: 0 10px 30px rgba(11,18,32,.08);
			aspect-ratio: 1 / 1;
		}

		/* Image stack (hard-centered) */
		.co-prod-imgwrap{
			width:100%;
			height:100%;
			display:grid;
			place-items:center;
			box-sizing:border-box;
		}

		.co-prod-img{
			grid-area: 1 / 1;
			width:100%;
			height:100%;
			object-fit: contain;
			object-position: 50% 50%;
			display:block;
			padding: 10px;
			box-sizing:border-box;
			margin:0;
			transform: translate3d(0,0,0);
			transition: opacity .18s ease;
		}

		.co-prod-img--primary{ opacity: 1; z-index: 1; }
		.co-prod-img--secondary{ opacity: 0; z-index: 2; }

		@media (hover:hover) and (pointer:fine){
			.co-prod-card.has-hoverimg:hover .co-prod-img--primary{ opacity: 0; }
			.co-prod-card.has-hoverimg:hover .co-prod-img--secondary{ opacity: 1; }
		}

		.co-prod-fallback{
			width:100%;
			height:100%;
			background:
				linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.18)),
				radial-gradient(closest-side at 30% 35%, rgba(17,153,187,.18), transparent 70%),
				radial-gradient(closest-side at 70% 40%, rgba(161,215,0,.16), transparent 72%);
		}

		/* Subtle sheen */
		.co-prod-sheen{
			position:absolute;
			inset:-40% -20%;
			background: radial-gradient(closest-side at 30% 50%, rgba(255,255,255,.35), transparent 70%);
			transform: rotate(12deg);
			pointer-events:none;
			opacity: .75;
		}

		/* Sale badge */
		.co-prod-badge{
			position:absolute;
			top: 10px;
			left: 10px;
			z-index: 6;
			border-radius: 999px;
			padding: 6px 10px;
			font-weight: 950;
			font-size: .82rem;
			letter-spacing: -0.01em;
			color: rgba(11,18,32,.92);
			background: rgba(255,255,255,.86);
			border: 1px solid rgba(161,215,0,.40);
			box-shadow: 0 10px 30px rgba(0,0,0,.10);
		}

		/* Meta */
		.co-prod-meta{
			padding: 12px 4px 0;
			display:grid;
			gap: 8px;
		}

		.co-prod-title{
			margin: 0;
			font-weight: 950;
			letter-spacing: -0.02em;
			font-size: 1.05rem;
			line-height: 1.2;
			color: var(--tmb-primary);
		}

		.co-prod-row{
			display:flex;
			align-items: baseline;
			justify-content: space-between;
			gap: 10px;
		}

		/* Hide ratings in archive by default */
		.co-prod-meta .star-rating{ display:none; }

		.co-prod-meta .price{
			margin:0;
			font-weight: 900;
			color: rgba(11,18,32,.78);
		}
		.co-prod-meta .price del{
			opacity: .55;
			font-weight: 800;
		}
		.co-prod-meta .price ins{
			text-decoration:none;
			font-weight: 950;
		}

		.co-prod-cta{
			font-weight: 950;
			color: rgba(11,18,32,.70);
			white-space: nowrap;
		}

		/* Actions */
		.co-prod-actions{
			margin-top: 10px;
			padding: 0 4px 6px;
			display:flex;
		}

		/* Woo buttons as full-width glass pill */
		.co-prod-actions .button,
		.co-prod-actions a.button,
		.co-prod-actions .added_to_cart{
			display:inline-flex !important;
			align-items:center;
			justify-content:center;
			height: 42px;
			padding: 0 16px;
			border-radius: 999px;
			border: 1px solid var(--tmb-ui-border, rgba(5,46,69,.12));
			background: rgba(255,255,255,.88);
			color: var(--tmb-primary);
			font-weight: 950;
			letter-spacing: -0.01em;
			text-decoration:none;
			transition: transform .15s ease, border-color .15s ease, background .15s ease;
			width: 100%;
			text-align:center;
			box-shadow: 0 8px 18px rgba(2,10,25,.06);
		}

		.co-prod-actions .button:hover,
		.co-prod-actions a.button:hover,
		.co-prod-actions .added_to_cart:hover{
			transform: translateY(-1px);
			border-color: rgba(161,215,0,.45);
			background: rgba(255,255,255,.96);
		}

		.co-prod-actions .button:focus,
		.co-prod-actions a.button:focus,
		.co-prod-actions .added_to_cart:focus{
			outline: 3px solid var(--tmb-focus, rgba(17,153,187,.35));
			outline-offset: 2px;
		}

		/* Keep "View cart" from taking over layout */
		.co-prod-actions .added_to_cart{
			margin-top: 8px;
		}

		@media (prefers-reduced-motion: reduce){
			.co-prod-card,
			.co-prod-img{
				transition:none !important;
			}
		}


/* Migrated from Woo template: myaccount/my-account.php */
.entry-header{display:none;}


/* Migrated from Woo template: myaccount/downloads.php */
/* Light-touch styling, mostly relies on Woo table classes + your universal styling */
		.co-manuals-wrap{ margin-top: 24px; }
		.co-manuals-title{ margin: 0 0 8px; }
		.co-manuals-sub{ margin: 0 0 14px; opacity: .8; }
		.co-doc-product{ display:flex; gap:12px; align-items:center; }
		.co-doc-thumb{ width:54px; height:54px; object-fit:contain; border-radius:10px; }
		.co-doc-links .button{ margin-right: 8px; margin-bottom: 6px; }
		.co-doc-muted{ opacity:.75; }


/* Migrated from Woo template: myaccount/form-login.php */
/* ============================================
   TMB • My Account Login/Register (Glassy + Toggle)
============================================ */

/* You mentioned you added this — keeping here too for safety */
body.woocommerce-account .entry-header{ display: none !important; }

body.woocommerce-account .tmb-auth-wrap{
	max-width: var(--tmb-max);
	margin: 0 auto;
	padding: 0;
}

body.woocommerce-account .tmb-auth-card.tmb-glass{
	padding: 18px;
	border-radius: 26px;
	min-width: 0;
}

body.woocommerce-account .tmb-auth-title{
	margin: 0 0 6px;
	font-weight: 900;
	letter-spacing: -0.02em;
	color: var(--tmb-text);
	font-size: 1.25rem;
	line-height: 1.1;
}

body.woocommerce-account .tmb-auth-sub{
	margin: 0 0 14px;
	color: rgba(11,11,11,0.72);
	font-weight: 700;
}

/* Toggle header row */
body.woocommerce-account .tmb-auth-top{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 14px;
}

body.woocommerce-account .tmb-auth-switch{
	display: inline-flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}

/* Make Woo forms look like our system */
body.woocommerce-account .tmb-auth-card form{
	margin: 0;
}

body.woocommerce-account .tmb-auth-card .form-row,
body.woocommerce-account .tmb-auth-card p{
	margin: 0 0 12px;
}

body.woocommerce-account .tmb-auth-card label{
	display: inline-block;
	margin: 0 0 6px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--tmb-text);
}

/* Inputs -> glass */
body.woocommerce-account .tmb-auth-card input[type="text"],
body.woocommerce-account .tmb-auth-card input[type="email"],
body.woocommerce-account .tmb-auth-card input[type="password"],
body.woocommerce-account .tmb-auth-card input[type="tel"],
body.woocommerce-account .tmb-auth-card textarea,
body.woocommerce-account .tmb-auth-card select{
	width: 100%;
	padding: 12px 12px;
	border-radius: 14px;
	border: 1px solid rgba(10,126,122,0.18);
	background: rgba(255,255,255,0.70);
	color: var(--tmb-text);
	box-sizing: border-box;
}

body.woocommerce-account .tmb-auth-card input:focus,
body.woocommerce-account .tmb-auth-card textarea:focus,
body.woocommerce-account .tmb-auth-card select:focus{
	outline: none;
	border-color: rgba(10,126,122,0.35);
}

/* Buttons -> pill */
body.woocommerce-account .tmb-auth-card .button,
body.woocommerce-account .tmb-auth-card button,
body.woocommerce-account .tmb-auth-card input[type="submit"]{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 42px;
	padding: 0 16px;
	border-radius: 999px;
	border: 1px solid var(--tmb-border);
	background: var(--tmb-surface-strong);
	color: var(--tmb-text);
	cursor: pointer;
	font-weight: 800;
	transition: transform .15s ease, border-color .15s ease;
}

body.woocommerce-account .tmb-auth-card .button:hover,
body.woocommerce-account .tmb-auth-card button:hover,
body.woocommerce-account .tmb-auth-card input[type="submit"]:hover{
	transform: translateY(-1px);
	border-color: var(--tmb-border-strong);
}

/* Secondary button (looks lighter) */
body.woocommerce-account .tmb-btn-secondary{
	background: rgba(255,255,255,0.55);
	border: 1px solid rgba(10,126,122,0.18);
}

body.woocommerce-account .tmb-btn-secondary:hover{
	background: rgba(255,255,255,0.75);
	border-color: rgba(10,126,122,0.28);
}

/* Remember me row */
body.woocommerce-account .tmb-auth-actions{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 6px;
}

body.woocommerce-account .tmb-auth-remember{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	color: var(--tmb-text);
}
body.woocommerce-account .tmb-auth-remember input{
	width: 16px;
	height: 16px;
}

/* Links */
body.woocommerce-account .tmb-auth-card a{
	color: var(--tmb-text);
	text-decoration: none;
	border-bottom: 1px solid rgba(10,126,122,0.20);
}
body.woocommerce-account .tmb-auth-card a:hover{
	border-bottom-color: rgba(212,175,54,0.55);
}

body.woocommerce-account .tmb-auth-note{
	margin: 0 0 12px;
	color: rgba(11,11,11,0.72);
}

/* Toggle panes */
body.woocommerce-account .tmb-auth-pane{
	display: none;
}
body.woocommerce-account .tmb-auth-pane.is-active{
	display: block;
}

/* Woo notice wrapper polish */
body.woocommerce-account .woocommerce-notices-wrapper:empty{
	display: none;
}
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error{
	border-radius: 18px;
	box-shadow: var(--tmb-shadow);
	border: 1px solid rgba(10,126,122,0.18);
	background: rgba(255,255,255,0.70);
}


/* Migrated from Woo template: loop/orderby.php */
.woocommerce-ordering{
		display:flex !important;
		flex-wrap:wrap;
		gap: 10px 12px;
		align-items:center;
		margin:0 !important;
	}

	/* Category + Collections row */
	.co-filter-row{
		display:grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px 12px;
		align-items:center;
		width: min(760px, 100%);
	}

	/* Force equal widths + consistent sizing */
	.co-filter-row select{
		width: 100%;
		min-width: 0;
	}

	/* Stack on mobile */
	@media (max-width: 640px){
		.co-filter-row{
			grid-template-columns: 1fr;
			width: 100%;
		}
	}


/* Migrated from Woo template: single-product/warranty-callout.php */
@media (max-width: 768px){
			.co-warranty-desktop{ display:none !important; }
			.co-warranty-mobile{ display:block !important; }
		}


/* Migrated from Woo template: single-product/co-specs-docs.php */
.co-specs-docs{
		width: 100%;
		margin-top: 18px;
	}

	.co-specs-docs__inner{
		max-width: var(--tmb-content-max, 1200px);
		margin: 0 auto;
		padding: 0 var(--tmb-content-gutter, 18px);
		display: grid;
		grid-template-columns: 1.05fr .95fr;
		gap: 18px;
	}

	.co-specs-card,
	.co-video-card{
		background: rgba(255,255,255,.78);
		border: 1px solid var(--tmb-ui-border, rgba(5,46,69,.12));
		border-radius: 18px;
		box-shadow: var(--tmb-ui-shadow, 0 16px 40px rgba(2,10,25,.08));
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
		overflow: hidden;
	}

	.co-specs-head,
	.co-video-head{
		padding: 16px 16px 10px;
		border-bottom: 1px solid var(--tmb-ui-border, rgba(5,46,69,.10));
	}

	.co-specs-title,
	.co-video-title{
		margin: 0;
		font-size: 18px;
		font-weight: 950;
		letter-spacing: -0.01em;
		color: var(--tmb-primary);
	}

	.co-specs-sub,
	.co-video-sub{
		margin: 6px 0 0;
		color: var(--tmb-text-muted, rgba(11,18,32,.70));
		font-size: 13px;
		line-height: 1.45;
	}

	.co-accordion{
		padding: 10px 12px 14px;
	}

	.co-accordion-item{
		border-bottom: 1px solid var(--tmb-ui-border, rgba(5,46,69,.10));
	}

	.co-accordion-trigger{
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 14px 10px;
		background: transparent;
		border: 0;
		cursor: pointer;
		text-align: left;
		font: inherit;
		color: inherit;
	}

	.co-accordion-trigger:hover{
		background: rgba(255,255,255,.28);
	}

	.co-accordion-title{
		font-size: 11px;
		font-weight: 900;
		text-transform: uppercase;
		letter-spacing: .08em;
		color: rgba(11,18,32,.60);
	}

	.co-accordion-chevron{
		flex: 0 0 auto;
		width: 12px;
		height: 12px;
		border-right: 2px solid rgba(5,46,69,.55);
		border-bottom: 2px solid rgba(5,46,69,.55);
		transform: rotate(45deg);
		transition: transform .2s ease;
		margin-right: 4px;
	}

	.co-accordion-item.is-open .co-accordion-chevron{
		transform: rotate(225deg);
	}

	.co-accordion-panel{
		display: none;
		padding: 0 0 8px;
	}

	.co-accordion-item.is-open .co-accordion-panel{
		display: block;
	}

	.co-specs-table{
		width: 100%;
		border-collapse: collapse;
	}

	.co-specs-table th,
	.co-specs-table td{
		padding: 10px 10px;
		border-bottom: 1px solid var(--tmb-ui-border, rgba(5,46,69,.10));
		vertical-align: top;
	}

	.co-specs-table tr:last-child th,
	.co-specs-table tr:last-child td{
		border-bottom: 0;
	}

	.co-specs-table th{
		width: 55%;
		text-align: left;
		font-size: 13px;
		font-weight: 900;
		color: var(--tmb-primary);
	}

	.co-specs-table td{
		text-align: right;
		font-size: 13px;
		font-weight: 800;
		color: rgba(11,18,32,.78);
		white-space: nowrap;
	}

	.co-doc-actions{
		padding: 0 16px 16px;
		display: flex;
		gap: 10px;
		flex-wrap: wrap;
	}

	.co-manual-btn{
		display: inline-flex;
		align-items: center;
		gap: 10px;
		padding: 11px 14px;
		border-radius: 14px;
		border: 1px solid var(--tmb-ui-border, rgba(5,46,69,.14));
		background: rgba(255,255,255,.70);
		color: var(--tmb-primary);
		font-weight: 950;
		text-decoration: none;
		transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
		box-shadow: 0 10px 22px rgba(2,10,25,.06);
	}

	.co-manual-btn:hover{
		transform: translateY(-1px);
		border-color: rgba(17,153,187,.35);
		box-shadow: 0 14px 30px rgba(2,10,25,.10);
		text-decoration: none;
	}

	.co-manual-ico{
		width: 22px;
		height: 22px;
		border-radius: 6px;
		position: relative;
		background: rgba(17,153,187,.12);
		border: 1px solid rgba(17,153,187,.25);
	}

	.co-manual-ico:before{
		content: "";
		position: absolute;
		left: 6px;
		top: 5px;
		width: 10px;
		height: 12px;
		border-radius: 2px;
		background: rgba(17,153,187,.25);
	}

	.co-manual-ico:after{
		content: "";
		position: absolute;
		left: 8px;
		top: 8px;
		width: 6px;
		height: 1px;
		background: rgba(5,46,69,.35);
		box-shadow: 0 3px 0 rgba(5,46,69,.35), 0 6px 0 rgba(5,46,69,.35);
	}

	.co-video-embed{
		padding: 12px;
	}

	.co-video-embed iframe{
		width: 100% !important;
		aspect-ratio: 16 / 9;
		height: auto !important;
		display: block;
		border: 0 !important;
		border-radius: 16px;
	}

	@media (max-width: 768px){
		.co-specs-docs__inner{
			grid-template-columns: 1fr;
			padding: 0 16px;
		}
	}


/* Migrated from Woo template: single-product/meta.php */
/* Single Product meta — stack SKU / UPC / Category / Collection */
.single-product .product_meta.co-product-meta > span{
  display:block;
  margin: 6px 0;
  color: var(--tmb-text-muted);
}

.single-product .product_meta.co-product-meta > span:first-child{
  margin-top: 0;
}

.single-product .product_meta.co-product-meta > span .sku,
.single-product .product_meta.co-product-meta > span .upc{
  color: var(--tmb-text);
  font-weight: 800;
}


/* Migrated from Woo template: single-product/add-to-cart/variable.php */
/* ==========================================================
   CO VARIABLE ATC — Glassy + Light + Minimal
========================================================== */

.co-atc-row{
	display: none !important;
}

.co-var-atc{
	--co-gap: 10px;
	--co-pill-radius: 14px;
	--co-pill-bg: rgba(255,255,255,.92);
	--co-pill-border: var(--tmb-ui-border, rgba(5,46,69,.12));
	
	display: grid;
	gap: var(--co-gap);
	margin-top: 10px;
}

/* Keep Woo markup stable */
.co-var-atc .variations{
	width: 100% !important;
	max-width: 100% !important;
	border: 0;
	border-collapse: collapse;
	table-layout: fixed !important;
}
.co-var-atc .variations tbody,
.co-var-atc .variations tr{
	display: block;
}
.co-var-atc .variations th.label{
	display: none !important;
}
.co-var-atc .variations td.value{
	padding: 0;
	margin: 0;
	width: 100%;
	max-width: 100%;
	display: grid;
	gap: var(--co-gap);
	position: relative;
}

/* Select pills */
.co-var-atc .variations td.value select{
	height: 44px;
	border-radius: var(--co-pill-radius);
	border: 1px solid var(--co-pill-border);
	background: var(--co-pill-bg);
	color: var(--tmb-primary);
	font-weight: 850;
	padding: 0 14px;
	width: 100%;
	min-width: 0 !important;

	cursor: pointer;

	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;

	background-image:
		linear-gradient(45deg, transparent 50%, rgba(5,46,69,.55) 50%),
		linear-gradient(135deg, rgba(5,46,69,.55) 50%, transparent 50%);
	background-position:
		calc(100% - 18px) 50%,
		calc(100% - 12px) 50%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	padding-right: 34px;
}
.co-var-atc .variations td.value select:focus-visible{
	outline: none;
	box-shadow: 0 0 0 3px var(--tmb-focus, rgba(17,153,187,.35));
}

/* ==========================================================
   Action pills: Clear + Swap
========================================================== */
.co-var-atc .co-variation-actions{
	position: absolute;
	top: 6px;
	right: 8px;
	z-index: 9;

	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex-wrap: nowrap;
}

.co-var-atc .reset_variations,
.co-var-atc .co-swap-colors{
	display: inline-flex;
	align-items: center;
	justify-content: center;

	height: 32px;
	padding: 0 12px;

	border-radius: 999px;
	border: 1px solid var(--co-pill-border);
	background: var(--co-pill-bg);

	color: rgba(5,46,69,.82);
	font-weight: 950;
	font-size: 12px;
	letter-spacing: .2px;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
}

.co-var-atc .reset_variations:hover,
.co-var-atc .co-swap-colors:hover{
	color: var(--tmb-primary);
	text-decoration: none;
}

.co-var-atc .reset_variations:active,
.co-var-atc .co-swap-colors:active{
	transform: translateY(1px);
}

.co-var-atc .co-swap-colors[disabled]{
	opacity: .5;
	cursor: not-allowed;
	pointer-events: none;
}

/* Give the FIRST select room so action pills don’t overlap */
.co-var-atc .variations td.value select:first-of-type{
	padding-right: 210px;
}

/* Wrap */
.co-var-atc .single_variation_wrap{
	display: grid;
	gap: var(--co-gap);
}

/* Hide noisy content; keep price */
.co-var-atc .woocommerce-variation-description,
.co-var-atc .woocommerce-variation-availability{
	display: none !important;
}

/* Dynamic variation price */
.co-var-atc .single_variation{ margin: 0; }
.co-var-atc .woocommerce-variation-price{
	display: block !important;
	margin: 0;
}
.co-var-atc .woocommerce-variation-price .price{
	display: inline-flex;
	align-items: center;
	gap: 8px;

	padding: 10px 12px;
	border-radius: var(--co-pill-radius);
	border: 1px solid var(--co-pill-border);
	background: var(--co-pill-bg);

	color: var(--tmb-primary);
	font-weight: 950;
	line-height: 1;
	width: 100%;
	justify-content: center;
}

/* Kill native qty UI */
.co-var-atc .woocommerce-variation-add-to-cart .quantity{
	display: none !important;
}
.co-var-atc :is(.plus,.minus,.qty-button,.quantity-button,.quantity-nav,.quantity-nav__button){
	display: none !important;
}

@media (max-width: 850px){
	.co-atc-row{ display:none!important; }

	.co-var-atc .woocommerce-variation-add-to-cart :is(.plus,.minus,.quantity-nav,.quantity-nav__button,.qty-button,.quantity-button){
		display:none!important;
	}

	.co-var-atc .variations td.value select:first-of-type{
		padding-right: 196px;
	}

	.co-var-atc .co-variation-actions{
		gap: 4px;
	}

	.co-var-atc .reset_variations,
	.co-var-atc .co-swap-colors{
		padding: 0 10px;
		font-size: 11px;
	}
}

/* Ensure add-to-cart wrapper doesn’t add margins */
.co-var-atc .woocommerce-variation-add-to-cart{
	margin: 0;
}

/* Qty bar */
.co-qtybar{
	position: relative;
	display: grid;
	grid-template-columns: 54px 1fr 54px;
	align-items: stretch;
	width: 100%;
	height: 48px;

	border: 1px solid var(--co-pill-border);
	background: var(--co-pill-bg);
	border-radius: var(--co-pill-radius);
	overflow: hidden;
}

.co-qtybar > *{ position: relative; }
.co-qtybar > *:not(:last-child)::after{
	content:"";
	position:absolute;
	top: 10px;
	bottom: 10px;
	right: 0;
	width: 1px;
	background: rgba(5,46,69,.10);
}

.co-qtybtn{
	border: 0;
	background: transparent;
	color: var(--tmb-primary);
	font-weight: 950;
	font-size: 20px;
	cursor: pointer;
	user-select: none;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	width: 54px;
}
.co-qtybtn:active{ transform: translateY(1px); }

.co-qtycenter{
	display: grid;
	place-items: center;
	height: 48px;
	width: 100%;
	position: relative;
}

.co-qtycenter .qty{
	width: 100%;
	height: 48px;
	border: 0;
	background: transparent;
	color: var(--tmb-primary);
	font-weight: 950;
	text-align: center;
	outline: none;
	padding: 0 10px;
	opacity: 1;
	transition: opacity .18s ease;
}

.co-cta-center{
	position: absolute;
	inset: 0;
	border: 0;
	background: transparent;
	color: var(--tmb-primary);
	font-weight: 950;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity .18s ease;
}

.co-qtybar.co-idle .co-cta-center{
	opacity: 1;
	pointer-events: auto;
}
.co-qtybar.co-idle .co-qtycenter .qty{
	opacity: 0;
	pointer-events: none;
}

.co-hide-native-atc{
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

@media (min-width: 1024px){
	.co-var-atc{ --co-gap: 12px; }
}


/* Migrated from Woo template: single-product/add-to-cart/simple.php */
/* ============================================
	   CO ADD TO CART (Simple Product)
	============================================ */
	.co-atc{
		display: grid;
		gap: 10px;
		margin-top: 10px;
	}

	.co-atc-form{
		display: grid;
		gap: 10px;
	}

	/* Row: qty + button */
	.co-atc-row{
		display: grid;
		grid-template-columns: auto 1fr;
		gap: 10px;
		align-items: center;
	}

	/* Pill stepper shell */
	.co-qty{
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 6px;
		border-radius: 999px;

		background: rgba(255,255,255,.78);
		border: 1px solid var(--tmb-ui-border, rgba(5,46,69,.12));
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);

		box-shadow: 0 8px 18px rgba(2,10,25,.06);
	}

	/* +/- buttons */
	.co-qty-btn{
		width: 38px;
		height: 38px;
		border-radius: 999px;

		border: 1px solid var(--tmb-ui-border, rgba(5,46,69,.12));
		background: rgba(255,255,255,.88);

		display: inline-flex;
		align-items: center;
		justify-content: center;

		color: var(--tmb-primary);
		cursor: pointer;

		transition: transform .15s ease, border-color .15s ease, background .15s ease;
		user-select: none;
	}
	.co-qty-btn:hover{
		transform: translateY(-1px);
		border-color: rgba(17,153,187,.22);
		background: rgba(255,255,255,.96);
	}
	.co-qty-btn:focus-visible{
		outline: none;
		box-shadow: 0 0 0 3px var(--tmb-focus, rgba(17,153,187,.35));
	}

	/* Number input */
	.co-qty .qty{
		width: 64px;
		height: 38px;
		border-radius: 999px;

		border: 1px solid var(--tmb-ui-border, rgba(5,46,69,.12));
		background: rgba(255,255,255,.96);
		color: var(--tmb-primary);

		font-weight: 950;
		text-align: center;
		padding: 0 10px;
		-moz-appearance: textfield;
	}
	.co-qty .qty::-webkit-outer-spin-button,
	.co-qty .qty::-webkit-inner-spin-button{
		-webkit-appearance: none;
		margin: 0;
	}
	.co-qty .qty:focus-visible{
		outline: none;
		box-shadow: 0 0 0 3px var(--tmb-focus, rgba(17,153,187,.35));
	}

	/* Primary CTA button (subtle lime border, glass) */
	.co-atc-btn{
		height: 42px;
		padding: 0 18px;
		border-radius: 999px;

		border: 1px solid rgba(161,215,0,.45);
		background: rgba(255,255,255,.88);

		color: var(--tmb-primary);
		font-weight: 950;
		cursor: pointer;

		box-shadow: 0 8px 18px rgba(2,10,25,.06);
		transition: transform .15s ease, border-color .15s ease, background .15s ease;
		width: 100%;
	}
	.co-atc-btn:hover{
		transform: translateY(-1px);
		border-color: rgba(161,215,0,.65);
		background: rgba(255,255,255,.96);
	}
	.co-atc-btn:focus-visible{
		outline: none;
		box-shadow: 0 0 0 3px var(--tmb-focus, rgba(17,153,187,.35));
	}

	/* Full-width on small screens */
	@media (max-width: 980px){
		.co-atc-row{
			grid-template-columns: 1fr;
		}
		.co-qty{
			justify-content: center;
		}
	}


/* Migrated from Woo template: single-product/add-to-cart/variation-add-to-cart-button.php */
/* ============================================
   CO VARIATION ADD TO CART (Qty + Button)
   Minimal, glassy, consistent with CO
============================================ */

.co-atc{
	display: grid;
	gap: 10px;
	margin-top: 10px;
}

/* Row: qty + button */
.co-atc-row{
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 10px;
	align-items: center;
}

/* Pill stepper shell */
.co-qty{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px;
	border-radius: 999px;

	background: rgba(255,255,255,.78);
	border: 1px solid var(--tmb-ui-border, rgba(5,46,69,.12));
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);

	box-shadow: 0 8px 18px rgba(2,10,25,.06);
}

/* +/- buttons */
.co-qty-btn{
	width: 38px;
	height: 38px;
	border-radius: 999px;

	border: 1px solid var(--tmb-ui-border, rgba(5,46,69,.12));
	background: rgba(255,255,255,.88);

	display: inline-flex;
	align-items: center;
	justify-content: center;

	color: var(--tmb-primary);
	cursor: pointer;
	transition: transform .15s ease, border-color .15s ease, background .15s ease;
	user-select: none;
}
.co-qty-btn:hover{
	transform: translateY(-1px);
	border-color: rgba(17,153,187,.22);
	background: rgba(255,255,255,.96);
}
.co-qty-btn:focus-visible{
	outline: none;
	box-shadow: 0 0 0 3px var(--tmb-focus, rgba(17,153,187,.35));
}

/* Number input */
.co-qty .qty{
	width: 64px;
	height: 38px;
	border-radius: 999px;

	border: 1px solid var(--tmb-ui-border, rgba(5,46,69,.12));
	background: rgba(255,255,255,.96);
	color: var(--tmb-primary);

	font-weight: 950;
	text-align: center;
	padding: 0 10px;
	-moz-appearance: textfield;
}
.co-qty .qty::-webkit-outer-spin-button,
.co-qty .qty::-webkit-inner-spin-button{
	-webkit-appearance: none;
	margin: 0;
}
.co-qty .qty:focus-visible{
	outline: none;
	box-shadow: 0 0 0 3px var(--tmb-focus, rgba(17,153,187,.35));
}

/* Primary CTA button (subtle lime border, glass) */
.co-atc-btn{
	height: 42px;
	padding: 0 18px;
	border-radius: 999px;

	border: 1px solid rgba(161,215,0,.45);
	background: rgba(255,255,255,.88);

	color: var(--tmb-primary);
	font-weight: 950;
	cursor: pointer;

	box-shadow: 0 8px 18px rgba(2,10,25,.06);
	transition: transform .15s ease, border-color .15s ease, background .15s ease;
	width: 100%;
}
.co-atc-btn:hover{
	transform: translateY(-1px);
	border-color: rgba(161,215,0,.65);
	background: rgba(255,255,255,.96);
}
.co-atc-btn:focus-visible{
	outline: none;
	box-shadow: 0 0 0 3px var(--tmb-focus, rgba(17,153,187,.35));
}

/* Default Woo wrapper cleanup */
.woocommerce-variation-add-to-cart.variations_button{
	margin: 0;
}

/* Mobile */
@media (max-width: 980px){
	.co-atc-row{
		grid-template-columns: 1fr;
	}
	.co-qty{
		justify-content: center;
	}
}

/* ----------------------------------------------------------------------
   WooCommerce Archive Header + Toolbar Refinement
   Purpose: keep archive title area borderless and make ordering controls
   follow universal TMB form/control primitives.
------------------------------------------------------------------------ */
.tmb-shop-archive__hero{
  padding: clamp(8px, 2vw, 18px) 0 clamp(18px, 3vw, 30px);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.tmb-shop-archive__hero .tmb-container--narrow{
  margin-inline: 0;
}

.tmb-shop-toolbar{
  display: grid;
  grid-template-columns: minmax(180px, auto) minmax(320px, 1fr);
  gap: 14px 24px;
  align-items: center;
}

.tmb-shop-toolbar .woocommerce-result-count{
  margin: 0;
  color: var(--tmb-text-muted);
  font-weight: 800;
  line-height: 1.35;
}

.tmb-shop-toolbar .woocommerce-ordering,
.tmb-shop-ordering{
  justify-self: end;
  width: min(100%, 905px);
  margin: 0 !important;
}

.tmb-shop-ordering__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(190px, 1fr));
  gap: 10px 12px;
  align-items: center;
}

.tmb-shop-ordering__field{
  min-width: 0;
}

.tmb-shop-ordering__field--sort{
  grid-column: 1 / -1;
}

.tmb-shop-ordering__select{
  width: 100%;
  min-height: 48px;
  border-radius: var(--tmb-radius-sm);
  background-color: var(--tmb-surface-bg);
  color: var(--tmb-text);
}

.tmb-shop-ordering__submit{
  margin-top: 10px;
}

@media (max-width: 900px){
  .tmb-shop-toolbar{
    grid-template-columns: 1fr;
  }

  .tmb-shop-toolbar .woocommerce-ordering,
  .tmb-shop-ordering{
    justify-self: stretch;
    width: 100%;
  }
}

@media (max-width: 640px){
  .tmb-shop-ordering__grid{
    grid-template-columns: 1fr;
  }
}

.tmb-shop-toolbar__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
}

.tmb-shop-toolbar__filters {
  min-width: 0;
}

.tmb-shop-toolbar__filters .woocommerce-ordering {
  float: none;
  margin: 0;
  width: 100%;
}

.tmb-shop-toolbar__count {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: max-content;
}

.tmb-shop-toolbar__count .woocommerce-result-count {
  float: none;
  margin: 0;
}

@media (max-width: 900px) {
  .tmb-shop-toolbar__inner {
    grid-template-columns: 1fr;
  }

  .tmb-shop-toolbar__count {
    justify-content: flex-start;
  }
}


/* ----------------------------------------------------------------------
   Woo Archive Pagination
------------------------------------------------------------------------ */

.woocommerce nav.woocommerce-pagination,
.tmb-pagination {
  margin: clamp(26px, 4vw, 44px) 0 0;
  display: flex;
  justify-content: center;
}

.woocommerce nav.woocommerce-pagination ul,
.tmb-pagination__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 8px;
  list-style: none;
  border: 1px solid var(--tmb-ui-border);
  border-radius: var(--tmb-radius-pill);
  background: var(--tmb-ui-surface);
  box-shadow: var(--tmb-ui-shadow-soft);
  backdrop-filter: blur(var(--tmb-ui-blur));
  -webkit-backdrop-filter: blur(var(--tmb-ui-blur));
}

.woocommerce nav.woocommerce-pagination ul li,
.tmb-pagination__item {
  margin: 0;
  padding: 0;
  border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.tmb-pagination__link,
.tmb-pagination__dots {
  min-width: 42px;
  min-height: 42px;
  padding: 10px 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: var(--tmb-radius-pill);
  border: 1px solid transparent;
  background: transparent;
  color: var(--tmb-text);
  font-size: .95rem;
  line-height: 1;
  font-weight: 900;
  text-decoration: none !important;
  transition:
    transform var(--tmb-duration-fast) var(--tmb-ease),
    background var(--tmb-duration-fast) var(--tmb-ease),
    border-color var(--tmb-duration-fast) var(--tmb-ease),
    color var(--tmb-duration-fast) var(--tmb-ease);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.tmb-pagination__link:hover {
  background: color-mix(in srgb, var(--tmb-primary) 7%, transparent);
  border-color: color-mix(in srgb, var(--tmb-primary) 16%, white);
  color: var(--tmb-text);
  transform: translateY(-1px);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.tmb-pagination__link.current,
.tmb-pagination__link.is-current {
  background: var(--tmb-primary);
  border-color: var(--tmb-primary);
  color: var(--tmb-text-inverse);
  box-shadow: var(--tmb-ui-shadow-soft);
}

.woocommerce nav.woocommerce-pagination ul li span.dots,
.tmb-pagination__dots {
  color: var(--tmb-text-soft);
  min-width: 30px;
  padding-inline: 6px;
}

.tmb-pagination__link--prev,
.tmb-pagination__link--next {
  padding-inline: 16px;
}

.tmb-pagination__label {
  display: inline-block;
}

@media (max-width: 640px) {
  .woocommerce nav.woocommerce-pagination ul,
  .tmb-pagination__list {
    border-radius: var(--tmb-radius-lg);
    padding: 7px;
    gap: 6px;
  }

  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span,
  .tmb-pagination__link,
  .tmb-pagination__dots {
    min-width: 38px;
    min-height: 38px;
    padding: 9px 11px;
    font-size: .9rem;
  }

  .tmb-pagination__link--prev .tmb-pagination__label,
  .tmb-pagination__link--next .tmb-pagination__label {
    display: none;
  }
}/* ----------------------------------------------------------------------
   TMB Archive Toolbar / Filters — Final Shared Alignment
   Use this section once in universal-styling.css after older shop/blog/archive rules.
   Desktop: controls, actions, and count stay in one row.
   Mobile: toolbar contents stack cleanly.
------------------------------------------------------------------------ */

.tmb-shop-toolbar.tmb-card,
.tmb-archive-toolbar.tmb-card{
  padding:28px;
  width:100%;
}

.tmb-shop-toolbar__inner,
.tmb-archive-toolbar__inner{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:16px 28px !important;
  width:100%;
  min-width:0;
}

.tmb-shop-toolbar__filters,
.tmb-archive-toolbar__filters{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 1 auto !important;
  flex-wrap:nowrap !important;
  gap:12px !important;
  min-width:0;
}

.tmb-shop-toolbar__control,
.tmb-archive-toolbar__control{
  display:flex;
  align-items:center;
  min-width:0;
}

.tmb-shop-toolbar__count,
.tmb-archive-toolbar__count{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 0 auto !important;
  min-width:max-content;
  margin:0 !important;
}

.tmb-shop-toolbar__count .woocommerce-result-count,
.tmb-archive-toolbar__count .woocommerce-result-count,
.tmb-shop-toolbar .woocommerce-result-count,
.tmb-archive-toolbar .woocommerce-result-count{
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--tmb-text-muted);
  font-size:1rem;
  font-weight:900;
  line-height:1.35;
  white-space:nowrap;
}

/* Woo / product archive ordering and custom filter form */
.tmb-shop-toolbar .woocommerce-ordering,
.tmb-shop-toolbar__filters .woocommerce-ordering,
.tmb-shop-ordering{
  float:none !important;
  display:flex !important;
  align-items:center !important;
  width:auto !important;
  max-width:100%;
  margin:0 !important;
  padding:0 !important;
}

.tmb-shop-ordering__grid,
.tmb-shop-toolbar .woocommerce-ordering form,
.tmb-shop-toolbar__filters .woocommerce-ordering form{
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  gap:12px !important;
  width:auto !important;
  max-width:100%;
  margin:0 !important;
}

.tmb-shop-ordering__field,
.tmb-shop-ordering__field--sort,
.tmb-shop-toolbar .woocommerce-ordering select,
.tmb-shop-toolbar__filters .woocommerce-ordering select,
.tmb-blog-filter-form__select{
  width:auto !important;
  min-width:220px;
  max-width:260px;
  margin:0 !important;
}

.tmb-shop-ordering__submit,
.tmb-blog-filter-form__submit,
.tmb-blog-filter-form__reset{
  flex:0 0 auto;
  min-height:46px;
  margin:0 !important;
  white-space:nowrap;
}

/* Blog archive filter form uses the same row behavior */
.tmb-blog-filter-form{
  display:flex !important;
  align-items:center !important;
  flex:0 1 auto !important;
  flex-wrap:nowrap !important;
  gap:12px !important;
  min-width:0;
  margin:0 !important;
}

.tmb-blog-filter-form__active{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
}

/* ----------------------------------------------------------------------
   TMB Floating Pagination — Product, Blog, Location
------------------------------------------------------------------------ */

.woocommerce nav.woocommerce-pagination,
.tmb-pagination{
  display:flex !important;
  justify-content:center !important;
  width:100%;
  margin:28px auto 0 !important;
  clear:both;
}

.woocommerce nav.woocommerce-pagination ul,
.tmb-pagination__list,
.tmb-pagination .page-numbers{
  list-style:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  width:max-content;
  max-width:100%;
  margin:0 auto !important;
  padding:10px 14px !important;
  border:1px solid var(--tmb-ui-border) !important;
  border-radius:var(--tmb-radius-pill) !important;
  background:var(--tmb-ui-surface) !important;
  box-shadow:var(--tmb-ui-shadow) !important;
  backdrop-filter:blur(var(--tmb-ui-blur));
  -webkit-backdrop-filter:blur(var(--tmb-ui-blur));
}

.woocommerce nav.woocommerce-pagination ul li,
.tmb-pagination__item{
  display:flex !important;
  align-items:center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.tmb-pagination__link,
.tmb-pagination__dots,
.tmb-pagination .page-numbers:not(ul){
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px;
  min-width:42px;
  min-height:42px;
  padding:9px 14px !important;
  border:1px solid transparent !important;
  border-radius:var(--tmb-radius-pill) !important;
  background:transparent !important;
  color:var(--tmb-text) !important;
  box-shadow:none !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-decoration:none !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.tmb-pagination__link:hover{
  background:color-mix(in srgb, var(--tmb-primary) 8%, transparent) !important;
  border-color:color-mix(in srgb, var(--tmb-primary) 14%, white) !important;
  color:var(--tmb-primary) !important;
  text-decoration:none !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.tmb-pagination__link.current,
.tmb-pagination__link.is-current,
.tmb-pagination .page-numbers.current{
  background:var(--tmb-primary) !important;
  border-color:var(--tmb-primary) !important;
  color:var(--tmb-text-inverse) !important;
}

.tmb-pagination__dots,
.tmb-pagination .dots{
  color:var(--tmb-text-soft) !important;
  pointer-events:none;
}

.tmb-pagination--floating,
.woocommerce nav.woocommerce-pagination.tmb-pagination--floating{
  position:sticky;
  bottom:18px;
  z-index:20;
  pointer-events:none;
}

.tmb-pagination--floating .tmb-pagination__list,
.woocommerce nav.woocommerce-pagination.tmb-pagination--floating ul{
  pointer-events:auto;
}

@media (max-width:900px){
  .tmb-shop-toolbar.tmb-card,
  .tmb-archive-toolbar.tmb-card{
    padding:18px;
  }

  .tmb-shop-toolbar__inner,
  .tmb-archive-toolbar__inner{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:14px !important;
  }

  .tmb-shop-toolbar__filters,
  .tmb-archive-toolbar__filters,
  .tmb-shop-toolbar__count,
  .tmb-archive-toolbar__count,
  .tmb-shop-toolbar__control,
  .tmb-archive-toolbar__control,
  .tmb-shop-toolbar .woocommerce-ordering,
  .tmb-shop-toolbar__filters .woocommerce-ordering,
  .tmb-shop-ordering,
  .tmb-blog-filter-form,
  .tmb-shop-ordering__grid,
  .tmb-shop-toolbar .woocommerce-ordering form,
  .tmb-shop-toolbar__filters .woocommerce-ordering form{
    width:100% !important;
    flex-direction:column !important;
    align-items:stretch !important;
    flex-wrap:nowrap !important;
    min-width:0 !important;
  }

  .tmb-shop-ordering__field,
  .tmb-shop-ordering__field--sort,
  .tmb-shop-toolbar .woocommerce-ordering select,
  .tmb-shop-toolbar__filters .woocommerce-ordering select,
  .tmb-blog-filter-form__select,
  .tmb-shop-ordering__submit,
  .tmb-blog-filter-form__submit,
  .tmb-blog-filter-form__reset{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  .tmb-shop-toolbar__count .woocommerce-result-count,
  .tmb-archive-toolbar__count .woocommerce-result-count,
  .tmb-shop-toolbar .woocommerce-result-count,
  .tmb-archive-toolbar .woocommerce-result-count{
    white-space:normal;
  }

  .woocommerce nav.woocommerce-pagination ul,
  .tmb-pagination__list,
  .tmb-pagination .page-numbers{
    width:100%;
    border-radius:var(--tmb-radius-lg) !important;
  }

  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span,
  .tmb-pagination__link,
  .tmb-pagination__dots,
  .tmb-pagination .page-numbers:not(ul){
    min-width:38px;
    min-height:38px;
    padding:8px 11px !important;
  }

  .tmb-pagination__link--prev .tmb-pagination__label,
  .tmb-pagination__link--next .tmb-pagination__label{
    display:none;
  }
}

/* ----------------------------------------------------------------------
   TMB Product Archive Toolbar — Conflict-Safe Final Override
   Place this AFTER all older archive, WooCommerce, orderby, toolbar, and
   pagination sections in tmb-universal-styling.css.

   Purpose:
   - Scope product toolbar rules so they do not fight product card/archive grid styling.
   - Neutralize older .woocommerce-ordering, .co-filter-row, and .tmb-shop-ordering
     layout rules only inside the product archive toolbar.
   - Keep filters + result count in one desktop row when space allows.
   - Allow controlled wrapping before overlap.
   - Stack cleanly on mobile.
------------------------------------------------------------------------ */

.tmb-shop-archive .tmb-archive-toolbar--products,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
  padding:28px 30px !important;
}

.tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-toolbar__inner,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-toolbar__inner,
.tmb-shop-archive .tmb-archive-toolbar--products .tmb-archive-toolbar__inner,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-archive-toolbar__inner{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:wrap !important;
  gap:14px 24px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

.tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-toolbar__filters,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-toolbar__filters,
.tmb-shop-archive .tmb-archive-toolbar--products .tmb-archive-toolbar__filters,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-archive-toolbar__filters{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:1 1 720px !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  min-width:0 !important;
  max-width:100% !important;
  width:auto !important;
}

.tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-toolbar__control,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-toolbar__control,
.tmb-shop-archive .tmb-archive-toolbar--products .tmb-archive-toolbar__control,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-archive-toolbar__control{
  display:flex !important;
  align-items:center !important;
  flex:1 1 auto !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

/* Reset older global Woo/orderby rules only inside this toolbar. */
.tmb-shop-archive .tmb-archive-toolbar--products .woocommerce-ordering,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .woocommerce-ordering,
.tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-ordering,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-ordering{
  float:none !important;
  clear:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:1 1 auto !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.tmb-shop-archive .tmb-archive-toolbar--products .woocommerce-ordering form,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .woocommerce-ordering form,
.tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-ordering__grid,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-ordering__grid{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:1 1 auto !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}

/* The custom orderby template often outputs category/collection selects in .co-filter-row.
   Keep it from acting like a separate fixed-width grid inside the shared toolbar. */
.tmb-shop-archive .tmb-archive-toolbar--products .co-filter-row,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .co-filter-row{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:2 1 460px !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-ordering__field,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-ordering__field,
.tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-ordering__field--sort,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-ordering__field--sort{
  display:flex !important;
  align-items:center !important;
  flex:1 1 220px !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  grid-column:auto !important;
  margin:0 !important;
}

.tmb-shop-archive .tmb-archive-toolbar--products .woocommerce-ordering select,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .woocommerce-ordering select,
.tmb-shop-archive .tmb-archive-toolbar--products .co-filter-row select,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .co-filter-row select,
.tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-ordering__select,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-ordering__select{
  display:block !important;
  flex:1 1 220px !important;
  width:auto !important;
  min-width:190px !important;
  max-width:320px !important;
  height:auto !important;
  min-height:50px !important;
  margin:0 !important;
}

.tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-ordering__submit,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-ordering__submit{
  flex:0 0 auto !important;
  margin:0 !important;
  white-space:nowrap !important;
}

.tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-toolbar__count,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-toolbar__count,
.tmb-shop-archive .tmb-archive-toolbar--products .tmb-archive-toolbar__count,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-archive-toolbar__count{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 0 auto !important;
  min-width:max-content !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-block:0 !important;
}

.tmb-shop-archive .tmb-archive-toolbar--products .woocommerce-result-count,
.tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .woocommerce-result-count{
  float:none !important;
  clear:none !important;
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--tmb-text-muted) !important;
  font-size:1rem !important;
  font-weight:900 !important;
  line-height:1.35 !important;
  white-space:nowrap !important;
}

@media (max-width: 1180px){
  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-toolbar__filters,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-toolbar__filters,
  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-archive-toolbar__filters,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-archive-toolbar__filters{
    flex-basis:100% !important;
  }

  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-toolbar__count,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-toolbar__count,
  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-archive-toolbar__count,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-archive-toolbar__count{
    margin-left:0 !important;
  }
}

@media (max-width: 760px){
  .tmb-shop-archive .tmb-archive-toolbar--products,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar{
    padding:18px !important;
  }

  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-toolbar__inner,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-toolbar__inner,
  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-archive-toolbar__inner,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-archive-toolbar__inner,
  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-toolbar__filters,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-toolbar__filters,
  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-archive-toolbar__filters,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-archive-toolbar__filters,
  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-toolbar__control,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-toolbar__control,
  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-archive-toolbar__control,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-archive-toolbar__control,
  .tmb-shop-archive .tmb-archive-toolbar--products .woocommerce-ordering,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .woocommerce-ordering,
  .tmb-shop-archive .tmb-archive-toolbar--products .woocommerce-ordering form,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .woocommerce-ordering form,
  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-ordering,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-ordering,
  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-ordering__grid,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-ordering__grid,
  .tmb-shop-archive .tmb-archive-toolbar--products .co-filter-row,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .co-filter-row{
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    width:100% !important;
    flex-basis:auto !important;
    gap:12px !important;
  }

  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-ordering__field,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-ordering__field,
  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-ordering__field--sort,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-ordering__field--sort,
  .tmb-shop-archive .tmb-archive-toolbar--products .woocommerce-ordering select,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .woocommerce-ordering select,
  .tmb-shop-archive .tmb-archive-toolbar--products .co-filter-row select,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .co-filter-row select,
  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-ordering__select,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-ordering__select,
  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-ordering__submit,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-ordering__submit{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    flex:0 0 auto !important;
  }

  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-shop-toolbar__count,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-shop-toolbar__count,
  .tmb-shop-archive .tmb-archive-toolbar--products .tmb-archive-toolbar__count,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .tmb-archive-toolbar__count{
    width:100% !important;
    min-width:0 !important;
  }

  .tmb-shop-archive .tmb-archive-toolbar--products .woocommerce-result-count,
  .tmb-shop-archive .tmb-shop-toolbar.tmb-archive-toolbar .woocommerce-result-count{
    white-space:normal !important;
  }
}


/* ----------------------------------------------------------------------
   TMB Locator — Archive Header Alignment
   Keeps the locator shortcode aligned with product/blog archive headers.
------------------------------------------------------------------------ */

.tmb-locator.tmb-locator--archive{
  width:100%;
  max-width:none;
  margin:0;
  display:block;
}

.tmb-locator--archive .tmb-container{
  width:min(100% - (var(--tmb-content-gutter) * 2), var(--tmb-content-max));
  max-width:var(--tmb-content-max);
  margin-inline:auto;
}

.tmb-locator--archive .tmb-locator__archive-header{
  max-width:980px;
  text-align:left;
  align-items:start;
}

.tmb-locator--archive .tmb-locator__archive-header .tmb-eyebrow{
  margin:0;
}

.tmb-locator--archive .tmb-locator__title{
  margin:0;
}

.tmb-locator--archive .tmb-locator__toolbar{
  width:100%;
  padding:18px 28px;
  border-radius:var(--tmb-radius-lg);
}

.tmb-locator--archive .tmb-locator__toolbar-inner{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.tmb-locator--archive .tmb-locator__search{
  width:100%;
  min-width:0;
  display:flex !important;
  grid-template-columns:none !important;
  flex-wrap:nowrap;
  align-items:center;
  gap:14px;
}

.tmb-locator--archive .tmb-locator__search-field{
  flex:1 1 auto;
  min-width:260px;
}

.tmb-locator--archive .tmb-locator__limit-field{
  flex:0 0 clamp(180px, 20vw, 230px);
  min-width:180px;
}

.tmb-locator--archive .tmb-locator__search-input,
.tmb-locator--archive .tmb-locator__radius-select{
  width:100%;
  min-height:54px;
  margin:0;
}

.tmb-locator--archive .tmb-locator__content{
  margin-top:0;
}

@media (max-width:900px){
  .tmb-locator--archive .tmb-locator__toolbar{
    padding:16px;
  }

  .tmb-locator--archive .tmb-locator__toolbar-inner,
  .tmb-locator--archive .tmb-locator__search{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px;
  }

  .tmb-locator--archive .tmb-locator__search-field,
  .tmb-locator--archive .tmb-locator__limit-field{
    flex:auto;
    min-width:0;
    width:100%;
  }
}

/* ----------------------------------------------------------------------
   TMB Locator — Container Alignment Patch
   Removes legacy locator side padding so the locator aligns with product/blog archives.
------------------------------------------------------------------------ */

.tmb-locator.tmb-locator--archive{
  width:100%;
  max-width:none;
  margin:0;
  display:block;
  padding:clamp(24px, 4vw, 40px) 0;
  background:var(--tmb-page-bg);
}

.tmb-locator.tmb-locator--archive > .tmb-container{
  width:min(100% - (var(--tmb-content-gutter) * 2), var(--tmb-content-max));
  max-width:var(--tmb-content-max);
  margin-inline:auto;
  padding-inline:0;
}

/* Keep any older shortcode wrapper rules from adding a second gutter. */
.tmb-locator-shortcode-wrap.tmb-locator--archive{
  padding-left:0;
  padding-right:0;
}

@media (max-width:680px){
  .tmb-locator.tmb-locator--archive{
    padding-inline:0;
  }
}
/* ======================================================================
   TMB Locator — Match Tile CTA Buttons to Map Popup Buttons
   Purpose:
   - Keep the location tile "View Location" button visually consistent
     with the Google map pin popup button.
   - Scoped to the locator archive only so it does not affect archive cards,
     WooCommerce buttons, or other TMB button instances.
   ====================================================================== */

.tmb-locator--archive .tmb-locator__actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  margin:0;
  padding-top:4px;
}

.tmb-locator--archive .tmb-locator__actions .tmb-locator__location-link,
.tmb-locator--archive .tmb-locator__item .tmb-locator__location-link.tmb-button,
.tmb-locator--archive .tmb-locator__item .tmb-locator__location-link.tmb-btn{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto !important;
  max-width:max-content;
  min-height:38px;
  padding:8px 13px;
  border:1px solid var(--tmb-primary);
  border-radius:var(--tmb-radius-pill);
  background:var(--tmb-primary);
  color:#fff !important;
  font-size:.94rem;
  line-height:1;
  font-weight:800;
  text-align:center;
  text-decoration:none !important;
  box-shadow:var(--tmb-ui-shadow-soft);
  white-space:nowrap;
  cursor:pointer;
  transition:
    transform var(--tmb-duration-fast) var(--tmb-ease),
    opacity var(--tmb-duration-fast) var(--tmb-ease),
    background var(--tmb-duration-fast) var(--tmb-ease),
    border-color var(--tmb-duration-fast) var(--tmb-ease);
}

.tmb-locator--archive .tmb-locator__actions .tmb-locator__location-link:hover,
.tmb-locator--archive .tmb-locator__actions .tmb-locator__location-link:focus-visible{
  color:#fff !important;
  text-decoration:none !important;
  opacity:.95;
  transform:translateY(-1px);
}

.tmb-locator--archive .tmb-locator__actions .tmb-locator__location-link:visited{
  color:#fff !important;
}

@media (max-width:680px){
  .tmb-locator--archive .tmb-locator__actions .tmb-locator__location-link{
    min-height:40px;
    padding:9px 15px;
  }
}
/* ----------------------------------------------------------------------
   TMB Locator — Mobile UI Final Cleanup
   Purpose: remove legacy mobile tray behavior and align locator UI with
   the universal TMB archive/card system.
------------------------------------------------------------------------ */

/* Keep the locator aligned to the same container/gutter system as archives. */
.tmb-locator.tmb-locator-shortcode-wrap,
.tmb-locator.tmb-locator--archive{
  width:min(100% - (var(--tmb-content-gutter) * 2), var(--tmb-content-max));
  max-width:var(--tmb-content-max);
  margin-inline:auto;
  padding-inline:0 !important;
}

/* Desktop/tablet foundation: universal cards, clean split layout. */
.tmb-locator__content{
  display:grid;
  grid-template-columns:minmax(320px, 420px) minmax(0, 1fr);
  gap:18px;
  align-items:stretch;
}

.tmb-locator__list{
  min-width:0;
  min-height:0;
  padding:10px;
  overflow:hidden;
}

.tmb-locator__items{
  display:grid !important;
  gap:12px;
  align-content:start;
  min-height:0;
  max-height:min(72vh, 720px);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding:2px 6px 2px 2px;
  scrollbar-width:thin;
}

.tmb-locator__item{
  width:100%;
  min-width:0;
  display:grid;
  gap:10px;
  margin:0 !important;
  padding:16px;
  border-radius:var(--tmb-radius);
  border:1px solid var(--tmb-ui-border);
  background:var(--tmb-ui-surface);
  box-shadow:var(--tmb-ui-shadow-soft);
  color:var(--tmb-text);
}

.tmb-locator__map{
  min-width:0;
  min-height:min(72vh, 720px);
  padding:0 !important;
  overflow:hidden;
}

.tmb-locator__map > div,
.tmb-locator__map .gm-style{
  min-height:min(72vh, 720px);
}

/* Tablet narrows the split without changing the UI pattern. */
@media (max-width:1024px){
  .tmb-locator__content{
    grid-template-columns:minmax(300px, 380px) minmax(0, 1fr);
  }
}

/* Mobile: remove the blank tray and show a clean map + card list stack. */
@media (max-width:900px){
  .tmb-locator.tmb-locator-shortcode-wrap,
  .tmb-locator.tmb-locator--archive{
    gap:14px;
  }

  .tmb-locator__header{
    padding:16px;
    border-radius:var(--tmb-radius-lg);
  }

  .tmb-locator__search{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .tmb-locator__content{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    min-height:0;
  }

  /* Put the map first on mobile so users immediately see pins/context. */
  .tmb-locator__map{
    order:1;
    min-height:clamp(340px, 62vh, 480px);
    height:clamp(340px, 62vh, 480px);
    border-radius:var(--tmb-radius-lg);
    border:1px solid var(--tmb-ui-border);
    background:var(--tmb-ui-surface);
    box-shadow:var(--tmb-ui-shadow);
  }

  .tmb-locator__map > div,
  .tmb-locator__map .gm-style{
    min-height:clamp(340px, 62vh, 480px) !important;
    height:100% !important;
    border-radius:var(--tmb-radius-lg);
  }

  /* Remove the old mobile tray/card shell that created the blank panel. */
  .tmb-locator__list{
    order:2;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:visible !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  /* Critical override: older CSS hid .tmb-locator__items on mobile. */
  .tmb-locator .tmb-locator__items,
  .tmb-locator__items{
    display:grid !important;
    gap:12px;
    max-height:none !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    padding:0 !important;
  }

  .tmb-locator__item{
    padding:16px;
    border-radius:var(--tmb-radius-lg);
    background:var(--tmb-ui-surface);
    border:1px solid var(--tmb-ui-border);
    box-shadow:var(--tmb-ui-shadow-soft);
  }

  .tmb-locator__item-title{
    font-size:1.05rem;
    line-height:1.2;
  }

  .tmb-locator__item p{
    font-size:.94rem;
    line-height:1.55;
  }

  .tmb-locator__actions{
    padding-top:2px;
  }

  .tmb-locator__location-link{
    width:100%;
    min-height:44px;
  }
}

@media (max-width:560px){
  .tmb-locator.tmb-locator-shortcode-wrap,
  .tmb-locator.tmb-locator--archive{
    width:min(100% - 24px, var(--tmb-content-max));
  }

  .tmb-locator__header{
    padding:14px;
  }

  .tmb-locator__map,
  .tmb-locator__map > div,
  .tmb-locator__map .gm-style{
    min-height:360px !important;
    height:360px !important;
  }

  .tmb-locator__item{
    padding:14px;
  }
}

/* ----------------------------------------------------------------------
   Blog Archive — Tight Image Mask
   Keeps every blog tile image locked to the same crop box so image height,
   rounding, and object-fit do not vary between posts.
------------------------------------------------------------------------ */
.tmb-blog-card{
  min-width:0;
  overflow:hidden;
}

.tmb-blog-card__media.tmb-media-shell,
.tmb-blog-card__media{
  display:block;
  position:relative;
  width:100%;
  aspect-ratio:4 / 3;
  overflow:hidden;
  border-radius:var(--tmb-radius-lg,24px);
  padding:0 !important;
  line-height:0;
  background:var(--tmb-surface-bg,#fff);
}

.tmb-blog-card__media picture,
.tmb-blog-card__media img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  margin:0 !important;
  padding:0 !important;
  border:0;
  border-radius:inherit;
  object-fit:cover;
  object-position:center center;
}

.tmb-blog-card__media picture{
  position:absolute;
  inset:0;
}

.tmb-blog-card__media img{
  position:absolute;
  inset:0;
}

@media (max-width:680px){
  .tmb-blog-card__media.tmb-media-shell,
  .tmb-blog-card__media{
    aspect-ratio:16 / 10;
  }
}


/* ----------------------------------------------------------------------
   TMB Single Product — Mobile Refinement
   Purpose: tighter mobile gutters and a taller contained product image frame.
------------------------------------------------------------------------ */
@media (max-width: 768px) {
  .tmb-single-product-page {
    --tmb-content-gutter: 10px;
    padding-top: 12px;
  }

  .tmb-single-product-page .tmb-container {
    width: min(100% - 20px, var(--tmb-content-max));
  }

  .tmb-product-top__grid {
    gap: 14px;
  }

  .tmb-product-gallery__main {
    min-height: 0;
    height: auto;
    aspect-ratio: 1 / .92;
    max-height: 360px;
    border-radius: var(--tmb-radius-lg);
    margin-left: 0;
    margin-right: 0;
  }

  .tmb-product-gallery__main-picture,
  .tmb-product-gallery__main-picture > img,
  .tmb-product-gallery__main > img {
    width: 100%;
    height: 100%;
  }

  .tmb-product-gallery__main-picture > img,
  .tmb-product-gallery__main > img {
    object-fit: cover;
    display: block;
  }
}

@media (max-width: 420px) {
  .tmb-product-gallery__main {
    max-height: 335px;
    aspect-ratio: 1 / .88;
  }
}


/* ----------------------------------------------------------------------
   TMB Single Product — Mobile Tap Zoom Lock
   Purpose:
   - Prevent accidental double-tap zoom while users tap gallery controls,
     swatches, quantity controls, selects, and add-to-cart actions.
   - Scoped to product pages only so normal site browsing remains untouched.
   - Keeps inputs at 16px+ to avoid iOS auto-zoom on focus.
------------------------------------------------------------------------ */
@media (max-width: 768px) {
  body.single-product,
  body.single-product .tmb-single-product-page,
  body.single-product .tmb-product-gallery,
  body.single-product .tmb-product-summary,
  body.single-product .tmb-product-sticky-dock {
    touch-action: manipulation;
  }

  body.single-product .tmb-single-product-page a,
  body.single-product .tmb-single-product-page button,
  body.single-product .tmb-single-product-page input,
  body.single-product .tmb-single-product-page select,
  body.single-product .tmb-single-product-page textarea,
  body.single-product .tmb-product-sticky-dock a,
  body.single-product .tmb-product-sticky-dock button,
  body.single-product .tmb-product-sticky-dock input,
  body.single-product .tmb-product-sticky-dock select,
  body.single-product .tmb-product-sticky-dock textarea {
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(15,39,64,.08);
  }

  body.single-product .tmb-product-gallery__main,
  body.single-product .tmb-product-gallery__main-picture,
  body.single-product .tmb-product-gallery__main img,
  body.single-product .tmb-product-gallery__thumb,
  body.single-product .tmb-product-gallery__button,
  body.single-product .co-var-atc .reset_variations,
  body.single-product .co-var-atc .co-swap-colors,
  body.single-product .co-qtybtn,
  body.single-product .co-cta-center,
  body.single-product .single_add_to_cart_button {
    touch-action: manipulation;
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
  }

  body.single-product .tmb-single-product-page input,
  body.single-product .tmb-single-product-page select,
  body.single-product .tmb-single-product-page textarea,
  body.single-product .tmb-product-sticky-dock input,
  body.single-product .tmb-product-sticky-dock select,
  body.single-product .tmb-product-sticky-dock textarea {
    font-size: 16px !important;
  }
}

/* ----------------------------------------------------------------------
   TMB Basic WordPress Pages
   Purpose: clean default styling for standard WP pages such as Policies,
   Terms, Privacy, Returns, Shipping, and simple content pages.
   Place this near the end of tmb-universal-styling.css, after older page,
   WooCommerce, and migrated template rules.
------------------------------------------------------------------------ */

body.page:not(.home):not(.woocommerce-page) #primary.content-area{
  width:100%;
  padding:clamp(34px, 5vw, 72px) var(--tmb-content-gutter, 18px);
}

body.page:not(.home):not(.woocommerce-page) #main.site-main{
  width:min(100%, var(--tmb-content-narrow, 980px));
  margin-inline:auto;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page{
  margin:0;
  padding:clamp(22px, 4vw, 42px);
  border:1px solid var(--tmb-ui-border, rgba(15,23,42,.10));
  border-radius:var(--tmb-radius-lg, 24px);
  background:var(--tmb-ui-surface, rgba(255,255,255,.76));
  color:var(--tmb-text, #0f172a);
  box-shadow:var(--tmb-ui-shadow, 0 14px 34px rgba(15,23,42,.10));
  backdrop-filter:blur(var(--tmb-ui-blur, 14px));
  -webkit-backdrop-filter:blur(var(--tmb-ui-blur, 14px));
  overflow:hidden;
}

/* Restore native titles for normal pages. Older Woo migration CSS hides
   .entry-header globally, so this safely brings titles back outside Woo. */
body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-header{
  display:block !important;
  margin:0 0 clamp(18px, 3vw, 28px);
  padding:0 0 clamp(16px, 2.5vw, 22px);
  border-bottom:1px solid var(--tmb-ui-border, rgba(15,23,42,.10));
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-title{
  margin:0;
  color:var(--tmb-text, #0f172a);
  font-family:var(--tmb-font-heading, var(--tmb-font-primary, system-ui, sans-serif));
  font-size:clamp(2rem, 4vw, 3.15rem);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:950;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content{
  color:var(--tmb-text-muted, #475569);
  font-family:var(--tmb-font-primary, system-ui, sans-serif);
  font-size:1rem;
  line-height:1.78;
  overflow-wrap:anywhere;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content > :first-child{
  margin-top:0;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content > :last-child{
  margin-bottom:0;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content p{
  margin:0 0 1.1em;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content h2,
body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content h3,
body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content h4{
  color:var(--tmb-text, #0f172a);
  font-family:var(--tmb-font-heading, var(--tmb-font-primary, system-ui, sans-serif));
  letter-spacing:-.025em;
  line-height:1.18;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content h2{
  margin:clamp(30px, 5vw, 44px) 0 12px;
  padding-top:clamp(18px, 3vw, 24px);
  border-top:1px solid var(--tmb-ui-border, rgba(15,23,42,.10));
  font-size:clamp(1.45rem, 2.8vw, 2.05rem);
  font-weight:920;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content h3{
  margin:28px 0 10px;
  font-size:clamp(1.12rem, 2vw, 1.35rem);
  font-weight:900;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content h4{
  margin:22px 0 8px;
  font-size:1rem;
  font-weight:900;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content ul,
body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content ol{
  margin:0 0 1.2em 1.25em;
  padding:0;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content li{
  margin:.42em 0;
  padding-left:.2em;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content a:not(.tmb-button):not(.tmb-btn):not(.button){
  color:var(--tmb-primary);
  font-weight:850;
  text-decoration:underline;
  text-decoration-color:color-mix(in srgb, var(--tmb-accent) 42%, transparent);
  text-decoration-thickness:2px;
  text-underline-offset:3px;
  transition:color var(--tmb-duration-fast, .16s) var(--tmb-ease, ease), text-decoration-color var(--tmb-duration-fast, .16s) var(--tmb-ease, ease);
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content a:not(.tmb-button):not(.tmb-btn):not(.button):hover{
  color:var(--tmb-accent);
  text-decoration-color:currentColor;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content blockquote{
  margin:clamp(20px, 4vw, 30px) 0;
  padding:18px 20px;
  border:1px solid var(--tmb-ui-border, rgba(15,23,42,.10));
  border-left:4px solid var(--tmb-primary);
  border-radius:0 var(--tmb-radius, 18px) var(--tmb-radius, 18px) 0;
  background:var(--tmb-surface-bg, #fff);
  color:var(--tmb-text, #0f172a);
  box-shadow:var(--tmb-ui-shadow-soft, 0 8px 18px rgba(15,23,42,.07));
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin:clamp(20px, 4vw, 30px) 0;
  overflow:hidden;
  border:1px solid var(--tmb-ui-border, rgba(15,23,42,.10));
  border-radius:var(--tmb-radius, 18px);
  background:var(--tmb-surface-bg, #fff);
  box-shadow:var(--tmb-ui-shadow-soft, 0 8px 18px rgba(15,23,42,.07));
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content th,
body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content td{
  padding:12px 14px;
  border-bottom:1px solid var(--tmb-ui-border, rgba(15,23,42,.10));
  text-align:left;
  vertical-align:top;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content th{
  background:color-mix(in srgb, var(--tmb-primary) 7%, var(--tmb-surface-bg, #fff));
  color:var(--tmb-text, #0f172a);
  font-weight:900;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content tr:last-child th,
body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content tr:last-child td{
  border-bottom:0;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content .wp-block-button__link,
body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content .button{
  border-radius:var(--tmb-radius-pill, 999px);
}

body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .edit-link{
  display:inline-flex;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid var(--tmb-ui-border, rgba(15,23,42,.10));
  color:var(--tmb-text-soft, #64748b);
  font-size:.9rem;
  font-weight:800;
}

/* Comment area stays aligned with the page card. */
body.page:not(.home):not(.woocommerce-page) #comments{
  margin-top:24px;
  padding:clamp(20px, 4vw, 34px);
  border:1px solid var(--tmb-ui-border, rgba(15,23,42,.10));
  border-radius:var(--tmb-radius-lg, 24px);
  background:var(--tmb-ui-surface, rgba(255,255,255,.76));
  box-shadow:var(--tmb-ui-shadow-soft, 0 8px 18px rgba(15,23,42,.07));
}

/* Do not card-wrap plugin-built landing/content systems that already own
   their layout. This protects TMB Pages output if it appears inside page.php. */
body.page:not(.home):not(.woocommerce-page) #main.site-main:has(.tmb-home-page, .tmb-about-page, .tmb-about-split, .tmb-contact-page, .tmb-faq-page, .tmb-home-cta, .tmb-home-hero-rail, .tmb-home-categories, .tmb-home-products){
  width:100%;
  max-width:none;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main:has(.tmb-home-page, .tmb-about-page, .tmb-about-split, .tmb-contact-page, .tmb-faq-page, .tmb-home-cta, .tmb-home-hero-rail, .tmb-home-categories, .tmb-home-products) > article.page{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  overflow:visible;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main:has(.tmb-home-page, .tmb-about-page, .tmb-about-split, .tmb-contact-page, .tmb-faq-page, .tmb-home-cta, .tmb-home-hero-rail, .tmb-home-categories, .tmb-home-products) > article.page .entry-header{
  display:none !important;
}

body.page:not(.home):not(.woocommerce-page) #main.site-main:has(.tmb-home-page, .tmb-about-page, .tmb-about-split, .tmb-contact-page, .tmb-faq-page, .tmb-home-cta, .tmb-home-hero-rail, .tmb-home-categories, .tmb-home-products) > article.page .entry-content{
  color:inherit;
  line-height:inherit;
}

@media (max-width: 680px){
  body.page:not(.home):not(.woocommerce-page) #primary.content-area{
    padding:24px 12px 44px;
  }

  body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page{
    padding:20px;
    border-radius:var(--tmb-radius, 18px);
  }

  body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content{
    font-size:.98rem;
  }

  body.page:not(.home):not(.woocommerce-page) #main.site-main > article.page .entry-content table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
  }
}


/* ----------------------------------------------------------------------
   TMB Product Visualizer — Carousel Slide Layer Mode
   The visualizer is treated as one gallery slide. Standard product images
   remain normal slides; selected attribute terms render only when the
   visualizer thumbnail/slide is active.
------------------------------------------------------------------------ */

.tmb-product-gallery__main[data-tmb-product-visualizer-main] {
  background: #ffffff;
}

.tmb-product-visualizer-stage {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: none;
  align-items: stretch;
  justify-content: stretch;
  background: #ffffff;
  pointer-events: none;
}

.tmb-product-gallery__main.is-tmb-visualizer-active {
  background: #ffffff !important;
}

.tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-gallery__main-picture,
.tmb-product-gallery__main.is-tmb-visualizer-active > img[data-tmb-product-gallery-main-img],
.tmb-product-gallery__main.is-tmb-visualizer-active [data-tmb-product-gallery-main-img] {
  opacity: 0 !important;
  visibility: hidden !important;
}

.tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage {
  display: block;
}

.tmb-product-visualizer-stage__background,
.tmb-product-visualizer-stage__layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center center;
  padding: 0;
  margin: 0;
}

.tmb-product-visualizer-stage__background {
  z-index: 1;
}

.tmb-product-visualizer-stage__layer {
  z-index: 2;
}

.tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-render-notice,
.tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-sale-badge,
.tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-gallery__nav {
  z-index: 8;
}

.tmb-product-gallery__thumb--visualizer {
  position: relative;
  background: #ffffff;
}

.tmb-product-gallery__visualizer-thumb-stage {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #ffffff;
}

.tmb-product-gallery__visualizer-thumb-stage .tmb-product-visualizer-stage__background,
.tmb-product-gallery__visualizer-thumb-stage .tmb-product-visualizer-stage__layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  padding: 0;
}

/* ----------------------------------------------------------------------
   TMB Product Visualizer — Vertical Alignment Correction
   Keeps the layered visualizer composition visually aligned with the
   standard product/gallery carousel images.
   The visualizer artwork naturally sits lower than the standard gallery
   photos, so this moves the composed visualizer slide upward.
------------------------------------------------------------------------ */
body.single-product .tmb-product-gallery__main[data-tmb-product-visualizer-main]{
  --tmb-product-visualizer-shift-y: clamp(-34px, -4.25%, -18px);
  --tmb-product-visualizer-thumb-shift-y: -2px;
}

body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage{
  overflow:hidden;
}

body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage__background,
body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage__layer{
  object-fit:contain;
  object-position:center center;
  transform:translateY(var(--tmb-product-visualizer-shift-y));
  transform-origin:center center;
}

body.single-product .tmb-product-gallery__visualizer-thumb-stage .tmb-product-visualizer-stage__background,
body.single-product .tmb-product-gallery__visualizer-thumb-stage .tmb-product-visualizer-stage__layer{
  object-fit:contain;
  object-position:center center;
  transform:translateY(var(--tmb-product-visualizer-thumb-shift-y));
  transform-origin:center center;
}

@media (max-width:768px){
  body.single-product .tmb-product-gallery__main[data-tmb-product-visualizer-main]{
    --tmb-product-visualizer-shift-y: clamp(-20px, -3.25%, -10px);
  }
}

/* ----------------------------------------------------------------------
   TMB Product Visualizer — Final Gallery Image Parity Override
   Purpose:
   - Make the composed visualizer slide use the same sizing/positioning model
     as the normal product gallery image.
   - Remove manual vertical offsets; the background and term layers should
     recycle the gallery frame dimensions instead of being nudged by transform.
------------------------------------------------------------------------ */
body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  overflow:hidden !important;
  background:#fff !important;
}

body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage__background,
body.single-product .tmb-product-gallery__main.is-tmb-visualizer-active .tmb-product-visualizer-stage__layer{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  padding:0 !important;
  margin:0 !important;
  transform:none !important;
  transform-origin:center center !important;
}

body.single-product .tmb-product-gallery__visualizer-thumb-stage .tmb-product-visualizer-stage__background,
body.single-product .tmb-product-gallery__visualizer-thumb-stage .tmb-product-visualizer-stage__layer{
  object-fit:cover !important;
  object-position:center center !important;
  padding:0 !important;
  margin:0 !important;
  transform:none !important;
}

/* ----------------------------------------------------------------------
   Crawford Outdoor app shell refinement
   Modeled after the clean mobile app header/thumb tray rhythm.
------------------------------------------------------------------------ */
body.tmb-co-app-shell{
  padding-bottom:0;
  touch-action:manipulation;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body.tmb-co-app-shell a,
body.tmb-co-app-shell button,
body.tmb-co-app-shell input,
body.tmb-co-app-shell select,
body.tmb-co-app-shell textarea,
body.tmb-co-app-shell label,
body.tmb-co-app-shell [role="button"]{
  touch-action:manipulation;
}
body.tmb-co-app-shell .tmb-header{
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  background:var(--tmb-brand-surface, var(--tmb-primary));
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 28px rgba(15,23,32,.10);
}
body.admin-bar.tmb-co-app-shell .tmb-header{top:32px;}
body.tmb-co-app-shell .tmb-header .tmb-container{
  width:min(100% - (var(--tmb-content-gutter) * 2), var(--tmb-content-max));
  margin-inline:auto;
  padding-inline:0;
}
body.tmb-co-app-shell .tmb-header__bar{
  min-height:76px;
  gap:12px;
}
body.tmb-co-app-shell .tmb-logo img{
  max-height:48px;
  object-fit:contain;
  object-position:left center;
  filter:none;
}
body.tmb-co-app-shell .tmb-logo__text,
body.tmb-co-app-shell .tmb-nav a{
  color:#fff;
}
body.tmb-co-app-shell .tmb-nav a:hover,
body.tmb-co-app-shell .tmb-nav .current-menu-item > a,
body.tmb-co-app-shell .tmb-nav .current_page_item > a{
  color:var(--tmb-accent);
}
body.tmb-co-app-shell .tmb-actions{
  gap:8px;
}
body.tmb-co-app-shell .tmb-header .tmb-btn,
body.tmb-co-app-shell .tmb-mobile .tmb-btn{
  min-width:42px;
  min-height:42px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:14px;
  box-shadow:none;
}
body.tmb-co-app-shell .tmb-header .tmb-btn:hover,
body.tmb-co-app-shell .tmb-header .tmb-btn:focus-visible,
body.tmb-co-app-shell .tmb-mobile .tmb-btn:hover,
body.tmb-co-app-shell .tmb-mobile .tmb-btn:focus-visible{
  background:rgba(255,255,255,.14);
  color:var(--tmb-accent);
}
body.tmb-co-app-shell .tmb-cart-count{
  top:-7px;
  right:-7px;
  color:var(--tmb-primary);
  background:var(--tmb-accent);
  border-color:var(--tmb-brand-surface, var(--tmb-primary));
}
body.tmb-co-app-shell .tmb-header-search,
body.tmb-co-app-shell .tmb-mobile,
body.tmb-co-app-shell .tmb-mobile-cart-menu{
  border-top:1px solid rgba(255,255,255,.12);
  background:var(--tmb-brand-surface, var(--tmb-primary));
}
body.tmb-co-app-shell .tmb-mobile a:not(.tmb-btn),
body.tmb-co-app-shell .tmb-mobile-cart-menu a:not(.tmb-btn){
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.14);
  color:#fff;
}
body.tmb-co-app-shell .tmb-search-fallback-form input[type="search"],
body.tmb-co-app-shell .tmb-footer-search input[type="search"]{
  min-height:46px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:16px;
  padding-inline:14px;
}
body.tmb-co-app-shell .tmb-search-fallback-form input[type="search"]::placeholder,
body.tmb-co-app-shell .tmb-footer-search input[type="search"]::placeholder{
  color:rgba(255,255,255,.64);
}

body.tmb-co-app-shell .tmb-mobile-cart-menu{
  display:none;
}

body.tmb-co-app-shell .tmb-mobile-cart-menu__quick{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}

body.tmb-co-app-shell .tmb-mobile-cart-menu .menu,
body.tmb-co-app-shell .tmb-mobile-cart-menu ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}

body.tmb-co-app-shell .tmb-mobile-cart-menu a:not(.tmb-btn){
  display:flex;
  padding:12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--tmb-radius-sm);
  font-weight:800;
  text-decoration:none !important;
}

body.tmb-co-app-shell .tmb-footer-search{
  position:fixed;
  left:0;
  right:0;
  bottom:calc(72px + env(safe-area-inset-bottom,0px));
  width:min(100%,760px);
  max-width:760px;
  margin-inline:auto;
  z-index:999;
  padding:12px 14px 14px;
  background:var(--tmb-brand-surface, var(--tmb-primary));
  color:#fff;
  border-top:1px solid rgba(255,255,255,.14);
  box-shadow:0 -18px 38px rgba(15,23,32,.26);
}
body.tmb-co-app-shell .tmb-footer-search[hidden]{display:none;}
body.tmb-co-app-shell .tmb-footer-search__inner{width:100%;}
body.tmb-co-app-shell .tmb-footer-search form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  margin:0;
}
body.tmb-co-app-shell .tmb-footer-search .wc-robust-search,
body.tmb-co-app-shell .tmb-footer-search .wc-robust-search-form{
  width:100%;
  margin:0;
}
body.tmb-co-app-shell .tmb-footer-search button,
body.tmb-co-app-shell .tmb-footer-search input[type="submit"]{
  min-height:46px;
  border:0;
  border-radius:14px;
  background:var(--tmb-accent);
  color:var(--tmb-primary);
  padding:0 16px;
  font-weight:900;
}
body.tmb-co-app-shell .tmb-footer.tmb-thumb-tray{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:1000;
  width:min(100%,760px);
  max-width:760px;
  margin:0 auto;
  padding:7px 6px calc(7px + env(safe-area-inset-bottom,0px));
  border-top:1px solid rgba(255,255,255,.14);
  background:var(--tmb-brand-surface, var(--tmb-primary));
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:0 -16px 34px rgba(15,23,32,.22);
}
body.tmb-co-app-shell .tmb-thumb-tray__nav{
  width:100%;
  max-width:none;
  display:grid;
  grid-template-columns:repeat(var(--tmb-footer-count,5),minmax(0,1fr));
  gap:2px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.tmb-co-app-shell .tmb-thumb-tray__item{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  min-height:56px;
  padding:6px 2px 5px;
  border-radius:14px;
  color:rgba(255,255,255,.70);
  font-family:inherit;
  font-size:.56rem;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
}
body.tmb-co-app-shell .tmb-thumb-tray__item:hover,
body.tmb-co-app-shell .tmb-thumb-tray__item:focus-visible,
body.tmb-co-app-shell .tmb-thumb-tray__item.is-active{
  color:var(--tmb-accent);
  background:rgba(255,255,255,.08);
  border-color:transparent;
}
body.tmb-co-app-shell .tmb-thumb-tray__icon,
body.tmb-co-app-shell .tmb-thumb-tray__icon svg{
  width:23px;
  height:23px;
}
body.tmb-co-app-shell .tmb-thumb-tray__label{
  font-size:10px;
  letter-spacing:.01em;
}
@media (max-width:782px){
  body.admin-bar.tmb-co-app-shell .tmb-header{top:46px;}
  body.admin-bar.tmb-co-app-shell .tmb-mobile,
  body.admin-bar.tmb-co-app-shell .tmb-mobile-cart-menu{
    top:calc(var(--tmb-head-h-mobile,72px) + 46px);
  }
}
@media (max-width:900px){
  body.tmb-co-app-shell{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px));}

  body.tmb-co-app-shell .tmb-header .tmb-container{
    width:min(100%,760px);
    padding-inline:14px;
  }

  body.tmb-co-app-shell .tmb-nav{display:none;}
  body.tmb-co-app-shell .tmb-burger{display:inline-flex;}
  body.tmb-co-app-shell .tmb-actions .tmb-search-btn,
  body.tmb-co-app-shell .tmb-actions .tmb-account{display:none;}
  body.tmb-co-app-shell .tmb-btn .tmb-btn__label{display:none;}
  body.tmb-co-app-shell .tmb-actions .tmb-burger{order:1;}
  body.tmb-co-app-shell .tmb-actions .tmb-cart{order:2;}

  body.tmb-co-app-shell .tmb-mobile,
  body.tmb-co-app-shell .tmb-mobile-cart-menu{
    position:fixed;
    top:var(--tmb-head-h-mobile,72px);
    left:0;
    right:0;
    z-index:999;
    display:block;
    width:min(100%,760px);
    max-width:760px;
    max-height:calc(100svh - var(--tmb-head-h-mobile,72px) - 82px - env(safe-area-inset-bottom,0px));
    margin-inline:auto;
    padding:14px;
    overflow:auto;
    box-shadow:0 20px 42px rgba(15,23,32,.28);
    opacity:0;
    pointer-events:none;
    transform:translateY(-14px);
    transition:opacity .18s ease, transform .18s ease;
  }

  body.admin-bar.tmb-co-app-shell .tmb-mobile,
  body.admin-bar.tmb-co-app-shell .tmb-mobile-cart-menu{
    top:calc(var(--tmb-head-h-mobile,72px) + 32px);
  }

  body.tmb-co-app-shell .tmb-mobile.is-open,
  body.tmb-co-app-shell .tmb-mobile-cart-menu.is-open{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }
}
@media (max-width:520px){
  body.tmb-co-app-shell .tmb-header .tmb-container{padding-inline:12px;}
  body.tmb-co-app-shell .tmb-header__bar{min-height:72px;}
  body.tmb-co-app-shell .tmb-logo img{max-height:42px;}
  body.tmb-co-app-shell .tmb-actions{gap:8px;}
  body.tmb-co-app-shell .tmb-header .tmb-btn{
    width:42px;
    height:42px;
    padding:0;
    justify-content:center;
  }
  body.tmb-co-app-shell .tmb-mobile-cart-menu__quick{grid-template-columns:1fr;}
}
@media (max-width:370px){
  body.tmb-co-app-shell .tmb-thumb-tray__item{font-size:.5rem;}
  body.tmb-co-app-shell .tmb-thumb-tray__icon,
  body.tmb-co-app-shell .tmb-thumb-tray__icon svg{width:21px;height:21px;}
}


/* Responsive app shell footer correction: no thumb-tray padding or mobile tray on desktop. */
@media (min-width:901px){
  body.tmb-co-app-shell{
    padding-bottom:0;
  }

  body.tmb-co-app-shell .tmb-footer--desktop{
    display:block !important;
  }

  body.tmb-co-app-shell .tmb-footer--mobile,
  body.tmb-co-app-shell .tmb-footer-search{
    display:none !important;
  }
}

@media (max-width:900px){
  body.tmb-co-app-shell{
    padding-bottom:calc(84px + env(safe-area-inset-bottom,0px));
  }

  body.tmb-co-app-shell .tmb-footer--desktop{
    display:none !important;
  }

  body.tmb-co-app-shell .tmb-footer--mobile{
    display:block !important;
  }
}

/* ----------------------------------------------------------------------
   Desktop header correction: clean white desktop, dark app header mobile only.
------------------------------------------------------------------------ */
@media (min-width:901px){
  body.tmb-co-app-shell .tmb-header{
    background:var(--tmb-surface-bg, #fff) !important;
    color:var(--tmb-primary, var(--tmb-head-primary, #0f2740)) !important;
    border-bottom:1px solid var(--tmb-ui-border, rgba(15,39,64,.12)) !important;
    box-shadow:0 8px 22px rgba(15,23,32,.06) !important;
  }

  body.tmb-co-app-shell .tmb-header .tmb-container{
    width:100% !important;
    max-width:none !important;
    padding-inline:clamp(18px, 3vw, 42px) !important;
    margin-inline:0 !important;
  }

  body.tmb-co-app-shell .tmb-header__bar{
    min-height:var(--tmb-head-h, 74px) !important;
  }

  body.tmb-co-app-shell .tmb-logo__img--standard{
    display:block !important;
  }

  body.tmb-co-app-shell .tmb-logo__img--inverted{
    display:none !important;
  }

  body.tmb-co-app-shell .tmb-logo__text,
  body.tmb-co-app-shell .tmb-nav a{
    color:var(--tmb-primary, var(--tmb-head-primary, #0f2740)) !important;
  }

  body.tmb-co-app-shell .tmb-nav a:hover,
  body.tmb-co-app-shell .tmb-nav .current-menu-item > a,
  body.tmb-co-app-shell .tmb-nav .current_page_item > a{
    color:var(--tmb-accent, var(--tmb-head-accent, #f4b400)) !important;
  }

  body.tmb-co-app-shell .tmb-header .tmb-btn{
    border:1px solid var(--tmb-ui-border, rgba(15,39,64,.14)) !important;
    background:var(--tmb-surface-bg, #fff) !important;
    color:var(--tmb-primary, var(--tmb-head-primary, #0f2740)) !important;
    box-shadow:none !important;
  }

  body.tmb-co-app-shell .tmb-header .tmb-btn:hover,
  body.tmb-co-app-shell .tmb-header .tmb-btn:focus-visible{
    background:var(--tmb-surface-alt, rgba(15,39,64,.04)) !important;
    color:var(--tmb-primary, var(--tmb-head-primary, #0f2740)) !important;
  }

  body.tmb-co-app-shell .tmb-cart-count{
    color:var(--tmb-primary, var(--tmb-head-primary, #0f2740)) !important;
    background:var(--tmb-accent, var(--tmb-head-accent, #f4b400)) !important;
    border-color:var(--tmb-surface-bg, #fff) !important;
  }

  body.tmb-co-app-shell .tmb-header-search{
    background:var(--tmb-surface-bg, #fff) !important;
    border-top:1px solid var(--tmb-ui-border, rgba(15,39,64,.12)) !important;
  }
}


/* ----------------------------------------------------------------------
   TMB CRM Front-End
   Source of truth for employee portal, directory, new records, and resources.
   Plugins output markup/behavior only; this universal stylesheet owns visuals.
------------------------------------------------------------------------ */
body.tmb-crm-endpoint{
  margin:0;
  background:var(--tmb-page-bg);
  color:var(--tmb-text);
  font-family:var(--tmb-font-primary);
}
.tmb-crm-shell{
  width:100%;
  min-height:100vh;
  box-sizing:border-box;
  padding:22px 10px;
}
:root{--tmb-crm-ink:var(--tmb-text);--tmb-crm-muted:var(--tmb-text-muted);--tmb-crm-line:var(--tmb-ui-border);--tmb-crm-card:var(--tmb-surface-bg);--tmb-crm-dark:var(--tmb-primary);--tmb-crm-bg:var(--tmb-page-bg);--tmb-crm-shadow:var(--tmb-ui-shadow)}
.tmb-crm-app{width:100%;max-width:none;display:grid;grid-template-columns:367px minmax(0,1fr);gap:32px;box-sizing:border-box}
.tmb-crm-sidebar{background:var(--tmb-crm-card);border-radius:24px;padding:28px 24px 24px;box-shadow:var(--tmb-crm-shadow);box-sizing:border-box;min-height:calc(100vh - 44px)}
.tmb-crm-sidebar-title{font-size:29px;line-height:1.1;font-weight:800;color:var(--tmb-crm-ink);margin:4px 2px 22px}
.tmb-crm-nav{display:flex;flex-direction:column;gap:12px}
.tmb-crm-nav-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 22px;border-radius:999px;background:var(--tmb-crm-card);border:1px solid rgba(220,225,231,.55);box-shadow:0 3px 10px rgba(28,37,48,.035);font-size:20px;line-height:1.1;color:var(--tmb-crm-ink);text-decoration:none;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.tmb-crm-nav-item:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(28,37,48,.06);color:var(--tmb-crm-ink)}
.tmb-crm-nav-item.is-active{background:var(--tmb-primary);border-color:var(--tmb-primary);color:var(--tmb-text-inverse);box-shadow:0 10px 18px rgba(34,49,63,.18)}
.tmb-crm-nav-chevron{font-weight:700;opacity:.65}
.tmb-crm-main{min-width:0;padding-right:18px}
.tmb-crm-employee-header{background:var(--tmb-crm-card);border-radius:22px;box-shadow:var(--tmb-crm-shadow);min-height:96px;padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;box-sizing:border-box}
.tmb-crm-profile-block{display:flex;align-items:center;gap:17px;min-width:0}
.tmb-crm-avatar,.tmb-crm-card-avatar,.tmb-crm-table-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:18px;overflow:hidden;background:var(--tmb-surface-alt);border:1px solid var(--tmb-crm-line)}
.tmb-crm-avatar{width:66px;height:66px}.tmb-crm-card-avatar{width:64px;height:64px;margin-bottom:12px}.tmb-crm-table-avatar{width:44px;height:44px;border-radius:14px}
.tmb-crm-avatar-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.tmb-crm-profile-block h1{font-size:24px;line-height:1.05;margin:0;color:var(--tmb-text);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tmb-crm-profile-block p{margin:4px 0 0;color:var(--tmb-text-muted);font-size:17px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tmb-crm-dot{padding:0 5px}.tmb-crm-back{width:61px;height:61px;border-radius:999px;border:1px solid var(--tmb-crm-line);display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--tmb-crm-ink);font-size:46px;line-height:1;background:var(--tmb-crm-card);flex:0 0 auto;font-weight:300}.tmb-crm-back:hover{color:var(--tmb-crm-ink);background:var(--tmb-surface-alt)}
.tmb-crm-module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.tmb-crm-module-card{background:var(--tmb-crm-card);border:1px solid var(--tmb-crm-line);border-radius:22px;min-height:168px;padding:22px 20px 18px;text-decoration:none;color:var(--tmb-crm-ink);display:flex;flex-direction:column;align-items:flex-start;box-sizing:border-box;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.tmb-crm-module-card:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(28,37,48,.06);border-color:var(--tmb-ui-border-strong);color:var(--tmb-crm-ink)}.tmb-crm-module-label{font-size:19px;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:var(--tmb-text-muted);font-weight:900;margin-bottom:8px}.tmb-crm-module-value{font-size:45px;line-height:.95;color:var(--tmb-text);font-weight:900;margin-bottom:0}.tmb-crm-module-caption{font-size:23px;line-height:1.15;font-weight:800;color:var(--tmb-text-soft);max-width:100%}.tmb-crm-eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:900;color:var(--tmb-text-muted)}.tmb-crm-directory-page{background:var(--tmb-crm-card);border-radius:22px;border:1px solid rgba(220,225,231,.7);padding:22px;box-shadow:var(--tmb-crm-shadow)}.tmb-crm-directory-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}.tmb-crm-directory-header h2{margin:0;color:var(--tmb-text);font-size:28px}.tmb-crm-directory-header p{margin:5px 0 0;color:var(--tmb-crm-muted)}.tmb-crm-view-toggle{display:inline-flex;gap:4px;background:var(--tmb-surface-alt);border:1px solid var(--tmb-crm-line);border-radius:999px;padding:4px;flex:0 0 auto}.tmb-crm-view-button{display:inline-block;border:0;background:transparent;border-radius:999px;padding:9px 15px;cursor:pointer;font-weight:800;color:var(--tmb-text-muted);text-decoration:none}.tmb-crm-view-button.is-active{background:var(--tmb-crm-card);color:var(--tmb-text);box-shadow:0 1px 4px rgba(0,0,0,.08)}.tmb-crm-directory-table-wrap{overflow-x:auto;border:1px solid var(--tmb-crm-line);border-radius:16px;background:var(--tmb-crm-card)}.tmb-crm-directory-table{width:100%;border-collapse:collapse;min-width:660px}.tmb-crm-directory-table th,.tmb-crm-directory-table td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--tmb-crm-line);vertical-align:middle}.tmb-crm-directory-table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--tmb-text-muted);background:var(--tmb-surface-alt)}.tmb-crm-directory-table tr:last-child td{border-bottom:0}.tmb-crm-table-person{display:flex;align-items:center;gap:12px}.tmb-crm-directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.tmb-crm-directory-card{border:1px solid var(--tmb-crm-line);border-radius:18px;padding:18px;background:var(--tmb-surface-alt)}.tmb-crm-directory-card h3{margin:0 0 8px;color:var(--tmb-text)}.tmb-crm-directory-card p{margin:6px 0}.tmb-crm-directory-card dl{margin:14px 0 0;display:grid;gap:8px}.tmb-crm-directory-card dt{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--tmb-text-muted);font-weight:800}.tmb-crm-directory-card dd{margin:2px 0 0}.tmb-crm-empty,.tmb-crm-notice{background:var(--tmb-crm-card);border:1px solid var(--tmb-crm-line);border-radius:16px;padding:18px}.tmb-crm-denied{border-left:4px solid #d63638}
@media (max-width:1400px){.tmb-crm-app{grid-template-columns:320px minmax(0,1fr);gap:24px}.tmb-crm-module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tmb-crm-module-caption{font-size:21px}.tmb-crm-nav-item{font-size:18px}}
@media (max-width:1100px){.tmb-crm-app{grid-template-columns:1fr;gap:16px}.tmb-crm-sidebar{min-height:auto;border-radius:20px;padding:20px;position:relative;z-index:1}.tmb-crm-sidebar-title{font-size:26px;margin-bottom:14px}.tmb-crm-nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(160px,auto);overflow-x:auto;gap:10px;padding-bottom:3px;scroll-snap-type:x proximity}.tmb-crm-nav-item{font-size:16px;padding:11px 16px;scroll-snap-align:start;white-space:nowrap}.tmb-crm-main{padding-right:0}.tmb-crm-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){body .tmb-crm-shell{padding:10px}.tmb-crm-app{gap:12px}.tmb-crm-sidebar{border-radius:18px;padding:18px 14px}.tmb-crm-sidebar-title{font-size:24px}.tmb-crm-nav{grid-auto-columns:minmax(145px,auto)}.tmb-crm-nav-item{font-size:15px}.tmb-crm-employee-header{border-radius:18px;padding:12px;min-height:82px;margin-bottom:12px}.tmb-crm-avatar{width:54px;height:54px;border-radius:15px}.tmb-crm-profile-block{gap:12px}.tmb-crm-profile-block h1{font-size:20px}.tmb-crm-profile-block p{font-size:13px;max-width:calc(100vw - 160px)}.tmb-crm-back{width:46px;height:46px;font-size:36px}.tmb-crm-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tmb-crm-module-card{border-radius:18px;min-height:132px;padding:16px 14px}.tmb-crm-module-label{font-size:13px}.tmb-crm-module-value{font-size:36px}.tmb-crm-module-caption{font-size:18px}.tmb-crm-directory-page{border-radius:18px;padding:14px}.tmb-crm-directory-header{align-items:flex-start;flex-direction:column}.tmb-crm-view-toggle{width:100%;box-sizing:border-box}.tmb-crm-view-button{flex:1;text-align:center}.tmb-crm-directory-grid{grid-template-columns:1fr}}
@media (max-width:430px){.tmb-crm-module-grid{grid-template-columns:1fr}.tmb-crm-module-card{min-height:112px}.tmb-crm-profile-block p{max-width:calc(100vw - 138px)}.tmb-crm-nav{grid-auto-columns:minmax(132px,auto)}}
.tmb-crm-form-page{background:var(--tmb-crm-card);border-radius:22px;border:1px solid rgba(220,225,231,.7);padding:22px;box-shadow:var(--tmb-crm-shadow)}
.tmb-crm-new-form{display:grid;gap:18px}.tmb-crm-form-section{border:1px solid var(--tmb-crm-line);border-radius:18px;padding:18px;background:var(--tmb-surface-alt)}.tmb-crm-form-section h3{margin:0 0 14px;color:var(--tmb-text);font-size:20px}.tmb-crm-choice-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.tmb-crm-choice-row label,.tmb-crm-check{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--tmb-text)}.tmb-crm-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tmb-crm-field{display:grid;gap:6px;font-weight:800;color:var(--tmb-text-muted)}.tmb-crm-field span{font-size:13px;text-transform:uppercase;letter-spacing:.06em}.tmb-crm-field input,.tmb-crm-field select{width:100%;box-sizing:border-box;border:1px solid var(--tmb-crm-line);border-radius:14px;padding:13px 14px;background:var(--tmb-crm-card);color:var(--tmb-text);font-size:16px}.tmb-crm-form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.tmb-crm-submit{border:0;border-radius:999px;background:var(--tmb-primary);color:var(--tmb-text-inverse);font-weight:900;padding:13px 22px;cursor:pointer;font-size:16px}.tmb-crm-form-actions a{font-weight:800;color:var(--tmb-text-muted)}.tmb-crm-form-notice{border-radius:16px;padding:14px 16px;font-weight:800;margin-bottom:16px}.tmb-crm-form-notice.is-success{background:rgba(34,197,94,.10);border:1px solid #b8e0c1;color:#246a35}.tmb-crm-form-notice.is-error{background:rgba(239,68,68,.08);border:1px solid #f1b4b4;color:#9c2323}
@media (max-width:760px){.tmb-crm-form-page{border-radius:18px;padding:14px}.tmb-crm-field-grid{grid-template-columns:1fr}.tmb-crm-form-section{padding:14px}.tmb-crm-submit{width:100%}.tmb-crm-form-actions a{width:100%;text-align:center}}

/* Resources file explorer */
.tmb-crm-resources-page code{background:var(--tmb-surface-alt);border:1px solid var(--tmb-crm-line);border-radius:8px;padding:2px 6px;color:var(--tmb-text-muted);font-size:.9em}
.tmb-crm-breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;color:var(--tmb-text-muted);font-weight:800}
.tmb-crm-breadcrumbs a{color:var(--tmb-text);text-decoration:none;background:var(--tmb-surface-alt);border:1px solid var(--tmb-crm-line);border-radius:999px;padding:7px 11px}
.tmb-crm-breadcrumbs a:hover{background:var(--tmb-crm-card);color:var(--tmb-text)}
.tmb-crm-up-link{display:inline-flex;align-items:center;margin:0 0 14px;color:var(--tmb-text-muted);font-weight:900;text-decoration:none}
.tmb-crm-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.tmb-crm-resource-card{display:flex;flex-direction:column;gap:8px;min-height:150px;border:1px solid var(--tmb-crm-line);border-radius:18px;padding:18px;background:var(--tmb-crm-card);text-decoration:none;color:var(--tmb-text);box-sizing:border-box;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.tmb-crm-resource-card:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(28,37,48,.06);border-color:var(--tmb-ui-border-strong);color:var(--tmb-text)}
.tmb-crm-resource-card.is-folder{background:var(--tmb-surface-alt)}
.tmb-crm-resource-icon{font-size:34px;line-height:1}
.tmb-crm-resource-card strong{font-size:17px;line-height:1.2;overflow-wrap:anywhere}
.tmb-crm-resource-card span:last-child{color:var(--tmb-text-muted);font-weight:800}
.tmb-crm-resource-name{display:inline-flex;align-items:center;gap:10px;color:var(--tmb-text);text-decoration:none;overflow-wrap:anywhere}
.tmb-crm-resource-name strong{font-weight:900}
.tmb-crm-resource-table td:nth-child(2),.tmb-crm-resource-table td:nth-child(3),.tmb-crm-resource-table td:nth-child(4){white-space:nowrap;color:var(--tmb-text-muted);font-weight:700}
@media (max-width:760px){.tmb-crm-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tmb-crm-resource-card{min-height:130px;border-radius:16px;padding:14px}.tmb-crm-resource-icon{font-size:30px}.tmb-crm-resource-card strong{font-size:15px}.tmb-crm-breadcrumbs{gap:6px}.tmb-crm-breadcrumbs a{padding:6px 9px;font-size:13px}}
@media (max-width:430px){.tmb-crm-resource-grid{grid-template-columns:1fr}}

.tmb-crm-new-business-field[hidden],
.tmb-crm-existing-business-field[hidden]{display:none!important;}

/* TMB CRM shell integration: theme header/footer + responsive employee menus */
body.tmb-crm-endpoint .tmb-crm-shell{
  min-height:auto;
  padding:clamp(18px,3vw,32px) 10px;
}
.tmb-crm-app{
  transition:grid-template-columns .22s ease, gap .22s ease;
}
.tmb-crm-sidebar{
  transition:opacity .2s ease, transform .22s ease, padding .22s ease, width .22s ease;
}
.tmb-crm-app.is-sidebar-collapsed{
  grid-template-columns:0 minmax(0,1fr);
  gap:0;
}
.tmb-crm-app.is-sidebar-collapsed .tmb-crm-sidebar{
  opacity:0;
  transform:translateX(-12px);
  padding-left:0;
  padding-right:0;
  overflow:hidden;
  pointer-events:none;
}
.tmb-crm-app.is-sidebar-collapsed .tmb-crm-main{
  padding-left:0;
}
.tmb-crm-header-row{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
  flex:1;
  width:100%;
}
.tmb-crm-header-row .tmb-crm-profile-block{
  min-width:0;
  flex:1 1 auto;
}
.tmb-crm-sidebar-toggle,
.tmb-crm-mobile-menu-toggle{
  appearance:none;
  border:1px solid var(--tmb-crm-line);
  background:var(--tmb-crm-card);
  color:var(--tmb-crm-ink);
  box-shadow:none;
  cursor:pointer;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.tmb-crm-sidebar-toggle{
  margin-left:auto;
  width:52px;
  height:52px;
  border-radius:999px;
  font-size:42px;
  font-weight:300;
  padding:0 0 5px;
  transition:background .16s ease, transform .18s ease;
}
.tmb-crm-sidebar-toggle:hover{
  background:var(--tmb-surface-alt);
}
.tmb-crm-app.is-sidebar-collapsed .tmb-crm-sidebar-toggle{
  transform:rotate(180deg);
}
.tmb-crm-mobile-menu-toggle{
  display:none;
  width:100%;
  height:22px;
  border:0;
  border-top:1px solid var(--tmb-crm-line);
  border-radius:0;
  margin-top:10px;
  color:var(--tmb-text-muted);
  background:transparent;
  font-size:18px;
  opacity:.82;
}
.tmb-crm-mobile-menu-toggle span{
  transform:translateY(-1px);
  transition:transform .18s ease;
}
.tmb-crm-app.is-mobile-menu-open .tmb-crm-mobile-menu-toggle span{
  transform:rotate(180deg) translateY(1px);
}
.tmb-crm-mobile-menu{
  display:none;
  margin:-8px 0 14px;
  background:var(--tmb-crm-card);
  border:1px solid var(--tmb-crm-line);
  border-radius:0 0 18px 18px;
  padding:14px;
  box-shadow:var(--tmb-crm-shadow);
}
.tmb-crm-mobile-menu[hidden]{display:none!important;}

@media (max-width:1100px){
  .tmb-crm-app,
  .tmb-crm-app.is-sidebar-collapsed{
    grid-template-columns:1fr;
    gap:12px;
  }
  .tmb-crm-app > .tmb-crm-sidebar{
    display:none;
  }
  .tmb-crm-app.is-sidebar-collapsed .tmb-crm-sidebar-toggle{
    transform:none;
  }
  .tmb-crm-sidebar-toggle{
    display:none;
  }
  .tmb-crm-employee-header{
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin-bottom:0;
  }
  .tmb-crm-header-row{
    width:100%;
  }
  .tmb-crm-mobile-menu-toggle{
    display:flex;
  }
  .tmb-crm-mobile-menu{
    display:block;
  }
  .tmb-crm-mobile-menu .tmb-crm-nav{
    display:flex;
    flex-direction:column;
    grid-auto-flow:unset;
    grid-auto-columns:unset;
    grid-template-columns:none;
    gap:9px;
    overflow:visible;
    padding-bottom:0;
  }
  .tmb-crm-mobile-menu .tmb-crm-nav-item{
    width:100%;
    box-sizing:border-box;
  }
}

@media (max-width:760px){
  body.tmb-crm-endpoint .tmb-crm-shell{
    padding:10px;
  }
  .tmb-crm-header-row{
    gap:12px;
  }
  .tmb-crm-mobile-menu{
    border-radius:0 0 16px 16px;
    padding:12px;
    margin:-5px 0 12px;
  }
}

/* TMB CRM directory scope filters */
.tmb-crm-directory-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.tmb-crm-radio-toggle{display:inline-flex;align-items:center;gap:4px;background:var(--tmb-surface-alt);border:1px solid var(--tmb-crm-line);border-radius:999px;padding:4px;flex:0 0 auto}
.tmb-crm-radio-pill{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:9px 15px;cursor:pointer;font-weight:800;color:var(--tmb-text-muted);line-height:1;user-select:none}
.tmb-crm-radio-pill input{position:absolute;opacity:0;pointer-events:none}
.tmb-crm-radio-pill.is-active,.tmb-crm-radio-pill:has(input:checked){background:var(--tmb-crm-card);color:var(--tmb-text);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.tmb-crm-filter-submit{border:0;border-radius:999px;background:var(--tmb-primary);color:var(--tmb-text-inverse);font-weight:900;padding:9px 14px;cursor:pointer;line-height:1}
.tmb-crm-avatar-initial{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:22px;font-weight:900;color:var(--tmb-text);background:var(--tmb-surface-alt)}
.tmb-crm-person-type{margin:0 0 6px!important;text-transform:uppercase;letter-spacing:.07em;font-size:12px;font-weight:900;color:var(--tmb-text-muted)}
@media (max-width:760px){.tmb-crm-directory-controls{width:100%;justify-content:stretch}.tmb-crm-radio-toggle,.tmb-crm-view-toggle{width:100%;box-sizing:border-box}.tmb-crm-radio-pill,.tmb-crm-view-button{flex:1;text-align:center}.tmb-crm-filter-submit{display:none}}

/* TMB CRM Businesses */
.tmb-crm-businesses-page{margin-bottom:18px;}
.tmb-crm-business-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px;}
.tmb-crm-business-grid{margin-top:18px;}
.tmb-crm-business-card{display:flex;flex-direction:column;gap:12px;}
.tmb-crm-location-list{display:grid;gap:8px;margin-top:10px;}
.tmb-crm-location-chip{border:1px solid var(--tmb-crm-line);border-radius:14px;background:var(--tmb-crm-card);padding:10px 12px;display:grid;gap:3px;}
.tmb-crm-location-chip strong{font-size:14px;line-height:1.2;color:var(--tmb-text);}
.tmb-crm-location-chip span{font-size:12px;line-height:1.3;color:var(--tmb-text-muted);font-weight:800;}
.tmb-crm-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--tmb-crm-line);border-radius:14px;padding:13px 14px;background:var(--tmb-crm-card);color:var(--tmb-text);font-size:16px;min-height:104px;resize:vertical;}
.tmb-crm-businesses-page + .tmb-crm-form-page{margin-top:18px;}
.tmb-crm-form-page + .tmb-crm-form-page{margin-top:18px;}
@media (max-width:900px){.tmb-crm-business-stats{grid-template-columns:1fr;}}
.tmb-crm-business-detail-page{margin-bottom:18px;}
a.tmb-crm-location-chip{text-decoration:none;color:inherit;}

/* TMB CRM delete controls */
.tmb-crm-danger-zone{border-color:rgba(220,38,38,.28);}
.tmb-crm-view-button-danger{color:#b91c1c;}
.tmb-crm-submit-danger{background:#b91c1c;color:#fff;}
.tmb-crm-submit-danger:hover{filter:brightness(.96);}

/* TMB CRM simplified business setup */
.tmb-crm-reveal-panel[hidden]{display:none!important;}
button.tmb-crm-view-button{font-family:inherit;font-size:inherit;}
.tmb-crm-business-logo{width:58px;height:58px;border-radius:18px;border:1px solid var(--tmb-crm-line);background:var(--tmb-surface-alt);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;}
.tmb-crm-business-logo-img{width:100%;height:100%;object-fit:contain;display:block;background:#fff;}
.tmb-crm-business-logo-initial{font-size:24px;font-weight:900;color:var(--tmb-text);line-height:1;}
.tmb-crm-next-step-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--tmb-crm-line);border-radius:20px;background:var(--tmb-surface-alt);padding:18px;margin-bottom:18px;}
.tmb-crm-next-step-card h3{margin:0;color:var(--tmb-text);font-size:24px;line-height:1.1;}
.tmb-crm-next-step-card p:last-child{margin:5px 0 0;color:var(--tmb-text-muted);}
.tmb-crm-next-step-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.tmb-crm-next-step-actions a{text-decoration:none;}
@media (max-width:760px){.tmb-crm-next-step-card{align-items:stretch;flex-direction:column;padding:14px}.tmb-crm-next-step-actions{justify-content:stretch}.tmb-crm-next-step-actions a{width:100%;text-align:center;box-sizing:border-box}.tmb-crm-business-logo{width:52px;height:52px;border-radius:16px}}
.tmb-crm-next-step-actions button{font-family:inherit;}
@media (max-width:760px){.tmb-crm-next-step-actions button{width:100%;text-align:center;box-sizing:border-box}}



/* Theme SVG icon assets for mobile thumb tray */
.tmb-thumb-tray__icon{
  position:relative;
}

.tmb-icon-stack{
  position:relative;
  display:inline-grid;
  width:100%;
  height:100%;
  place-items:center;
  color:inherit;
}

.tmb-icon-stack > *{
  grid-area:1 / 1;
}

.tmb-icon-mask{
  display:block;
  width:100%;
  height:100%;
  background:currentColor;
  -webkit-mask-image:var(--tmb-icon-url);
  mask-image:var(--tmb-icon-url);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}

.tmb-icon-inline,
.tmb-icon-inline svg,
.tmb-icon-img{
  display:block;
  width:100%;
  height:100%;
}

.tmb-icon-img{
  object-fit:contain;
}

.tmb-icon-mask--press{
  display:none;
  background:var(--tmb-accent,#f4b400);
  transform-origin:center bottom;
}

.tmb-thumb-tray__item.is-flame-press .tmb-icon-stack.has-press-icon .tmb-icon-mask--default,
.tmb-thumb-tray__item.is-flame-press .tmb-icon-stack.has-press-icon .tmb-icon-inline--default,
.tmb-thumb-tray__item:active .tmb-icon-stack.has-press-icon .tmb-icon-mask--default,
.tmb-thumb-tray__item:active .tmb-icon-stack.has-press-icon .tmb-icon-inline--default{
  display:none;
}

.tmb-thumb-tray__item.is-flame-press .tmb-icon-stack.has-press-icon .tmb-icon-mask--press,
.tmb-thumb-tray__item:active .tmb-icon-stack.has-press-icon .tmb-icon-mask--press{
  display:block;
  animation:tmb-flame-pop .22s ease-out both;
}

@keyframes tmb-flame-pop{
  from{opacity:0;transform:scale(.72) translateY(2px);}
  to{opacity:1;transform:scale(1) translateY(0);}
}

/* ----------------------------------------------------------------------
   TMB CRM resources cleanup + selected resource action sheet
------------------------------------------------------------------------ */
body.tmb-crm-endpoint .tmb-crm-resource-head{
  display:grid;
  gap:8px;
  margin:0 0 18px;
}
body.tmb-crm-endpoint .tmb-crm-resource-titlebar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
body.tmb-crm-endpoint .tmb-crm-resource-titlebar h2{
  margin:0;
  font-size:clamp(34px,5vw,56px);
  line-height:.9;
  font-weight:950;
  letter-spacing:-.055em;
  color:var(--tmb-text);
}
body.tmb-crm-endpoint .tmb-crm-resource-view-toggle{
  flex:0 0 auto;
}
body.tmb-crm-endpoint .tmb-crm-resource-crumbs{
  margin:0;
  gap:6px;
  font-size:13px;
  color:var(--tmb-text-muted);
}
body.tmb-crm-endpoint .tmb-crm-resource-crumbs a{
  padding:0;
  border:0;
  background:transparent;
  color:var(--tmb-text-muted);
  font-weight:850;
}
body.tmb-crm-endpoint .tmb-crm-resource-crumbs a:last-child,
body.tmb-crm-endpoint .tmb-crm-resource-crumbs a:hover{
  color:var(--tmb-text);
}
body.tmb-crm-endpoint .tmb-crm-resource-table tr[data-tmb-crm-resource-item],
body.tmb-crm-endpoint .tmb-crm-resource-card[data-tmb-crm-resource-item]{
  cursor:pointer;
}
body.tmb-crm-endpoint .tmb-crm-resource-card[data-tmb-crm-resource-item]{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  border:0;
  text-align:left;
  font:inherit;
}
body.tmb-crm-endpoint .tmb-crm-resource-table tr[data-tmb-crm-resource-item]:hover td,
body.tmb-crm-endpoint .tmb-crm-resource-table tr[data-tmb-crm-resource-item].is-selected td,
body.tmb-crm-endpoint .tmb-crm-resource-card[data-tmb-crm-resource-item]:hover,
body.tmb-crm-endpoint .tmb-crm-resource-card[data-tmb-crm-resource-item].is-selected{
  background:color-mix(in srgb, var(--tmb-accent) 16%, var(--tmb-surface-alt));
}
body.tmb-crm-endpoint .tmb-crm-resource-table tr[data-tmb-crm-resource-item].is-selected td,
body.tmb-crm-endpoint .tmb-crm-resource-card[data-tmb-crm-resource-item].is-selected{
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tmb-accent) 70%, transparent);
}
body.tmb-crm-endpoint .tmb-crm-resource-actions[hidden]{
  display:none!important;
}
body.tmb-crm-endpoint .tmb-crm-resource-actions{
  position:fixed;
  left:50%;
  bottom:calc(22px + env(safe-area-inset-bottom,0px));
  z-index:99999;
  width:min(620px,calc(100% - 28px));
  transform:translate3d(-50%,14px,0);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .2s cubic-bezier(.2,.8,.2,1);
}
body.tmb-crm-endpoint .tmb-crm-resource-actions.is-open{
  opacity:1;
  pointer-events:auto;
  transform:translate3d(-50%,0,0);
}
body.tmb-crm-endpoint .tmb-crm-resource-actions__panel{
  position:relative;
  display:grid;
  gap:12px;
  padding:16px;
  border-radius:24px;
  background:var(--tmb-surface-bg);
  box-shadow:0 18px 48px rgba(15,23,32,.18);
}
body.tmb-crm-endpoint .tmb-crm-resource-actions__panel strong{
  display:block;
  padding-right:36px;
  font-size:15px;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--tmb-text);
}
body.tmb-crm-endpoint .tmb-crm-resource-actions__close{
  position:absolute;
  top:8px;
  right:8px;
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:var(--tmb-surface-alt);
  color:var(--tmb-text);
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
body.tmb-crm-endpoint .tmb-crm-resource-actions__buttons{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
body.tmb-crm-endpoint .tmb-crm-resource-actions__buttons button,
body.tmb-crm-endpoint .tmb-crm-resource-actions__buttons a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border:0;
  border-radius:16px;
  padding:0 10px;
  background:var(--tmb-surface-alt);
  color:var(--tmb-text);
  text-decoration:none;
  font-family:inherit;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
body.tmb-crm-endpoint .tmb-crm-resource-actions__buttons button:hover,
body.tmb-crm-endpoint .tmb-crm-resource-actions__buttons a:hover,
body.tmb-crm-endpoint .tmb-crm-resource-actions__buttons button:focus-visible,
body.tmb-crm-endpoint .tmb-crm-resource-actions__buttons a:focus-visible{
  background:var(--tmb-primary);
  color:var(--tmb-text-inverse);
}
@media (max-width:760px){
  body.tmb-crm-endpoint .tmb-crm-resource-titlebar h2{font-size:42px;}
  body.tmb-crm-endpoint .tmb-crm-resource-actions{
    bottom:calc(96px + env(safe-area-inset-bottom,0px));
    width:min(520px,calc(100% - 20px));
  }
  body.tmb-crm-endpoint .tmb-crm-resource-actions__buttons{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Mobile loader layering: keep the app header and thumb tray above the loader. */
@media (max-width:900px){
  body.tmb-co-app-shell .tmb-page-loader{
    z-index:2147482500!important;
  }
  body.tmb-co-app-shell .tmb-header,
  body.tmb-co-app-shell .tmb-footer.tmb-thumb-tray,
  body.tmb-co-app-shell .tmb-footer-search,
  body.tmb-co-app-shell .tmb-mobile,
  body.tmb-co-app-shell .tmb-mobile-cart-menu{
    z-index:2147483000!important;
  }
}

/* ----------------------------------------------------------------------
   TMB CRM heading controls: keep Businesses and People controls beside title
------------------------------------------------------------------------ */
body.tmb-crm-endpoint .tmb-crm-heading-controls{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-direction:row!important;
  gap:14px!important;
  margin:0 0 18px!important;
}
body.tmb-crm-endpoint .tmb-crm-heading-controls h2{
  flex:1 1 auto;
  min-width:0;
}
body.tmb-crm-endpoint .tmb-crm-heading-controls .tmb-crm-directory-controls{
  flex:0 1 auto;
  width:auto!important;
  margin-left:auto;
  justify-content:flex-end!important;
  align-items:center;
}
@media (max-width:760px){
  body.tmb-crm-endpoint .tmb-crm-heading-controls{
    align-items:flex-start!important;
    gap:10px!important;
  }
  body.tmb-crm-endpoint .tmb-crm-heading-controls h2{
    font-size:clamp(34px,10vw,42px)!important;
  }
  body.tmb-crm-endpoint .tmb-crm-heading-controls .tmb-crm-directory-controls{
    max-width:64%;
    gap:6px;
    row-gap:6px;
  }
  body.tmb-crm-endpoint .tmb-crm-heading-controls .tmb-crm-primary-action,
  body.tmb-crm-endpoint .tmb-crm-heading-controls .tmb-crm-filter-button,
  body.tmb-crm-endpoint .tmb-crm-heading-controls .tmb-crm-all-button{
    min-height:38px;
    padding-inline:12px;
    font-size:13px;
  }
  body.tmb-crm-endpoint .tmb-crm-heading-controls .tmb-crm-icon-view-switch{
    --tmb-switch-size:38px;
    width:80px;
    height:38px;
    padding:4px;
  }
  body.tmb-crm-endpoint .tmb-crm-heading-controls .tmb-crm-icon-view-option{
    width:32px;
    height:30px;
    font-size:16px;
  }
  body.tmb-crm-endpoint .tmb-crm-heading-controls .tmb-crm-icon-view-knob{
    width:32px;
    height:30px;
  }
  body.tmb-crm-endpoint .tmb-crm-heading-controls .tmb-crm-icon-view-switch.is-grid .tmb-crm-icon-view-knob,
  body.tmb-crm-endpoint .tmb-crm-heading-controls .tmb-crm-icon-view-switch.is-preview-grid .tmb-crm-icon-view-knob{
    transform:translateX(40px);
  }
}

/* ----------------------------------------------------------------------
   TMB CRM titlebar controls: mirror Resources header layout
------------------------------------------------------------------------ */
body.tmb-crm-endpoint .tmb-crm-businesses-head,
body.tmb-crm-endpoint .tmb-crm-people-head{
  display:grid!important;
  gap:8px!important;
  margin:0 0 18px!important;
}
body.tmb-crm-endpoint .tmb-crm-businesses-head .tmb-crm-resource-titlebar,
body.tmb-crm-endpoint .tmb-crm-people-head .tmb-crm-resource-titlebar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-direction:row!important;
  gap:14px!important;
  width:100%;
}
body.tmb-crm-endpoint .tmb-crm-businesses-head .tmb-crm-resource-titlebar h2,
body.tmb-crm-endpoint .tmb-crm-people-head .tmb-crm-resource-titlebar h2{
  flex:1 1 auto;
  min-width:0;
  margin:0;
}
body.tmb-crm-endpoint .tmb-crm-title-controls{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex:0 0 auto!important;
  width:auto!important;
  gap:8px!important;
  white-space:nowrap;
}
body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-all-button,
body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-filter-button{
  flex:0 0 auto;
}
body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-icon-view-switch{
  flex:0 0 auto;
}
body.tmb-crm-endpoint .tmb-crm-inline-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin:0 0 18px;
}
body.tmb-crm-endpoint .tmb-crm-inline-actions:empty{
  display:none;
}
@media (max-width:480px){
  body.tmb-crm-endpoint .tmb-crm-businesses-head .tmb-crm-resource-titlebar,
  body.tmb-crm-endpoint .tmb-crm-people-head .tmb-crm-resource-titlebar{
    gap:10px!important;
  }
  body.tmb-crm-endpoint .tmb-crm-title-controls{
    gap:6px!important;
  }
  body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-all-button,
  body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-filter-button{
    min-height:38px;
    padding-inline:12px;
    font-size:13px;
  }
  body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-icon-view-switch{
    --tmb-switch-size:38px;
    width:80px;
    height:38px;
    padding:4px;
  }
  body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-icon-view-option{
    width:32px;
    height:30px;
    font-size:16px;
  }
  body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-icon-view-knob{
    width:32px;
    height:30px;
  }
  body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-icon-view-switch.is-grid .tmb-crm-icon-view-knob,
  body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-icon-view-switch.is-preview-grid .tmb-crm-icon-view-knob{
    transform:translateX(40px);
  }
}
@media (max-width:360px){
  body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-all-button,
  body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-filter-button{
    min-width:0;
    padding-inline:10px;
  }
  body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-icon-view-switch{
    width:74px;
  }
  body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-icon-view-option,
  body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-icon-view-knob{
    width:29px;
  }
  body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-icon-view-switch.is-grid .tmb-crm-icon-view-knob,
  body.tmb-crm-endpoint .tmb-crm-title-controls .tmb-crm-icon-view-switch.is-preview-grid .tmb-crm-icon-view-knob{
    transform:translateX(37px);
  }
}


/* TMB CRM overlay z-index: keep full-screen setup forms above mobile header/footer chrome */
.tmb-crm-modal-panel{
  z-index:2147483400!important;
}
.tmb-crm-wizard-top,
.tmb-crm-business-wizard .tmb-crm-wizard-nav{
  z-index:2147483500!important;
}
.tmb-crm-modal-close,
.tmb-crm-wizard-title-row .tmb-crm-modal-close{
  z-index:2147483600!important;
}
body.tmb-crm-modal-open .tmb-header,
body.tmb-crm-modal-open .site-header,
body.tmb-crm-modal-open .tmb-mobile-header,
body.tmb-crm-modal-open .tmb-footer,
body.tmb-crm-modal-open .tmb-thumb-tray,
body.tmb-crm-modal-open .tmb-mobile-cart-menu,
body.tmb-crm-modal-open .tmb-mobile-menu,
body.tmb-crm-modal-open .tmb-footer-search-tray{
  z-index:100!important;
}

/* ----------------------------------------------------------------------
   TMB CRM sticky bottom creation actions
------------------------------------------------------------------------ */
body.tmb-crm-endpoint .tmb-crm-businesses-page,
body.tmb-crm-endpoint .tmb-crm-people-page{
  padding-bottom:132px;
}
body.tmb-crm-endpoint .tmb-crm-bottom-action-bar{
  position:fixed;
  left:0;
  right:0;
  bottom:24px;
  z-index:850;
  width:min(100%,760px);
  max-width:760px;
  margin:0 auto;
  box-sizing:border-box;
  padding:0 clamp(16px,4vw,24px);
  pointer-events:none;
}
body.tmb-crm-endpoint .tmb-crm-bottom-primary-action{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:58px;
  border:0;
  border-radius:999px;
  background:var(--tmb-primary);
  color:var(--tmb-accent, #fff);
  box-shadow:0 18px 44px rgba(15,23,32,.22);
  font-family:inherit;
  font-size:15px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  pointer-events:auto;
}
body.tmb-crm-endpoint .tmb-crm-bottom-primary-action:hover,
body.tmb-crm-endpoint .tmb-crm-bottom-primary-action:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 22px 52px rgba(15,23,32,.26);
  outline:0;
}
body.tmb-crm-endpoint .tmb-crm-placeholder-note{
  margin:24px 0 0;
  color:var(--tmb-text-muted);
  font-weight:800;
}
body.tmb-crm-modal-open .tmb-crm-bottom-action-bar{
  display:none;
}
@media (max-width:900px){
  body.tmb-crm-endpoint .tmb-crm-businesses-page,
  body.tmb-crm-endpoint .tmb-crm-people-page{
    padding-bottom:178px;
  }
  body.tmb-crm-endpoint .tmb-crm-bottom-action-bar{
    bottom:calc(92px + env(safe-area-inset-bottom,0px));
    padding-inline:18px;
    z-index:850;
  }
  body.tmb-crm-endpoint .tmb-crm-bottom-primary-action{
    min-height:60px;
  }
}
@media (max-width:420px){
  body.tmb-crm-endpoint .tmb-crm-bottom-action-bar{
    padding-inline:14px;
  }
  body.tmb-crm-endpoint .tmb-crm-bottom-primary-action{
    min-height:56px;
    font-size:14px;
  }
}

/* ----------------------------------------------------------------------
   TMB CRM employee dashboard
------------------------------------------------------------------------ */
body.tmb-crm-endpoint .tmb-crm-dashboard-page{
  display:grid;
  gap:18px;
  padding:clamp(4px,1vw,10px) 0 132px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-hero{
  min-height:210px;
  border-radius:32px;
  background:linear-gradient(135deg,var(--tmb-primary) 0%,color-mix(in srgb,var(--tmb-primary) 78%,#000 22%) 100%);
  color:#fff;
  padding:clamp(24px,5vw,42px);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  overflow:hidden;
  position:relative;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-hero:before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  right:-84px;
  top:-92px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-hero:after{
  content:"";
  position:absolute;
  inset:auto -10% -45% 36%;
  height:220px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-hero__copy,
body.tmb-crm-endpoint .tmb-crm-dashboard-scoreboard{
  position:relative;
  z-index:1;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-kicker{
  display:block;
  margin:0 0 10px;
  font-size:12px;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-hero h2{
  margin:0;
  color:#fff;
  font-size:clamp(42px,7vw,82px);
  line-height:.9;
  letter-spacing:-.07em;
  max-width:850px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-hero p{
  margin:16px 0 0;
  color:rgba(255,255,255,.74);
  font-size:clamp(16px,2vw,21px);
  font-weight:800;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-scoreboard{
  display:grid;
  grid-template-columns:repeat(2,minmax(96px,1fr));
  gap:10px;
  min-width:min(330px,100%);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-scoreboard div{
  border-radius:22px;
  background:rgba(255,255,255,.13);
  padding:18px 18px 16px;
  backdrop-filter:blur(12px);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-scoreboard span{
  display:block;
  color:rgba(255,255,255,.68);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:7px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-scoreboard strong{
  display:block;
  color:#fff;
  font-size:clamp(32px,5vw,52px);
  line-height:1;
  letter-spacing:-.05em;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-spotlight{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:14px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-feature{
  min-height:138px;
  border-radius:28px;
  background:var(--tmb-surface-alt,#f5f6f7);
  text-decoration:none;
  color:var(--tmb-text,#121820);
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-feature.is-revenue{
  background:color-mix(in srgb,var(--tmb-accent,#e25822) 14%,#fff 86%);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-feature span,
body.tmb-crm-endpoint .tmb-crm-dashboard-metric__label{
  color:var(--tmb-text-muted,#667085);
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-feature strong{
  display:block;
  color:var(--tmb-text,#121820);
  font-size:clamp(40px,7vw,74px);
  line-height:.95;
  letter-spacing:-.07em;
  margin:10px 0 8px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-feature em{
  color:var(--tmb-text-muted,#667085);
  font-style:normal;
  font-weight:850;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-metric{
  min-height:172px;
  border-radius:26px;
  background:var(--tmb-surface-alt,#f5f6f7);
  color:var(--tmb-text,#121820);
  text-decoration:none;
  padding:20px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:transform .16s ease,background .16s ease;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-metric:hover,
body.tmb-crm-endpoint .tmb-crm-dashboard-feature:hover{
  transform:translateY(-1px);
  color:var(--tmb-text,#121820);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-metric__value{
  display:block;
  font-size:clamp(34px,5vw,56px);
  line-height:1;
  letter-spacing:-.06em;
  margin:10px 0 4px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-metric__caption{
  color:var(--tmb-text-muted,#667085);
  font-size:13px;
  font-weight:780;
  line-height:1.25;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar{
  display:block;
  height:8px;
  border-radius:999px;
  background:color-mix(in srgb,var(--tmb-text,#121820) 9%,transparent);
  overflow:hidden;
  margin:16px 0 10px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span{
  display:block;
  height:100%;
  width:100%;
  border-radius:999px;
  background:var(--tmb-accent,#e25822);
  transform-origin:left center;
  transform:scaleX(0);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-0{transform:scaleX(0)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-5{transform:scaleX(.05)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-10{transform:scaleX(.1)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-15{transform:scaleX(.15)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-20{transform:scaleX(.2)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-25{transform:scaleX(.25)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-30{transform:scaleX(.3)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-35{transform:scaleX(.35)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-40{transform:scaleX(.4)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-45{transform:scaleX(.45)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-50{transform:scaleX(.5)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-55{transform:scaleX(.55)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-60{transform:scaleX(.6)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-65{transform:scaleX(.65)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-70{transform:scaleX(.7)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-75{transform:scaleX(.75)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-80{transform:scaleX(.8)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-85{transform:scaleX(.85)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-90{transform:scaleX(.9)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-95{transform:scaleX(.95)}
body.tmb-crm-endpoint .tmb-crm-dashboard-bar span.is-pct-100{transform:scaleX(1)}
body.tmb-crm-endpoint .tmb-crm-dashboard-compare{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:var(--tmb-text-muted,#667085);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-rally{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-radius:24px;
  background:var(--tmb-text,#121820);
  color:#fff;
  padding:18px 22px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-rally strong{
  font-size:22px;
  letter-spacing:-.04em;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-rally span{
  color:rgba(255,255,255,.72);
  font-weight:800;
  text-align:right;
}
@media (max-width:1100px){
  body.tmb-crm-endpoint .tmb-crm-dashboard-hero{align-items:flex-start;flex-direction:column;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-scoreboard{width:100%;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  body.tmb-crm-endpoint .tmb-crm-dashboard-page{gap:12px;padding-bottom:168px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-hero{min-height:190px;border-radius:28px;padding:24px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-hero h2{font-size:48px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-spotlight{grid-template-columns:1fr;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-feature{min-height:114px;border-radius:24px;padding:18px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-feature strong{font-size:45px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-metrics{grid-template-columns:1fr 1fr;gap:10px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-metric{border-radius:22px;min-height:156px;padding:16px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-metric__value{font-size:38px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-rally{align-items:flex-start;flex-direction:column;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-rally span{text-align:left;}
}
@media (max-width:420px){
  body.tmb-crm-endpoint .tmb-crm-dashboard-metrics{grid-template-columns:1fr;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-scoreboard{grid-template-columns:1fr 1fr;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-scoreboard div{padding:14px;}
}

/* CRM Dashboard Carousel */
body.tmb-crm-endpoint .tmb-crm-dashboard-page--carousel{
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  gap:14px;
  height:calc(100svh - 200px);
  min-height:620px;
  max-height:calc(100svh - 140px);
  overflow:hidden;
  padding:4px 0 8px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-headline{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-kicker{
  display:block;
  margin-bottom:4px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--tmb-text-muted);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-headline h2{
  margin:0;
  font-size:34px;
  line-height:1;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-pagecount{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--tmb-surface-alt);
  color:var(--tmb-text-muted);
  font-size:13px;
  font-weight:700;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-pagecount em{font-style:normal;opacity:.5}
body.tmb-crm-endpoint .tmb-crm-dashboard-nav{
  display:flex;
  gap:8px;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-nav::-webkit-scrollbar{display:none}
body.tmb-crm-endpoint .tmb-crm-dashboard-nav button{
  border:0;
  background:var(--tmb-surface-alt);
  color:var(--tmb-text-muted);
  border-radius:999px;
  padding:10px 14px;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-nav button.is-active{
  background:var(--tmb-primary);
  color:#fff;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-stage{
  position:relative;
  min-height:0;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-slide{
  display:grid;
  align-content:start;
  gap:14px;
  height:100%;
  padding:18px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,248,250,.98));
  box-shadow:0 18px 54px rgba(16,24,40,.08);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-slide[hidden]{display:none !important}
body.tmb-crm-endpoint .tmb-crm-dashboard-slidehead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
body.tmb-crm-endpoint .tmb-crm-dashboard-slidehead h3{margin:0;font-size:24px;line-height:1}
body.tmb-crm-endpoint .tmb-crm-dashboard-slidehead p{margin:0;color:var(--tmb-text-muted);font-size:14px}
body.tmb-crm-endpoint .tmb-crm-dashboard-comparison-hero{
  display:grid;
  grid-template-columns:1fr 1fr 1.2fr;
  gap:12px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-comparison-hero > div,
body.tmb-crm-endpoint .tmb-crm-dashboard-statecard,
body.tmb-crm-endpoint .tmb-crm-dashboard-budgetcard,
body.tmb-crm-endpoint .tmb-crm-dashboard-comparecard{
  border-radius:22px;
  background:var(--tmb-surface-bg);
  padding:14px 16px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-comparison-hero span,
body.tmb-crm-endpoint .tmb-crm-dashboard-comparecard span,
body.tmb-crm-endpoint .tmb-crm-dashboard-budgetcard span,
body.tmb-crm-endpoint .tmb-crm-dashboard-statecard span,
body.tmb-crm-endpoint .tmb-crm-dashboard-brandrow span{
  display:block;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--tmb-text-muted);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-comparison-hero strong{
  display:block;
  margin-top:8px;
  font-size:38px;
  line-height:1;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-moneytile{
  background:linear-gradient(135deg, var(--tmb-primary), color-mix(in srgb, var(--tmb-primary) 55%, #000));
  color:#fff;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-moneytile span,
body.tmb-crm-endpoint .tmb-crm-dashboard-moneytile em{color:rgba(255,255,255,.85)}
body.tmb-crm-endpoint .tmb-crm-dashboard-moneytile strong{font-size:34px}
body.tmb-crm-endpoint .tmb-crm-dashboard-comparegrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-comparecard strong,
body.tmb-crm-endpoint .tmb-crm-dashboard-statecard strong,
body.tmb-crm-endpoint .tmb-crm-dashboard-budgetcard strong{
  display:block;
  margin-top:8px;
  font-size:28px;
  line-height:1;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-comparecard small,
body.tmb-crm-endpoint .tmb-crm-dashboard-statecard small,
body.tmb-crm-endpoint .tmb-crm-dashboard-budgetcard small{
  display:block;
  margin-top:8px;
  color:var(--tmb-text-muted);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-inlinebar{
  height:10px;
  margin-top:12px;
  border-radius:999px;
  background:rgba(16,24,40,.08);
  overflow:hidden;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-inlinebar i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--tmb-primary), var(--tmb-accent, var(--tmb-primary)));
}
body.tmb-crm-endpoint .tmb-crm-dashboard-inlinebar.is-large{height:12px}
body.tmb-crm-endpoint .tmb-crm-dashboard-stategrid,
body.tmb-crm-endpoint .tmb-crm-dashboard-budgetgrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-statecard__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
body.tmb-crm-endpoint .tmb-crm-dashboard-statecard em,
body.tmb-crm-endpoint .tmb-crm-dashboard-budgetcard em{
  font-style:normal;
  color:var(--tmb-primary);
  font-weight:700;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-podium{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:end;
  gap:12px;
  min-height:250px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-podium article{
  position:relative;
  display:flex;
  min-height:150px;
  flex-direction:column;
  justify-content:flex-end;
  gap:8px;
  padding:18px 16px;
  border-radius:24px 24px 16px 16px;
  background:var(--tmb-surface-bg);
  text-align:center;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-podium article span{
  position:absolute;
  top:12px;
  left:12px;
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--tmb-primary);
  color:#fff;
  font-size:16px;
  letter-spacing:0;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-podium article strong{font-size:20px;line-height:1.1}
body.tmb-crm-endpoint .tmb-crm-dashboard-podium article em{font-style:normal;color:var(--tmb-text-muted)}
body.tmb-crm-endpoint .tmb-crm-dashboard-podium .is-first{min-height:220px;background:linear-gradient(180deg, color-mix(in srgb, var(--tmb-primary) 12%, #fff), var(--tmb-surface-bg));}
body.tmb-crm-endpoint .tmb-crm-dashboard-podium .is-second{min-height:180px}
body.tmb-crm-endpoint .tmb-crm-dashboard-podium .is-third{min-height:160px}
body.tmb-crm-endpoint .tmb-crm-dashboard-mini-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
body.tmb-crm-endpoint .tmb-crm-dashboard-mini-list div{
  display:grid;
  grid-template-columns:32px 1fr auto;
  gap:10px;
  align-items:center;
  padding:12px 14px;
  border-radius:18px;
  background:var(--tmb-surface-bg);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-mini-list span{
  width:32px;height:32px;border-radius:999px;display:grid;place-items:center;
  background:var(--tmb-surface-alt);color:var(--tmb-text);font-size:14px;letter-spacing:0;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-mini-list strong{font-size:15px}
body.tmb-crm-endpoint .tmb-crm-dashboard-mini-list em{font-style:normal;color:var(--tmb-text-muted)}
body.tmb-crm-endpoint .tmb-crm-dashboard-brandlist{display:grid;gap:12px}
body.tmb-crm-endpoint .tmb-crm-dashboard-brandrow{
  display:grid;
  grid-template-columns:minmax(0,1fr) 1.5fr auto;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border-radius:20px;
  background:var(--tmb-surface-bg);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-brandrow__text em{display:block;font-style:normal;color:var(--tmb-text-muted);margin-top:4px}
body.tmb-crm-endpoint .tmb-crm-dashboard-brandrow strong{font-size:22px;line-height:1}
body.tmb-crm-endpoint .tmb-crm-dashboard-budgetgrid{align-content:start}
body.tmb-crm-endpoint .tmb-crm-dashboard-footerhint{
  text-align:center;
  font-size:13px;
  color:var(--tmb-text-muted);
}
@media (max-width: 1024px){
  body.tmb-crm-endpoint .tmb-crm-dashboard-page--carousel{height:calc(100svh - 180px);min-height:560px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparison-hero{grid-template-columns:1fr 1fr;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-moneytile{grid-column:1 / -1;}
}
@media (max-width: 782px){
  body.tmb-crm-endpoint .tmb-crm-dashboard-page--carousel{
    height:calc(100svh - 175px);
    min-height:0;
    max-height:none;
    gap:10px;
    padding-bottom:6px;
  }
  body.tmb-crm-endpoint .tmb-crm-dashboard-headline h2{font-size:28px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-slide{padding:14px;border-radius:24px;gap:10px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-slidehead{align-items:flex-start;flex-direction:column;gap:4px}
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparison-hero strong{font-size:31px}
  body.tmb-crm-endpoint .tmb-crm-dashboard-moneytile strong{font-size:28px}
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparegrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body.tmb-crm-endpoint .tmb-crm-dashboard-stategrid,
  body.tmb-crm-endpoint .tmb-crm-dashboard-budgetgrid,
  body.tmb-crm-endpoint .tmb-crm-dashboard-mini-list{grid-template-columns:1fr 1fr;gap:10px}
  body.tmb-crm-endpoint .tmb-crm-dashboard-podium{min-height:200px;gap:10px}
  body.tmb-crm-endpoint .tmb-crm-dashboard-podium article{padding:16px 12px}
  body.tmb-crm-endpoint .tmb-crm-dashboard-podium article strong{font-size:16px}
  body.tmb-crm-endpoint .tmb-crm-dashboard-brandrow{grid-template-columns:minmax(0,1fr) 1fr auto;gap:10px}
}
@media (max-width: 560px){
  body.tmb-crm-endpoint .tmb-crm-dashboard-page--carousel{height:calc(100svh - 155px);}
  body.tmb-crm-endpoint .tmb-crm-dashboard-nav button{padding:9px 12px;font-size:12px}
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparison-hero{grid-template-columns:1fr 1fr;gap:10px}
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparison-hero > div,
  body.tmb-crm-endpoint .tmb-crm-dashboard-statecard,
  body.tmb-crm-endpoint .tmb-crm-dashboard-budgetcard,
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparecard{padding:12px}
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparecard strong,
  body.tmb-crm-endpoint .tmb-crm-dashboard-statecard strong,
  body.tmb-crm-endpoint .tmb-crm-dashboard-budgetcard strong{font-size:24px}
  body.tmb-crm-endpoint .tmb-crm-dashboard-stategrid,
  body.tmb-crm-endpoint .tmb-crm-dashboard-budgetgrid,
  body.tmb-crm-endpoint .tmb-crm-dashboard-mini-list{grid-template-columns:1fr;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-brandrow{grid-template-columns:1fr;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-brandrow strong{font-size:18px}
  body.tmb-crm-endpoint .tmb-crm-dashboard-footerhint{font-size:12px}
}

/* CRM dashboard pipeline tabs + reliable swipe stage */
body.tmb-crm-endpoint .tmb-crm-dashboard-nav{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:0;
  overflow-x:auto;
  max-width:100%;
  padding:2px 0 4px;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-nav button{
  appearance:none;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  line-height:1;
  text-transform:uppercase;
  padding:0;
  white-space:nowrap;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-nav button + button::before{
  content:"|";
  display:inline-block;
  margin:0 12px;
  color:var(--tmb-ui-border, rgba(16,24,40,.16));
  font-weight:700;
  letter-spacing:0;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-nav button.is-active{
  color:var(--tmb-primary)!important;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-stage{
  touch-action:pan-y;
  user-select:none;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-slide{
  overflow:hidden;
}
@media (max-width:560px){
  body.tmb-crm-endpoint .tmb-crm-dashboard-page--carousel{
    height:calc(100svh - 150px);
  }
  body.tmb-crm-endpoint .tmb-crm-dashboard-slide{
    padding:12px;
    gap:9px;
  }
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparison-hero{
    gap:8px;
  }
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparison-hero > div,
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparecard{
    border-radius:20px;
    padding:10px 12px;
  }
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparison-hero strong{
    font-size:28px;
    margin-top:6px;
  }
  body.tmb-crm-endpoint .tmb-crm-dashboard-moneytile strong{
    font-size:24px;
  }
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparegrid{
    gap:8px;
  }
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparecard span{
    font-size:10px;
    letter-spacing:.12em;
  }
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparecard strong{
    font-size:24px;
    margin-top:6px;
  }
  body.tmb-crm-endpoint .tmb-crm-dashboard-inlinebar{
    height:8px;
    margin-top:8px;
  }
  body.tmb-crm-endpoint .tmb-crm-dashboard-comparecard small{
    margin-top:6px;
    font-size:12px;
  }
}

/* CRM Dashboard simplified swipe panels */
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple{
  --crm-dash-gap:12px;
  height:min(720px, calc(100svh - 190px));
  min-height:520px;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  gap:var(--crm-dash-gap);
  overflow:hidden;
  padding:4px 0 10px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-headline{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-headline h2{
  margin:0;
  font-size:clamp(34px,6vw,64px);
  line-height:.96;
  letter-spacing:-.04em;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-pagecount{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:10px 14px;
  border-radius:999px;
  background:var(--tmb-surface-alt);
  color:var(--tmb-text-muted);
  font-weight:900;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-pagecount em{font-style:normal;opacity:.45}
body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline{
  display:flex;
  align-items:center;
  gap:0;
  overflow:visible;
  white-space:nowrap;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline::-webkit-scrollbar{display:none}
body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline button{
  appearance:none;
  border:0;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  line-height:1;
  padding:0;
  text-transform:uppercase;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline button + button::before{
  content:"|";
  display:inline-block;
  margin:0 11px;
  color:var(--tmb-ui-border);
  font-weight:800;
  letter-spacing:0;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline button.is-active{
  color:var(--tmb-primary);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-stage{
  min-width:0;
  min-height:0;
  display:flex;
  gap:0;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  touch-action:pan-x pan-y;
  border-radius:28px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-stage::-webkit-scrollbar{display:none}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-slide{
  flex:0 0 100%;
  width:100%;
  min-width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  display:grid;
  align-content:stretch;
  gap:12px;
  padding:16px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,248,250,.98));
  box-shadow:0 18px 54px rgba(16,24,40,.08);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-slide[hidden]{display:grid!important}
body.tmb-crm-endpoint .tmb-crm-team-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  height:100%;
}
body.tmb-crm-endpoint .tmb-crm-team-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  border-radius:22px;
  background:var(--tmb-surface-bg);
  padding:16px;
}
body.tmb-crm-endpoint .tmb-crm-team-card span,
body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow strong{
  color:var(--tmb-text);
}
body.tmb-crm-endpoint .tmb-crm-team-card span{
  font-size:12px;
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--tmb-text-muted);
}
body.tmb-crm-endpoint .tmb-crm-team-card__nums{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
body.tmb-crm-endpoint .tmb-crm-team-card strong{
  display:block;
  font-size:clamp(28px,5vw,48px);
  line-height:.9;
}
body.tmb-crm-endpoint .tmb-crm-team-card em{
  color:var(--tmb-text-muted);
  font-style:normal;
  font-weight:850;
}
body.tmb-crm-endpoint .tmb-crm-team-card small{
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:700;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-inlinebar{
  height:10px;
  border-radius:999px;
  background:rgba(16,24,40,.08);
  overflow:hidden;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-inlinebar i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--tmb-primary), var(--tmb-accent, var(--tmb-primary)));
}
body.tmb-crm-endpoint .tmb-crm-dashboard-toolrow{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-mode-toggle{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border-radius:999px;
  background:var(--tmb-surface-alt);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-mode-toggle button{
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--tmb-text-muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  line-height:1;
  padding:8px 10px;
  text-transform:uppercase;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-mode-toggle button.is-active{
  background:var(--tmb-primary);
  color:#fff;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-map{
  position:relative;
  height:100%;
  min-height:0;
  border-radius:26px;
  background:
    radial-gradient(circle at 45% 45%, rgba(255,255,255,.95), rgba(255,255,255,.15) 42%, transparent 60%),
    linear-gradient(140deg, color-mix(in srgb, var(--tmb-primary) 10%, #fff), #f6f7f9);
  overflow:hidden;
  perspective:900px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-map::before{
  content:"";
  position:absolute;
  inset:12% 10% 8% 8%;
  border-radius:50% 45% 55% 45%;
  border:1px solid rgba(16,24,40,.08);
  transform:rotate(-12deg) skew(-9deg);
}
body.tmb-crm-endpoint .tmb-crm-map-state{
  position:absolute;
  z-index:2;
  width:54px;
  height:54px;
  margin:-27px 0 0 -27px;
  border:0;
  background:transparent;
  transform:rotateX(58deg) rotateZ(-18deg);
  transform-style:preserve-3d;
  cursor:pointer;
}
body.tmb-crm-endpoint .tmb-crm-map-state__bar{
  position:absolute;
  left:50%;
  bottom:10px;
  width:30px;
  height:var(--state-height,24px);
  max-height:92px;
  border-radius:8px 8px 4px 4px;
  background:linear-gradient(180deg, var(--tmb-accent, var(--tmb-primary)), var(--tmb-primary));
  box-shadow:0 16px 28px rgba(16,24,40,.2);
  transform:translateX(-50%) translateZ(24px);
  transition:height .24s ease;
}
body.tmb-crm-endpoint .tmb-crm-map-state strong{
  position:absolute;
  left:50%;
  bottom:0;
  width:42px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#fff;
  color:var(--tmb-text);
  font-size:12px;
  font-weight:950;
  transform:translateX(-50%) translateZ(28px);
  box-shadow:0 10px 26px rgba(16,24,40,.16);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-ranklist{
  display:grid;
  gap:7px;
  min-height:0;
  align-content:start;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow{
  position:relative;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:36px;
  padding:8px 10px;
  border-radius:15px;
  background:var(--tmb-surface-bg);
  overflow:hidden;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow i{
  position:absolute;
  left:0;
  bottom:0;
  height:3px;
  width:var(--rank-pct,8%);
  background:linear-gradient(90deg, var(--tmb-primary), var(--tmb-accent, var(--tmb-primary)));
  transition:width .24s ease;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow span{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--tmb-surface-alt);
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:950;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
  line-height:1.1;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow em{
  color:var(--tmb-text-muted);
  font-size:13px;
  font-style:normal;
  font-weight:900;
}
@media (max-width: 782px){
  body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple{
    height:calc(100svh - 162px);
    min-height:0;
    gap:10px;
  }
  body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-headline h2{font-size:38px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline{
    justify-content:space-between;
  }
  body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline button{font-size:11px;letter-spacing:.1em;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline button + button::before{margin:0 7px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-slide{padding:12px;border-radius:24px;}
  body.tmb-crm-endpoint .tmb-crm-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  body.tmb-crm-endpoint .tmb-crm-team-card{padding:12px;border-radius:20px;}
  body.tmb-crm-endpoint .tmb-crm-team-card strong{font-size:34px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-mode-toggle{max-width:100%;overflow-x:auto;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-mode-toggle button{padding:7px 8px;font-size:10px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-ranklist{gap:6px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow{min-height:34px;padding:7px 9px;grid-template-columns:28px minmax(0,1fr) auto;}
}
@media (max-width: 430px){
  body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-headline h2{font-size:34px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-pagecount{padding:8px 10px;font-size:13px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline button{font-size:10px;letter-spacing:.08em;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline button + button::before{margin:0 5px;}
  body.tmb-crm-endpoint .tmb-crm-team-card span{font-size:10px;letter-spacing:.1em;}
  body.tmb-crm-endpoint .tmb-crm-team-card strong{font-size:30px;}
  body.tmb-crm-endpoint .tmb-crm-team-card em{font-size:12px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow strong{font-size:13px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow em{font-size:12px;}
}

/* CRM Dashboard states + #/$ switches */
body.tmb-crm-endpoint .tmb-crm-dashboard-value-switch.is-revenue .tmb-crm-icon-view-knob{
  transform:translateX(44px);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-value-switch.is-qty .tmb-crm-icon-view-knob{
  transform:translateX(0);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-value-switch .tmb-crm-icon-view-option{
  appearance:none;
  border:0;
  background:transparent;
  box-shadow:none;
  padding:0;
  margin:0;
  cursor:pointer;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-state-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-state-list .tmb-crm-dashboard-rankrow{
  grid-template-columns:34px minmax(0,1fr) auto;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow.is-state span{
  width:30px;
  height:30px;
  background:var(--tmb-primary);
  color:#fff;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow .tmb-crm-dashboard-brand-icon{
  width:30px;
  height:30px;
  background:var(--tmb-surface-alt);
  color:var(--tmb-text-muted);
  overflow:hidden;
  font-size:13px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-brand-icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:4px;
  box-sizing:border-box;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-ranklist.is-brands{
  gap:6px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-ranklist.is-brands .tmb-crm-dashboard-rankrow{
  grid-template-columns:34px minmax(0,1fr) auto;
}
@media (max-width: 782px){
  body.tmb-crm-endpoint .tmb-crm-dashboard-state-list{grid-template-columns:1fr 1fr;gap:6px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-state-list .tmb-crm-dashboard-rankrow{min-height:31px;padding:6px 8px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow.is-state span,
  body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow .tmb-crm-dashboard-brand-icon{width:26px;height:26px;font-size:11px;}
}
@media (max-width: 430px){
  body.tmb-crm-endpoint .tmb-crm-dashboard-state-list .tmb-crm-dashboard-rankrow strong{font-size:12px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-state-list .tmb-crm-dashboard-rankrow em{font-size:11px;}
}

/* Mobile browse trays for Brands and Categories */

/* Mobile thumb tray dim overlay for browse/product panels. */
.tmb-thumb-tray-dim{display:none;}
@media (max-width:900px){
  .tmb-thumb-tray-dim{
    position:fixed;
    inset:0;
    z-index:78;
    background:rgba(15,23,32,.28);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease;
  }
  .tmb-thumb-tray-dim.is-open{
    display:block;
    opacity:1;
    pointer-events:auto;
  }
  .tmb-thumb-tray-dim[hidden]{display:none!important;}
}
.tmb-browse-tray{display:none;}
@media (max-width:900px){
  .tmb-footer.tmb-thumb-tray.is-browse-open,
  body.tmb-co-app-shell .tmb-footer.tmb-thumb-tray.is-browse-open{
    max-height:calc(clamp(310px, 46svh, 520px) + 78px + env(safe-area-inset-bottom,0px))!important;
    box-shadow:0 -24px 58px rgba(15,23,32,.22);
  }
  .tmb-browse-tray{
    position:relative;
    display:block;
    width:100%;
    flex:0 0 clamp(310px, 46svh, 520px);
    height:clamp(310px, 46svh, 520px);
    min-height:0;
    max-height:clamp(310px, 46svh, 520px);
    padding:14px max(14px, env(safe-area-inset-left)) 12px max(14px, env(safe-area-inset-right));
    border-bottom:1px solid color-mix(in srgb, var(--tmb-ui-border) 72%, transparent);
    overflow:hidden;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
    transition:opacity .2s ease, transform .24s cubic-bezier(.2,.8,.2,1);
  }
  .tmb-browse-tray[hidden]{display:none!important;}
  .tmb-footer.tmb-thumb-tray.is-browse-open .tmb-browse-tray{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }
  .tmb-browse-tray__section{
    width:min(100%,680px);
    height:100%;
    margin:0 auto;
    display:grid;
    grid-template-rows:auto 1fr;
    gap:12px;
    min-height:0;
  }
  .tmb-browse-tray__section[hidden]{display:none!important;}
  .tmb-browse-tray__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .tmb-browse-tray__head strong{
    color:var(--tmb-text);
    font-size:18px;
    font-weight:950;
    line-height:1;
  }
  .tmb-browse-tray__head a{
    color:var(--tmb-primary);
    font-size:12px;
    font-weight:850;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .tmb-browse-tray__brand-list,
  .tmb-browse-tray__category-list{
    min-height:0;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    padding:1px 2px 10px;
    scrollbar-width:none;
  }
  .tmb-browse-tray__brand-list::-webkit-scrollbar,
  .tmb-browse-tray__category-list::-webkit-scrollbar{display:none;}
  .tmb-browse-tray__brand-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .tmb-browse-tray__brand{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:50px;
    padding:9px 10px;
    border-radius:18px;
    background:rgba(255,255,255,.08);
    color:var(--tmb-text);
    text-decoration:none;
    font-size:12px;
    font-weight:850;
    line-height:1.1;
  }
  .tmb-browse-tray__brand:hover,
  .tmb-browse-tray__brand:focus-visible{
    background:rgba(255,255,255,.14);
    color:var(--tmb-primary);
    outline:0;
  }
  .tmb-browse-tray__brand-icon{
    flex:0 0 30px;
    width:30px;
    height:30px;
    border-radius:10px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:rgba(255,255,255,.16);
    color:var(--tmb-primary);
    font-size:13px;
    font-weight:950;
  }
  .tmb-browse-tray__brand-icon img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
  }
  .tmb-browse-tray__category-list{
    display:grid;
    gap:10px;
  }
  .tmb-browse-tray__category-group{
    display:grid;
    gap:8px;
    padding:10px;
    border-radius:18px;
    background:rgba(255,255,255,.08);
  }
  .tmb-browse-tray__category-parent{
    color:var(--tmb-text);
    font-size:13px;
    font-weight:950;
    text-decoration:none;
  }
  .tmb-browse-tray__category-children{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
  }
  .tmb-browse-tray__category-children a{
    border-radius:999px;
    padding:6px 9px;
    background:rgba(255,255,255,.12);
    color:var(--tmb-text-muted);
    font-size:11px;
    font-weight:800;
    line-height:1;
    text-decoration:none;
  }
  .tmb-browse-tray__category-parent:hover,
  .tmb-browse-tray__category-parent:focus-visible,
  .tmb-browse-tray__category-children a:hover,
  .tmb-browse-tray__category-children a:focus-visible{
    color:var(--tmb-primary);
    outline:0;
  }
}
@media (max-width:390px){
  .tmb-footer.tmb-thumb-tray.is-browse-open,
  body.tmb-co-app-shell .tmb-footer.tmb-thumb-tray.is-browse-open{
    max-height:calc(clamp(300px, 48svh, 500px) + 78px + env(safe-area-inset-bottom,0px))!important;
  }
  .tmb-browse-tray{
    flex-basis:clamp(300px, 48svh, 500px)!important;
    height:clamp(300px, 48svh, 500px)!important;
    max-height:clamp(300px, 48svh, 500px)!important;
  }
  .tmb-browse-tray__brand-list{grid-template-columns:1fr;}
}

/* CRM Dashboard: pipeline, radio leaderboards, and working metric switches */
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple{
  grid-template-rows:auto auto minmax(0,1fr);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-stage{
  display:block;
  overflow:hidden;
  touch-action:pan-y;
  scroll-snap-type:none;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-slide{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  height:100%;
  width:100%;
  overflow:hidden;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-slide[hidden]{display:none!important;}
body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  overflow:visible;
  border-bottom:1px solid var(--tmb-ui-border);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline button{
  position:relative;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--tmb-text-muted);
  padding:12px 8px 14px;
  font-size:13px;
  font-weight:800;
  text-align:center;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline button:after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  bottom:-1px;
  height:3px;
  border-radius:999px 999px 0 0;
  background:transparent;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline button.is-active{
  color:var(--tmb-text);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline button.is-active:after{
  background:var(--tmb-primary);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-radio-line{
  display:flex;
  align-items:center;
  gap:6px;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:0 0 4px;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-radio-line::-webkit-scrollbar{display:none;}
body.tmb-crm-endpoint .tmb-crm-dashboard-radio-line label{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  background:var(--tmb-surface-alt);
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  user-select:none;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-radio-line label.is-active{
  background:var(--tmb-primary);
  color:#fff;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-radio-line input{
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
  pointer-events:none;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-leaderlist{
  display:grid;
  align-content:start;
  gap:8px;
  min-height:0;
  overflow:hidden;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-leaderrow{
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:9px 12px;
  border-radius:18px;
  background:var(--tmb-surface-bg);
  overflow:hidden;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-leaderrow:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:var(--rank-pct, 8%);
  background:linear-gradient(90deg, color-mix(in srgb, var(--tmb-primary) 16%, transparent), transparent);
  pointer-events:none;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-leaderrow > *{position:relative;z-index:1;}
body.tmb-crm-endpoint .tmb-crm-dashboard-leaderrow span{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--tmb-surface-alt);
  color:var(--tmb-text);
  font-size:12px;
  font-weight:900;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-leaderrow.is-state span{
  background:var(--tmb-primary);
  color:#fff;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-leaderrow strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:15px;
  line-height:1.05;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-leaderrow em{
  font-style:normal;
  font-size:14px;
  font-weight:900;
  color:var(--tmb-text);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-leaderrow i{
  grid-column:1/-1;
  display:block;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--tmb-primary) var(--rank-pct, 8%), rgba(16,24,40,.08) 0);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-value-switch.is-revenue .tmb-crm-icon-view-knob{
  transform:translateX(100%);
}
body.tmb-crm-endpoint .tmb-crm-dashboard-value-switch.is-revenue .tmb-crm-icon-view-option:first-child{color:var(--tmb-text-muted);}
body.tmb-crm-endpoint .tmb-crm-dashboard-value-switch.is-revenue .tmb-crm-icon-view-option:last-child{color:var(--tmb-text);}
@media (max-width:782px){
  body.tmb-crm-endpoint .tmb-crm-dashboard-radio-line label{min-height:31px;padding:6px 10px;font-size:11px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-leaderlist{gap:6px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-leaderrow{min-height:39px;padding:7px 9px;grid-template-columns:31px minmax(0,1fr) auto;gap:8px;border-radius:15px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-leaderrow span{width:28px;height:28px;font-size:11px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-leaderrow strong{font-size:13px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-leaderrow em{font-size:12px;}
  body.tmb-crm-endpoint .tmb-crm-dashboard-leaderrow i{height:3px;}
}
@media (max-width:560px){
  body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline button{font-size:12px;padding:10px 4px 12px;}
}

/* Thumb tray browse refinement: full-width alphabetical brands + top-level categories */
@media (max-width:900px){
  .tmb-browse-tray,
  .tmb-browse-tray *{
    color:#fff;
  }
  .tmb-browse-tray__head strong,
  .tmb-browse-tray__head a{
    color:#fff;
  }
  .tmb-browse-tray__head a{
    opacity:.72;
  }
  .tmb-browse-tray__brand-list{
    grid-template-columns:1fr!important;
    gap:8px;
  }
  .tmb-browse-tray__brand{
    width:100%;
    min-height:54px;
    border-radius:18px;
    background:rgba(255,255,255,.08);
    color:#fff!important;
  }
  .tmb-browse-tray__brand span:not(.tmb-browse-tray__brand-icon){
    color:#fff!important;
  }
  .tmb-browse-tray__brand:hover,
  .tmb-browse-tray__brand:focus-visible{
    background:rgba(255,255,255,.14);
    color:#fff!important;
  }
  .tmb-browse-tray__brand-icon{
    flex:0 0 38px;
    width:38px;
    height:38px;
    border-radius:12px;
    background:#fff!important;
    color:var(--tmb-primary)!important;
    padding:5px;
  }
  .tmb-browse-tray__brand-icon img{
    width:100%;
    height:100%;
    object-fit:contain;
  }
  .tmb-browse-tray__category-list{
    grid-template-columns:1fr!important;
    gap:8px;
  }
  .tmb-browse-tray__category-group{
    padding:0;
    border-radius:0;
    background:transparent;
  }
  .tmb-browse-tray__category-parent{
    display:flex;
    align-items:center;
    min-height:48px;
    width:100%;
    padding:12px 14px;
    border-radius:18px;
    background:rgba(255,255,255,.08);
    color:#fff!important;
    font-size:14px;
    font-weight:900;
  }
  .tmb-browse-tray__category-parent:hover,
  .tmb-browse-tray__category-parent:focus-visible{
    background:rgba(255,255,255,.14);
    color:#fff!important;
  }
  .tmb-browse-tray__category-children{
    display:none!important;
  }
}

/* CRM Dashboard final interaction fix: real carousel swiping + working dashboard controls */
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-stage{
  display:flex!important;
  gap:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y!important;
  scrollbar-width:none!important;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-stage::-webkit-scrollbar{display:none!important;}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-slide,
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-slide[hidden]{
  display:grid!important;
  flex:0 0 100%!important;
  width:100%!important;
  min-width:100%!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-slide:not(.is-active){
  pointer-events:none;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-page--simple .tmb-crm-dashboard-slide.is-active{
  pointer-events:auto;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-radio-line label,
body.tmb-crm-endpoint .tmb-crm-dashboard-value-switch,
body.tmb-crm-endpoint .tmb-crm-dashboard-value-switch button{
  pointer-events:auto!important;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-pipeline button{
  cursor:pointer;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow,
body.tmb-crm-endpoint .tmb-crm-dashboard-leaderrow{
  transition:transform .18s ease, opacity .18s ease;
}
body.tmb-crm-endpoint .tmb-crm-dashboard-rankrow i{
  width:var(--rank-pct,8%)!important;
}

/* Thumb tray category tray: match Brands tray exactly */
@media (max-width:900px){
  .tmb-browse-tray__category-list{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .tmb-browse-tray__category-parent.tmb-browse-tray__brand{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-height:54px!important;
    padding:9px 10px!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    text-decoration:none!important;
    font-size:12px!important;
    font-weight:850!important;
    line-height:1.1!important;
  }
  .tmb-browse-tray__category-parent.tmb-browse-tray__brand span:not(.tmb-browse-tray__brand-icon){
    color:#fff!important;
  }
  .tmb-browse-tray__category-parent.tmb-browse-tray__brand:hover,
  .tmb-browse-tray__category-parent.tmb-browse-tray__brand:focus-visible{
    background:rgba(255,255,255,.14)!important;
    color:#fff!important;
    outline:0!important;
  }
}

/* Single product mobile dock: keep variation/add-to-cart controls above the footer thumb tray. */
@media (max-width: 768px){
  body.single-product.tmb-has-product-sticky-dock{
    padding-bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + 132px + env(safe-area-inset-bottom, 0px))!important;
  }

  body.single-product .tmb-product-sticky-dock{
    left:max(10px, env(safe-area-inset-left, 0px))!important;
    right:max(10px, env(safe-area-inset-right, 0px))!important;
    bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + 8px)!important;
    width:auto!important;
    max-width:740px!important;
    margin:0 auto!important;
    z-index:950!important;
    border-radius:22px!important;
    padding:10px 12px!important;
    box-shadow:0 -14px 40px rgba(15,23,42,.18)!important;
  }

  body.single-product .tmb-product-sticky-dock form.variations_form{
    margin:0!important;
  }
}

/* Single Product: TMB Products heading + minimal CRM-style product layout */
body.single-product .tmb-product-page-heading{
  display:grid;
  gap:6px;
  margin:0 0 clamp(14px,2vw,22px);
  padding:0 0 clamp(14px,2vw,18px);
  border-bottom:1px solid var(--tmb-ui-border);
}
body.single-product .tmb-product-page-heading h1{
  margin:0;
  color:var(--tmb-text);
  font-family:var(--tmb-font-heading);
  font-size:clamp(2rem,4vw,4.25rem);
  line-height:.95;
  letter-spacing:-.055em;
  font-weight:950;
}
body.single-product .tmb-product-page-heading p{
  margin:0;
  max-width:760px;
  color:var(--tmb-text-muted);
  font-size:clamp(1rem,1.45vw,1.25rem);
  line-height:1.35;
  font-weight:700;
}
body.single-product .tmb-product-top__grid{
  gap:clamp(18px,3vw,42px);
}
body.single-product .tmb-product-summary,
body.single-product .tmb-product-gallery,
body.single-product .tmb-product-specs-card,
body.single-product .tmb-product-video-card,
body.single-product .tmb-product-description-card,
body.single-product .tmb-product-related-card,
body.single-product .co-specs-card,
body.single-product .co-video-card{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.single-product .tmb-product-summary{
  padding:0!important;
  border-radius:0!important;
}
body.single-product .tmb-product-gallery__main,
body.single-product .tmb-media-shell.tmb-product-gallery__main{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.single-product .tmb-product-gallery__thumbs{
  border:0!important;
  box-shadow:none!important;
  background:rgba(255,255,255,.68)!important;
}
body.single-product .tmb-product-gallery__button,
body.single-product .tmb-product-gallery__thumb{
  box-shadow:none!important;
}
body.single-product .tmb-product-summary button.single_add_to_cart_button,
body.single-product .tmb-product-sticky-dock button.single_add_to_cart_button{
  box-shadow:none!important;
}
body.single-product .co-specs-docs{
  margin-top:clamp(18px,3vw,36px)!important;
  padding-top:clamp(18px,3vw,28px)!important;
  border-top:1px solid var(--tmb-ui-border)!important;
}
body.single-product .co-specs-docs__inner{
  padding-inline:0!important;
}
body.single-product .co-specs-head,
body.single-product .co-video-head{
  padding:0 0 12px!important;
  border-bottom:1px solid var(--tmb-ui-border)!important;
}
body.single-product .co-accordion{
  padding:0!important;
}
body.single-product .co-accordion-item{
  border:0!important;
  border-bottom:1px solid var(--tmb-ui-border)!important;
  border-radius:0!important;
  background:transparent!important;
}
body.single-product .co-accordion-trigger{
  padding-inline:0!important;
}
body.single-product .co-accordion-panel{
  padding-inline:0!important;
}
body.single-product .tmb-product-sticky-dock{
  border:0!important;
  box-shadow:none!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
@media (max-width:768px){
  body.single-product .tmb-product-page-heading{
    margin-bottom:12px;
    padding-bottom:12px;
  }
  body.single-product .tmb-product-page-heading h1{
    font-size:clamp(2rem,11vw,3.35rem);
  }
  body.single-product .tmb-product-page-heading p{
    font-size:1rem;
  }
  body.single-product .co-specs-docs__inner{
    grid-template-columns:1fr!important;
  }
}


/* Single product title replacement: TMB Products Header/Sub-Header */
body.single-product .tmb-product-page-heading__title{
  display:block;
  margin:0;
  color:var(--tmb-text);
  font-family:var(--tmb-font-heading);
  font-size:clamp(2.1rem,4.4vw,4.6rem);
  line-height:.94;
  letter-spacing:-.055em;
  font-weight:950;
}
body.single-product .tmb-product-page-heading__subheader{
  display:block;
  margin:6px 0 0;
  max-width:820px;
  color:var(--tmb-text-muted);
  font-size:clamp(1.05rem,1.45vw,1.35rem);
  line-height:1.28;
  font-weight:700;
}
body.single-product .tmb-product-summary .product_title,
body.single-product .summary .product_title{
  display:none!important;
}
@media (max-width:768px){
  body.single-product .tmb-product-page-heading__title{font-size:clamp(2rem,11vw,3.4rem);}
  body.single-product .tmb-product-page-heading__subheader{font-size:1rem;}
}

/* Single product anchored TMB Products sections */
body.single-product .tmb-product-detail-section-nav{
  margin:clamp(10px,2vw,18px) 0 0;
  padding:0;
}
body.single-product .tmb-product-section-anchors{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:2px 0 10px;
  border-bottom:1px solid var(--tmb-ui-border);
  scrollbar-width:none;
  -ms-overflow-style:none;
}
body.single-product .tmb-product-section-anchors::-webkit-scrollbar{display:none;}
body.single-product .tmb-product-section-anchors a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 13px;
  border-radius:999px;
  background:transparent;
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:850;
  line-height:1;
  text-decoration:none;
}
body.single-product .tmb-product-section-anchors a:hover,
body.single-product .tmb-product-section-anchors a:focus-visible{
  color:var(--tmb-text);
  background:var(--tmb-surface-alt);
  outline:0;
}
body.single-product .tmb-product-detail-sections{
  margin-top:clamp(12px,2.4vw,28px);
}
body.single-product .tmb-product-detail-sections .tmb-container{
  padding-inline:0;
}
body.single-product .tmb-product-detail-section{
  display:grid;
  gap:clamp(12px,2vw,18px);
  padding:clamp(18px,3vw,34px) 0;
  border-bottom:1px solid var(--tmb-ui-border);
  scroll-margin-top:calc(var(--tmb-product-header-h, 86px) + 20px);
}
body.single-product .tmb-product-detail-section:first-child{
  padding-top:0;
}
body.single-product .tmb-product-detail-label{
  margin:0;
  color:var(--tmb-text);
  font-size:clamp(1.45rem,2.4vw,2.35rem);
  font-family:var(--tmb-font-heading);
  font-weight:950;
  line-height:1;
  letter-spacing:-.035em;
}
body.single-product .tmb-product-detail-rows{
  display:grid;
  margin:0;
}
body.single-product .tmb-product-detail-rows div{
  display:grid;
  grid-template-columns:minmax(120px,.8fr) minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-height:42px;
  padding:10px 0;
  border-bottom:1px solid color-mix(in srgb, var(--tmb-ui-border) 70%, transparent);
}
body.single-product .tmb-product-detail-rows div:last-child{
  border-bottom:0;
}
body.single-product .tmb-product-detail-rows dt{
  margin:0;
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.single-product .tmb-product-detail-rows dd{
  margin:0;
  color:var(--tmb-text);
  font-size:15px;
  font-weight:800;
  text-align:right;
}
body.single-product .tmb-product-package-list{
  display:grid;
  gap:clamp(14px,2vw,22px);
}
body.single-product .tmb-product-package-item{
  display:grid;
  gap:8px;
}
body.single-product .tmb-product-package-item h3{
  margin:0;
  color:var(--tmb-text-muted);
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.single-product .tmb-product-resource-link{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:42px;
  padding:10px 0;
  color:var(--tmb-primary);
  font-size:15px;
  font-weight:900;
  text-decoration:none;
  border-bottom:2px solid currentColor;
}
body.single-product .tmb-product-resource-link:hover,
body.single-product .tmb-product-resource-link:focus-visible{
  color:var(--tmb-text);
  outline:0;
}
body.single-product .tmb-product-detail-content{
  color:var(--tmb-text);
  max-width:100%;
}
body.single-product .tmb-product-detail-content > :first-child{margin-top:0;}
body.single-product .tmb-product-detail-content > :last-child{margin-bottom:0;}
body.single-product .tmb-product-rich-section,
body.single-product .co-specs-docs{
  display:none!important;
}
@media (max-width:768px){
  body.single-product .tmb-product-section-anchors{
    padding-bottom:8px;
  }
  body.single-product .tmb-product-section-anchors a{
    min-height:32px;
    padding:7px 11px;
    font-size:11px;
  }
  body.single-product .tmb-product-detail-section{
    padding:20px 0;
    scroll-margin-top:calc(var(--tmb-product-header-h, 72px) + 12px);
  }
  body.single-product .tmb-product-detail-rows div{
    grid-template-columns:1fr auto;
    min-height:38px;
    gap:10px;
  }
  body.single-product .tmb-product-detail-rows dd{
    font-size:14px;
  }
}

/* Single Product: anchored accordion sections */
body.single-product .tmb-product-section-anchors a.is-active{
  color:var(--tmb-text);
  background:var(--tmb-surface-alt);
}
body.single-product .tmb-product-detail-sections .tmb-container{
  padding-inline:0;
}
body.single-product .tmb-product-accordion-section{
  border:0;
  border-bottom:1px solid var(--tmb-ui-border);
  padding:0;
  margin:0;
  scroll-margin-top:calc(var(--tmb-product-header-h, 86px) + 22px);
}
body.single-product .tmb-product-accordion-section:first-child{
  border-top:1px solid var(--tmb-ui-border);
}
body.single-product .tmb-product-accordion-summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:68px;
  padding:18px 0;
  color:var(--tmb-text);
  font-family:var(--tmb-font-heading);
  font-size:clamp(1.45rem,2.4vw,2.35rem);
  font-weight:950;
  line-height:1;
  letter-spacing:-.035em;
}
body.single-product .tmb-product-accordion-summary::-webkit-details-marker{display:none;}
body.single-product .tmb-product-accordion-summary i{
  position:relative;
  flex:0 0 24px;
  width:24px;
  height:24px;
  border-radius:999px;
}
body.single-product .tmb-product-accordion-summary i:before,
body.single-product .tmb-product-accordion-summary i:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transform:translate(-50%,-50%);
  transition:transform .18s ease, opacity .18s ease;
}
body.single-product .tmb-product-accordion-summary i:after{
  transform:translate(-50%,-50%) rotate(90deg);
}
body.single-product .tmb-product-accordion-section[open] .tmb-product-accordion-summary i:after{
  opacity:0;
  transform:translate(-50%,-50%) rotate(0deg);
}
body.single-product .tmb-product-accordion-panel{
  padding:0 0 clamp(20px,3vw,34px);
}
body.single-product .tmb-product-detail-block{
  display:grid;
  gap:10px;
  margin:0 0 clamp(18px,2.5vw,28px);
}
body.single-product .tmb-product-detail-block:last-child{
  margin-bottom:0;
}
body.single-product .tmb-product-detail-block h3,
body.single-product .tmb-product-package-item h4{
  margin:0;
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
body.single-product .tmb-product-package-list{
  gap:clamp(14px,2vw,22px);
}
body.single-product .tmb-product-package-item{
  gap:8px;
}
body.single-product .tmb-product-package-item h3{
  display:none;
}
body.single-product .tmb-product-link-list{
  display:grid;
  margin:0;
}
body.single-product .tmb-product-link-row{
  display:grid;
  grid-template-columns:minmax(130px,.8fr) minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-height:48px;
  padding:12px 0;
  border-bottom:1px solid color-mix(in srgb, var(--tmb-ui-border) 70%, transparent);
  color:var(--tmb-text);
  text-decoration:none;
}
body.single-product .tmb-product-link-row:last-child{border-bottom:0;}
body.single-product .tmb-product-link-row span{
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.single-product .tmb-product-link-row strong{
  justify-self:end;
  color:var(--tmb-primary);
  font-size:15px;
  font-weight:900;
}
body.single-product .tmb-product-link-row.is-disabled strong{
  color:var(--tmb-text-muted);
}
body.single-product .tmb-product-link-row:not(.is-disabled):hover strong,
body.single-product .tmb-product-link-row:not(.is-disabled):focus-visible strong{
  color:var(--tmb-text);
}
body.single-product .tmb-product-detail-section{
  display:none;
}
@media (max-width:768px){
  body.single-product .tmb-product-accordion-summary{
    min-height:58px;
    padding:15px 0;
    font-size:clamp(1.28rem,7vw,2rem);
  }
  body.single-product .tmb-product-accordion-section{
    scroll-margin-top:calc(var(--tmb-product-header-h, 72px) + 14px);
  }
  body.single-product .tmb-product-link-row{
    grid-template-columns:1fr auto;
    min-height:42px;
    gap:10px;
  }
  body.single-product .tmb-product-link-row strong{font-size:14px;}
}

/* Product page add-to-cart tray: reveal purchase controls from the mobile thumb tray. */
.tmb-product-atc-tray{display:none;}
@media (max-width:768px){
  body.single-product{
    --tmb-product-atc-tray-height:clamp(228px, 38svh, 420px);
  }
  body.single-product.tmb-has-product-atc-tray,
  body.single-product{
    padding-bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + var(--tmb-product-atc-tray-height) + env(safe-area-inset-bottom, 0px))!important;
  }
  body.single-product .tmb-footer.tmb-thumb-tray.is-product-atc-open,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray.is-product-atc-open{
    max-height:calc(var(--tmb-product-atc-tray-height, clamp(228px, 38svh, 420px)) + 78px + env(safe-area-inset-bottom,0px))!important;
    box-shadow:0 -24px 58px rgba(15,23,32,.22);
  }
  body.single-product .tmb-product-atc-tray{
    position:relative;
    display:block;
    width:100%;
    flex:0 0 var(--tmb-product-atc-tray-height, clamp(228px, 38svh, 420px));
    height:var(--tmb-product-atc-tray-height, clamp(228px, 38svh, 420px));
    min-height:0;
    max-height:var(--tmb-product-atc-tray-height, clamp(228px, 38svh, 420px));
    padding:14px max(14px, env(safe-area-inset-left)) 12px max(14px, env(safe-area-inset-right));
    border-bottom:1px solid rgba(255,255,255,.12);
    overflow:hidden;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
    transition:opacity .2s ease, transform .24s cubic-bezier(.2,.8,.2,1);
  }
  body.single-product .tmb-product-atc-tray[hidden]{display:none!important;}
  body.single-product .tmb-footer.tmb-thumb-tray.is-product-atc-open .tmb-product-atc-tray{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }
  body.single-product .tmb-product-atc-tray__inner{
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    gap:10px;
    width:min(100%,720px);
    height:100%;
    margin:0 auto;
    min-height:0;
  }
  body.single-product .tmb-product-atc-tray__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  body.single-product .tmb-product-atc-tray__head strong{
    color:#fff;
    font-size:17px;
    line-height:1;
    font-weight:950;
  }
  body.single-product .tmb-product-atc-tray__head button{
    appearance:none;
    border:0;
    width:34px;
    height:34px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:24px;
    line-height:1;
    font-weight:400;
  }

  body.single-product .tmb-footer.tmb-thumb-tray.is-product-atc-pinned .tmb-product-atc-tray__head button,
  body.single-product .tmb-footer.tmb-thumb-tray.is-product-atc-pinned .tmb-thumb-tray__product-atc-toggle{
    display:none!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock--tray{
    position:static!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock form.variations_form,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock form.cart{
    display:grid;
    gap:10px;
    margin:0!important;
    padding:0!important;
  }
  body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value{
    display:grid;
    gap:8px;
  }
  body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value select{
    min-height:44px!important;
    border:0!important;
    background:#fff!important;
    color:var(--tmb-text)!important;
  }
  body.single-product .tmb-product-atc-tray .co-var-atc .reset_variations{
    color:#fff!important;
    background:rgba(255,255,255,.1)!important;
  }
  body.single-product .tmb-product-atc-tray .co-var-atc .woocommerce-variation-price .price,
  body.single-product .tmb-product-atc-tray .co-var-atc .woocommerce-variation-availability,
  body.single-product .tmb-product-atc-tray .co-var-atc .woocommerce-variation-description{
    color:#fff!important;
  }
  body.single-product .tmb-product-atc-tray .co-qtybar{
    background:#fff!important;
    border:0!important;
  }
  body.single-product .tmb-thumb-tray__product-atc-toggle{
    display:none!important;
  }
  body.single-product .tmb-thumb-tray__product-atc-toggle.is-active span[aria-hidden="true"]{
    background:#fff!important;
  }
}

/* Product add-to-cart tray refinement: compact quarter-screen panel with scroll tuck behavior. */
@media (max-width:768px){
  body.single-product{
    --tmb-product-atc-tray-height:clamp(170px, 25svh, 236px);
    --tmb-product-atc-tray-peek:28px;
  }

  body.single-product .tmb-footer.tmb-thumb-tray.is-product-atc-open,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray.is-product-atc-open{
    max-height:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + env(safe-area-inset-bottom,0px))!important;
    overflow:visible!important;
    box-shadow:0 -16px 34px rgba(15,23,32,.22)!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__nav{
    position:relative;
    z-index:4;
  }

  body.single-product .tmb-product-atc-tray{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) - 2px)!important;
    z-index:2!important;
    display:block!important;
    width:100%!important;
    flex:none!important;
    height:var(--tmb-product-atc-tray-height)!important;
    min-height:0!important;
    max-height:var(--tmb-product-atc-tray-height)!important;
    padding:10px max(12px, env(safe-area-inset-left)) 10px max(12px, env(safe-area-inset-right))!important;
    border:0!important;
    border-radius:20px 20px 0 0!important;
    background:#fff!important;
    color:#111827!important;
    box-shadow:0 -18px 38px rgba(15,23,42,.22)!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
    transition:transform .26s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease!important;
    will-change:transform;
  }

  body.single-product.tmb-product-atc-collapsed .tmb-product-atc-tray,
  body.single-product .tmb-footer.tmb-thumb-tray.is-product-atc-collapsed .tmb-product-atc-tray{
    transform:translateY(calc(var(--tmb-product-atc-tray-height) - var(--tmb-product-atc-tray-peek)))!important;
    box-shadow:0 -10px 24px rgba(15,23,42,.18)!important;
  }

  body.single-product .tmb-product-atc-tray__head,
  body.single-product .tmb-product-atc-tray__head strong{
    display:none!important;
  }

  body.single-product .tmb-product-atc-tray__inner{
    display:block!important;
    width:min(100%,720px)!important;
    height:100%!important;
    margin:0 auto!important;
    min-height:0!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock--tray{
    height:100%!important;
    max-height:100%!important;
    overflow:auto!important;
    color:#111827!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock form.variations_form,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock form.cart{
    gap:7px!important;
    color:#111827!important;
  }

  body.single-product .tmb-product-atc-tray .co-var-atc .variations,
  body.single-product .tmb-product-atc-tray .co-var-atc .variations tbody,
  body.single-product .tmb-product-atc-tray .co-var-atc .variations tr,
  body.single-product .tmb-product-atc-tray .co-var-atc .variations td,
  body.single-product .tmb-product-atc-tray .co-var-atc .variations th{
    color:#111827!important;
  }

  body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value{
    gap:6px!important;
  }

  body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value select{
    min-height:40px!important;
    color:#111827!important;
  }

  body.single-product .tmb-product-atc-tray .co-var-atc .reset_variations,
  body.single-product .tmb-product-atc-tray a.reset_variations{
    color:#111827!important;
    background:transparent!important;
    text-decoration:underline!important;
    text-underline-offset:2px;
  }

  body.single-product .tmb-product-atc-tray .price,
  body.single-product .tmb-product-atc-tray .woocommerce-Price-amount,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-price,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-price .price,
  body.single-product .tmb-product-atc-tray .co-var-atc .woocommerce-variation-price .price,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-availability,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-description{
    color:#111827!important;
  }

  body.single-product .tmb-product-atc-tray .co-qtybar{
    min-height:40px!important;
    color:#111827!important;
  }

  body.single-product .tmb-product-atc-tray button.single_add_to_cart_button{
    min-height:42px!important;
  }
}

/* Product tray polish: primary-color section nav + content-sized add-to-cart panel. */
@media (max-width:768px){
  body.single-product{
    --tmb-product-atc-tray-height:190px;
    --tmb-product-atc-tray-peek:26px;
  }

  body.single-product .tmb-footer.tmb-thumb-tray,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray{
    background:var(--tmb-brand-surface, var(--tmb-primary))!important;
    color:#fff!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    overflow:visible!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__nav,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__nav{
    position:relative!important;
    z-index:20!important;
    background:var(--tmb-brand-surface, var(--tmb-primary))!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item{
    color:#fff!important;
    background:transparent!important;
    border-color:transparent!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:hover,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:focus-visible,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item.is-active,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:hover,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:focus-visible,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item.is-active{
    color:#fff!important;
    background:rgba(255,255,255,.12)!important;
    border-color:rgba(255,255,255,.08)!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__icon,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__label,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__icon,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__label{
    color:#fff!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-icon-mask{
    background-color:currentColor!important;
  }

  body.single-product .tmb-product-atc-tray{
    height:var(--tmb-product-atc-tray-height, 190px)!important;
    max-height:min(58svh, 520px)!important;
    min-height:0!important;
    z-index:6!important;
    overflow:visible!important;
  }

  body.single-product.tmb-product-atc-collapsed .tmb-product-atc-tray,
  body.single-product .tmb-footer.tmb-thumb-tray.is-product-atc-collapsed .tmb-product-atc-tray{
    z-index:1!important;
    transform:translateY(calc(var(--tmb-product-atc-tray-height, 190px) - var(--tmb-product-atc-tray-peek, 26px)))!important;
  }

  body.single-product .tmb-product-atc-tray__inner{
    height:auto!important;
    min-height:0!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock--tray{
    height:auto!important;
    max-height:min(56svh, 500px)!important;
    overflow:visible!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock form.variations_form,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock form.cart{
    height:auto!important;
  }
}

/* Product footer tray final polish: match ATC panel to footer color and keep dynamic section buttons clean. */
@media (max-width:768px){
  body.single-product .tmb-footer.tmb-thumb-tray,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__nav,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__nav,
  body.single-product .tmb-product-atc-tray,
  body.single-product.tmb-co-app-shell .tmb-product-atc-tray{
    background:var(--tmb-brand-surface, var(--tmb-primary))!important;
    color:#fff!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__icon,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__label,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__icon,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__label{
    color:#fff!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item.is-active,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:hover,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:focus-visible,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item.is-active,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:hover,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:focus-visible{
    background:rgba(255,255,255,.14)!important;
    border-color:rgba(255,255,255,.08)!important;
    color:#fff!important;
  }

  body.single-product .tmb-product-atc-tray{
    border-top:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 -14px 32px rgba(15,23,42,.22)!important;
  }

  body.single-product.tmb-product-atc-collapsed .tmb-product-atc-tray,
  body.single-product .tmb-footer.tmb-thumb-tray.is-product-atc-collapsed .tmb-product-atc-tray{
    z-index:1!important;
    box-shadow:none!important;
  }

  body.single-product .tmb-product-atc-tray,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock,
  body.single-product .tmb-product-atc-tray .tmb-product-sticky-dock--tray,
  body.single-product .tmb-product-atc-tray form,
  body.single-product .tmb-product-atc-tray table,
  body.single-product .tmb-product-atc-tray tbody,
  body.single-product .tmb-product-atc-tray tr,
  body.single-product .tmb-product-atc-tray th,
  body.single-product .tmb-product-atc-tray td,
  body.single-product .tmb-product-atc-tray label,
  body.single-product .tmb-product-atc-tray .label,
  body.single-product .tmb-product-atc-tray .price,
  body.single-product .tmb-product-atc-tray .woocommerce-Price-amount,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-price,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-price .price,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-availability,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-description,
  body.single-product .tmb-product-atc-tray .reset_variations,
  body.single-product .tmb-product-atc-tray a.reset_variations,
  body.single-product .tmb-product-atc-tray .co-qtybtn,
  body.single-product .tmb-product-atc-tray .co-qtybar,
  body.single-product .tmb-product-atc-tray .co-qtybar input{
    color:#fff!important;
  }

  body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value select,
  body.single-product .tmb-product-atc-tray select{
    border:1px solid rgba(255,255,255,.18)!important;
    background-color:rgba(255,255,255,.10)!important;
    background-image:
      linear-gradient(45deg, transparent 50%, rgba(255,255,255,.82) 50%),
      linear-gradient(135deg, rgba(255,255,255,.82) 50%, transparent 50%)!important;
    color:#fff!important;
  }

  body.single-product .tmb-product-atc-tray select option{
    color:var(--tmb-text, #111827)!important;
    background:#fff!important;
  }

  body.single-product .tmb-product-atc-tray .co-qtybar{
    border:1px solid rgba(255,255,255,.18)!important;
    background:rgba(255,255,255,.10)!important;
  }

  body.single-product .tmb-product-atc-tray .co-qtybar > *:not(:last-child)::after{
    background:rgba(255,255,255,.16)!important;
  }

  body.single-product .tmb-product-atc-tray button.single_add_to_cart_button{
    border:1px solid rgba(255,255,255,.18)!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
  }

  body.single-product .tmb-product-atc-tray button.single_add_to_cart_button:not(.disabled):not(:disabled){
    background:#fff!important;
    color:var(--tmb-brand-surface, var(--tmb-primary))!important;
  }
}


/* Product page thumb tray/ATC final polish: clean active state, primary text fields, full tuck. */
@media (max-width:768px){
  body.single-product{
    --tmb-product-atc-tray-peek:0px!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item.is-active,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:hover,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:focus-visible,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item.is-active,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:hover,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:focus-visible{
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
    transform:none!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item.is-flame-press,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:active{
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }

  body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value select,
  body.single-product .tmb-product-atc-tray select{
    color:var(--tmb-brand-surface, var(--tmb-primary, #243342))!important;
    background:#fff!important;
    background-color:#fff!important;
    background-image:none!important;
    border:1px solid rgba(15,23,42,.10)!important;
    box-shadow:none!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }

  body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value select:first-of-type{
    padding-right:92px!important;
  }

  body.single-product .tmb-product-atc-tray .co-var-atc .reset_variations,
  body.single-product .tmb-product-atc-tray a.reset_variations{
    color:var(--tmb-brand-surface, var(--tmb-primary, #243342))!important;
    background:#fff!important;
    border:1px solid rgba(15,23,42,.10)!important;
    text-decoration:none!important;
  }

  body.single-product .tmb-product-atc-tray .price,
  body.single-product .tmb-product-atc-tray .woocommerce-Price-amount,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-price,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-price .price,
  body.single-product .tmb-product-atc-tray .co-var-atc .woocommerce-variation-price .price{
    color:var(--tmb-brand-surface, var(--tmb-primary, #243342))!important;
  }

  body.single-product .tmb-product-atc-tray .co-var-atc .woocommerce-variation-price .price{
    background:#fff!important;
    border:1px solid rgba(15,23,42,.10)!important;
  }

  body.single-product.tmb-product-atc-collapsed .tmb-product-atc-tray,
  body.single-product .tmb-footer.tmb-thumb-tray.is-product-atc-collapsed .tmb-product-atc-tray{
    z-index:-1!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(calc(var(--tmb-product-atc-tray-height, 190px) + 18px))!important;
    box-shadow:none!important;
  }
}

/* Product page tray parity: match standard app thumb-tray states and keep ATC qty/action text white. */
@media (max-width:768px){
  body.single-product .tmb-product-atc-tray .co-qtybar,
  body.single-product .tmb-product-atc-tray .tmb-qtybar{
    color:#fff!important;
  }

  body.single-product .tmb-product-atc-tray .co-cta-center,
  body.single-product .tmb-product-atc-tray .tmb-cta-center,
  body.single-product .tmb-product-atc-tray .co-qtycenter,
  body.single-product .tmb-product-atc-tray .tmb-qtycenter,
  body.single-product .tmb-product-atc-tray .co-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .tmb-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .co-qtybar input.qty,
  body.single-product .tmb-product-atc-tray .tmb-qtybar input.qty,
  body.single-product .tmb-product-atc-tray .co-qtybtn,
  body.single-product .tmb-product-atc-tray .tmb-qtybtn,
  body.single-product .tmb-product-atc-tray .co-qty-btn,
  body.single-product .tmb-product-atc-tray .tmb-qty-btn,
  body.single-product .tmb-product-atc-tray .co-qty .qty,
  body.single-product .tmb-product-atc-tray .tmb-qty .qty,
  body.single-product .tmb-product-atc-tray .single_add_to_cart_button,
  body.single-product .tmb-product-atc-tray button.single_add_to_cart_button,
  body.single-product .tmb-product-atc-tray .co-atc-btn,
  body.single-product .tmb-product-atc-tray .tmb-atc-btn{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }

  body.single-product .tmb-product-atc-tray button.single_add_to_cart_button,
  body.single-product .tmb-product-atc-tray button.single_add_to_cart_button:not(.disabled):not(:disabled),
  body.single-product .tmb-product-atc-tray .single_add_to_cart_button,
  body.single-product .tmb-product-atc-tray .co-atc-btn,
  body.single-product .tmb-product-atc-tray .tmb-atc-btn{
    background:rgba(255,255,255,.12)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }

  body.single-product .tmb-product-atc-tray .co-qtybar input.qty::placeholder,
  body.single-product .tmb-product-atc-tray .tmb-qtybar input.qty::placeholder,
  body.single-product .tmb-product-atc-tray .co-qty .qty::placeholder,
  body.single-product .tmb-product-atc-tray .tmb-qty .qty::placeholder{
    color:rgba(255,255,255,.72)!important;
    -webkit-text-fill-color:rgba(255,255,255,.72)!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item{
    appearance:none!important;
    -webkit-appearance:none!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    min-height:56px!important;
    padding:6px 2px 5px!important;
    border-radius:14px!important;
    color:rgba(255,255,255,.70)!important;
    font-family:inherit!important;
    font-size:.56rem!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    cursor:pointer!important;
    transform:none!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__icon,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__icon svg,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__icon,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__icon svg{
    width:23px!important;
    height:23px!important;
    color:inherit!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__label,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__label{
    color:inherit!important;
    font-size:10px!important;
    letter-spacing:.01em!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:hover,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:focus-visible,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item.is-active,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item.is-flame-press,
  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:active,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:hover,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:focus-visible,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item.is-active,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item.is-flame-press,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:active{
    color:var(--tmb-accent,#c6ad82)!important;
    background:rgba(255,255,255,.08)!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }

  body.single-product .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:active,
  body.single-product.tmb-co-app-shell .tmb-footer.tmb-thumb-tray .tmb-thumb-tray__item:active{
    transform:translateY(1px) scale(.98)!important;
  }
}

/* Product ATC qty fix: keep the quantity field from flashing white after +/- taps. */
@media (max-width:768px){
  body.single-product .tmb-product-atc-tray .co-qtybar,
  body.single-product .tmb-product-atc-tray .tmb-qtybar,
  body.single-product .tmb-product-atc-tray .co-qtycenter,
  body.single-product .tmb-product-atc-tray .tmb-qtycenter{
    background:rgba(255,255,255,.12)!important;
    background-color:rgba(255,255,255,.12)!important;
  }

  body.single-product .tmb-product-atc-tray .co-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .tmb-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .co-qtybar input.qty,
  body.single-product .tmb-product-atc-tray .tmb-qtybar input.qty,
  body.single-product .tmb-product-atc-tray .quantity input.qty,
  body.single-product .tmb-product-atc-tray input[type="number"].qty,
  body.single-product .tmb-product-atc-tray input[type="number"].qty:focus,
  body.single-product .tmb-product-atc-tray input[type="number"].qty:active,
  body.single-product .tmb-product-atc-tray input[type="number"].qty:hover{
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    caret-color:#fff!important;
    appearance:textfield!important;
    -moz-appearance:textfield!important;
  }

  body.single-product .tmb-product-atc-tray input.qty:-webkit-autofill,
  body.single-product .tmb-product-atc-tray input.qty:-webkit-autofill:hover,
  body.single-product .tmb-product-atc-tray input.qty:-webkit-autofill:focus{
    -webkit-text-fill-color:#fff!important;
    -webkit-box-shadow:0 0 0 1000px transparent inset!important;
    transition:background-color 9999s ease-out 0s!important;
  }
}

/* Product ATC qty/CTA swap: when quantity is visible, hide Add to Cart text completely. */
@media (max-width:768px){
  body.single-product .tmb-product-atc-tray .co-qtybar:not(.co-idle) .co-cta-center,
  body.single-product .tmb-product-atc-tray .tmb-qtybar:not(.co-idle) .tmb-cta-center{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  body.single-product .tmb-product-atc-tray .co-qtybar:not(.co-idle) .co-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .tmb-qtybar:not(.co-idle) .tmb-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .co-qtybar:not(.co-idle) input.qty,
  body.single-product .tmb-product-atc-tray .tmb-qtybar:not(.co-idle) input.qty{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  body.single-product .tmb-product-atc-tray .co-qtybar.co-idle .co-cta-center,
  body.single-product .tmb-product-atc-tray .tmb-qtybar.co-idle .tmb-cta-center{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  body.single-product .tmb-product-atc-tray .co-qtybar.co-idle .co-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .tmb-qtybar.co-idle .tmb-qtycenter .qty,
  body.single-product .tmb-product-atc-tray .co-qtybar.co-idle input.qty,
  body.single-product .tmb-product-atc-tray .tmb-qtybar.co-idle input.qty{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* Single product trade pricing matrix */
body.single-product .tmb-product-pricing-matrix{
  width:100%;
  margin:0 0 14px;
  padding:0;
  color:var(--tmb-text);
}
body.single-product .tmb-product-pricing-matrix__table{
  width:100%;
  border-collapse:collapse;
  margin:0;
  table-layout:fixed;
  background:transparent;
}
body.single-product .tmb-product-pricing-matrix__table tr{
  border-bottom:1px solid color-mix(in srgb, var(--tmb-ui-border, rgba(5,46,69,.14)) 72%, transparent);
}
body.single-product .tmb-product-pricing-matrix__table tr:first-child{
  border-top:1px solid color-mix(in srgb, var(--tmb-ui-border, rgba(5,46,69,.14)) 72%, transparent);
}
body.single-product .tmb-product-pricing-matrix__table th,
body.single-product .tmb-product-pricing-matrix__table td{
  padding:10px 0;
  vertical-align:middle;
  background:transparent!important;
  border:0!important;
}
body.single-product .tmb-product-pricing-matrix__table th{
  width:38%;
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:900;
  line-height:1;
  letter-spacing:.08em;
  text-align:left;
  text-transform:uppercase;
}
body.single-product .tmb-product-pricing-matrix__table td{
  color:var(--tmb-primary);
  font-size:clamp(1rem,1.6vw,1.14rem);
  font-weight:950;
  line-height:1.1;
  text-align:right;
  white-space:nowrap;
}
body.single-product .tmb-product-pricing-matrix__note{
  margin:8px 0 0;
  color:var(--tmb-text-muted);
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
@media (max-width:768px){
  body.single-product .tmb-product-pricing-matrix{
    margin-bottom:10px;
  }
  body.single-product .tmb-product-pricing-matrix__table th,
  body.single-product .tmb-product-pricing-matrix__table td{
    padding:9px 0;
  }
  body.single-product .tmb-product-pricing-matrix__table td{
    font-size:1rem;
  }
}

/* Product bundle add-ons: optional linked-product tray inside add-to-cart. */
.tmb-product-bundle{
  width:100%;
  margin:0 0 10px;
}

.tmb-product-bundle__toggle{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:48px;
  padding:10px 14px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  background:rgba(15,23,42,.035);
  color:var(--tmb-text,#111827);
  font:inherit;
  text-align:left;
  cursor:pointer;
}

.tmb-product-bundle__toggle strong,
.tmb-product-bundle__toggle small{
  display:block;
  line-height:1.15;
}

.tmb-product-bundle__toggle strong{
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.025em;
}

.tmb-product-bundle__toggle small{
  margin-top:3px;
  font-size:.72rem;
  font-weight:800;
  opacity:.72;
}

.tmb-product-bundle__toggle i{
  width:9px;
  height:9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .18s ease;
  flex:0 0 auto;
}

.tmb-product-bundle.is-open .tmb-product-bundle__toggle i{
  transform:rotate(225deg) translateY(-1px);
}

.tmb-product-bundle__tray{
  margin-top:8px;
  padding:8px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:18px;
  background:#fff;
}

.tmb-product-bundle__list{
  display:grid;
  gap:7px;
}

.tmb-product-bundle__row{
  display:grid;
  grid-template-columns:28px 48px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:62px;
  padding:7px 8px;
  border:1px solid transparent;
  border-radius:14px;
  background:rgba(15,23,42,.035);
  color:var(--tmb-text,#111827);
  cursor:pointer;
}

.tmb-product-bundle__row:has(input:checked){
  border-color:rgba(15,23,42,.16);
  background:rgba(15,23,42,.065);
}

.tmb-product-bundle__row.is-disabled{
  opacity:.56;
  cursor:not-allowed;
}

.tmb-product-bundle__check{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
}

.tmb-product-bundle__check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.tmb-product-bundle__check span{
  width:21px;
  height:21px;
  border-radius:7px;
  border:2px solid currentColor;
  display:block;
  position:relative;
  opacity:.58;
}

.tmb-product-bundle__check input:checked + span{
  opacity:1;
  background:currentColor;
}

.tmb-product-bundle__check input:checked + span::after{
  content:'';
  position:absolute;
  left:6px;
  top:2px;
  width:5px;
  height:10px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(45deg);
}

.tmb-product-bundle__media{
  width:48px;
  height:48px;
  display:block;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}

.tmb-product-bundle__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.tmb-product-bundle__copy{
  min-width:0;
}

.tmb-product-bundle__copy strong,
.tmb-product-bundle__copy small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
}

.tmb-product-bundle__copy strong{
  font-size:.82rem;
  font-weight:900;
  line-height:1.14;
  white-space:nowrap;
}

.tmb-product-bundle__copy small{
  margin-top:3px;
  font-size:.72rem;
  line-height:1.2;
  font-weight:750;
  opacity:.72;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

@media (max-width:768px){
  body.single-product .tmb-product-atc-tray .tmb-product-bundle{
    margin-bottom:7px!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__toggle{
    min-height:40px!important;
    padding:8px 11px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__toggle strong{
    font-size:.68rem!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__toggle small{
    font-size:.66rem!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__tray{
    max-height:min(32svh, 260px)!important;
    overflow:auto!important;
    padding:7px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:rgba(255,255,255,.10)!important;
    border-radius:16px!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__row{
    grid-template-columns:26px 44px minmax(0,1fr)!important;
    min-height:56px!important;
    padding:6px!important;
    gap:8px!important;
    background:#fff!important;
    color:var(--tmb-brand-surface, var(--tmb-primary,#243342))!important;
    border-color:rgba(15,23,42,.08)!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__row:has(input:checked){
    background:#fff!important;
    border-color:rgba(15,23,42,.20)!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__media{
    width:44px!important;
    height:44px!important;
    background:rgba(15,23,42,.04)!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__copy strong{
    font-size:.75rem!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__copy small{
    font-size:.66rem!important;
  }
}

/* Product bundle refinement: inline Bundle button beside the first variation selector. */
.tmb-variation-selector-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  width:100%;
  min-width:0;
}

.tmb-variation-selector-row__select{
  display:block;
  min-width:0;
}

.co-var-atc .variations td.value .tmb-variation-selector-row select,
.co-var-atc .variations td.value .tmb-variation-selector-row select:first-of-type,
body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value .tmb-variation-selector-row select:first-of-type{
  width:100%!important;
  padding-right:34px!important;
}

.co-var-atc .variations td.value .tmb-variation-selector-row.has-bundle-toggle + select,
.co-var-atc .variations td.value .tmb-variation-selector-row.has-bundle-toggle ~ select{
  width:100%!important;
}

.co-var-atc .variations td.value .tmb-variation-selector-row.has-bundle-toggle ~ .co-variation-actions{
  position:static;
  justify-content:flex-end;
  width:100%;
}

.tmb-product-bundle__toggle--inline{
  width:auto;
  min-width:94px;
  height:44px;
  min-height:44px;
  padding:0 14px;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
}

.tmb-product-bundle__toggle--inline span,
.tmb-product-bundle__toggle--inline strong{
  display:block;
}

.tmb-product-bundle__toggle--inline i,
.tmb-product-bundle__toggle--inline small{
  display:none;
}

.tmb-product-bundle__toggle.is-active,
.tmb-product-bundle.is-open .tmb-product-bundle__toggle{
  border-color:rgba(15,23,42,.22);
  background:var(--tmb-brand-surface, var(--tmb-primary,#243342));
  color:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.16);
}

.tmb-product-bundle__row{
  grid-template-columns:28px 48px minmax(0,1fr) auto;
}

.tmb-product-bundle__price{
  justify-self:end;
  text-align:right;
  white-space:nowrap;
  font-size:.78rem;
  line-height:1.1;
  font-weight:950;
  color:inherit;
}

.tmb-product-bundle__price .price,
.tmb-product-bundle__price .woocommerce-Price-amount{
  color:inherit;
  font-weight:950;
}

@media (max-width:768px){
  body.single-product .tmb-product-atc-tray .tmb-variation-selector-row{
    grid-template-columns:minmax(0,1fr) 92px;
    gap:7px;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__toggle--inline{
    min-width:0!important;
    width:92px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 10px!important;
    border:1px solid rgba(15,23,42,.10)!important;
    border-radius:14px!important;
    background:#fff!important;
    color:var(--tmb-brand-surface, var(--tmb-primary,#243342))!important;
    box-shadow:none!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__toggle--inline strong{
    font-size:.72rem!important;
    letter-spacing:.03em!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__toggle--inline.is-active{
    background:rgba(255,255,255,.16)!important;
    color:#fff!important;
    border-color:rgba(255,255,255,.28)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__row{
    grid-template-columns:26px 44px minmax(0,1fr) auto!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__price{
    max-width:76px;
    font-size:.7rem!important;
    color:var(--tmb-brand-surface, var(--tmb-primary,#243342))!important;
  }

  body.single-product .tmb-product-atc-tray .tmb-product-bundle__price .price,
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__price .woocommerce-Price-amount{
    color:inherit!important;
  }
}

.tmb-product-bundle__row.is-checked{
  border-color:rgba(15,23,42,.16);
  background:rgba(15,23,42,.065);
}

@media (max-width:768px){
  body.single-product .tmb-product-atc-tray .tmb-product-bundle__row.is-checked{
    background:#fff!important;
    border-color:rgba(15,23,42,.20)!important;
  }
}

/* Product price toggle for logged-in non-customer users. Normal price stays visible; compact control reveals tier matrix. */
body.single-product .tmb-product-price-toggle-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  width:100%;
  margin:0 0 14px;
}
body.single-product .tmb-product-price-toggle-wrap__main{
  min-width:0;
}
body.single-product .tmb-product-price-toggle-wrap__main .price{
  margin:0!important;
}
body.single-product .tmb-product-price-toggle{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--tmb-primary, #052e45);
  box-shadow:none;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  cursor:pointer;
}
body.single-product .tmb-product-price-toggle__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:17px;
  height:17px;
  border-radius:999px;
  color:currentColor;
}
body.single-product .tmb-product-price-toggle svg{
  width:15px;
  height:15px;
}
body.single-product .tmb-product-price-toggle__label{
  border-bottom:1px solid currentColor;
}
body.single-product .tmb-product-price-toggle:hover,
body.single-product .tmb-product-price-toggle:focus-visible,
body.single-product .tmb-product-price-toggle.is-active{
  color:var(--tmb-primary-hover, var(--tmb-primary, #052e45));
  outline:none;
}
body.single-product .tmb-product-price-toggle:focus-visible .tmb-product-price-toggle__label{
  outline:2px solid currentColor;
  outline-offset:3px;
}
body.single-product .tmb-product-price-toggle-wrap .tmb-product-pricing-matrix{
  width:100%;
  margin:4px 0 0;
}
body.single-product .tmb-product-price-toggle-wrap.is-tier-pricing .tmb-product-price-toggle__label{
  border-bottom-color:transparent;
}

/* Bundle tray spacing fix: closed bundle tray should not create an empty gap below attributes. */
.tmb-product-bundle{
  margin:0;
}
.tmb-product-bundle.is-open{
  margin:0 0 10px;
}
.co-var-atc .variations td.value.has-bundle-toggle,
body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value.has-bundle-toggle{
  gap:6px!important;
}
.co-var-atc .variations td.value.has-bundle-toggle .tmb-variation-selector-row + select,
body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value.has-bundle-toggle .tmb-variation-selector-row + select{
  margin-top:0!important;
}
@media (max-width:768px){
  body.single-product .tmb-product-atc-tray .co-var-atc .variations td.value.has-bundle-toggle .co-variation-actions{
    display:none!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle{
    margin:0!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-product-bundle.is-open{
    margin:0 0 7px!important;
  }
}


body.single-product .tmb-bundle-price-hidden{
  display:none!important;
}

/* Bundle-aware add-to-cart price: when linked items are selected, show the full bundle total times quantity. */
.tmb-bundle-total-price,
.woocommerce-variation-price .price.is-bundle-total{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.tmb-bundle-total-price__label{
  display:inline-flex;
  align-items:center;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.64;
}
.woocommerce-variation-price .price.is-bundle-total .woocommerce-Price-amount,
.tmb-bundle-total-price.is-bundle-total .woocommerce-Price-amount,
.tmb-bundle-total-price .woocommerce-Price-amount{
  font-weight:950;
}
@media (max-width:768px){
  body.single-product .tmb-product-atc-tray .tmb-bundle-total-price,
  body.single-product .tmb-product-atc-tray .woocommerce-variation-price .price.is-bundle-total{
    min-height:38px!important;
    padding:8px 10px!important;
    border:1px solid rgba(15,23,42,.10)!important;
    border-radius:12px!important;
    background:#fff!important;
    color:var(--tmb-brand-surface, var(--tmb-primary, #243342))!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-bundle-total-price__label{
    color:inherit!important;
  }
}

/* Bundle products use one managed add-to-cart price. Hide WooCommerce's native variation price
   so selecting a variant does not create a duplicate price above the tray total. */
body.single-product form.variations_form.is-tmb-bundle-managed-pricing .single_variation .woocommerce-variation-price,
body.single-product form.variations_form.is-tmb-bundle-managed-pricing .single_variation .woocommerce-variation-price .price{
  display:none!important;
}

/* Order total refinement: always show qty-aware total, with a small per-each courtesy line. */
.tmb-bundle-total-price.is-order-total,
.tmb-bundle-total-price.is-bundle-total,
.woocommerce-variation-price .price.is-bundle-total{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.tmb-bundle-total-price__stack{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.05;
}
.tmb-bundle-total-price__each{
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.03em;
  opacity:.58;
  text-transform:uppercase;
}
@media (max-width:768px){
  body.single-product .tmb-product-atc-tray .tmb-bundle-total-price.is-order-total,
  body.single-product .tmb-product-atc-tray .tmb-bundle-total-price.is-bundle-total{
    min-height:46px!important;
  }
  body.single-product .tmb-product-atc-tray .tmb-bundle-total-price__stack{
    align-items:flex-start;
  }
  body.single-product .tmb-product-atc-tray .tmb-bundle-total-price__each{
    font-size:10px;
  }
}

/* Product inventory: total current + inbound with optional warehouse breakdown. */
.tmb-product-inventory{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  width:100%;
  margin:10px 0 18px;
  color:var(--tmb-text, var(--tmb-primary, #052e45));
}
.tmb-product-inventory__summary{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:6px;
  margin:0;
  color:var(--tmb-text, var(--tmb-primary, #052e45));
  font-size:1.25rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:0;
}
.tmb-product-inventory__label,
.tmb-product-inventory__summary strong{
  color:inherit;
  font-size:1em;
  line-height:inherit;
  font-weight:900;
  text-transform:none;
  letter-spacing:inherit;
}
.tmb-product-inventory__inbound{
  color:var(--tmb-text-muted, rgba(36,51,66,.68));
  font-size:.78em;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.tmb-product-inventory__toggle{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--tmb-primary, #052e45);
  box-shadow:none;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  cursor:pointer;
}
.tmb-product-inventory__toggle:hover,
.tmb-product-inventory__toggle:focus-visible,
.tmb-product-inventory__toggle.is-active{
  color:var(--tmb-primary-hover, var(--tmb-primary, #052e45));
  outline:none;
}
.tmb-product-inventory__toggle-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:17px;
  height:17px;
  border-radius:999px;
  color:currentColor;
}
.tmb-product-inventory__toggle-icon svg{
  width:15px;
  height:15px;
  display:block;
}
.tmb-product-inventory__toggle span[data-tmb-inventory-toggle-label]{
  border-bottom:1px solid currentColor;
}
.tmb-product-inventory__toggle.is-active span[data-tmb-inventory-toggle-label]{
  border-bottom-color:transparent;
}
.tmb-product-inventory__matrix{
  width:100%;
  max-width:none;
  margin:4px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  overflow:visible;
  background:transparent;
  box-shadow:none;
  color:var(--tmb-text, var(--tmb-primary, #052e45));
}
.tmb-product-inventory__table{
  width:100%;
  margin:0;
  border-collapse:collapse;
  table-layout:fixed;
  background:transparent;
  font-size:13px;
  line-height:1.25;
}
.tmb-product-inventory__table tr{
  border-bottom:1px solid color-mix(in srgb, var(--tmb-ui-border, rgba(5,46,69,.14)) 72%, transparent);
}
.tmb-product-inventory__table thead tr:first-child{
  border-top:1px solid color-mix(in srgb, var(--tmb-ui-border, rgba(5,46,69,.14)) 72%, transparent);
}
.tmb-product-inventory__table th,
.tmb-product-inventory__table td{
  padding:10px 0;
  border:0!important;
  background:transparent!important;
  vertical-align:middle;
}
.tmb-product-inventory__table thead th,
.tmb-product-inventory__table tbody th,
.tmb-product-inventory__table tfoot th{
  color:var(--tmb-text-muted, rgba(36,51,66,.68));
  font-size:12px;
  font-weight:900;
  line-height:1;
  letter-spacing:.08em;
  text-align:left;
  text-transform:uppercase;
}
.tmb-product-inventory__table tbody th{
  color:var(--tmb-text, var(--tmb-primary, #052e45));
  letter-spacing:0;
  text-transform:none;
}
.tmb-product-inventory__table tbody td,
.tmb-product-inventory__table tfoot td{
  color:var(--tmb-primary, #052e45);
  font-size:clamp(1rem,1.6vw,1.14rem);
  font-weight:950;
  line-height:1.1;
  text-align:right;
  white-space:nowrap;
}
.tmb-product-inventory__table thead th:nth-child(2),
.tmb-product-inventory__table thead th:nth-child(3){
  text-align:right;
}
.tmb-product-inventory__table tfoot th{
  color:var(--tmb-text-muted, rgba(36,51,66,.68));
}
.tmb-product-inventory__table tfoot tr{
  border-bottom:1px solid color-mix(in srgb, var(--tmb-ui-border, rgba(5,46,69,.14)) 72%, transparent);
}
@media (max-width:768px){
  body.single-product .tmb-product-price-toggle-wrap .tmb-product-inventory{
    margin:8px 0 14px;
    gap:5px;
  }
  .tmb-product-inventory__summary{
    gap:5px;
    font-size:1.25rem;
  }
  .tmb-product-inventory__inbound{
    font-size:.72em;
  }
  .tmb-product-inventory__toggle{
    font-size:11px;
  }
  .tmb-product-inventory__table th,
  .tmb-product-inventory__table td{
    padding:9px 0;
  }
  .tmb-product-inventory__table tbody td,
  .tmb-product-inventory__table tfoot td{
    font-size:1rem;
  }
}


/* Simple product add-to-cart parity with custom variable product qty bar */
.co-simple-atc .woocommerce-simple-add-to-cart{
  margin:0;
  display:grid;
  gap:10px;
}
.co-simple-atc .co-qtycenter .quantity{
  width:100%;
  height:100%;
  margin:0!important;
  display:grid!important;
  place-items:center;
  background:transparent!important;
  border:0!important;
}
.co-simple-atc .co-qtycenter .quantity .screen-reader-text{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.co-simple-atc .co-qtycenter input.qty{
  width:100%!important;
  height:48px!important;
  border:0!important;
  background:transparent!important;
  color:var(--tmb-primary);
  font-weight:950;
  text-align:center;
  outline:none!important;
  padding:0 10px!important;
  box-shadow:none!important;
  appearance:textfield;
  -moz-appearance:textfield;
}
.co-simple-atc .co-qtycenter input.qty::-webkit-outer-spin-button,
.co-simple-atc .co-qtycenter input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}


/* Account / portal sidebar tray: mobile-only mirror of My Account, My Business, and My Territory sidebars. */
.tmb-account-sidebar-tray,
.tmb-account-sidebar-tray-dim{display:none;}

@media (max-width: 782px){
  body.has-tmb-account-sidebar-tray{
    padding-bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + 46px + env(safe-area-inset-bottom, 0px));
  }

  body.has-tmb-account-sidebar-tray .tmb-myacct-layout > .woocommerce-MyAccount-navigation,
  body.has-tmb-account-sidebar-tray.woocommerce-account .woocommerce-MyAccount-navigation:not(.tmb-account-sidebar-tray__nav),
  body.has-tmb-account-sidebar-tray .tmb-wholesale-portal .woocommerce-MyAccount-navigation,
  body.has-tmb-account-sidebar-tray .tmb-crm-portal .woocommerce-MyAccount-navigation,
  body.has-tmb-account-sidebar-tray.tmb-crm-endpoint .woocommerce-MyAccount-navigation:not(.tmb-account-sidebar-tray__nav){
    display:none!important;
  }

  .tmb-account-sidebar-tray-dim{
    display:block;
    position:fixed;
    inset:0;
    z-index:2147481600;
    background:rgba(5,12,20,.38);
    opacity:1;
    transition:opacity .2s ease;
  }
  .tmb-account-sidebar-tray-dim[hidden]{
    display:none!important;
  }

  .tmb-account-sidebar-tray{
    display:block;
    position:fixed;
    left:10px;
    right:10px;
    bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + env(safe-area-inset-bottom, 0px));
    z-index:2147481700;
    max-height:min(70vh, 540px);
    background:#fff;
    border:1px solid rgba(15,39,64,.12);
    border-bottom:0;
    border-radius:24px 24px 0 0;
    box-shadow:0 -18px 50px rgba(5,12,20,.22);
    overflow:hidden;
    transform:translateY(calc(100% - 34px));
    transition:transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease;
    will-change:transform;
  }
  .tmb-account-sidebar-tray.is-open{
    transform:translateY(0);
    box-shadow:0 -24px 70px rgba(5,12,20,.28);
  }

  .tmb-account-sidebar-tray__toggle{
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    min-height:34px;
    padding:6px 16px 7px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:0;
    border-bottom:1px solid rgba(15,39,64,.08);
    border-radius:0;
    background:linear-gradient(180deg, #fff 0%, #f7f9fb 100%);
    color:var(--tmb-primary, #0f2740);
    font:700 11px/1.1 var(--tmb-font-body, inherit);
    letter-spacing:.12em;
    text-transform:uppercase;
    cursor:pointer;
  }
  .tmb-account-sidebar-tray__toggle:focus-visible{
    outline:2px solid var(--tmb-accent, #f4b400);
    outline-offset:-4px;
  }
  .tmb-account-sidebar-tray__chevron{
    display:inline-block;
    width:9px;
    height:9px;
    border-left:2px solid currentColor;
    border-top:2px solid currentColor;
    transform:rotate(45deg) translateY(1px);
    transition:transform .22s ease;
  }
  .tmb-account-sidebar-tray.is-open .tmb-account-sidebar-tray__chevron{
    transform:rotate(225deg) translateY(-1px);
  }
  .tmb-account-sidebar-tray__toggle-label{
    display:inline-flex;
    align-items:center;
  }

  .tmb-account-sidebar-tray__inner{
    padding:14px 14px calc(18px + env(safe-area-inset-bottom,0px));
    overflow:auto;
    max-height:calc(min(70vh, 540px) - 34px);
    -webkit-overflow-scrolling:touch;
  }
  .tmb-account-sidebar-tray__heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin:0 2px 12px;
    color:var(--tmb-primary, #0f2740);
  }
  .tmb-account-sidebar-tray__heading span{
    font:800 18px/1.1 var(--tmb-font-heading, inherit);
    letter-spacing:-.02em;
  }
  .tmb-account-sidebar-tray__heading small{
    font:800 10px/1 var(--tmb-font-body, inherit);
    letter-spacing:.16em;
    text-transform:uppercase;
    color:rgba(15,39,64,.52);
  }
  .tmb-account-sidebar-tray__nav,
  .tmb-account-sidebar-tray__list{
    margin:0;
    padding:0;
    list-style:none;
  }
  .tmb-account-sidebar-tray__list{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:10px;
  }
  .tmb-account-sidebar-tray__item-wrap{
    margin:0;
    padding:0;
    list-style:none;
  }
  .tmb-account-sidebar-tray__item{
    min-height:54px;
    padding:12px 13px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:1px solid rgba(15,39,64,.1);
    border-radius:16px;
    background:#f7f9fb;
    color:var(--tmb-primary, #0f2740);
    text-decoration:none!important;
    font:800 12px/1.15 var(--tmb-font-body, inherit);
    letter-spacing:.02em;
    box-shadow:0 7px 18px rgba(5,12,20,.06);
    transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
  }
  .tmb-account-sidebar-tray__item:hover,
  .tmb-account-sidebar-tray__item:focus-visible,
  .tmb-account-sidebar-tray__item.is-active{
    background:var(--tmb-primary, #0f2740);
    border-color:var(--tmb-primary, #0f2740);
    color:#fff;
    transform:translateY(-1px);
  }
  .tmb-account-sidebar-tray__item:focus-visible{
    outline:2px solid var(--tmb-accent, #f4b400);
    outline-offset:2px;
  }
  .tmb-account-sidebar-tray__item:active{
    transform:translateY(0) scale(.98);
  }

  @supports (backdrop-filter: blur(14px)){
    .tmb-account-sidebar-tray{
      background:rgba(255,255,255,.96);
      backdrop-filter:blur(14px);
    }
  }
}

@media (max-width: 420px){
  .tmb-account-sidebar-tray__list{grid-template-columns:1fr;}
  .tmb-account-sidebar-tray__item{min-height:48px;}
}

@media (prefers-reduced-motion: reduce){
  .tmb-account-sidebar-tray,
  .tmb-account-sidebar-tray__chevron,
  .tmb-account-sidebar-tray__item{transition:none!important;}
}

/* ----------------------------------------------------------------------
   Portal simplicity pass — My Account / My Business / My Territory
   Clean CRM-style pages plus seamless mobile sidebar tray.
------------------------------------------------------------------------ */
body.woocommerce-account,
body.tmb-crm-endpoint{
  background:var(--tmb-page-bg, #f7f8fa);
}

.woocommerce-account .woocommerce,
.tmb-wholesale-portal.woocommerce,
body.tmb-crm-endpoint .tmb-crm-shell{
  width:min(100%, var(--tmb-content-max, 1180px));
  margin:0 auto;
  padding:clamp(18px,3vw,32px) var(--tmb-content-gutter,16px) clamp(72px,8vw,112px)!important;
  box-sizing:border-box;
}

.woocommerce-account .tmb-myacct-layout,
.tmb-wholesale-portal .tmb-myacct-layout{
  display:grid;
  grid-template-columns:250px minmax(0,1fr)!important;
  gap:clamp(18px,3vw,32px)!important;
  align-items:start;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.tmb-wholesale-portal .woocommerce-MyAccount-navigation,
.tmb-crm-portal .woocommerce-MyAccount-navigation{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul,
.tmb-wholesale-portal .woocommerce-MyAccount-navigation ul,
.tmb-crm-portal .woocommerce-MyAccount-navigation ul{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li,
.tmb-wholesale-portal .woocommerce-MyAccount-navigation li,
.tmb-crm-portal .woocommerce-MyAccount-navigation li{
  margin:0!important;
  padding:0!important;
}

.woocommerce-account .woocommerce-MyAccount-navigation a,
.tmb-wholesale-portal .woocommerce-MyAccount-navigation a,
.tmb-crm-portal .woocommerce-MyAccount-navigation a{
  min-height:46px;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:12px 18px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--tmb-surface-bg, #fff)!important;
  box-shadow:none!important;
  color:var(--tmb-text, #111827)!important;
  font-size:15px!important;
  line-height:1.1!important;
  font-weight:900!important;
  text-decoration:none!important;
  transform:none!important;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible,
.tmb-wholesale-portal .woocommerce-MyAccount-navigation a:hover,
.tmb-wholesale-portal .woocommerce-MyAccount-navigation a:focus-visible,
.tmb-crm-portal .woocommerce-MyAccount-navigation a:hover,
.tmb-crm-portal .woocommerce-MyAccount-navigation a:focus-visible{
  background:color-mix(in srgb, var(--tmb-primary, #0f2740) 7%, var(--tmb-surface-bg, #fff))!important;
  color:var(--tmb-text, #111827)!important;
  outline:0;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active > a,
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link.is-active > a,
.tmb-wholesale-portal .woocommerce-MyAccount-navigation .is-active > a,
.tmb-crm-portal .woocommerce-MyAccount-navigation .is-active > a{
  background:var(--tmb-primary, #0f2740)!important;
  color:var(--tmb-text-inverse, #fff)!important;
}

.woocommerce-account .woocommerce-MyAccount-content,
.tmb-wholesale-portal .woocommerce-MyAccount-content,
.tmb-crm-portal .woocommerce-MyAccount-content{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
  min-height:0!important;
}

.woocommerce-account .woocommerce-MyAccount-content > h1:first-child,
.woocommerce-account .woocommerce-MyAccount-content > h2:first-child,
.woocommerce-account .woocommerce-MyAccount-content > h3:first-child,
.tmb-wholesale-portal .woocommerce-MyAccount-content > h1:first-child,
.tmb-wholesale-portal .woocommerce-MyAccount-content > h2:first-child,
.tmb-wholesale-portal .woocommerce-MyAccount-content > h3:first-child,
.tmb-wholesale-portal__panel > h1:first-child,
.tmb-wholesale-portal__panel > h2:first-child,
.tmb-wholesale-portal__panel > h3:first-child,
.tmb-wholesale-order__title,
.tmb-crm-directory-header h2,
.tmb-crm-profile-block h1{
  margin:0 0 6px!important;
  color:var(--tmb-text, #111827)!important;
  font-family:var(--tmb-font-heading, inherit)!important;
  font-size:clamp(28px,4.2vw,44px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  font-weight:950!important;
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type,
.tmb-wholesale-portal__muted,
.tmb-wholesale-muted,
.tmb-wholesale-order__mini,
.tmb-crm-profile-block p,
.tmb-crm-directory-header p{
  color:var(--tmb-text-muted, #64748b)!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:700!important;
}

.tmb-wholesale-portal .tmb-card,
.tmb-wholesale-portal .tmb-card--soft,
.tmb-wholesale-portal__panel,
.tmb-wholesale-portal__card,
.tmb-wholesale-order__panel,
.tmb-wholesale-order__head,
.tmb-wholesale-order__meta,
.tmb-wholesale-order__totals,
.tmb-crm-employee-header,
.tmb-crm-directory-page,
.tmb-crm-form-page,
.tmb-crm-form-section,
.tmb-crm-module-card,
.tmb-crm-directory-card,
.tmb-crm-next-step-card,
.tmb-crm-empty,
.tmb-crm-notice,
.woocommerce-account .woocommerce table.shop_table,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .woocommerce-address-fields,
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-order-details,
.woocommerce-account .woocommerce-customer-details{
  border:0!important;
  box-shadow:none!important;
  background:var(--tmb-surface-bg, #fff)!important;
}

.tmb-wholesale-portal .tmb-card,
.tmb-wholesale-portal .tmb-card--soft,
.tmb-wholesale-portal__panel,
.tmb-wholesale-portal__card,
.tmb-wholesale-order__panel,
.tmb-wholesale-order__head,
.tmb-wholesale-order__meta,
.tmb-wholesale-order__totals,
.tmb-crm-employee-header,
.tmb-crm-directory-page,
.tmb-crm-form-page,
.tmb-crm-form-section,
.tmb-crm-module-card,
.tmb-crm-directory-card,
.tmb-crm-next-step-card,
.tmb-crm-empty,
.tmb-crm-notice{
  border-radius:0!important;
  padding:clamp(16px,2.4vw,24px)!important;
}

.tmb-wholesale-portal__grid,
.tmb-crm-module-grid,
.tmb-crm-directory-grid{
  gap:12px!important;
}

.tmb-wholesale-portal__card,
.tmb-crm-module-card,
.tmb-crm-directory-card,
.tmb-crm-resource-card{
  transition:transform .16s ease, background .16s ease!important;
}

.tmb-wholesale-portal__card:hover,
.tmb-crm-module-card:hover,
.tmb-crm-directory-card:hover,
.tmb-crm-resource-card:hover{
  transform:translateY(-1px)!important;
  background:color-mix(in srgb, var(--tmb-primary, #0f2740) 4%, var(--tmb-surface-bg, #fff))!important;
  box-shadow:none!important;
}

.tmb-wholesale-portal table,
.tmb-wholesale-product-matrix,
.tmb-wholesale-order table,
.tmb-crm-directory-table,
.woocommerce-account table.shop_table{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible!important;
}

.tmb-wholesale-portal th,
.tmb-wholesale-portal td,
.tmb-wholesale-product-matrix th,
.tmb-wholesale-product-matrix td,
.tmb-wholesale-order th,
.tmb-wholesale-order td,
.tmb-crm-directory-table th,
.tmb-crm-directory-table td,
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td{
  border-top:0!important;
  border-bottom:1px solid var(--tmb-ui-border, rgba(15,39,64,.10))!important;
  background:transparent!important;
}

.tmb-wholesale-portal th,
.tmb-wholesale-product-matrix th,
.tmb-wholesale-order th,
.tmb-crm-directory-table th,
.woocommerce-account table.shop_table thead th{
  color:var(--tmb-text-muted, #64748b)!important;
  font-size:11px!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  font-weight:950!important;
}

@media (max-width:980px){
  .woocommerce-account .tmb-myacct-layout,
  .tmb-wholesale-portal .tmb-myacct-layout{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:782px){
  .woocommerce-account .woocommerce,
  .tmb-wholesale-portal.woocommerce,
  body.tmb-crm-endpoint .tmb-crm-shell{
    padding:14px 12px calc(var(--tmb-mobile-thumb-tray-offset, 78px) + 74px + env(safe-area-inset-bottom,0px))!important;
  }

  .tmb-wholesale-portal .tmb-card,
  .tmb-wholesale-portal .tmb-card--soft,
  .tmb-wholesale-portal__panel,
  .tmb-wholesale-portal__card,
  .tmb-wholesale-order__panel,
  .tmb-wholesale-order__head,
  .tmb-wholesale-order__meta,
  .tmb-wholesale-order__totals,
  .tmb-crm-employee-header,
  .tmb-crm-directory-page,
  .tmb-crm-form-page,
  .tmb-crm-form-section,
  .tmb-crm-module-card,
  .tmb-crm-directory-card,
  .tmb-crm-next-step-card,
  .tmb-crm-empty,
  .tmb-crm-notice{
    padding:14px!important;
  }
}

/* Seamless account/portal tray over the main app thumb tray. */
@media (max-width:782px){
  body.has-tmb-account-sidebar-tray{
    padding-bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + 42px + env(safe-area-inset-bottom,0px))!important;
  }

  .tmb-account-sidebar-tray-dim{
    background:rgba(5,12,20,.46)!important;
  }

  .tmb-account-sidebar-tray{
    left:0!important;
    right:0!important;
    bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + env(safe-area-inset-bottom,0px))!important;
    width:min(100%,760px)!important;
    max-width:760px!important;
    margin:0 auto!important;
    border:0!important;
    border-bottom:1px solid var(--tmb-accent, #f4b400)!important;
    border-radius:18px 18px 0 0!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    color:#fff!important;
    box-shadow:0 -16px 34px rgba(15,23,32,.22)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    transform:translateY(calc(100% - 36px))!important;
  }

  .tmb-account-sidebar-tray.is-open{
    transform:translateY(0)!important;
    box-shadow:0 -22px 54px rgba(15,23,32,.30)!important;
  }

  .tmb-account-sidebar-tray__toggle{
    min-height:36px!important;
    border:0!important;
    border-top:1px solid var(--tmb-accent, #f4b400)!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    color:var(--tmb-accent, #f4b400)!important;
    font-size:10px!important;
    font-weight:950!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
  }

  .tmb-account-sidebar-tray__toggle:focus-visible{
    outline:2px solid var(--tmb-accent, #f4b400)!important;
    outline-offset:-4px!important;
  }

  .tmb-account-sidebar-tray__inner{
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    padding:12px 10px calc(14px + env(safe-area-inset-bottom,0px))!important;
  }

  .tmb-account-sidebar-tray__heading{
    margin:0 4px 11px!important;
    color:#fff!important;
  }

  .tmb-account-sidebar-tray__heading span{
    color:#fff!important;
    font-size:18px!important;
    font-weight:950!important;
    letter-spacing:-.035em!important;
  }

  .tmb-account-sidebar-tray__heading small{
    color:rgba(255,255,255,.58)!important;
    font-weight:950!important;
  }

  .tmb-account-sidebar-tray__list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .tmb-account-sidebar-tray__item{
    min-height:50px!important;
    border:0!important;
    border-radius:14px!important;
    background:transparent!important;
    box-shadow:none!important;
    color:rgba(255,255,255,.76)!important;
    font-size:11px!important;
    line-height:1.1!important;
    font-weight:950!important;
    text-transform:uppercase!important;
    letter-spacing:.02em!important;
  }

  .tmb-account-sidebar-tray__item:hover,
  .tmb-account-sidebar-tray__item:focus-visible,
  .tmb-account-sidebar-tray__item.is-active{
    background:rgba(255,255,255,.08)!important;
    color:var(--tmb-accent, #f4b400)!important;
    transform:none!important;
  }

  .tmb-account-sidebar-tray__item:focus-visible{
    outline:2px solid var(--tmb-accent, #f4b400)!important;
    outline-offset:2px!important;
  }
}

@media (max-width:420px){
  .tmb-account-sidebar-tray__list{
    grid-template-columns:1fr!important;
  }
}


/* Account portal tray final refinement: icon-only handle + header-dropdown style links. */
@media (max-width:782px){
  .tmb-account-sidebar-tray__toggle{
    min-height:34px!important;
    height:34px!important;
    padding:0!important;
    justify-content:center!important;
    gap:0!important;
    border-top:1px solid var(--tmb-accent, #f4b400)!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    color:var(--tmb-accent, #f4b400)!important;
    font-size:0!important;
    letter-spacing:0!important;
    text-indent:0!important;
  }
  .tmb-account-sidebar-tray__toggle-label,
  .tmb-account-sidebar-tray__heading{
    display:none!important;
  }
  .tmb-account-sidebar-tray__chevron{
    width:10px!important;
    height:10px!important;
    border-left:2px solid currentColor!important;
    border-top:2px solid currentColor!important;
    margin-top:2px!important;
  }
  .tmb-account-sidebar-tray__inner{
    padding:10px 10px calc(12px + env(safe-area-inset-bottom,0px))!important;
  }
  .tmb-account-sidebar-tray__list{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .tmb-account-sidebar-tray__item{
    width:100%!important;
    min-height:48px!important;
    padding:12px 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:left!important;
    border:1px solid rgba(255,255,255,.14)!important;
    border-radius:var(--tmb-radius-sm, 14px)!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    box-shadow:none!important;
    font-size:14px!important;
    line-height:1.1!important;
    font-weight:850!important;
    letter-spacing:0!important;
    text-transform:none!important;
    text-decoration:none!important;
    transform:none!important;
  }
  .tmb-account-sidebar-tray__item:hover,
  .tmb-account-sidebar-tray__item:focus-visible,
  .tmb-account-sidebar-tray__item.is-active{
    background:rgba(255,255,255,.14)!important;
    border-color:rgba(255,255,255,.20)!important;
    color:var(--tmb-accent, #f4b400)!important;
    transform:none!important;
  }
  .tmb-account-sidebar-tray__item:focus-visible{
    outline:2px solid var(--tmb-accent, #f4b400)!important;
    outline-offset:2px!important;
  }
}

/* Account portal tray refinement: chevron-only handle, no divider lines, shorter connected tray. */
@media (max-width:782px){
  body.has-tmb-account-sidebar-tray{
    padding-bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + 30px + env(safe-area-inset-bottom,0px))!important;
  }

  .tmb-account-sidebar-tray{
    bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + env(safe-area-inset-bottom,0px))!important;
    max-height:min(46vh, 360px)!important;
    border:0!important;
    border-top:0!important;
    border-bottom:0!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:16px 16px 0 0!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    box-shadow:0 -10px 24px rgba(15,23,32,.18)!important;
    transform:translateY(calc(100% - 28px))!important;
  }

  .tmb-account-sidebar-tray.is-open{
    transform:translateY(0)!important;
    box-shadow:0 -14px 34px rgba(15,23,32,.24)!important;
  }

  .tmb-account-sidebar-tray__toggle{
    min-height:28px!important;
    height:28px!important;
    padding:0!important;
    border:0!important;
    border-top:0!important;
    border-bottom:0!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    color:var(--tmb-accent, #f4b400)!important;
    box-shadow:none!important;
  }

  .tmb-account-sidebar-tray__toggle::before,
  .tmb-account-sidebar-tray__toggle::after,
  .tmb-account-sidebar-tray::before,
  .tmb-account-sidebar-tray::after{
    display:none!important;
    content:none!important;
  }

  .tmb-account-sidebar-tray__chevron{
    width:9px!important;
    height:9px!important;
    margin:0!important;
    border-left:2px solid currentColor!important;
    border-top:2px solid currentColor!important;
  }

  .tmb-account-sidebar-tray__inner{
    max-height:calc(min(46vh, 360px) - 28px)!important;
    padding:6px 10px 10px!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    overflow:auto!important;
  }

  .tmb-account-sidebar-tray__list{
    gap:7px!important;
  }

  .tmb-account-sidebar-tray__item{
    min-height:44px!important;
    padding:10px 14px!important;
  }
}

/* Account portal tray seam fix: floating chevron only, no full-width bar above footer. */
@media (max-width:782px){
  .tmb-account-sidebar-tray{
    bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) - 1px + env(safe-area-inset-bottom,0px))!important;
    max-height:min(42vh, 330px)!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    transform:translateY(100%)!important;
    pointer-events:none!important;
  }

  .tmb-account-sidebar-tray.is-open{
    transform:translateY(0)!important;
    box-shadow:none!important;
  }

  .tmb-account-sidebar-tray__toggle{
    position:absolute!important;
    top:-26px!important;
    left:50%!important;
    width:48px!important;
    min-width:48px!important;
    height:26px!important;
    min-height:26px!important;
    padding:0!important;
    transform:translateX(-50%)!important;
    border:0!important;
    border-radius:18px 18px 0 0!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    color:var(--tmb-accent, #f4b400)!important;
    box-shadow:0 -7px 18px rgba(15,23,32,.18)!important;
    pointer-events:auto!important;
  }

  .tmb-account-sidebar-tray__toggle::before,
  .tmb-account-sidebar-tray__toggle::after{
    display:none!important;
    content:none!important;
  }

  .tmb-account-sidebar-tray__chevron{
    width:9px!important;
    height:9px!important;
    margin:3px 0 0!important;
    border-left:2px solid currentColor!important;
    border-top:2px solid currentColor!important;
  }

  .tmb-account-sidebar-tray__inner{
    max-height:min(42vh, 330px)!important;
    padding:8px 10px 4px!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    border-radius:16px 16px 0 0!important;
    box-shadow:0 -12px 28px rgba(15,23,32,.20), inset 0 -1px 0 var(--tmb-accent, #f4b400)!important;
    overflow:auto!important;
    pointer-events:auto!important;
  }

  .tmb-account-sidebar-tray__list{
    margin:0!important;
    padding:0!important;
    gap:7px!important;
  }

  .tmb-account-sidebar-tray__item{
    min-height:44px!important;
    padding:10px 14px!important;
  }

  body.is-account-sidebar-tray-open .tmb-footer.tmb-thumb-tray,
  body.is-account-sidebar-tray-open.tmb-co-app-shell .tmb-footer.tmb-thumb-tray{
    border-top-color:transparent!important;
  }
}

/* Account button portal switcher: only appears when the user has multiple portal destinations. */
.tmb-account-portal-tray{display:none;}
@media (max-width:900px){
  .tmb-footer.tmb-thumb-tray.is-account-portal-open,
  body.tmb-co-app-shell .tmb-footer.tmb-thumb-tray.is-account-portal-open{
    max-height:calc(clamp(172px, 28svh, 250px) + var(--tmb-mobile-thumb-tray-offset, 78px) + env(safe-area-inset-bottom,0px))!important;
    box-shadow:0 -18px 40px rgba(15,23,32,.24)!important;
  }

  .tmb-account-portal-tray{
    display:block;
    width:100%;
    flex:0 0 auto;
    min-height:0;
    max-height:clamp(172px, 28svh, 250px);
    padding:10px max(10px, env(safe-area-inset-left)) 9px max(10px, env(safe-area-inset-right));
    border-bottom:1px solid var(--tmb-accent, #f4b400);
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740));
    overflow:hidden;
  }
  .tmb-account-portal-tray[hidden]{display:none!important;}

  .tmb-account-portal-tray__inner{
    width:min(100%, 680px);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
    max-height:calc(clamp(172px, 28svh, 250px) - 19px);
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .tmb-account-portal-tray__inner::-webkit-scrollbar{display:none;}

  .tmb-account-portal-tray__option{
    min-height:54px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:3px;
    padding:11px 12px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:var(--tmb-radius-sm, 14px);
    background:rgba(255,255,255,.08);
    color:#fff!important;
    text-decoration:none!important;
    box-shadow:none;
    outline:0;
    transition:background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
  }
  .tmb-account-portal-tray__option:hover,
  .tmb-account-portal-tray__option:focus-visible,
  .tmb-account-portal-tray__option.is-active{
    background:rgba(255,255,255,.14);
    border-color:rgba(255,255,255,.22);
    color:var(--tmb-accent, #f4b400)!important;
  }
  .tmb-account-portal-tray__option:focus-visible{
    outline:2px solid var(--tmb-accent, #f4b400);
    outline-offset:2px;
  }
  .tmb-account-portal-tray__option:active{transform:scale(.985);}

  .tmb-account-portal-tray__label{
    display:block;
    font-size:14px;
    line-height:1.05;
    font-weight:900;
    letter-spacing:-.01em;
  }
  .tmb-account-portal-tray__context{
    display:block;
    color:rgba(255,255,255,.62);
    font-size:10px;
    line-height:1;
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .tmb-account-portal-tray__option:hover .tmb-account-portal-tray__context,
  .tmb-account-portal-tray__option:focus-visible .tmb-account-portal-tray__context,
  .tmb-account-portal-tray__option.is-active .tmb-account-portal-tray__context{
    color:color-mix(in srgb, var(--tmb-accent, #f4b400) 72%, #fff);
  }
}

@media (max-width:420px){
  .tmb-account-portal-tray__inner{grid-template-columns:1fr;}
  .tmb-account-portal-tray__option{min-height:48px;}
}

/* Final portal tray fit: full-width chevron tab and clean footer seam. */
@media (max-width:782px){
  .tmb-account-sidebar-tray__toggle{
    left:0!important;
    right:0!important;
    top:-26px!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:26px!important;
    min-height:26px!important;
    transform:none!important;
    border-radius:16px 16px 0 0!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    border:0!important;
    border-top:1px solid var(--tmb-accent, #f4b400)!important;
    box-shadow:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .tmb-account-sidebar-tray__toggle::before,
  .tmb-account-sidebar-tray__toggle::after{
    display:none!important;
    content:none!important;
  }

  .tmb-account-sidebar-tray__inner{
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    padding-top:8px!important;
    padding-bottom:6px!important;
  }

  .tmb-account-sidebar-tray.is-open .tmb-account-sidebar-tray__inner{
    box-shadow:none!important;
  }

  body.is-account-sidebar-tray-open .tmb-footer.tmb-thumb-tray,
  body.is-account-sidebar-tray-open.tmb-co-app-shell .tmb-footer.tmb-thumb-tray{
    border-top-color:transparent!important;
    box-shadow:none!important;
  }
}

@media (max-width:900px){
  .tmb-footer.tmb-thumb-tray.is-account-portal-open,
  body.tmb-co-app-shell .tmb-footer.tmb-thumb-tray.is-account-portal-open{
    border-top-color:transparent!important;
  }

  .tmb-account-portal-tray{
    border-bottom:0!important;
    box-shadow:none!important;
  }
}

/* ----------------------------------------------------------------------
   Final unified thumb-tray flyouts
   All footer-born panels use the same simple dark surface. Portal/sidebar
   tray keeps a full-width chevron tab and no decorative divider bars.
------------------------------------------------------------------------ */
@media (max-width:900px){
  body.tmb-co-app-shell .tmb-footer.tmb-thumb-tray.is-browse-open,
  body.tmb-co-app-shell .tmb-footer.tmb-thumb-tray.is-account-portal-open,
  .tmb-footer.tmb-thumb-tray.is-browse-open,
  .tmb-footer.tmb-thumb-tray.is-account-portal-open{
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    border-top:0!important;
    box-shadow:none!important;
  }

  body.tmb-co-app-shell .tmb-footer-search,
  .tmb-browse-tray,
  .tmb-account-portal-tray{
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    color:#fff!important;
    border:0!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  body.tmb-co-app-shell .tmb-footer-search{
    bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + env(safe-area-inset-bottom,0px))!important;
    width:min(100%,760px)!important;
    max-width:760px!important;
    padding:12px 10px!important;
  }

  .tmb-browse-tray,
  .tmb-account-portal-tray{
    padding:12px max(10px, env(safe-area-inset-left)) 10px max(10px, env(safe-area-inset-right))!important;
    border-bottom:0!important;
    overflow:hidden!important;
  }

  .tmb-browse-tray__section,
  .tmb-account-portal-tray__inner{
    width:min(100%,680px)!important;
    margin:0 auto!important;
  }

  .tmb-browse-tray__head{
    padding:0 2px 2px!important;
  }

  .tmb-browse-tray__head strong,
  .tmb-browse-tray__head a,
  .tmb-browse-tray__brand,
  .tmb-browse-tray__category-parent,
  .tmb-browse-tray__category-children a,
  .tmb-account-portal-tray__option,
  .tmb-account-portal-tray__label,
  .tmb-account-portal-tray__context{
    color:#fff!important;
  }

  .tmb-browse-tray__brand,
  .tmb-browse-tray__category-parent.tmb-browse-tray__brand,
  .tmb-browse-tray__category-parent,
  .tmb-account-portal-tray__option{
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    padding:10px 12px!important;
    border:0!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.08)!important;
    box-shadow:none!important;
    text-decoration:none!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1.12!important;
    letter-spacing:0!important;
    transform:none!important;
  }

  .tmb-account-portal-tray__option{
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
  }

  .tmb-browse-tray__brand:hover,
  .tmb-browse-tray__brand:focus-visible,
  .tmb-browse-tray__category-parent:hover,
  .tmb-browse-tray__category-parent:focus-visible,
  .tmb-account-portal-tray__option:hover,
  .tmb-account-portal-tray__option:focus-visible,
  .tmb-account-portal-tray__option.is-active{
    background:rgba(255,255,255,.14)!important;
    color:var(--tmb-accent, #f4b400)!important;
    outline:0!important;
    border-color:transparent!important;
    transform:none!important;
  }

  .tmb-browse-tray__brand:focus-visible,
  .tmb-browse-tray__category-parent:focus-visible,
  .tmb-account-portal-tray__option:focus-visible{
    outline:2px solid var(--tmb-accent, #f4b400)!important;
    outline-offset:2px!important;
  }

  .tmb-account-portal-tray__inner,
  .tmb-browse-tray__brand-list,
  .tmb-browse-tray__category-list{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:0!important;
    scrollbar-width:none!important;
  }

  .tmb-account-portal-tray__inner::-webkit-scrollbar,
  .tmb-browse-tray__brand-list::-webkit-scrollbar,
  .tmb-browse-tray__category-list::-webkit-scrollbar{display:none!important;}

  .tmb-account-portal-tray__context{
    opacity:.62!important;
  }

  .tmb-account-portal-tray__option:hover .tmb-account-portal-tray__context,
  .tmb-account-portal-tray__option:focus-visible .tmb-account-portal-tray__context,
  .tmb-account-portal-tray__option.is-active .tmb-account-portal-tray__context{
    color:color-mix(in srgb, var(--tmb-accent, #f4b400) 72%, #fff)!important;
    opacity:1!important;
  }
}

@media (max-width:782px){
  body.has-tmb-account-sidebar-tray{
    padding-bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + 30px + env(safe-area-inset-bottom,0px))!important;
  }

  .tmb-account-sidebar-tray-dim{
    background:rgba(5,12,20,.38)!important;
    z-index:2147482500!important;
  }

  .tmb-account-sidebar-tray{
    display:block!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + env(safe-area-inset-bottom,0px))!important;
    width:min(100%,760px)!important;
    max-width:760px!important;
    margin:0 auto!important;
    max-height:min(38vh, 300px)!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
    pointer-events:auto!important;
    transform:translateY(calc(100% - 30px))!important;
    z-index:2147482999!important;
  }

  .tmb-account-sidebar-tray.is-open{
    transform:translateY(0)!important;
    box-shadow:none!important;
  }

  .tmb-account-sidebar-tray::before,
  .tmb-account-sidebar-tray::after,
  .tmb-account-sidebar-tray__toggle::before,
  .tmb-account-sidebar-tray__toggle::after{
    display:none!important;
    content:none!important;
  }

  .tmb-account-sidebar-tray__toggle{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:30px!important;
    min-height:30px!important;
    padding:0!important;
    border:0!important;
    border-top:1px solid var(--tmb-accent, #f4b400)!important;
    border-bottom:0!important;
    border-radius:0!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    color:var(--tmb-accent, #f4b400)!important;
    box-shadow:none!important;
    font-size:0!important;
    line-height:1!important;
  }

  .tmb-account-sidebar-tray__toggle-label,
  .tmb-account-sidebar-tray__heading{
    display:none!important;
  }

  .tmb-account-sidebar-tray__chevron{
    display:block!important;
    width:9px!important;
    height:9px!important;
    margin:2px 0 0!important;
    border-left:2px solid currentColor!important;
    border-top:2px solid currentColor!important;
    transform:rotate(45deg)!important;
    transition:transform .2s ease!important;
  }

  .tmb-account-sidebar-tray.is-open .tmb-account-sidebar-tray__chevron{
    transform:rotate(225deg)!important;
    margin-top:-2px!important;
  }

  .tmb-account-sidebar-tray__inner{
    max-height:calc(min(38vh, 300px) - 30px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:8px 10px 10px!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }

  .tmb-account-sidebar-tray__nav,
  .tmb-account-sidebar-tray__list{
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }

  .tmb-account-sidebar-tray__list{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .tmb-account-sidebar-tray__item{
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    padding:11px 14px!important;
    border:0!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.08)!important;
    box-shadow:none!important;
    color:#fff!important;
    text-align:left!important;
    text-decoration:none!important;
    font-size:14px!important;
    line-height:1.1!important;
    font-weight:900!important;
    letter-spacing:0!important;
    text-transform:none!important;
    transform:none!important;
  }

  .tmb-account-sidebar-tray__item:hover,
  .tmb-account-sidebar-tray__item:focus-visible,
  .tmb-account-sidebar-tray__item.is-active{
    background:rgba(255,255,255,.14)!important;
    color:var(--tmb-accent, #f4b400)!important;
    transform:none!important;
  }

  .tmb-account-sidebar-tray__item:focus-visible,
  .tmb-account-sidebar-tray__toggle:focus-visible{
    outline:2px solid var(--tmb-accent, #f4b400)!important;
    outline-offset:-2px!important;
  }

  body.is-account-sidebar-tray-open .tmb-footer.tmb-thumb-tray,
  body.is-account-sidebar-tray-open.tmb-co-app-shell .tmb-footer.tmb-thumb-tray{
    border-top-color:transparent!important;
    box-shadow:none!important;
  }
}

/* Final account sidebar tray polish: rounded chevron tab + no footer seam. */
@media (max-width:782px){
  .tmb-account-sidebar-tray{
    bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + env(safe-area-inset-bottom,0px) - 1px)!important;
    border-radius:18px 18px 0 0!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
  }

  .tmb-account-sidebar-tray__toggle{
    border-radius:18px 18px 0 0!important;
    overflow:hidden!important;
    border:0!important;
    border-top:1px solid var(--tmb-accent, #f4b400)!important;
    border-bottom:0!important;
    box-shadow:none!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
  }

  .tmb-account-sidebar-tray__inner{
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    margin-bottom:0!important;
  }

  .tmb-account-sidebar-tray::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:-3px!important;
    height:5px!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    border:0!important;
    box-shadow:none!important;
    pointer-events:none!important;
    z-index:2!important;
  }

  body.is-account-sidebar-tray-open .tmb-footer.tmb-thumb-tray,
  body.is-account-sidebar-tray-open.tmb-co-app-shell .tmb-footer.tmb-thumb-tray,
  body.is-account-sidebar-tray-open .tmb-mobile-footer,
  body.is-account-sidebar-tray-open .tmb-app-footer{
    border-top:0!important;
    box-shadow:none!important;
    outline:0!important;
  }
}

/* Final account/sidebar tray dock fix: keep portal tray physically attached to the footer tray. */
@media (max-width:782px){
  .tmb-account-sidebar-tray{
    bottom:calc(var(--tmb-mobile-thumb-tray-offset, 78px) + env(safe-area-inset-bottom,0px) - 14px)!important;
    z-index:999!important;
    border-radius:20px 20px 0 0!important;
    overflow:visible!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    box-shadow:none!important;
    transform:translateY(calc(100% - 44px))!important;
  }

  .tmb-account-sidebar-tray.is-open{
    transform:translateY(0)!important;
  }

  .tmb-account-sidebar-tray__toggle{
    height:30px!important;
    min-height:30px!important;
    border-radius:20px 20px 0 0!important;
    border:0!important;
    border-top:1px solid color-mix(in srgb, var(--tmb-accent, #f4b400) 82%, transparent)!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    box-shadow:none!important;
  }

  .tmb-account-sidebar-tray__inner{
    border-radius:0!important;
    margin-bottom:0!important;
    padding-bottom:22px!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
    box-shadow:none!important;
  }

  .tmb-account-sidebar-tray::after{
    display:none!important;
    content:none!important;
  }

  body.is-account-sidebar-tray-open .tmb-footer.tmb-thumb-tray,
  body.is-account-sidebar-tray-open.tmb-co-app-shell .tmb-footer.tmb-thumb-tray,
  body.is-account-sidebar-tray-open .tmb-mobile-footer,
  body.is-account-sidebar-tray-open .tmb-app-footer{
    z-index:1000!important;
    border-top:0!important;
    box-shadow:none!important;
    background:var(--tmb-brand-surface, var(--tmb-primary, #0f2740))!important;
  }
}

/* Account/sidebar tray z-index fix: keep backdrop behind the opened tray. */
@media (max-width:782px){
  .tmb-account-sidebar-tray-dim{
    z-index:2147482400!important;
  }

  .tmb-account-sidebar-tray,
  .tmb-account-sidebar-tray.is-open{
    z-index:2147482600!important;
    pointer-events:auto!important;
  }

  .tmb-account-sidebar-tray__toggle,
  .tmb-account-sidebar-tray__inner,
  .tmb-account-sidebar-tray__nav,
  .tmb-account-sidebar-tray__list,
  .tmb-account-sidebar-tray__item{
    position:relative!important;
    z-index:1!important;
    pointer-events:auto!important;
  }

  body.is-account-sidebar-tray-open .tmb-footer.tmb-thumb-tray,
  body.is-account-sidebar-tray-open.tmb-co-app-shell .tmb-footer.tmb-thumb-tray,
  body.is-account-sidebar-tray-open .tmb-mobile-footer,
  body.is-account-sidebar-tray-open .tmb-app-footer{
    z-index:2147482700!important;
  }
}

/* My Account dashboard app tiles */
.woocommerce-account .tmb-account-dashboard{
  display:grid;
  gap:clamp(18px,3vw,28px);
}
.woocommerce-account .tmb-account-dashboard__header{
  display:grid;
  gap:8px;
  margin:0;
}
.woocommerce-account .tmb-account-dashboard__header .tmb-eyebrow{
  margin:0;
}
.woocommerce-account .tmb-account-dashboard__title{
  margin:0;
  color:var(--tmb-text, #111827);
  font-family:var(--tmb-font-heading, inherit);
  font-size:clamp(32px,5vw,54px);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:950;
}
.woocommerce-account .tmb-account-app-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap:14px;
}
.woocommerce-account .tmb-account-app-tile{
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  padding:20px;
  border:0;
  border-radius:var(--tmb-radius, 24px);
  background:var(--tmb-surface-bg, #fff);
  color:var(--tmb-text, #111827);
  text-decoration:none!important;
  box-shadow:none;
  transition:transform .16s ease, background .16s ease, color .16s ease;
}
.woocommerce-account .tmb-account-app-tile:hover,
.woocommerce-account .tmb-account-app-tile:focus-visible{
  transform:translateY(-2px);
  background:color-mix(in srgb, var(--tmb-primary, #0f2740) 7%, var(--tmb-surface-bg, #fff));
  color:var(--tmb-text, #111827);
  outline:0;
}
.woocommerce-account .tmb-account-app-tile__icon{
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:color-mix(in srgb, var(--tmb-primary, #0f2740) 9%, transparent);
  color:var(--tmb-primary, #0f2740);
}
.woocommerce-account .tmb-account-app-tile__icon img{
  width:25px;
  height:25px;
  object-fit:contain;
  opacity:.9;
  filter:none;
}
.woocommerce-account .tmb-account-app-tile__initial{
  font-family:var(--tmb-font-heading, inherit);
  font-size:20px;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
}
.woocommerce-account .tmb-account-app-tile__body{
  display:grid;
  gap:7px;
}
.woocommerce-account .tmb-account-app-tile__title{
  display:block;
  color:inherit;
  font-family:var(--tmb-font-heading, inherit);
  font-size:clamp(19px,2.6vw,25px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:950;
}
.woocommerce-account .tmb-account-app-tile__text{
  display:block;
  color:var(--tmb-text-muted, #64748b);
  font-size:14px;
  line-height:1.3;
  font-weight:750;
}
.woocommerce-account .tmb-account-app-tile:hover .tmb-account-app-tile__text,
.woocommerce-account .tmb-account-app-tile:focus-visible .tmb-account-app-tile__text{
  color:color-mix(in srgb, var(--tmb-text, #111827) 72%, var(--tmb-text-muted, #64748b));
}
.woocommerce-account .tmb-account-app-tile--customer-logout{
  background:color-mix(in srgb, var(--tmb-primary, #0f2740) 4%, var(--tmb-surface-bg, #fff));
}
@media (max-width: 640px){
  .woocommerce-account .tmb-account-app-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .woocommerce-account .tmb-account-app-tile{
    min-height:108px;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    padding:18px;
    border-radius:24px;
  }
  .woocommerce-account .tmb-account-app-tile__icon{
    flex:0 0 44px;
    width:44px;
    height:44px;
  }
  .woocommerce-account .tmb-account-app-tile__text{
    font-size:13px;
  }
}

/* =========================================
   TMB Account Endpoint Forms
   ========================================= */
body.woocommerce-account .tmb-account-endpoint{
  display:grid;
  gap:clamp(16px, 2.4vw, 24px);
}
body.woocommerce-account .tmb-account-endpoint,
body.woocommerce-account .tmb-account-endpoint *{
  box-sizing:border-box;
}
body.woocommerce-account .tmb-account-endpoint__header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding:clamp(18px, 2.8vw, 30px);
  background:var(--tmb-surface-bg, #fff);
  border:1px solid color-mix(in srgb, var(--tmb-border-color, #dbe5ef) 72%, transparent);
  border-radius:22px;
  box-shadow:0 18px 48px rgba(15, 39, 64, .08);
}
body.woocommerce-account .tmb-account-endpoint__eyebrow,
body.woocommerce-account .tmb-account-card__kicker{
  margin:0 0 7px!important;
  color:var(--tmb-primary, #0f2740)!important;
  font-size:11px!important;
  line-height:1!important;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:950!important;
}
body.woocommerce-account .tmb-account-endpoint__title{
  margin:0!important;
  color:var(--tmb-text, #111827)!important;
  font-family:var(--tmb-font-heading, inherit)!important;
  font-size:clamp(30px, 4.2vw, 48px)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
  font-weight:950!important;
}
body.woocommerce-account .tmb-account-endpoint__intro{
  max-width:680px;
  margin:10px 0 0!important;
  color:var(--tmb-text-muted, #64748b)!important;
  font-size:15px!important;
  line-height:1.45!important;
  font-weight:750!important;
}
body.woocommerce-account .tmb-account-form{
  display:grid!important;
  gap:clamp(14px, 2vw, 20px)!important;
  margin:0!important;
}
body.woocommerce-account .tmb-account-card,
body.woocommerce-account .woocommerce-EditAccountForm .tmb-account-card,
body.woocommerce-account .woocommerce-address-fields,
body.woocommerce-account form.tmb-form .woocommerce-address-fields{
  display:grid;
  gap:18px;
  margin:0!important;
  padding:clamp(18px, 2.6vw, 28px)!important;
  background:var(--tmb-surface-bg, #fff)!important;
  border:1px solid color-mix(in srgb, var(--tmb-border-color, #dbe5ef) 74%, transparent)!important;
  border-radius:22px!important;
  box-shadow:0 18px 48px rgba(15, 39, 64, .08)!important;
}
body.woocommerce-account .tmb-account-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  border-bottom:1px solid color-mix(in srgb, var(--tmb-border-color, #dbe5ef) 70%, transparent);
}
body.woocommerce-account .tmb-account-card__title{
  margin:0!important;
  color:var(--tmb-text, #111827)!important;
  font-family:var(--tmb-font-heading, inherit)!important;
  font-size:clamp(20px, 2.3vw, 28px)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
  font-weight:950!important;
}
body.woocommerce-account .tmb-account-card__note{
  max-width:320px;
  margin:0!important;
  color:var(--tmb-text-muted, #64748b)!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:750!important;
  text-align:right;
}
body.woocommerce-account .tmb-account-form__grid{
  display:grid;
  gap:14px;
}
body.woocommerce-account .tmb-account-form__grid--two{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
body.woocommerce-account .tmb-account-field,
body.woocommerce-account .woocommerce-form-row.tmb-account-field,
body.woocommerce-account .tmb-form__field,
body.woocommerce-account .woocommerce-address-fields .form-row{
  display:grid!important;
  gap:7px!important;
  float:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-account .tmb-account-field label,
body.woocommerce-account .tmb-form__field label,
body.woocommerce-account .woocommerce-address-fields label{
  margin:0!important;
  color:var(--tmb-text, #111827)!important;
  font-size:12px!important;
  line-height:1.2!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
  font-weight:950!important;
}
body.woocommerce-account .tmb-account-field input,
body.woocommerce-account .tmb-account-field select,
body.woocommerce-account .tmb-account-field textarea,
body.woocommerce-account .woocommerce-EditAccountForm input.input-text,
body.woocommerce-account .woocommerce-address-fields input.input-text,
body.woocommerce-account .woocommerce-address-fields select,
body.woocommerce-account .woocommerce-address-fields textarea,
body.woocommerce-account .tmb-form input[type="text"],
body.woocommerce-account .tmb-form input[type="email"],
body.woocommerce-account .tmb-form input[type="tel"],
body.woocommerce-account .tmb-form input[type="password"],
body.woocommerce-account .tmb-form select,
body.woocommerce-account .tmb-form textarea{
  width:100%!important;
  min-height:48px!important;
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid color-mix(in srgb, var(--tmb-border-color, #dbe5ef) 86%, transparent)!important;
  border-radius:16px!important;
  background:color-mix(in srgb, var(--tmb-surface-bg, #fff) 88%, #f8fafc)!important;
  color:var(--tmb-text, #111827)!important;
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:700!important;
  box-shadow:none!important;
  outline:0!important;
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
body.woocommerce-account .tmb-account-field input:focus,
body.woocommerce-account .tmb-account-field select:focus,
body.woocommerce-account .tmb-account-field textarea:focus,
body.woocommerce-account .woocommerce-EditAccountForm input.input-text:focus,
body.woocommerce-account .woocommerce-address-fields input.input-text:focus,
body.woocommerce-account .woocommerce-address-fields select:focus,
body.woocommerce-account .woocommerce-address-fields textarea:focus{
  border-color:color-mix(in srgb, var(--tmb-primary, #0f2740) 42%, var(--tmb-border-color, #dbe5ef))!important;
  background:#fff!important;
  box-shadow:0 0 0 4px color-mix(in srgb, var(--tmb-primary, #0f2740) 10%, transparent)!important;
}
body.woocommerce-account .tmb-account-field__help,
body.woocommerce-account .woocommerce-input-wrapper + span,
body.woocommerce-account .woocommerce-address-fields .description{
  color:var(--tmb-text-muted, #64748b)!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:700!important;
}
body.woocommerce-account .required{
  color:var(--tmb-accent, #c98a2c)!important;
  text-decoration:none!important;
}
body.woocommerce-account .tmb-account-form__actions,
body.woocommerce-account .tmb-form__actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-account .tmb-account-button,
body.woocommerce-account .tmb-account-form__actions .button,
body.woocommerce-account .tmb-form__actions .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 22px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--tmb-primary, #0f2740)!important;
  color:#fff!important;
  font-size:14px!important;
  letter-spacing:.02em!important;
  font-weight:950!important;
  text-decoration:none!important;
  box-shadow:0 14px 28px rgba(15, 39, 64, .18)!important;
  transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}
body.woocommerce-account .tmb-account-button:hover,
body.woocommerce-account .tmb-account-form__actions .button:hover,
body.woocommerce-account .tmb-form__actions .button:hover{
  transform:translateY(-1px)!important;
  opacity:.96!important;
  box-shadow:0 18px 34px rgba(15, 39, 64, .22)!important;
}
body.woocommerce-account .woocommerce-EditAccountForm fieldset{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
body.woocommerce-account .woocommerce-EditAccountForm legend{
  padding:0!important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error{
  border-radius:18px!important;
  box-shadow:none!important;
}
body.woocommerce-account .select2-container .select2-selection--single{
  min-height:48px!important;
  border:1px solid color-mix(in srgb, var(--tmb-border-color, #dbe5ef) 86%, transparent)!important;
  border-radius:16px!important;
  background:color-mix(in srgb, var(--tmb-surface-bg, #fff) 88%, #f8fafc)!important;
}
body.woocommerce-account .select2-container .select2-selection--single .select2-selection__rendered{
  padding:9px 14px!important;
  color:var(--tmb-text, #111827)!important;
  font-weight:700!important;
}
body.woocommerce-account .select2-container .select2-selection--single .select2-selection__arrow{
  height:48px!important;
  right:8px!important;
}
@media (max-width: 760px){
  body.woocommerce-account .tmb-account-endpoint__header,
  body.woocommerce-account .tmb-account-card__head{
    display:grid;
    align-items:start;
  }
  body.woocommerce-account .tmb-account-card__note{
    max-width:none;
    text-align:left;
  }
  body.woocommerce-account .tmb-account-form__grid--two{
    grid-template-columns:1fr;
  }
  body.woocommerce-account .tmb-account-form__actions,
  body.woocommerce-account .tmb-form__actions{
    justify-content:stretch!important;
  }
  body.woocommerce-account .tmb-account-button,
  body.woocommerce-account .tmb-account-form__actions .button,
  body.woocommerce-account .tmb-form__actions .button{
    width:100%!important;
  }
}

/* Brands We Carry directory — v2.5.0 */
.tmb-brands-page {
    background: #fff;
    color: var(--tmb-primary, #10273e);
}

.tmb-brands-page__header {
    padding: clamp(72px, 10vw, 132px) 24px clamp(52px, 7vw, 88px);
    background:
        radial-gradient(circle at 88% 8%, rgba(255,255,255,.12), transparent 32%),
        linear-gradient(135deg, var(--tmb-primary, #10273e), #071727);
    color: #fff;
    text-align: center;
}

.tmb-brands-page__header-inner {
    width: min(760px, 100%);
    margin: 0 auto;
}

.tmb-brands-page__header-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: min(330px, 72vw);
    margin: 0 auto clamp(22px, 3vw, 34px);
    text-decoration: none;
}

.tmb-brands-page__header-logo img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 92px;
    object-fit: contain;
}

.tmb-brands-page__header h1 {
    margin: 0;
    color: inherit;
    font-size: clamp(42px, 6vw, 76px);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: .98;
}

.tmb-brands-page__header p:last-child {
    max-width: 540px;
    margin: 22px auto 0;
    color: rgba(255,255,255,.74);
    font-size: clamp(16px, 1.7vw, 20px);
    line-height: 1.55;
}

.tmb-brands-directory {
    padding: clamp(44px, 6vw, 80px) 24px clamp(72px, 9vw, 120px);
}

.tmb-brands-directory__inner {
    width: min(1380px, 100%);
    margin: 0 auto;
}

.tmb-brands-wall {
    display: grid;
    gap: clamp(12px, 2vw, 28px);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tmb-brand-mark {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: clamp(210px, 20vw, 300px);
    place-items: center;
    overflow: hidden;
    padding: 34px 28px;
    border: 0;
    background: transparent;
    color: var(--tmb-primary, #10273e);
    text-decoration: none;
    isolation: isolate;
    transition: background-color .32s ease;
}

.tmb-brand-mark::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(145deg, rgba(15,39,64,.035), transparent 48%);
    content: "";
    opacity: 0;
    transition: opacity .32s ease;
}

.tmb-brand-mark:hover,
.tmb-brand-mark:focus-visible {
    background: #f6f7f8;
    outline: none;
}

.tmb-brand-mark:hover::before,
.tmb-brand-mark:focus-visible::before {
    opacity: 1;
}


.tmb-brand-mark__logo {
    display: flex;
    width: 100%;
    min-height: 120px;
    align-items: center;
    justify-content: center;
}

.tmb-brand-mark__logo img {
    display: block;
    width: auto;
    max-width: 76%;
    height: auto;
    max-height: 104px;
    filter: saturate(.12) contrast(.88);
    object-fit: contain;
    opacity: .78;
    transform: translateY(7px);
    transition: filter .32s ease, opacity .32s ease, transform .32s cubic-bezier(.2,.75,.25,1);
}

.tmb-brand-mark:hover .tmb-brand-mark__logo img,
.tmb-brand-mark:focus-visible .tmb-brand-mark__logo img {
    filter: none;
    opacity: 1;
    transform: translateY(0) scale(1.025);
}

.tmb-brand-mark__name {
    max-width: 92%;
    font-size: clamp(21px, 2vw, 30px);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1;
    text-align: center;
}

.tmb-brand-mark__action {
    position: absolute;
    right: 20px;
    bottom: 17px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    opacity: 0;
    text-transform: uppercase;
    transform: translateY(7px);
    transition: opacity .25s ease, transform .25s ease;
}

.tmb-brand-mark:hover .tmb-brand-mark__action,
.tmb-brand-mark:focus-visible .tmb-brand-mark__action {
    opacity: .72;
    transform: translateY(0);
}

.tmb-brand-mark__action span {
    font-size: 16px;
}

.tmb-brands-footer-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-top: clamp(48px, 7vw, 90px);
    padding: clamp(30px, 4vw, 48px) 0 0;
    border-top: 1px solid rgba(15,39,64,.14);
}

.tmb-brands-footer-cta__eyebrow {
    margin: 0 0 7px;
    color: rgba(15,39,64,.52);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.tmb-brands-footer-cta h2 {
    margin: 0;
    color: var(--tmb-primary, #10273e);
    font-size: clamp(25px, 3vw, 42px);
    letter-spacing: -.045em;
    line-height: 1.02;
}

.tmb-brands-footer-cta__button {
    display: inline-flex;
    min-height: 50px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 0 22px;
    border: 1px solid var(--tmb-primary, #10273e);
    border-radius: 999px;
    background: var(--tmb-primary, #10273e);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform .25s ease, background-color .25s ease, color .25s ease;
}

.tmb-brands-footer-cta__button:hover,
.tmb-brands-footer-cta__button:focus-visible {
    background: transparent;
    color: var(--tmb-primary, #10273e);
    outline: none;
    transform: translateY(-2px);
}

.tmb-brands-directory__empty {
    padding: 72px 24px;
    border-top: 1px solid rgba(15,39,64,.12);
    border-bottom: 1px solid rgba(15,39,64,.12);
    text-align: center;
}

.tmb-brands-directory__empty h2,
.tmb-brands-directory__empty p { margin: 0; }
.tmb-brands-directory__empty p { margin-top: 8px; opacity: .68; }

@media (max-width: 1080px) {
    .tmb-brands-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .tmb-brands-page__header { padding-right: 20px; padding-left: 20px; }
    .tmb-brands-directory { padding-right: 16px; padding-left: 16px; }
    .tmb-brands-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tmb-brand-mark {
        min-height: clamp(158px, 44vw, 210px);
        padding: 26px 16px;
    }
    .tmb-brand-mark__logo { min-height: 86px; }
    .tmb-brand-mark__logo img {
        max-width: 82%;
        max-height: 72px;
        filter: none;
        opacity: 1;
        transform: none;
    }
    .tmb-brand-mark__action {
        right: 13px;
        bottom: 11px;
        font-size: 0;
        opacity: .42;
        transform: none;
    }
    .tmb-brand-mark__action span { font-size: 16px; }
    .tmb-brands-footer-cta {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 430px) {
    .tmb-brand-mark { min-height: 150px; }
    .tmb-brand-mark__logo img { max-height: 62px; }
}

@media (prefers-reduced-motion: reduce) {
    .tmb-brand-mark,
    .tmb-brand-mark::before,
    .tmb-brand-mark__logo img,
    .tmb-brand-mark__action,
    .tmb-brands-footer-cta__button { transition: none; }
}


/* Brands We Carry coverage refresh — v2.9.1 */
.tmb-brands-page__header{padding:clamp(54px,7vw,88px) 24px;background:var(--tmb-primary,#10273e);text-align:left}
.tmb-brands-page__header-inner{width:min(1180px,100%)}
.tmb-brands-page__eyebrow{margin:0 0 10px!important;color:var(--tmb-accent,#be9663)!important;font-size:12px!important;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.tmb-brands-page__header h1{font-size:clamp(38px,5vw,64px);letter-spacing:-.045em;line-height:1}
.tmb-brands-page__header p:last-child{max-width:760px;margin:18px 0 0;color:rgba(255,255,255,.78);font-size:clamp(16px,1.5vw,19px)}
.tmb-coverage-summary{padding:24px;background:#f4f6f7;border-bottom:1px solid rgba(15,39,64,.1)}
.tmb-coverage-summary__inner{display:flex;width:min(1380px,100%);margin:auto;align-items:center;justify-content:space-between;gap:32px}
.tmb-coverage-summary__copy{display:flex;align-items:center;gap:16px}
.tmb-coverage-summary__icon{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border-radius:50%;background:var(--tmb-primary,#10273e);color:#fff}
.tmb-coverage-summary__icon svg{width:22px;height:22px}
.tmb-coverage-summary strong{display:block;margin-bottom:3px;color:var(--tmb-primary,#10273e);font-size:15px}
.tmb-coverage-summary p{margin:0;color:rgba(15,39,64,.7);font-size:14px;line-height:1.5}
.tmb-coverage-summary__note{max-width:480px!important;text-align:right}
.tmb-brand-mark{display:block;padding:0;overflow:visible;background:#fff;border:1px solid rgba(15,39,64,.08)}
.tmb-brand-mark__main{position:relative;display:grid;min-height:clamp(210px,20vw,300px);place-items:center;overflow:hidden;padding:34px 28px;color:var(--tmb-primary,#10273e);text-decoration:none}
.tmb-brand-mark__main::before{position:absolute;inset:0;background:linear-gradient(145deg,rgba(15,39,64,.035),transparent 48%);content:"";opacity:0;transition:opacity .32s ease}
.tmb-brand-mark:hover,.tmb-brand-mark:focus-within{background:#fff}
.tmb-brand-mark__main:hover,.tmb-brand-mark__main:focus-visible{background:#f6f7f8;outline:none}
.tmb-brand-mark__main:hover::before,.tmb-brand-mark__main:focus-visible::before{opacity:1}
.tmb-brand-mark__main:hover .tmb-brand-mark__logo img,.tmb-brand-mark__main:focus-visible .tmb-brand-mark__logo img{filter:none;opacity:1;transform:translateY(0) scale(1.025)}
.tmb-brand-mark__main:hover .tmb-brand-mark__action,.tmb-brand-mark__main:focus-visible .tmb-brand-mark__action{opacity:.72;transform:translateY(0)}
.tmb-brand-territory{position:absolute;z-index:4;top:14px;right:14px}
.tmb-brand-mark.has-territory-note{position:relative}
.tmb-brand-territory summary{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid rgba(15,39,64,.14);border-radius:50%;background:#fff;color:var(--tmb-primary,#10273e);cursor:pointer;box-shadow:0 5px 18px rgba(15,39,64,.08);list-style:none}
.tmb-brand-territory summary::-webkit-details-marker{display:none}
.tmb-brand-territory summary svg{width:18px;height:18px}
.tmb-brand-territory summary span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tmb-brand-territory summary:hover,.tmb-brand-territory summary:focus-visible,.tmb-brand-territory[open] summary{background:var(--tmb-primary,#10273e);color:#fff;outline:none}
.tmb-brand-territory__content{position:absolute;top:46px;right:0;width:min(280px,75vw);padding:16px 18px;border:1px solid rgba(15,39,64,.12);border-radius:10px;background:#fff;box-shadow:0 18px 45px rgba(15,39,64,.18);text-align:left}
.tmb-brand-territory__content strong{display:block;margin-bottom:5px;color:var(--tmb-primary,#10273e);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.tmb-brand-territory__content p{margin:0;color:rgba(15,39,64,.76);font-size:14px;line-height:1.5}
@media(max-width:760px){.tmb-brands-page__header{text-align:left}.tmb-coverage-summary{padding:20px 16px}.tmb-coverage-summary__inner{align-items:flex-start;flex-direction:column;gap:14px}.tmb-coverage-summary__note{text-align:left}.tmb-brand-mark__main{min-height:clamp(158px,44vw,210px);padding:26px 16px}.tmb-brand-territory{top:9px;right:9px}.tmb-brand-territory summary{width:34px;height:34px}.tmb-brand-territory__content{top:41px}}
