@charset "UTF-8";
/* =========================================================================
   TRAILERS SA — single stylesheet
   Design contract: trailers-sa-dark-industrial
   No inline styles anywhere else in the build. Everything lives here.
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. TOKENS
   ------------------------------------------------------------------------- */
:root{
  /* palette — amber is the only accent */
  --tsa-black:#0B0D0E;
  --tsa-graphite:#16191C;
  --tsa-steel:#212629;
  --tsa-steel-alt:#1A1F22;
  --tsa-line:#2E3438;
  --tsa-line-strong:#4A545A;
  --tsa-mute:#8B959C;
  --tsa-white:#F2F4F5;
  --tsa-amber:#F2A007;
  --tsa-amber-dk:#C67E02;
  --tsa-signal:#2FA36B;

  /* type */
  --tsa-font-head:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --tsa-font-body:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;

  --tsa-fs-display:clamp(1.875rem,1.05rem + 3.3vw,3.25rem);
  --tsa-fs-h1:clamp(2.25rem,1.35rem + 3.6vw,3.75rem);
  --tsa-fs-h2:clamp(1.75rem,1.2rem + 2.2vw,2.75rem);
  --tsa-fs-h3:clamp(1.3rem,1.05rem + 1vw,1.75rem);
  --tsa-fs-h4:1.125rem;
  --tsa-fs-body:1.0625rem;
  --tsa-fs-sm:0.9375rem;
  --tsa-fs-xs:0.8125rem;

  --tsa-lh-display:1.02;
  --tsa-lh-head:1.12;
  --tsa-lh-body:1.65;

  /* spacing */
  --tsa-xs:8px;
  --tsa-sm:16px;
  --tsa-md:24px;
  --tsa-lg:48px;
  --tsa-xl:80px;
  --tsa-xxl:128px;

  /* structure */
  --tsa-container:1240px;
  --tsa-gutter:24px;
  --tsa-header-h:104px;
  --tsa-header-h-stuck:72px;
  --tsa-cut:4px;                 /* the corner cut, the only shape variation */
  --tsa-ease:cubic-bezier(.2,.6,.3,1);
}

/* -------------------------------------------------------------------------
   2. BASE
   ------------------------------------------------------------------------- */
html{-webkit-text-size-adjust:100%;}
body,
body.ast-separate-container,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post{
  background-color:var(--tsa-black);
  color:var(--tsa-white);
  font-family:var(--tsa-font-body);
  font-size:var(--tsa-fs-body);
  font-weight:400;
  line-height:var(--tsa-lh-body);
  -webkit-font-smoothing:antialiased;
}
#page,#content,.site-content{background-color:var(--tsa-black);}

h1,h2,h3,h4,h5,h6,
.entry-title,.site-title{
  font-family:var(--tsa-font-head);
  color:var(--tsa-white);
  letter-spacing:-0.01em;
  margin:0 0 var(--tsa-md);
}
h1,h2{font-weight:800;text-transform:uppercase;line-height:var(--tsa-lh-head);}
h3,h4,h5,h6{font-weight:700;line-height:var(--tsa-lh-head);}
h1{font-size:var(--tsa-fs-h1);}
h2{font-size:var(--tsa-fs-h2);}
h3{font-size:var(--tsa-fs-h3);}
h4{font-size:var(--tsa-fs-h4);}

p{margin:0 0 var(--tsa-md);max-width:68ch;}
a{color:var(--tsa-amber);text-decoration:none;transition:color .15s var(--tsa-ease);}
a:hover,a:focus{color:var(--tsa-amber-dk);}
strong,b{font-weight:600;}
img{max-width:100%;height:auto;display:block;}
hr{border:0;border-top:1px solid var(--tsa-line);margin:var(--tsa-lg) 0;}

:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--tsa-amber);
  outline-offset:2px;
}
::selection{background:var(--tsa-amber);color:var(--tsa-black);}

.tsa-mute{color:var(--tsa-mute);}
.tsa-eyebrow{
  font-family:var(--tsa-font-head);font-weight:700;font-size:var(--tsa-fs-xs);
  text-transform:uppercase;letter-spacing:.06em;color:var(--tsa-mute);
  margin:0 0 var(--tsa-sm);
}
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap;
}
.skip-link:focus{
  position:fixed;top:8px;left:8px;z-index:2000;width:auto;height:auto;clip:auto;
  background:var(--tsa-amber);color:var(--tsa-black);padding:12px 20px;font-weight:700;
}

/* -------------------------------------------------------------------------
   3. LAYOUT
   ------------------------------------------------------------------------- */
.tsa-wrap{
  width:100%;max-width:var(--tsa-container);
  margin-inline:auto;padding-inline:var(--tsa-gutter);
}
.ast-container,.site-content .ast-container{max-width:var(--tsa-container);}

.tsa-section{padding-block:var(--tsa-xl);position:relative;}
.tsa-section--black{background:var(--tsa-black);}
.tsa-section--graphite{background:var(--tsa-graphite);}
@media(min-width:1024px){.tsa-section{padding-block:var(--tsa-xxl);}}

/* Diagonal 4deg divider between dark bands. clip-path only, zero images. */
.tsa-cut-top{clip-path:polygon(0 3.5vw,100% 0,100% 100%,0 100%);margin-top:-3.5vw;padding-top:calc(var(--tsa-xl) + 3.5vw);}
.tsa-cut-bottom{clip-path:polygon(0 0,100% 0,100% calc(100% - 3.5vw),0 100%);padding-bottom:calc(var(--tsa-xl) + 3.5vw);}

/* H2 rule: 48px amber, 2px, left aligned */
.tsa-ruled{padding-bottom:var(--tsa-sm);position:relative;}
.tsa-ruled::after{
  content:"";position:absolute;left:0;bottom:0;
  width:48px;height:2px;background:var(--tsa-amber);
}

.tsa-grid{display:grid;gap:var(--tsa-md);}
@media(min-width:760px){
  .tsa-grid--2{grid-template-columns:repeat(2,1fr);}
  .tsa-grid--3{grid-template-columns:repeat(3,1fr);}
  .tsa-grid--4{grid-template-columns:repeat(2,1fr);}
}
@media(min-width:1024px){
  .tsa-grid--4{grid-template-columns:repeat(4,1fr);}
}

/* -------------------------------------------------------------------------
   4. BUTTONS — corner cut on two opposing corners, no radius, no shadow
   ------------------------------------------------------------------------- */
