/* ======================================================================
   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;

  /* 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__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);
  }
}

@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;
  }
}

            /* ==========================================================
               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;
}


/* ----------------------------------------------------------------------
   Men’s Fellowship — site/app foundation tweaks
   Uses TMB Settings color tokens only: --tmb-primary, --tmb-secondary, --tmb-accent.
------------------------------------------------------------------------ */
body.tmb-site-mens-fellowship{
  --tmb-font-primary: var(--tmb-font-sans);
  --tmb-font-heading: var(--tmb-font-sans);
  --tmb-page-bg:
    radial-gradient(circle at top left, color-mix(in srgb, var(--tmb-accent) 12%, transparent), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--tmb-primary) 96%, black), var(--tmb-primary));
  --tmb-surface-bg: color-mix(in srgb, white 94%, var(--tmb-secondary));
  --tmb-surface-alt: color-mix(in srgb, white 88%, var(--tmb-secondary));
  --tmb-text: color-mix(in srgb, var(--tmb-primary) 88%, black);
  --tmb-text-muted: color-mix(in srgb, var(--tmb-primary) 68%, white);
  --tmb-ui-surface: color-mix(in srgb, white 88%, var(--tmb-secondary));
  --tmb-ui-border: color-mix(in srgb, var(--tmb-accent) 30%, transparent);
  --tmb-ui-border-strong: color-mix(in srgb, var(--tmb-accent) 55%, transparent);
  --tmb-ui-shadow: 0 18px 44px color-mix(in srgb, black 24%, transparent);
  --tmb-radius: 20px;
}

body.tmb-site-mens-fellowship .tmb-header{
  background: color-mix(in srgb, var(--tmb-primary) 92%, black);
  border-bottom: 1px solid color-mix(in srgb, var(--tmb-accent) 22%, transparent);
  box-shadow: 0 12px 30px color-mix(in srgb, black 24%, transparent);
}

body.tmb-site-mens-fellowship .tmb-header,
body.tmb-site-mens-fellowship .tmb-header a,
body.tmb-site-mens-fellowship .tmb-header button{
  color: var(--tmb-text-inverse);
}

body.tmb-site-mens-fellowship .tmb-nav .menu > li > a,
body.tmb-site-mens-fellowship .tmb-mobile .menu a{
  font-weight: 800;
  letter-spacing: .025em;
  text-transform: uppercase;
}

body.tmb-site-mens-fellowship .tmb-logo__text{
  font-weight: 950;
  letter-spacing: -.04em;
  text-transform: uppercase;
}

body.tmb-site-mens-fellowship .tmb-btn,
body.tmb-site-mens-fellowship .tmb-button,
body.tmb-site-mens-fellowship .button,
body.tmb-site-mens-fellowship input[type="submit"]{
  border-radius: var(--tmb-radius-pill);
  border: 1px solid color-mix(in srgb, var(--tmb-accent) 55%, transparent);
  font-weight: 850;
  letter-spacing: .02em;
  text-transform: uppercase;
}

body.tmb-site-mens-fellowship .tmb-button,
body.tmb-site-mens-fellowship .button,
body.tmb-site-mens-fellowship input[type="submit"]{
  background: var(--tmb-accent);
  color: color-mix(in srgb, var(--tmb-primary) 92%, black);
}

body.tmb-site-mens-fellowship .tmb-button--secondary{
  background: transparent;
  color: var(--tmb-accent);
}

body.tmb-site-mens-fellowship .tmb-card,
body.tmb-site-mens-fellowship .tmb-shell,
body.tmb-site-mens-fellowship .tmb-auth-card,
body.tmb-site-mens-fellowship .entry-content > .wp-block-group{
  border: 1px solid var(--tmb-ui-border);
  box-shadow: var(--tmb-ui-shadow-soft);
}

body.tmb-site-mens-fellowship .tmb-eyebrow,
body.tmb-site-mens-fellowship .wp-block-heading.has-small-font-size{
  color: var(--tmb-accent);
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.tmb-site-mens-fellowship h1,
body.tmb-site-mens-fellowship h2,
body.tmb-site-mens-fellowship h3,
body.tmb-site-mens-fellowship .tmb-heading-md,
body.tmb-site-mens-fellowship .tmb-heading-lg{
  letter-spacing: -.045em;
}

body.tmb-site-mens-fellowship .tmb-footer{
  background: color-mix(in srgb, var(--tmb-primary) 94%, black);
  color: var(--tmb-text-inverse);
  border-top: 1px solid color-mix(in srgb, var(--tmb-accent) 26%, transparent);
}

body.tmb-site-mens-fellowship .tmb-footer a:hover{
  color: var(--tmb-accent);
}

/* Useful page-builder/block classes for the three-tier model. */
.tmb-tier-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.tmb-tier-card{ padding:24px; border-radius:var(--tmb-radius); background:var(--tmb-ui-surface); border:1px solid var(--tmb-ui-border); box-shadow:var(--tmb-ui-shadow-soft); }
.tmb-tier-card--featured{ border-color:var(--tmb-ui-border-strong); box-shadow:var(--tmb-ui-shadow); }
.tmb-tier-card__label{ color:var(--tmb-accent); font-weight:900; letter-spacing:.08em; text-transform:uppercase; font-size:.78rem; }
.tmb-tier-card__title{ margin:.25rem 0 .65rem; font-size:clamp(1.45rem,2.4vw,2.1rem); line-height:1; }
.tmb-tier-card__actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }

.tmb-app-frame{ max-width:460px; margin-inline:auto; border-radius:32px; padding:14px; background:color-mix(in srgb, var(--tmb-primary) 96%, black); box-shadow:0 24px 70px color-mix(in srgb, black 34%, transparent); }
.tmb-app-panel{ border-radius:24px; overflow:hidden; background:var(--tmb-surface-bg); border:1px solid var(--tmb-ui-border); }

@media (max-width: 860px){
  .tmb-tier-grid{ grid-template-columns:1fr; }
  body.tmb-site-mens-fellowship .tmb-header__bar{ gap:10px; }
}