.tsa-btn,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.wp-block-button__link,.ast-button,button,input[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--tsa-font-head);font-weight:700;font-size:var(--tsa-fs-sm);
  text-transform:uppercase;letter-spacing:.04em;line-height:1;text-decoration:none;
  padding:15px 28px;border:0;border-radius:0;cursor:pointer;
  background:var(--tsa-amber);color:var(--tsa-black);
  clip-path:polygon(var(--tsa-cut) 0,100% 0,100% calc(100% - var(--tsa-cut)),calc(100% - var(--tsa-cut)) 100%,0 100%,0 var(--tsa-cut));
  transition:background-color .15s var(--tsa-ease),color .15s var(--tsa-ease);
}
.tsa-btn:hover,.tsa-btn:focus,
.woocommerce a.button:hover,.woocommerce button.button:hover,
.wp-block-button__link:hover,button:hover,input[type=submit]:hover{
  background:var(--tsa-amber-dk);color:var(--tsa-black);
}
.tsa-btn--ghost{
  background:transparent;color:var(--tsa-white);
  box-shadow:inset 0 0 0 1px var(--tsa-line-strong);
  clip-path:none;
}
.tsa-btn--ghost:hover,.tsa-btn--ghost:focus{
  background:transparent;color:var(--tsa-white);
  box-shadow:inset 0 0 0 1px var(--tsa-amber);
}
.tsa-btn--wa{background:var(--tsa-signal);color:var(--tsa-black);}
.tsa-btn--wa:hover,.tsa-btn--wa:focus{background:#268757;color:var(--tsa-black);}
/* Astra/WP emit an underline for links inside .entry-content from a layered
   stylesheet the cascade cannot be out-specified from here, so buttons and
   chrome links reset it explicitly. This is the only !important in the file. */
.tsa-btn,a.tsa-btn,a.tsa-btn:hover,a.tsa-btn:focus,
.woocommerce a.button,.wp-block-button__link,
.tsa-footer a,.tsa-topbar a,.tsa-nav a,.tsa-mega a,
.tsa-card__title,.tsa-card a{text-decoration-line:none!important;}
.tsa-btn--sm{padding:11px 18px;font-size:var(--tsa-fs-xs);}
.tsa-btn svg{width:18px;height:18px;flex:0 0 auto;}

/* -------------------------------------------------------------------------
   5. HEADER — transparent over hero, solid + condensed once stuck
   ------------------------------------------------------------------------- */
.tsa-topbar{
  background:var(--tsa-graphite);
  border-bottom:1px solid var(--tsa-line);
  font-size:var(--tsa-fs-xs);color:var(--tsa-mute);
}
.tsa-topbar__inner{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:var(--tsa-sm);min-height:38px;padding-block:6px;
}
.tsa-topbar__note{display:flex;align-items:center;gap:8px;}
.tsa-topbar__note b{color:var(--tsa-signal);font-weight:600;}
.tsa-topbar__links{display:flex;align-items:center;gap:var(--tsa-md);}
.tsa-topbar__links a{color:var(--tsa-mute);}
.tsa-topbar__links a:hover{color:var(--tsa-amber);}
@media(max-width:759px){.tsa-topbar__links{display:none;}}

.tsa-header{
  position:sticky;top:0;z-index:900;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background-color .2s var(--tsa-ease),border-color .2s var(--tsa-ease);
}
.tsa-header__inner{
  display:flex;align-items:center;flex-wrap:nowrap;gap:var(--tsa-md);
  min-height:var(--tsa-header-h);
  transition:min-height .2s var(--tsa-ease);
}
.tsa-header.is-stuck{
  background:var(--tsa-black);
  border-bottom-color:var(--tsa-line);
}
.tsa-header.is-stuck .tsa-header__inner{min-height:var(--tsa-header-h-stuck);}
.tsa-header.is-solid{background:var(--tsa-black);border-bottom-color:var(--tsa-line);}

.tsa-brand{display:flex;align-items:center;flex:0 0 auto;}
.tsa-brand img{width:196px;height:auto;transition:width .2s var(--tsa-ease);}
.tsa-header.is-stuck .tsa-brand img{width:158px;}
@media(max-width:1319px){.tsa-brand img{width:172px;}}
@media(max-width:1023px){.tsa-brand img{width:160px;}}

.tsa-nav{margin-left:auto;}
.tsa-nav>ul{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0;}
@media(min-width:1024px) and (max-width:1319px){.tsa-nav>ul{gap:16px;}}
.tsa-nav>ul>li>a{
  display:inline-flex;align-items:center;padding:10px 0;white-space:nowrap;
  font-family:var(--tsa-font-head);font-weight:700;font-size:var(--tsa-fs-xs);
  text-transform:uppercase;letter-spacing:.05em;color:var(--tsa-white);
}
.tsa-nav>ul>li>a:hover,.tsa-nav>ul>li.is-open>a,.tsa-nav>ul>li.current-menu-item>a{color:var(--tsa-amber);}
.tsa-nav__caret{display:inline-flex;width:10px;height:10px;margin-left:7px;flex:0 0 auto;}
.tsa-nav__caret svg{width:100%;height:100%;stroke-width:2.5;}

/* Inline SVG icons carry no intrinsic size, so every context sets one. */
.tsa-header__tel svg,.tsa-mega__foot svg,.tsa-footer p svg,.tsa-footer li svg{width:1em;height:1em;flex:0 0 auto;}
.tsa-footer__delivery svg{width:14px;height:14px;flex:0 0 auto;}
.tsa-footer__geo svg{width:12px;height:12px;}
.tsa-mega__foot a{display:inline-flex;align-items:center;gap:8px;}

/* mega menu */
.tsa-nav__has-mega{position:static;}
.tsa-mega{
  position:absolute;left:0;right:0;top:100%;
  background:var(--tsa-graphite);border-top:1px solid var(--tsa-line);
  border-bottom:1px solid var(--tsa-line);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .15s var(--tsa-ease),transform .15s var(--tsa-ease),visibility .15s;
}
.tsa-nav__has-mega:hover .tsa-mega,
.tsa-nav__has-mega.is-open .tsa-mega,
.tsa-mega:focus-within{opacity:1;visibility:visible;transform:none;}
.tsa-mega__grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--tsa-line);padding:1px 0;
}
.tsa-mega__col{background:var(--tsa-graphite);padding:var(--tsa-md);}
.tsa-mega__col a{display:block;color:var(--tsa-white);font-weight:600;}
.tsa-mega__col a:hover{color:var(--tsa-amber);}
.tsa-mega__col p{font-size:var(--tsa-fs-xs);color:var(--tsa-mute);margin:6px 0 0;max-width:none;}
.tsa-mega__foot{
  display:flex;justify-content:space-between;align-items:center;gap:var(--tsa-md);
  padding:var(--tsa-sm) var(--tsa-md);font-size:var(--tsa-fs-xs);color:var(--tsa-mute);
}

.tsa-header__cta{display:flex;align-items:center;gap:var(--tsa-sm);flex:0 0 auto;}
.tsa-header__tel{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--tsa-font-head);font-weight:700;font-size:var(--tsa-fs-sm);
  color:var(--tsa-white);white-space:nowrap;
}
.tsa-header__tel:hover{color:var(--tsa-amber);}
.tsa-header__tel svg{width:16px;height:16px;color:var(--tsa-amber);}
@media(max-width:1439px){.tsa-header__tel{display:none;}}

/* mobile */
.tsa-burger{
  display:none;width:44px;height:44px;align-items:center;justify-content:center;
  background:transparent;color:var(--tsa-white);padding:0;clip-path:none;
  box-shadow:inset 0 0 0 1px var(--tsa-line-strong);
}
.tsa-burger svg{width:22px;height:22px;}
@media(max-width:1023px){
  .tsa-nav{display:none;}
  .tsa-burger{display:inline-flex;margin-left:auto;}
  .tsa-header__cta .tsa-btn{display:none;}
  .tsa-header__cta .tsa-btn--wa{display:inline-flex;}
  body.tsa-nav-open{overflow:hidden;}
}
@media(max-width:639px){
  /* Header CTA collapses to an icon so nothing overflows the viewport. */
  .tsa-header__cta .tsa-btn--wa{font-size:0;padding:11px 13px;gap:0;}
  .tsa-header__cta{gap:10px;}
  .tsa-dbar__inner{align-items:flex-start;}
  .tsa-dbar p{font-size:var(--tsa-fs-xs);}
  .tsa-hero__actions .tsa-btn{width:100%;}
}
@media(max-width:1023px){
  .tsa-nav.is-open{
    display:block;position:fixed;inset:calc(var(--tsa-header-h-stuck) + 38px) 0 0;
    background:var(--tsa-black);overflow-y:auto;padding:var(--tsa-md) 0;margin:0;
  }
  .tsa-nav.is-open>ul{flex-direction:column;align-items:stretch;gap:0;}
  .tsa-nav.is-open>ul>li{border-bottom:1px solid var(--tsa-line);}
  .tsa-nav.is-open>ul>li>a{padding:16px var(--tsa-gutter);font-size:var(--tsa-fs-sm);}
  .tsa-mega{position:static;opacity:1;visibility:visible;transform:none;border:0;display:none;}
  .tsa-nav.is-open .tsa-nav__has-mega.is-open .tsa-mega{display:block;}
  .tsa-mega__grid{grid-template-columns:1fr;}
  .tsa-mega__col{padding:12px var(--tsa-gutter);}
}

/* -------------------------------------------------------------------------
   6. HERO
   ------------------------------------------------------------------------- */
.tsa-hero{
  position:relative;margin-top:calc(-1 * (var(--tsa-header-h) + 1px));
  padding-top:calc(var(--tsa-header-h) + var(--tsa-xl));
  padding-bottom:var(--tsa-xl);
  overflow:hidden;isolation:isolate;
}
.tsa-hero__media{position:absolute;inset:0;z-index:0;background:var(--tsa-black);}
.tsa-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 62%;}
/* scrim: permitted gradient, it exists to protect text contrast */
.tsa-hero__scrim{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(11,13,14,.97) 0%,rgba(11,13,14,.9) 34%,rgba(11,13,14,.62) 62%,rgba(11,13,14,.3) 100%);
}
@media(min-width:1024px){.tsa-hero{min-height:min(76vh,720px);display:flex;align-items:center;}.tsa-hero__inner{width:100%;}}
.tsa-hero__inner{display:grid;gap:var(--tsa-lg);position:relative;z-index:2;}
@media(min-width:1024px){
  .tsa-hero{padding-top:calc(var(--tsa-header-h) + var(--tsa-lg));padding-bottom:var(--tsa-xl);}
  .tsa-hero__inner{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:end;}
}
.tsa-hero h1{font-size:var(--tsa-fs-display);line-height:var(--tsa-lh-display);margin-bottom:var(--tsa-md);text-wrap:balance;}
.tsa-hero h1 em{font-style:normal;color:var(--tsa-amber);display:block;}
.tsa-hero__sub{color:var(--tsa-mute);font-size:1.1875rem;max-width:52ch;margin-bottom:var(--tsa-lg);}
.tsa-hero__actions{display:flex;flex-wrap:wrap;gap:var(--tsa-sm);}
.tsa-hero__facts{
  display:grid;grid-template-columns:repeat(2,1fr);
  border:1px solid var(--tsa-line);background:rgba(22,25,28,.82);
}
.tsa-hero__facts div{padding:var(--tsa-md);border-right:1px solid var(--tsa-line);border-bottom:1px solid var(--tsa-line);}
.tsa-hero__facts div:nth-child(2n){border-right:0;}
.tsa-hero__facts div:nth-last-child(-n+2){border-bottom:0;}
.tsa-hero__facts b{
  display:block;font-family:var(--tsa-font-head);font-weight:800;
  font-size:1.75rem;line-height:1;color:var(--tsa-white);margin-bottom:6px;
}
.tsa-hero__facts span{font-size:var(--tsa-fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--tsa-mute);}

/* -------------------------------------------------------------------------
   7. NUMERIC STRIP
   ------------------------------------------------------------------------- */
.tsa-stats{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--tsa-line);}
@media(min-width:900px){.tsa-stats{grid-template-columns:repeat(4,1fr);}}
.tsa-stats__item{padding:var(--tsa-lg) var(--tsa-md);border-bottom:1px solid var(--tsa-line);border-right:1px solid var(--tsa-line);}
.tsa-stats__item:last-child{border-right:0;}
.tsa-stats__n{font-family:var(--tsa-font-head);font-weight:800;font-size:clamp(2.25rem,1.6rem + 2.4vw,3.25rem);line-height:1;color:var(--tsa-white);}
.tsa-stats__n span{color:var(--tsa-amber);}
.tsa-stats__l{display:block;margin-top:10px;font-size:var(--tsa-fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--tsa-mute);}

/* -------------------------------------------------------------------------
   8. SPEC CARD + SPEC TABLE (real semantic tables)
   ------------------------------------------------------------------------- */
.tsa-spec{border:1px solid var(--tsa-line);background:var(--tsa-steel);}
.tsa-spec__head{
  padding:var(--tsa-sm) var(--tsa-md);border-bottom:1px solid var(--tsa-line);
  font-family:var(--tsa-font-head);font-weight:700;font-size:var(--tsa-fs-xs);
  text-transform:uppercase;letter-spacing:.06em;color:var(--tsa-white);
}
table.tsa-spec__table{width:100%;border-collapse:collapse;margin:0;font-size:var(--tsa-fs-sm);}
.tsa-spec__table th,.tsa-spec__table td{
  padding:12px var(--tsa-md);text-align:left;vertical-align:top;
  border-bottom:1px solid var(--tsa-line);
}
.tsa-spec__table tbody tr:nth-child(odd){background:var(--tsa-steel-alt);}
.tsa-spec__table tbody tr:last-child th,.tsa-spec__table tbody tr:last-child td{border-bottom:0;}
.tsa-spec__table th{width:44%;color:var(--tsa-mute);font-weight:600;}
.tsa-spec__table td{color:var(--tsa-white);}

.tsa-chip{
  display:inline-flex;align-items:center;padding:5px 10px;
  border:1px solid var(--tsa-line);background:var(--tsa-steel);
  font-size:var(--tsa-fs-xs);color:var(--tsa-mute);white-space:nowrap;
}
.tsa-badge-stock{
  display:inline-flex;align-items:center;gap:7px;padding:5px 11px;
  border:1px solid var(--tsa-signal);color:var(--tsa-signal);
  font-size:var(--tsa-fs-xs);font-weight:600;letter-spacing:.03em;
}

/* -------------------------------------------------------------------------
   9. PRODUCT CARD
   ------------------------------------------------------------------------- */
.tsa-card{
  position:relative;display:flex;flex-direction:column;
  background:var(--tsa-graphite);border:1px solid var(--tsa-line);
  transition:transform .18s var(--tsa-ease),border-color .18s var(--tsa-ease);
}
.tsa-card:hover{transform:translateY(-6px);border-color:var(--tsa-amber);}
.tsa-card__media{aspect-ratio:4/3;overflow:hidden;background:var(--tsa-graphite);}
.tsa-card__media img{width:100%;height:100%;object-fit:contain;padding:var(--tsa-sm);}
.tsa-card__body{padding:var(--tsa-md);border-top:1px solid var(--tsa-line);background:var(--tsa-steel);}
.tsa-card__title{font-family:var(--tsa-font-head);font-weight:700;font-size:1.0625rem;line-height:1.25;margin:0 0 12px;color:var(--tsa-white);}
.tsa-card__chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.tsa-card__price{font-family:var(--tsa-font-head);font-weight:800;font-size:1.375rem;color:var(--tsa-amber);line-height:1;}
.tsa-card__price del{color:var(--tsa-mute);font-weight:400;font-size:.9375rem;margin-right:8px;}
.tsa-card__link{position:absolute;inset:0;z-index:2;text-indent:-9999px;overflow:hidden;}

/* -------------------------------------------------------------------------
   10. FOOTER — six columns, brand column 1.5fr (Source C structural pattern)
   ------------------------------------------------------------------------- */
.tsa-precta{background:var(--tsa-graphite);border-top:1px solid var(--tsa-line);padding-block:var(--tsa-xl);}
.tsa-precta__inner{display:grid;gap:var(--tsa-md);align-items:center;}
@media(min-width:900px){.tsa-precta__inner{grid-template-columns:minmax(0,1fr) auto;}}
.tsa-precta h2{margin-bottom:var(--tsa-sm);}
.tsa-precta p{color:var(--tsa-mute);margin:0;}
.tsa-precta__actions{display:flex;flex-wrap:wrap;gap:var(--tsa-sm);}

.tsa-footer{background:var(--tsa-black);border-top:1px solid var(--tsa-line);}
.tsa-footer__cols{
  display:grid;grid-template-columns:1fr;gap:var(--tsa-lg) 30px;
  padding-block:var(--tsa-xl);
}
@media(min-width:640px){.tsa-footer__cols{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1080px){.tsa-footer__cols{grid-template-columns:1.5fr 1fr 1.2fr 1.2fr 1fr 1fr;}}
.tsa-footer h3{
  font-size:var(--tsa-fs-xs);font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--tsa-white);margin:0 0 var(--tsa-sm);
}
.tsa-footer p,.tsa-footer li,.tsa-footer address{
  font-size:var(--tsa-fs-sm);color:var(--tsa-mute);font-style:normal;line-height:1.6;
}
.tsa-footer p{margin:0 0 12px;max-width:none;}
.tsa-footer ul{list-style:none;margin:0;padding:0;}
.tsa-footer li{margin-bottom:9px;}
.tsa-footer li a,.tsa-footer address a{color:var(--tsa-white);}
.tsa-footer li a:hover,.tsa-footer address a:hover{color:var(--tsa-amber);}
.tsa-footer__brand img{width:210px;margin-bottom:var(--tsa-sm);}
.tsa-footer__reg{font-size:var(--tsa-fs-xs);color:var(--tsa-mute);margin-top:var(--tsa-sm);}
.tsa-footer__reg b{display:block;color:var(--tsa-white);font-weight:600;}
.tsa-footer__delivery{
  margin-top:12px;display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--tsa-signal);color:var(--tsa-signal);
  padding:8px 12px;font-size:var(--tsa-fs-xs);font-weight:600;line-height:1.35;
}
.tsa-footer address + p a{display:inline-flex;align-items:center;gap:7px;}
.tsa-footer address + p a svg{width:14px;height:14px;flex:0 0 auto;}
.tsa-footer__geo{border-top:1px solid var(--tsa-line);padding-block:var(--tsa-md);font-size:var(--tsa-fs-xs);color:var(--tsa-mute);}
.tsa-footer__geo p{margin:0 0 6px;font-size:var(--tsa-fs-xs);}
.tsa-footer__geo b{color:var(--tsa-white);font-weight:600;}
.tsa-footer__legal{
  border-top:1px solid var(--tsa-line);padding-block:var(--tsa-md);
  display:flex;flex-wrap:wrap;gap:var(--tsa-sm);align-items:center;justify-content:space-between;
  font-size:var(--tsa-fs-xs);color:var(--tsa-mute);
}
.tsa-pay{display:flex;align-items:center;gap:14px;color:var(--tsa-mute);}
.tsa-pay svg{height:22px;width:auto;}

/* -------------------------------------------------------------------------
   11. FORMS
   ------------------------------------------------------------------------- */
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],
input[type=search],input[type=password],select,textarea{
  width:100%;background:var(--tsa-steel);color:var(--tsa-white);
  border:1px solid var(--tsa-line-strong);border-radius:0;
  padding:12px 14px;font-family:var(--tsa-font-body);font-size:var(--tsa-fs-body);
}
::placeholder{color:var(--tsa-mute);opacity:1;}
label{display:block;font-size:var(--tsa-fs-sm);font-weight:600;color:var(--tsa-white);margin-bottom:6px;}

/* -------------------------------------------------------------------------
   12. WOOCOMMERCE + BLOG surface alignment
   ------------------------------------------------------------------------- */
.woocommerce ul.products li.product a img{background:var(--tsa-graphite);}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,.woocommerce div.product span.price{
  color:var(--tsa-amber);font-family:var(--tsa-font-head);font-weight:800;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--tsa-steel);border-color:var(--tsa-line);}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  background:var(--tsa-steel);border-top-color:var(--tsa-amber);color:var(--tsa-white);
}
.woocommerce table.shop_table{border-color:var(--tsa-line);}
.ast-article-post,.ast-article-single{background:transparent;}
.ast-separate-container .ast-article-post{border-bottom:1px solid var(--tsa-line);}

/* -------------------------------------------------------------------------
   13. MOTION — dial is 0.25, so this is nearly all of it
   ------------------------------------------------------------------------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
  .tsa-card:hover{transform:none;}
}


/* =========================================================================
   14. HOMEPAGE COMPONENTS
   ========================================================================= */

/* --- Hero variant: full-bleed photo, dual scrim, zero layout shift -------- */
.tsa-hero--home{padding-bottom:0;}
.tsa-hero--home .tsa-hero__media img{object-position:center 55%;}
.tsa-hero--home .tsa-hero__scrim{
  background:
    linear-gradient(90deg,rgba(11,13,14,.95) 0%,rgba(11,13,14,.86) 38%,rgba(11,13,14,.5) 70%,rgba(11,13,14,.34) 100%),
    linear-gradient(0deg,rgba(11,13,14,.9) 0%,rgba(11,13,14,.1) 46%);
}
@media(min-width:1024px){
  .tsa-hero--home{min-height:min(84vh,760px);padding-bottom:0;}
  .tsa-hero--home{flex-direction:column;justify-content:flex-end;}\n  .tsa-hero--home>.tsa-wrap{width:100%;}\n  .tsa-hero--home .tsa-hero__inner{grid-template-columns:1fr;align-items:end;}\n  .tsa-hero--home h1{max-width:none;}\n  .tsa-hero--home .tsa-hero__sub{max-width:62ch;}
}

/* --- 1b. Trust strip ----------------------------------------------------- */
.tsa-trust{
  position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(2,1fr);
  border-top:1px solid var(--tsa-line);
  background:rgba(11,13,14,.72);
}
@media(min-width:900px){.tsa-trust{grid-template-columns:repeat(4,1fr);}}
.tsa-trust__i{
  display:flex;align-items:flex-start;gap:12px;
  padding:var(--tsa-md);border-right:1px solid var(--tsa-line);border-bottom:1px solid var(--tsa-line);
}
.tsa-trust__i:last-child{border-right:0;}
.tsa-trust__i svg{width:20px;height:20px;flex:0 0 auto;color:var(--tsa-amber);margin-top:2px;}
.tsa-trust__i b{display:block;font-family:var(--tsa-font-head);font-weight:700;font-size:var(--tsa-fs-sm);color:var(--tsa-white);line-height:1.25;}
.tsa-trust__i span{display:block;margin-top:3px;font-size:var(--tsa-fs-xs);color:var(--tsa-mute);line-height:1.45;}
@media(max-width:899px){.tsa-trust__i:nth-child(2n){border-right:0;}}

/* --- 2. Free delivery bar. Height is fixed so dismissing shifts nothing --- */
.tsa-dbar{
  background:var(--tsa-graphite);border-bottom:1px solid var(--tsa-line);
  min-height:56px;display:flex;align-items:center;
}
.tsa-dbar[hidden]{display:none;}
.tsa-dbar__inner{
  display:flex;align-items:center;gap:var(--tsa-sm);width:100%;
  padding-block:12px;
}
.tsa-dbar__icon{width:18px;height:18px;flex:0 0 auto;color:var(--tsa-amber);}
.tsa-dbar p{margin:0;max-width:none;font-size:var(--tsa-fs-sm);color:var(--tsa-white);line-height:1.4;}
.tsa-dbar b{color:var(--tsa-amber);font-weight:700;}
.tsa-dbar code{
  font-family:var(--tsa-font-head);font-weight:800;font-size:var(--tsa-fs-sm);
  color:var(--tsa-black);background:var(--tsa-amber);padding:2px 8px;letter-spacing:.04em;
}
.tsa-dbar__x{
  margin-left:auto;flex:0 0 auto;width:34px;height:34px;padding:0;
  background:transparent;color:var(--tsa-mute);clip-path:none;
  box-shadow:inset 0 0 0 1px var(--tsa-line-strong);
}
.tsa-dbar__x:hover{background:transparent;color:var(--tsa-white);box-shadow:inset 0 0 0 1px var(--tsa-amber);}
.tsa-dbar__x svg{width:14px;height:14px;}

/* --- 3. Category grid ---------------------------------------------------- */
.tsa-cats{display:grid;gap:var(--tsa-md);grid-template-columns:1fr;}
@media(min-width:620px){.tsa-cats{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.tsa-cats{grid-template-columns:repeat(4,1fr);}}
.tsa-cat{
  position:relative;display:flex;flex-direction:column;
  background:var(--tsa-graphite);border:1px solid var(--tsa-line);
  transition:transform .18s var(--tsa-ease),border-color .18s var(--tsa-ease);
}
.tsa-cat:hover{transform:translateY(-6px);border-color:var(--tsa-amber);}
.tsa-cat__media{aspect-ratio:16/10;overflow:hidden;background:var(--tsa-graphite);}
.tsa-cat__media img{width:100%;height:100%;object-fit:contain;padding:var(--tsa-sm);}
.tsa-cat__body{padding:var(--tsa-md);border-top:1px solid var(--tsa-line);background:var(--tsa-steel);flex:1;display:flex;flex-direction:column;}
.tsa-cat__title{font-family:var(--tsa-font-head);font-weight:700;font-size:1.0625rem;line-height:1.2;margin:0 0 8px;color:var(--tsa-white);}
.tsa-cat__desc{font-size:var(--tsa-fs-xs);color:var(--tsa-mute);margin:0 0 14px;max-width:none;line-height:1.5;flex:1;}
.tsa-cat__count{font-family:var(--tsa-font-head);font-weight:700;font-size:var(--tsa-fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--tsa-amber);}
.tsa-cat__link{position:absolute;inset:0;z-index:2;text-indent:-9999px;overflow:hidden;}

/* On-palette placeholder while the transparent-PNG renders are produced. */
.tsa-cats__ph{
  display:block;width:100%;height:100%;min-height:150px;
  background:
    repeating-linear-gradient(135deg,var(--tsa-steel) 0 12px,var(--tsa-graphite) 12px 24px);
  border-bottom:2px solid var(--tsa-line);
}

/* --- 4. Product grid ----------------------------------------------------- */
.tsa-products{display:grid;gap:var(--tsa-md);grid-template-columns:1fr;}
@media(min-width:620px){.tsa-products{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.tsa-products{grid-template-columns:repeat(4,1fr);}}
.tsa-empty{
  border:1px solid var(--tsa-line);background:var(--tsa-steel);
  padding:var(--tsa-lg);display:flex;flex-direction:column;align-items:flex-start;gap:var(--tsa-sm);
}
.tsa-empty p{margin:0;color:var(--tsa-mute);}

/* --- 5. Why TRAILERS SA -------------------------------------------------- */
.tsa-why{display:grid;gap:1px;background:var(--tsa-line);border:1px solid var(--tsa-line);}
@media(min-width:620px){.tsa-why{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.tsa-why{grid-template-columns:repeat(4,1fr);}}
.tsa-why__i{background:var(--tsa-black);padding:var(--tsa-lg) var(--tsa-md);}
.tsa-why__i svg{width:28px;height:28px;color:var(--tsa-amber);margin-bottom:var(--tsa-sm);}
.tsa-why__i h3{font-size:1.0625rem;margin:0 0 10px;}
.tsa-why__i p{font-size:var(--tsa-fs-sm);color:var(--tsa-mute);margin:0;max-width:none;}

/* --- 7. Logo wall (greyscale, colour on hover) --------------------------- */
.tsa-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--tsa-line);margin-top:var(--tsa-md);}
@media(min-width:900px){.tsa-logos{grid-template-columns:repeat(6,1fr);}}
.tsa-logos img,.tsa-logos svg,.tsa-logos__ph{
  display:block;width:100%;height:72px;background:var(--tsa-graphite);
  filter:grayscale(1);opacity:.6;transition:filter .15s var(--tsa-ease),opacity .15s var(--tsa-ease);
  object-fit:contain;padding:var(--tsa-sm);
}
.tsa-logos img:hover,.tsa-logos svg:hover{filter:none;opacity:1;}

/* --- Admin-only flags ---------------------------------------------------- */
.tsa-flag,.tsa-flagbox{
  border-left:3px solid var(--tsa-amber);background:var(--tsa-steel);
  padding:var(--tsa-md);color:var(--tsa-mute);font-size:var(--tsa-fs-sm);
}
.tsa-flag{margin:var(--tsa-sm) 0;}
.tsa-flagbox p{margin:0 0 10px;max-width:none;}
.tsa-flagbox p:last-of-type{margin-bottom:0;}
.tsa-flag b,.tsa-flagbox b{color:var(--tsa-amber);font-weight:700;}

/* --- 8. Fuel bowser spotlight -------------------------------------------- */
.tsa-spot{display:grid;gap:var(--tsa-lg);align-items:center;}
@media(min-width:1024px){.tsa-spot{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--tsa-xl);}}
.tsa-spot__media{
  position:relative;aspect-ratio:4/3;border:1px solid var(--tsa-line);background:var(--tsa-graphite);
  background-image:repeating-linear-gradient(135deg,var(--tsa-steel) 0 14px,var(--tsa-graphite) 14px 28px);
}
.tsa-spot__media img{width:100%;height:100%;object-fit:contain;padding:var(--tsa-md);}
.tsa-spot__note{
  margin-top:var(--tsa-md);border:1px solid var(--tsa-line);
  background:var(--tsa-steel);padding:var(--tsa-md);font-size:var(--tsa-fs-sm);color:var(--tsa-mute);
}
.tsa-spot__note b{color:var(--tsa-white);font-weight:600;}
.tsa-spot .tsa-btn{margin-top:var(--tsa-md);}

/* --- 9. How it works ----------------------------------------------------- */
.tsa-steps{display:grid;gap:1px;background:var(--tsa-line);border:1px solid var(--tsa-line);counter-reset:step;}
@media(min-width:620px){.tsa-steps{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.tsa-steps{grid-template-columns:repeat(4,1fr);}}
.tsa-steps__i{background:var(--tsa-graphite);padding:var(--tsa-lg) var(--tsa-md);counter-increment:step;}
.tsa-steps__i::before{
  content:counter(step,decimal-leading-zero);
  display:block;font-family:var(--tsa-font-head);font-weight:800;font-size:2rem;line-height:1;
  color:var(--tsa-amber);margin-bottom:var(--tsa-sm);
}
.tsa-steps__i h3{font-size:1.0625rem;margin:0 0 10px;}
.tsa-steps__i p{font-size:var(--tsa-fs-sm);color:var(--tsa-mute);margin:0;max-width:none;}

/* --- 11. Blog cards ------------------------------------------------------ */
.tsa-posts{display:grid;gap:var(--tsa-md);grid-template-columns:1fr;}
@media(min-width:760px){.tsa-posts{grid-template-columns:repeat(3,1fr);}}
.tsa-post{
  position:relative;display:flex;flex-direction:column;
  background:var(--tsa-graphite);border:1px solid var(--tsa-line);
  transition:transform .18s var(--tsa-ease),border-color .18s var(--tsa-ease);
}
.tsa-post:hover{transform:translateY(-6px);border-color:var(--tsa-amber);}
.tsa-post__media{aspect-ratio:16/9;overflow:hidden;}
.tsa-post__media img{width:100%;height:100%;object-fit:cover;}
.tsa-post__body{padding:var(--tsa-md);}
.tsa-post__date{font-size:var(--tsa-fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--tsa-amber);}
.tsa-post__title{font-family:var(--tsa-font-head);font-weight:700;font-size:1.0625rem;line-height:1.25;margin:8px 0 10px;color:var(--tsa-white);}
.tsa-post__x{font-size:var(--tsa-fs-sm);color:var(--tsa-mute);margin:0;max-width:none;}

/* --- 12. Service area ---------------------------------------------------- */
.tsa-service{display:grid;gap:var(--tsa-lg);}
@media(min-width:1024px){.tsa-service{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--tsa-xl);}}
.tsa-service__media{border:1px solid var(--tsa-line);overflow:hidden;background:var(--tsa-graphite);align-self:start;}
.tsa-service__media img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;}
.tsa-spot__media{align-self:start;}
.tsa-service h3{font-size:1.0625rem;margin:var(--tsa-md) 0 8px;}
.tsa-service p{color:var(--tsa-mute);}

/* --- 13. Final CTA ------------------------------------------------------- */
.tsa-final{display:grid;gap:var(--tsa-lg);}
@media(min-width:1024px){.tsa-final{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--tsa-xl);}}
.tsa-final__lines{list-style:none;margin:var(--tsa-md) 0 0;padding:0;}
.tsa-final__lines li{border-top:1px solid var(--tsa-line);padding:var(--tsa-sm) 0;}
.tsa-final__lines span{display:block;font-size:var(--tsa-fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--tsa-mute);margin-bottom:4px;}
.tsa-final__lines a,.tsa-final__lines b{font-family:var(--tsa-font-head);font-weight:700;font-size:1.125rem;color:var(--tsa-white);}
.tsa-final__lines a:hover{color:var(--tsa-amber);}
.tsa-final__form{border:1px solid var(--tsa-line);background:var(--tsa-steel);padding:var(--tsa-lg);}
.tsa-final__form h3{margin-top:0;}
.tsa-final__form input,.tsa-final__form textarea,.tsa-final__form select{background:var(--tsa-black);}
.tsa-final__form input[type=submit],.tsa-final__form button{background:var(--tsa-amber);color:var(--tsa-black);width:auto;}

/* Why section: split header so the page does not run five 4-up grids in a row. */
.tsa-whywrap{display:grid;gap:var(--tsa-lg);}
@media(min-width:1024px){.tsa-whywrap{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--tsa-xl);align-items:start;}
.tsa-whywrap .tsa-why{grid-template-columns:repeat(2,1fr);}}
.tsa-whywrap__head p{margin-bottom:0;}

/* Category cards before the transparent-PNG renders land. */
.tsa-cat--noimg .tsa-cat__body{border-top:2px solid var(--tsa-amber);}
.tsa-cat--noimg{background:var(--tsa-steel);}
.tsa-cat--noimg .tsa-cat__desc{margin-bottom:18px;}


/* =========================================================================
   15. CORE PAGES
   ========================================================================= */

/* --- Page hero ----------------------------------------------------------- */
.tsa-phero{
  position:relative;overflow:hidden;isolation:isolate;
  background:var(--tsa-graphite);
  border-bottom:1px solid var(--tsa-line);
  margin-top:calc(-1 * (var(--tsa-header-h) + 1px));
  padding-top:calc(var(--tsa-header-h) + var(--tsa-lg));
  padding-bottom:var(--tsa-lg);
}
@media(min-width:1024px){
  .tsa-phero{padding-top:calc(var(--tsa-header-h) + var(--tsa-xl));padding-bottom:var(--tsa-xl);}
}
.tsa-phero__media{position:absolute;inset:0;z-index:0;background:var(--tsa-black);}
.tsa-phero__media img{width:100%;height:100%;object-fit:cover;object-position:center 58%;}
.tsa-phero__scrim{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(11,13,14,.95) 0%,rgba(11,13,14,.84) 45%,rgba(11,13,14,.5) 100%);
}
.tsa-phero__inner{position:relative;z-index:2;}
.tsa-phero h1{font-size:var(--tsa-fs-h1);margin:0 0 var(--tsa-sm);max-width:22ch;}
.tsa-phero__lede{color:var(--tsa-mute);font-size:1.125rem;max-width:62ch;margin:0;}

/* --- Breadcrumbs --------------------------------------------------------- */
.tsa-crumbs{
  font-size:var(--tsa-fs-xs);color:var(--tsa-mute);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--tsa-md);
}
.tsa-crumbs a{color:var(--tsa-mute);}
.tsa-crumbs a:hover{color:var(--tsa-amber);}
.tsa-crumbs .separator{margin:0 8px;opacity:.6;}
.tsa-crumbs .last{color:var(--tsa-white);}

/* --- Prose --------------------------------------------------------------- */
.tsa-prose{max-width:none;}
.tsa-prose h2{margin-top:var(--tsa-xl);}
.tsa-prose h2:first-child{margin-top:0;}
.tsa-prose h3{margin-top:var(--tsa-lg);font-size:1.1875rem;}
.tsa-prose p,.tsa-prose li{color:var(--tsa-mute);}
.tsa-prose p{max-width:68ch;}
.tsa-prose strong,.tsa-prose b{color:var(--tsa-white);}
.tsa-prose ul,.tsa-prose ol{margin:0 0 var(--tsa-md);padding-left:1.15rem;max-width:68ch;}
.tsa-prose li{margin-bottom:9px;}
.tsa-prose li::marker{color:var(--tsa-amber);}
.tsa-prose .tsa-spec{margin:var(--tsa-md) 0 var(--tsa-lg);}
.tsa-prose__lead{font-size:1.1875rem;color:var(--tsa-white)!important;max-width:66ch;}

/* Two-column body for the longer pages. */
.tsa-split{display:grid;gap:var(--tsa-lg);}
@media(min-width:1024px){.tsa-split{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--tsa-xl);align-items:start;}}
.tsa-aside{border:1px solid var(--tsa-line);background:var(--tsa-steel);padding:var(--tsa-md);position:sticky;top:calc(var(--tsa-header-h-stuck) + 16px);}
.tsa-aside h3{margin-top:0;font-size:1rem;}
.tsa-aside p,.tsa-aside li{font-size:var(--tsa-fs-sm);color:var(--tsa-mute);}
.tsa-aside ul{list-style:none;margin:0;padding:0;}
.tsa-aside li{border-top:1px solid var(--tsa-line);padding:11px 0;}
.tsa-aside li:first-child{border-top:0;}
.tsa-aside a{color:var(--tsa-white);font-weight:600;}
.tsa-aside a:hover{color:var(--tsa-amber);}
@media(max-width:1023px){.tsa-aside{position:static;}}

/* --- FAQ ----------------------------------------------------------------- */
.tsa-faq{border:1px solid var(--tsa-line);margin-bottom:var(--tsa-lg);}
.tsa-faq__i{border-bottom:1px solid var(--tsa-line);background:var(--tsa-steel);}
.tsa-faq__i:last-child{border-bottom:0;}
.tsa-faq__i summary{
  cursor:pointer;list-style:none;padding:16px var(--tsa-md);
  display:flex;align-items:flex-start;gap:14px;
  font-family:var(--tsa-font-head);font-weight:700;font-size:1rem;color:var(--tsa-white);
}
.tsa-faq__i summary::-webkit-details-marker{display:none;}
.tsa-faq__i summary::before{
  content:"+";flex:0 0 auto;width:18px;
  font-family:var(--tsa-font-head);font-weight:800;color:var(--tsa-amber);line-height:1.3;
}
.tsa-faq__i[open] summary::before{content:"\2013";}
.tsa-faq__i[open] summary{background:var(--tsa-steel-alt);}
.tsa-faq__a{padding:0 var(--tsa-md) var(--tsa-md) calc(var(--tsa-md) + 32px);background:var(--tsa-steel-alt);}
.tsa-faq__a p{margin:0;color:var(--tsa-mute);max-width:68ch;}

/* --- Map ----------------------------------------------------------------- */
.tsa-map{border:1px solid var(--tsa-line);line-height:0;background:var(--tsa-graphite);}
.tsa-map iframe{display:block;width:100%;filter:grayscale(1) contrast(1.1) brightness(.85);}

/* --- Notice -------------------------------------------------------------- */
.tsa-notice{border:1px solid var(--tsa-line);border-left:3px solid var(--tsa-amber);background:var(--tsa-steel);padding:var(--tsa-md);margin:0 0 var(--tsa-lg);}
.tsa-notice p{margin:0;color:var(--tsa-mute);font-size:var(--tsa-fs-sm);max-width:none;}
.tsa-notice b{color:var(--tsa-amber);}

/* --- Related pages ------------------------------------------------------- */
.tsa-related{margin-top:var(--tsa-xl);}
.tsa-related__grid{display:grid;gap:1px;background:var(--tsa-line);border:1px solid var(--tsa-line);}
@media(min-width:760px){.tsa-related__grid{grid-template-columns:repeat(3,1fr);}}
.tsa-related__i{display:block;background:var(--tsa-graphite);padding:var(--tsa-md);transition:background-color .15s var(--tsa-ease);}
.tsa-related__i:hover{background:var(--tsa-steel);}
.tsa-related__t{display:block;font-family:var(--tsa-font-head);font-weight:700;font-size:1.0625rem;color:var(--tsa-white);margin-bottom:7px;}
.tsa-related__i:hover .tsa-related__t{color:var(--tsa-amber);}
.tsa-related__d{display:block;font-size:var(--tsa-fs-xs);color:var(--tsa-mute);line-height:1.5;}

/* --- Quote page ---------------------------------------------------------- */
.tsa-quote{display:grid;gap:var(--tsa-lg);}
@media(min-width:1024px){.tsa-quote{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--tsa-xl);align-items:start;}}
.tsa-quote__form{border:1px solid var(--tsa-line);background:var(--tsa-steel);padding:var(--tsa-lg);}
.tsa-quote__form h2{margin-top:0;}
.tsa-quote__form input,.tsa-quote__form textarea,.tsa-quote__form select{background:var(--tsa-black);}
.tsa-trustlist{list-style:none;margin:0;padding:0;}
.tsa-trustlist li{display:flex;gap:12px;align-items:flex-start;border-top:1px solid var(--tsa-line);padding:14px 0;}
.tsa-trustlist li:first-child{border-top:0;}
.tsa-trustlist svg{width:18px;height:18px;flex:0 0 auto;color:var(--tsa-amber);margin-top:3px;}
.tsa-trustlist b{display:block;color:var(--tsa-white);font-family:var(--tsa-font-head);font-weight:700;font-size:var(--tsa-fs-sm);}
.tsa-trustlist span{display:block;font-size:var(--tsa-fs-xs);color:var(--tsa-mute);margin-top:3px;line-height:1.5;}

/* -------------------------------------------------------------------------
   16. SHOP AND CATEGORY ARCHIVES
   ------------------------------------------------------------------------- */

/* --- The direct-answer paragraph. Used on category archives and products. -- */
.tsa-answer{
  font-size:1.1875rem;
  line-height:1.55;
  color:var(--tsa-white);
  max-width:66ch;
  border-left:2px solid var(--tsa-amber);
  padding-left:var(--tsa-md);
  margin:0 0 var(--tsa-md);
}
.tsa-answer p{margin:0;color:inherit;font-size:inherit;line-height:inherit;max-width:none;}

/* --- Archive hero. Asymmetric: heading left, count and children right. ----- */
.tsa-shero{
  position:relative;
  background:var(--tsa-graphite);
  border-bottom:1px solid var(--tsa-line);
  padding:calc(var(--tsa-header-h) + var(--tsa-lg)) 0 var(--tsa-lg);
  overflow:hidden;
}
.tsa-shero__media{position:absolute;inset:0;z-index:0;}
.tsa-shero__media img{width:100%;height:100%;object-fit:cover;display:block;}
.tsa-shero__scrim{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(11,13,14,.94) 0%,rgba(11,13,14,.86) 46%,rgba(11,13,14,.58) 100%);
}
.tsa-shero__inner{position:relative;z-index:2;display:grid;gap:var(--tsa-md);}
@media(min-width:900px){
  .tsa-shero{padding:calc(var(--tsa-header-h) + var(--tsa-xl)) 0 var(--tsa-xl);}
  .tsa-shero__inner{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:var(--tsa-xl);align-items:end;}
}
.tsa-shero h1{margin:0;font-size:var(--tsa-fs-h1);}
.tsa-shero .tsa-crumbs{margin-bottom:var(--tsa-sm);}
.tsa-shero__aside{display:flex;flex-direction:column;gap:var(--tsa-sm);}
@media(min-width:900px){.tsa-shero__aside{align-items:flex-end;text-align:right;}}
.tsa-shero__count{margin:0;font-size:var(--tsa-fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--tsa-mute);}
.tsa-shero__count strong{
  display:block;font-family:var(--tsa-font-head);font-weight:800;
  font-size:2.5rem;line-height:1;color:var(--tsa-white);letter-spacing:-0.01em;
}
.tsa-shero__kids{display:flex;flex-wrap:wrap;gap:6px;}
@media(min-width:900px){.tsa-shero__kids{justify-content:flex-end;}}
.tsa-shero__kids a{
  display:inline-block;padding:7px 13px;
  border:1px solid var(--tsa-line);background:var(--tsa-steel);
  font-size:var(--tsa-fs-xs);color:var(--tsa-mute);
  transition:border-color .15s var(--tsa-ease),color .15s var(--tsa-ease);
}
.tsa-shero__kids a:hover{border-color:var(--tsa-amber);color:var(--tsa-white);}

/* --- Category copy, above the grid. -------------------------------------- */
.tsa-arch-intro{margin:0 0 var(--tsa-xl);max-width:74ch;}
.tsa-arch-intro p{color:var(--tsa-mute);max-width:68ch;}
.tsa-arch-intro p:last-child{margin-bottom:0;}
.tsa-arch-intro strong{color:var(--tsa-white);}

/* --- Archive layout: filter rail beside the grid. ------------------------- */
.tsa-shop{display:grid;gap:var(--tsa-lg);align-items:start;}
@media(min-width:1024px){
  .tsa-shop{grid-template-columns:264px minmax(0,1fr);gap:var(--tsa-xl);}
  .tsa-shop--nofilters{grid-template-columns:minmax(0,1fr);}
}
.tsa-shop__main{min-width:0;}

.tsa-filters{border:1px solid var(--tsa-line);background:var(--tsa-graphite);}
.tsa-filters__head{
  display:flex;align-items:baseline;justify-content:space-between;gap:var(--tsa-sm);
  padding:14px var(--tsa-sm);border-bottom:1px solid var(--tsa-line);
}
.tsa-filters__head h2{
  margin:0;font-size:var(--tsa-fs-xs);text-transform:uppercase;letter-spacing:.06em;
  font-weight:700;color:var(--tsa-white);
}
.tsa-filters__head h2::after{display:none;}
.tsa-filters__clear{font-size:var(--tsa-fs-xs);color:var(--tsa-amber);}
.tsa-filters__group{border-bottom:1px solid var(--tsa-line);}
.tsa-filters__group:last-child{border-bottom:0;}
.tsa-filters__group>summary{
  list-style:none;cursor:pointer;position:relative;
  padding:13px var(--tsa-sm) 13px 34px;
  font-family:var(--tsa-font-head);font-weight:700;font-size:var(--tsa-fs-sm);
  color:var(--tsa-white);
}
.tsa-filters__group>summary::-webkit-details-marker{display:none;}
.tsa-filters__group>summary::before{
  content:"+";position:absolute;left:var(--tsa-sm);top:50%;transform:translateY(-50%);
  color:var(--tsa-amber);font-family:var(--tsa-font-body);font-weight:600;line-height:1;
}
.tsa-filters__group[open]>summary::before{content:"\2013";}
.tsa-filters__group ul{list-style:none;margin:0;padding:0 var(--tsa-sm) 14px;}
.tsa-filters__item{
  display:flex;align-items:center;gap:10px;padding:6px 0;
  font-size:var(--tsa-fs-sm);color:var(--tsa-mute);
  transition:color .15s var(--tsa-ease);
}
.tsa-filters__item:hover{color:var(--tsa-white);}
.tsa-filters__box{
  width:14px;height:14px;flex:0 0 auto;border:1px solid var(--tsa-line-strong);
  transition:background-color .15s var(--tsa-ease),border-color .15s var(--tsa-ease);
}
.tsa-filters__item.is-on{color:var(--tsa-white);}
.tsa-filters__item.is-on .tsa-filters__box{background:var(--tsa-amber);border-color:var(--tsa-amber);}
.tsa-filters__label{flex:1 1 auto;}
.tsa-filters__n{font-size:var(--tsa-fs-xs);color:var(--tsa-mute);font-variant-numeric:tabular-nums;}

/* --- Result count and ordering. ------------------------------------------ */
.woocommerce-result-count,
.woocommerce-ordering{margin:0 0 var(--tsa-md);}
.woocommerce-result-count{font-size:var(--tsa-fs-xs);color:var(--tsa-mute);text-transform:uppercase;letter-spacing:.06em;}
.woocommerce-ordering select{
  background:var(--tsa-steel);color:var(--tsa-white);border:1px solid var(--tsa-line);
  border-radius:0;padding:10px 13px;font-family:var(--tsa-font-body);font-size:var(--tsa-fs-sm);
}
@media(min-width:640px){
  .tsa-shop__main .woocommerce-result-count{float:left;line-height:40px;}
  .tsa-shop__main .woocommerce-ordering{float:right;}
  .tsa-shop__main ul.products{clear:both;}
}

/* --- The grid. Three up on desktop, two at tablet, one on a phone. -------- */
ul.products{
  list-style:none;margin:0;padding:0;
  display:grid;gap:var(--tsa-md);
}
@media(min-width:560px){ul.products{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(min-width:1024px){ul.products{grid-template-columns:repeat(3,minmax(0,1fr));}}
ul.products::before,ul.products::after{display:none;}
ul.products li.product{margin:0;width:auto;float:none;padding:0;}
ul.products li.product a.woocommerce-loop-product__link{display:block;color:inherit;}
.tsa-card__noimg{display:block;width:100%;height:100%;background:var(--tsa-steel-alt);}
.tsa-card__chips li{
  font-size:var(--tsa-fs-xs);color:var(--tsa-mute);
  border:1px solid var(--tsa-line);background:var(--tsa-steel-alt);
  padding:3px 9px;line-height:1.4;
}
.tsa-card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--tsa-sm);flex-wrap:wrap;}
.tsa-badge{
  font-size:var(--tsa-fs-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:600;
  color:var(--tsa-mute);border:1px solid var(--tsa-line);padding:4px 9px;line-height:1.3;
}
.tsa-badge--signal{color:var(--tsa-signal);border-color:rgba(47,163,107,.45);}
li.product .onsale{
  position:absolute;top:0;left:0;z-index:3;
  background:var(--tsa-amber);color:var(--tsa-black);
  font-family:var(--tsa-font-head);font-weight:700;font-size:var(--tsa-fs-xs);
  text-transform:uppercase;letter-spacing:.04em;padding:5px 11px;margin:0;
  clip-path:polygon(0 0,100% 0,100% calc(100% - var(--tsa-cut)),calc(100% - var(--tsa-cut)) 100%,0 100%);
}

/* --- Pagination. Numbered, never infinite scroll: a crawler needs links. -- */
.woocommerce-pagination{margin-top:var(--tsa-xl);}
.woocommerce-pagination ul{display:flex;flex-wrap:wrap;gap:1px;list-style:none;margin:0;padding:0;border:0;}
.woocommerce-pagination li{border:0;margin:0;}
.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 12px;
  border:1px solid var(--tsa-line);background:var(--tsa-graphite);
  font-family:var(--tsa-font-head);font-weight:700;font-size:var(--tsa-fs-sm);
  color:var(--tsa-mute);
  transition:border-color .15s var(--tsa-ease),color .15s var(--tsa-ease);
}
.woocommerce-pagination a.page-numbers:hover{border-color:var(--tsa-amber);color:var(--tsa-white);}
.woocommerce-pagination span.current{background:var(--tsa-amber);border-color:var(--tsa-amber);color:var(--tsa-black);}

/* --- Notices. ------------------------------------------------------------ */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error{
  border:1px solid var(--tsa-line);border-left:3px solid var(--tsa-amber);
  background:var(--tsa-steel);color:var(--tsa-white);
  padding:var(--tsa-sm) var(--tsa-md);margin:0 0 var(--tsa-md);list-style:none;
}
.woocommerce-notices-wrapper .woocommerce-message{border-left-color:var(--tsa-signal);}

/* -------------------------------------------------------------------------
   17. SINGLE PRODUCT
   ------------------------------------------------------------------------- */

.single-product div.product{display:grid;gap:var(--tsa-lg);}
@media(min-width:1024px){
  .single-product div.product{
    grid-template-columns:minmax(0,7fr) minmax(0,5fr);
    column-gap:var(--tsa-xl);align-items:start;
  }
  .single-product div.product .woocommerce-product-gallery{grid-column:1;grid-row:1;}
  .single-product div.product .summary{grid-column:2;grid-row:1;position:sticky;top:calc(var(--tsa-header-h-stuck) + var(--tsa-md));}
  .single-product div.product>.tsa-pblock,
  .single-product div.product>.upsells,
  .single-product div.product>.related{grid-column:1 / -1;}
}
.single-product .woocommerce-product-gallery{border:1px solid var(--tsa-line);background:var(--tsa-graphite);}
.single-product .woocommerce-product-gallery img{display:block;width:100%;height:auto;}
.single-product .woocommerce-product-gallery__wrapper{margin:0;}
.single-product .flex-control-thumbs{
  display:grid;grid-template-columns:repeat(5,1fr);gap:1px;
  list-style:none;margin:1px 0 0;padding:0;background:var(--tsa-line);
}
.single-product .flex-control-thumbs li{margin:0;}
.single-product .flex-control-thumbs img{opacity:.55;cursor:pointer;transition:opacity .15s var(--tsa-ease);background:var(--tsa-graphite);}
.single-product .flex-control-thumbs img:hover,
.single-product .flex-control-thumbs img.flex-active{opacity:1;}

.single-product .summary .product_title{font-size:var(--tsa-fs-h2);margin:0 0 var(--tsa-sm);}
.single-product .summary .product_title::after{display:none;}
.single-product .summary p.price,
.single-product .summary span.price{
  display:block;font-family:var(--tsa-font-head);font-weight:800;
  font-size:2.25rem;line-height:1;color:var(--tsa-amber);margin:0 0 var(--tsa-md);
}
.single-product .summary p.price del,
.single-product .summary span.price del{color:var(--tsa-mute);font-weight:400;font-size:1.25rem;margin-right:10px;}
.single-product .summary p.price ins{text-decoration:none;}
.single-product .summary .tsa-answer{margin-bottom:var(--tsa-md);font-size:var(--tsa-fs-body);}

/* --- Key specs strip, directly under the price. --------------------------- */
.tsa-specstrip{
  list-style:none;margin:0 0 var(--tsa-md);padding:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;background:var(--tsa-line);border:1px solid var(--tsa-line);
}
@media(min-width:520px){.tsa-specstrip{grid-template-columns:repeat(4,minmax(0,1fr));}}
.tsa-specstrip li{background:var(--tsa-steel);padding:13px var(--tsa-sm);margin:0;}
.tsa-specstrip__v{
  display:block;font-family:var(--tsa-font-head);font-weight:800;
  font-size:1.125rem;line-height:1.1;color:var(--tsa-white);
}
.tsa-specstrip__k{
  display:block;margin-top:5px;font-size:var(--tsa-fs-xs);
  text-transform:uppercase;letter-spacing:.06em;color:var(--tsa-mute);
}

/* --- Add to cart and the WhatsApp alternative. ---------------------------- */
.single-product form.cart{margin:0 0 12px;display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;}
.single-product form.cart .quantity input.qty{
  width:76px;min-height:48px;text-align:center;
  background:var(--tsa-steel);color:var(--tsa-white);border:1px solid var(--tsa-line);border-radius:0;
}
.single-product form.cart button.single_add_to_cart_button{
  flex:1 1 auto;min-height:48px;
  background:var(--tsa-amber);color:var(--tsa-black);border:0;border-radius:0;
  font-family:var(--tsa-font-head);font-weight:700;font-size:var(--tsa-fs-sm);
  text-transform:uppercase;letter-spacing:.04em;padding:14px 28px;cursor:pointer;
  clip-path:polygon(var(--tsa-cut) 0,100% 0,100% calc(100% - var(--tsa-cut)),calc(100% - var(--tsa-cut)) 100%,0 100%,0 var(--tsa-cut));
  transition:background-color .15s var(--tsa-ease);
}
.single-product form.cart button.single_add_to_cart_button:hover{background:var(--tsa-amber-dk);}
.tsa-btn--waq{width:100%;justify-content:center;margin-bottom:var(--tsa-md);}
.single-product .product_meta{
  font-size:var(--tsa-fs-xs);color:var(--tsa-mute);
  border-top:1px solid var(--tsa-line);padding-top:var(--tsa-sm);margin-top:var(--tsa-sm);
}
.single-product .product_meta>span{display:block;margin-bottom:5px;}
.single-product .product_meta a{color:var(--tsa-mute);}
.single-product .product_meta a:hover{color:var(--tsa-amber);}
.single-product .stock.in-stock{color:var(--tsa-signal);font-size:var(--tsa-fs-sm);}
.single-product .stock.out-of-stock{color:var(--tsa-mute);font-size:var(--tsa-fs-sm);}

/* --- Blocks below the fold. ---------------------------------------------- */
.tsa-pblock{margin-top:var(--tsa-xl);}
.tsa-pblock--specs .tsa-spec{max-width:820px;}
.tsa-pblock--faq .tsa-faq{max-width:820px;}
.single-product .upsells,
.single-product .related{margin-top:var(--tsa-xl);}
.single-product .upsells>h2,
.single-product .related>h2,
.tsa-pblock>h2{font-size:var(--tsa-fs-h3);}
