/* Twenty5 Supply — design tokens sampled from the client logo.
   Brand red is an accent, so error red is deliberately a different, deeper red:
   if "Add to cart" and "Invalid card number" are the same colour the interface
   stops communicating. */
:root{
  --navy:#163259; --navy-700:#1d4275; --red:#ED1C24; --red-dark:#c8151c; --silver:#D3D2D2;
  --n50:#f7f9fb; --n100:#eef2f6; --n200:#e0e6ed; --n300:#c6d0da; --n400:#9aa8b6;
  --n500:#6b7b8c; --n600:#4d5c6b; --n700:#33414f; --n800:#1f2a35;
  --ok:#1B7F4C; --warn:#B26B00; --err:#B3261E;
  --r:10px; --sh:0 1px 2px rgba(22,50,89,.06),0 4px 14px rgba(22,50,89,.07);
  --sh-lg:0 12px 40px rgba(22,50,89,.16);
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font);color:var(--n800);background:#fff;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--navy)}
.t5-wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.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;width:auto;height:auto;clip:auto;background:#fff;padding:10px 16px;z-index:1000;border-radius:6px}

/* ---------- header ---------- */
.t5-header{position:sticky;top:0;z-index:200;background:#fff;border-bottom:1px solid var(--n200)}
.t5-header__row{display:flex;align-items:center;gap:24px;padding:14px 24px}
.t5-brand img{max-height:44px;width:auto}
.t5-brand__text{font-weight:800;font-size:20px;color:var(--navy);text-decoration:none}
.t5-search{position:relative;flex:1;max-width:520px}
.t5-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--n400);pointer-events:none}
.t5-search input[type=search]{width:100%;padding:10px 14px 10px 38px;border:1.5px solid var(--n200);border-radius:8px;background:var(--n50);font:inherit;font-size:14px;transition:.2s var(--ease)}
.t5-search input[type=search]:focus{outline:0;border-color:var(--navy);background:#fff;box-shadow:0 0 0 3px rgba(22,50,89,.09)}
.t5-header__actions{margin-left:auto;display:flex;align-items:center;gap:6px}
.t5-iconlink{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--navy);text-decoration:none;transition:.18s var(--ease);position:relative}
.t5-iconlink:hover{background:var(--n100)}
.t5-cart__count{position:absolute;top:2px;right:2px;background:var(--red);color:#fff;font-size:10px;font-weight:800;min-width:17px;height:17px;border-radius:9px;display:grid;place-items:center;padding:0 4px}
.t5-burger{display:none;align-items:center;gap:7px;background:none;border:0;font:inherit;font-weight:600;color:var(--navy);cursor:pointer;padding:8px 12px}
.t5-burger span{display:block;width:18px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor,0 -5px 0 currentColor}

.t5-nav{background:var(--navy)}
.t5-nav__list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.t5-nav__list a{display:block;padding:12px 15px;color:#dce5f0;font-size:13.5px;font-weight:600;text-decoration:none;transition:.18s var(--ease)}
.t5-nav__list a:hover,.t5-nav__list .current-menu-item>a{color:#fff;background:rgba(255,255,255,.08)}
.t5-nav__list>li{position:relative}
.t5-mega{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--n200);border-top:0;border-radius:0 0 12px 12px;box-shadow:var(--sh-lg);padding:20px;min-width:640px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.22s var(--ease);z-index:60}
.t5-nav__list>li:hover .t5-mega,.t5-nav__list>li:focus-within .t5-mega{opacity:1;visibility:visible;transform:none}
.t5-mega h5{margin:0 0 8px;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--n400)}
.t5-mega ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 22px}
.t5-mega a{display:flex;justify-content:space-between;padding:7px 9px;border-radius:6px;font-size:13.5px;color:var(--n700)}
.t5-mega a:hover{background:var(--n50);color:var(--navy)}
.t5-mega a span{color:var(--n400);font-size:12px}

.t5-trust{background:var(--n50);border-bottom:1px solid var(--n200);font-size:12.5px;color:var(--n600)}
.t5-trust__row{display:flex;gap:26px;flex-wrap:wrap;padding:8px 24px}
.t5-trust strong{color:var(--navy)}
.t5-trust a{color:inherit;text-decoration:none}

/* ---------- layout ---------- */
.t5-site{min-height:50vh}
.t5-shop-layout{display:grid;grid-template-columns:236px 1fr;gap:28px;align-items:start;padding-top:28px;padding-bottom:60px}
.t5-shop-layout:not(:has(.t5-filters)){grid-template-columns:1fr}
.t5-main--text{max-width:820px;padding:32px 0 60px}
.t5-filters{border:1px solid var(--n200);border-radius:12px;padding:4px 14px 12px;position:sticky;top:150px}
.t5-filters__toggle{display:none}
.t5-widget{padding:12px 0;border-bottom:1px solid var(--n200)}
.t5-widget:last-child{border:0}
.t5-widget__title{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);margin:0 0 8px}
.t5-widget ul{list-style:none;margin:0;padding:0;font-size:13px}
.t5-widget li{padding:3px 0}
.t5-widget a{color:var(--n700);text-decoration:none}
.t5-widget a:hover{color:var(--navy)}

/* ---------- product cards ---------- */
ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:16px}
ul.products li.product{border:1px solid var(--n200);border-radius:12px;overflow:hidden;background:#fff;transition:.24s var(--ease);display:flex;flex-direction:column;position:relative;animation:t5rise .45s var(--ease) both}
ul.products li.product:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);border-color:var(--n300)}
ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;padding:0 0 13px;text-decoration:none;color:inherit}
ul.products li.product a img,
.woocommerce ul.products li.product a img{aspect-ratio:1;object-fit:contain;background:linear-gradient(160deg,var(--n50),var(--n100));width:100%;height:auto;margin:0;box-shadow:none}
/* Why these selectors are so long.
   woocommerce.css ships `.woocommerce ul.products li.product .woocommerce-loop-product__title
   {padding:.5em 0;margin:0}` — four classes. Our old rule had three, so
   WooCommerce won the cascade and every product name sat flush against the
   card edge no matter what padding we wrote. Adding the element to the last
   class outranks it. Same story for the price and the image below. */
ul.products li.product h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title{font-size:14px;font-weight:650;color:var(--navy);
  line-height:1.45;padding:0 16px;margin:10px 0 12px;min-height:2.9em}
.t5-card__brand{display:block;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--red);padding:16px 16px 0}
.t5-card__sku{display:block;font-size:11px;color:var(--n400);font-family:ui-monospace,Menlo,monospace;padding:3px 13px 0}
.t5-card__stock{display:inline-block;font-size:11px;font-weight:700;padding:5px 13px 0}
.t5-stock--in{color:var(--ok)}.t5-stock--low{color:var(--warn)}.t5-stock--out{color:var(--n500)}
ul.products li.product span.price,
.woocommerce ul.products li.product span.price{display:block;padding:0 16px;margin:auto 0 2px;font-size:17px;font-weight:800;color:var(--navy)}
ul.products li.product .price del{font-size:13px;color:var(--n400);font-weight:600}
ul.products li.product .price ins{text-decoration:none;font-weight:800;color:var(--navy)}
.t5-badges{position:absolute;top:9px;left:9px;z-index:2;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.t5-badge{font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:3px 7px;border-radius:4px;color:#fff}
.t5-badge--haz{background:var(--err)}
.t5-badge--bulk{background:var(--navy)}
.t5-badge--out{background:var(--n500)}
.t5-trade-flag{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--navy);color:#fff;padding:2px 6px;border-radius:4px;vertical-align:middle}

@keyframes t5rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---------- buttons ---------- */
/* The rules below are scoped to .woocommerce, which only exists on shop pages.
   The homepage hero and the age gate live outside it, so without these bare
   selectors their buttons render as unstyled links. */
a.button,button.button,input.button{
  display:inline-block;background:var(--navy);color:#fff;border-radius:8px;font-weight:700;
  font-size:14px;padding:11px 20px;border:0;cursor:pointer;text-decoration:none;
  line-height:1.35;text-align:center;transition:.2s var(--ease)}
a.button:hover,button.button:hover,input.button:hover{background:var(--navy-700);color:#fff;transform:translateY(-1px)}
a.button.ghost,button.button.ghost{background:transparent;border:1.5px solid rgba(255,255,255,.45);color:#fff}
a.button.ghost:hover,button.button.ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}

.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{
  background:var(--navy);color:#fff;border-radius:8px;font-weight:700;font-size:14px;padding:11px 20px;border:0;transition:.2s var(--ease)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--navy-700);color:#fff;transform:translateY(-1px)}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt{background:var(--red)}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background:var(--red-dark);box-shadow:0 8px 22px rgba(237,28,36,.3)}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.45;transform:none!important;box-shadow:none!important}

/* ---------- single product ---------- */
.single-product div.product{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:start}
.single-product div.product .woocommerce-product-gallery{position:sticky;top:150px}
.single-product div.product .summary{margin:0}
.single-product .product_title{font-size:26px;font-weight:800;color:var(--navy);line-height:1.25;letter-spacing:-.01em;margin:0 0 10px}
.single-product .price{font-size:30px;font-weight:800;color:var(--navy)}
.single-product .woocommerce-product-details__short-description{color:var(--n600);font-size:14px}
.single-product .woocommerce-tabs,.single-product .related{grid-column:1/-1}
.t5-hazmat-notice{background:#fdeeed;border:1px solid #f5cfcd;color:#8d1d17;padding:12px 15px;border-radius:10px;font-size:13.5px;font-weight:600}
.t5-held{background:#fdf7ec;border:1px solid #f0dcb8;color:#7a4c00;padding:12px 15px;border-radius:10px;font-size:13.5px}

/* variation pack selector */
.woocommerce div.product form.cart .variations{margin-bottom:16px}
.woocommerce div.product form.cart .variations label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--n600)}
.woocommerce div.product form.cart .variations select{padding:10px 12px;border:1.5px solid var(--n200);border-radius:8px;font:inherit;min-width:220px}

/* ---------- documents tab ---------- */
ul.t5-docs{list-style:none;margin:0;padding:0;display:grid;gap:9px;max-width:660px}
ul.t5-docs a{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--n200);border-radius:10px;text-decoration:none;color:var(--navy);transition:.2s var(--ease)}
ul.t5-docs a:hover{border-color:var(--navy);transform:translateX(4px);box-shadow:var(--sh)}
.t5-doc-type{display:grid;place-items:center;width:44px;height:26px;border-radius:5px;background:var(--navy);color:#fff;font-size:10px;font-weight:800;letter-spacing:.04em;flex:none}
.t5-doc-sds{background:var(--err)}
.t5-doc-label{font-weight:650;font-size:13.5px}
ul.t5-docs small{color:var(--n500);margin-left:auto;font-size:11.5px}

/* ---------- RFQ panel ---------- */
.t5-rfq{border:2px solid var(--navy);border-radius:13px;overflow:hidden;margin:24px 0;max-width:720px}
.t5-rfq__head{background:var(--navy);color:#fff;padding:14px 18px}
.t5-rfq__head h3{margin:0;font-size:15px;color:#fff}
.t5-rfq__head p{margin:3px 0 0;font-size:12.5px;color:#a9c0d8}
.t5-rfq__body{padding:18px;background:#fff}
.t5-field{margin:0 0 14px}
.t5-field label{display:block;font-size:12px;font-weight:700;color:var(--n600);margin-bottom:5px}
.t5-field .req{color:var(--red)}
.t5-field input,.t5-field select,.t5-field textarea{width:100%;padding:10px 12px;border:1.5px solid var(--n200);border-radius:7px;font:inherit;font-size:14px;background:#fff;transition:.2s var(--ease)}
.t5-field input:focus,.t5-field select:focus,.t5-field textarea:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 3px rgba(22,50,89,.09)}
.t5-field small{display:block;margin-top:5px;font-size:11.5px;color:var(--n500)}
.t5-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.t5-rfq__submit{width:100%;margin-top:4px}
.t5-rfq__note{margin:10px 0 0;font-size:11.5px;color:var(--n500);text-align:center}

/* ---------- cart / checkout ---------- */
.woocommerce-cart .t5-site,.woocommerce-checkout .t5-site,.woocommerce-account .t5-site{padding:28px 0 60px}
.ata-trade-prompt{border-left:4px solid var(--navy)!important}
.woocommerce table.shop_table{border-radius:12px;border-color:var(--n200)}
.woocommerce-checkout #payment{background:var(--n50);border-radius:12px;border:1px solid var(--n200)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom-color:var(--n200)}
#asc-payment-element{margin:12px 0}
#asc-error:not(:empty){padding:9px 12px;background:#fdeeed;border:1px solid #f5cfcd;border-radius:8px;font-size:13px}

/* ---------- age gate ---------- */
.t5-gate{position:fixed;inset:0;background:rgba(11,25,44,.9);backdrop-filter:blur(9px);z-index:2000;display:grid;place-items:center;padding:20px;transition:opacity .3s var(--ease)}
.t5-gate__card{background:#fff;border-radius:17px;max-width:430px;width:100%;padding:34px;text-align:center}
.t5-gate__card h2{margin:0 0 8px;font-size:20px;color:var(--navy)}
.t5-gate__card p{color:var(--n500);font-size:13.5px;margin:0}
.t5-gate__actions{display:flex;gap:10px;margin:22px 0 0}
.t5-gate__actions .button{flex:1}
.t5-gate__fine{font-size:11px;color:var(--n400);margin-top:16px!important}

/* ---------- footer ---------- */
.t5-footer{background:var(--navy);color:#c2d3e6;margin-top:60px}
.t5-footer a{color:#fff;text-decoration:none}
.t5-footer__grid{display:grid;grid-template-columns:1.2fr 2fr 1fr;gap:32px;padding-top:44px;padding-bottom:32px}
.t5-footer__brand img{max-height:40px;width:auto;filter:brightness(0) invert(1)}
.t5-footer__widgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px}
.t5-footer h3{color:#fff;font-size:12.5px;text-transform:uppercase;letter-spacing:.07em;margin:0 0 10px}
.t5-footer ul{list-style:none;margin:0;padding:0;font-size:13.5px;line-height:2}
.t5-footer__base{border-top:1px solid rgba(255,255,255,.12);padding:16px 0;font-size:12.5px}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .single-product div.product{grid-template-columns:1fr;gap:28px}
  .single-product div.product .woocommerce-product-gallery,.t5-filters{position:static}
  .t5-shop-layout{grid-template-columns:1fr}
  .t5-filters__toggle{display:block;width:100%;background:var(--n50);border:1px solid var(--n200);border-radius:8px;padding:11px;font:inherit;font-weight:700;color:var(--navy);cursor:pointer}
  .t5-filters__body{display:none;padding-top:8px}
  .t5-filters--open .t5-filters__body{display:block}
}
@media(max-width:860px){
  .t5-header__row{flex-wrap:wrap}
  .t5-search{order:3;flex-basis:100%;max-width:none}
  .t5-burger{display:flex}
  .t5-nav__list{display:none;flex-direction:column;align-items:stretch;padding:8px 0}
  .t5-nav--open .t5-nav__list{display:flex}
  .t5-mega{position:static;min-width:0;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:0 0 8px 14px}
  .t5-mega ul{grid-template-columns:1fr}
  .t5-mega a{color:#c2d3e6}
  .t5-mega h5{color:#7f93aa}
  .t5-footer__grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;animation-iteration-count:1!important}
}

/* ---------- WooCommerce grid reset ----------
   woocommerce-layout.css is dequeued in setup.php, but a child theme or a
   plugin can re-add it, so neutralise the float widths here as well. */
.woocommerce ul.products,
.woocommerce-page ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin:0;padding:0;list-style:none}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products.columns-1 li.product,
.woocommerce ul.products.columns-2 li.product,
.woocommerce ul.products.columns-3 li.product,
.woocommerce ul.products.columns-4 li.product,
.woocommerce ul.products.columns-5 li.product,
.woocommerce ul.products.columns-6 li.product{float:none;width:auto;margin:0;clear:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none;display:none}
.woocommerce .woocommerce-result-count{float:none;margin:0;color:var(--n500);font-size:13px}
.woocommerce .woocommerce-ordering{float:none;margin:0}
.woocommerce .woocommerce-notices-wrapper:empty{display:none}

/* toolbar above the grid */
.woocommerce .t5-main > .woocommerce-result-count,
.woocommerce .t5-main > .woocommerce-ordering{display:inline-block;vertical-align:middle}
.woocommerce .t5-main > .woocommerce-ordering{float:right}
.woocommerce .t5-main > .woocommerce-ordering select{padding:8px 11px;border:1.5px solid var(--n200);border-radius:7px;font:inherit;font-size:13px;background:#fff}

/* pagination below the grid — invisible until the real catalog (753 products,
   32 pages) made it appear for the first time; the ~21 seeded demo products
   never filled a single page. */
.woocommerce nav.woocommerce-pagination{margin:32px 0 0;border:0;background:none}
.woocommerce nav.woocommerce-pagination ul.page-numbers{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;border:0;background:none}
.woocommerce nav.woocommerce-pagination ul.page-numbers li{border:0}
.woocommerce nav.woocommerce-pagination .page-numbers{display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border:1.5px solid var(--n200);border-radius:8px;color:var(--navy);font-size:13.5px;font-weight:650;text-decoration:none;transition:.18s var(--ease)}
.woocommerce nav.woocommerce-pagination a.page-numbers:hover{border-color:var(--navy);background:var(--n50)}
.woocommerce nav.woocommerce-pagination .page-numbers.current{background:var(--navy);border-color:var(--navy);color:#fff}
.woocommerce nav.woocommerce-pagination .page-numbers.dots{border-color:transparent;color:var(--n400)}
.woocommerce nav.woocommerce-pagination .page-numbers.next,
.woocommerce nav.woocommerce-pagination .page-numbers.prev{font-weight:800}

/* product image placeholder — seeded demo products have no photos yet */
ul.products li.product img.woocommerce-placeholder,
.woocommerce div.product img.woocommerce-placeholder{opacity:.25;padding:22%}
ul.products li.product .t5-thumb{aspect-ratio:1;display:grid;place-items:center;background:linear-gradient(160deg,var(--n50),var(--n100));border-bottom:1px solid var(--n200)}

/* ---------- home page ---------- */
.t5-hero{position:relative;background:linear-gradient(115deg,#0f2540 0%,var(--navy) 45%,#1e4a7d 100%);border-radius:16px;padding:52px 44px;overflow:hidden;color:#fff;margin-bottom:44px}
.t5-hero::after{content:"";position:absolute;top:-70px;right:-70px;width:400px;height:400px;background:radial-gradient(circle,rgba(237,28,36,.32),transparent 68%);pointer-events:none}
.t5-hero__in{position:relative;max-width:620px}
.t5-hero .eyebrow{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;background:var(--red);padding:5px 11px;border-radius:20px;margin-bottom:16px}
.t5-hero h1{font-size:40px;line-height:1.1;margin:0;color:#fff;letter-spacing:-.02em}
.t5-hero p{color:#b8cbe0;margin:14px 0 0;font-size:16px;max-width:520px}
.t5-hero__cta{display:flex;gap:11px;margin-top:26px;flex-wrap:wrap}
.t5-hero__cta .button{background:var(--red)!important}
.t5-hero__cta .button.ghost{background:transparent!important;border:1.5px solid rgba(255,255,255,.45)!important}
.t5-sec{margin:0 0 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.t5-sec h2{font-size:21px;color:var(--navy);margin:0}
.t5-sec p{margin:4px 0 0;color:var(--n500);font-size:14px}
.t5-lines{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:44px;list-style:none;padding:0}
.t5-lines a{display:block;position:relative;border:1px solid var(--n200);border-radius:12px;padding:20px 18px;background:#fff;text-decoration:none;transition:.24s var(--ease);overflow:hidden}
.t5-lines a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--red);transform:scaleY(0);transform-origin:bottom;transition:.28s var(--ease)}
.t5-lines a:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:var(--n300)}
.t5-lines a:hover::before{transform:scaleY(1)}
.t5-lines strong{display:block;font-size:14.5px;color:var(--navy)}
.t5-lines span{display:block;font-size:12px;color:var(--n500);margin-top:3px}
.t5-brands{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:44px;list-style:none;padding:0}
.t5-brands a{display:block;padding:9px 16px;border:1px solid var(--n200);border-radius:8px;font-weight:800;color:var(--n600);font-size:13px;text-decoration:none;background:#fff;transition:.2s var(--ease)}
.t5-brands a:hover{color:var(--navy);border-color:var(--navy);transform:translateY(-2px);box-shadow:var(--sh)}

/* ---------- staff console entry point ---------- */
.ata-headerbtn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:8px;
  background:var(--navy);color:#fff!important;font-size:13px;font-weight:700;text-decoration:none;
  transition:.18s var(--ease);margin-right:4px}
.ata-headerbtn:hover{background:var(--navy-700);transform:translateY(-1px);box-shadow:var(--sh)}
.t5-nav__list .ata-nav-console>a{background:var(--red);color:#fff}
.t5-nav__list .ata-nav-console>a:hover{background:var(--red-dark)}

.ata-acct-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px;
  border:1px solid var(--n200);border-left:4px solid var(--navy);border-radius:10px;background:var(--n50);margin-bottom:22px}
.ata-acct-banner div{flex:1;min-width:240px}
.ata-acct-banner strong{display:block;color:var(--navy);font-size:14.5px}
.ata-acct-banner span{display:block;color:var(--n500);font-size:13px;margin-top:2px}
/* The banner's button is described in full here rather than leaning on the
   plugin's console.css. It appears on My Account, which is not a console
   screen, and a banner whose only call to action depends on another package's
   stylesheet loading is a banner that will one day be a blank red box. */
.ata-acct-banner a.ata-btn{display:inline-block;flex:none;padding:10px 18px;border-radius:8px;
  background:var(--red);border:1.5px solid var(--red);color:#fff;font-size:13px;font-weight:700;
  line-height:1.25;text-decoration:none;white-space:nowrap;transition:.18s var(--ease)}
.ata-acct-banner a.ata-btn:hover{background:var(--red-dark);border-color:var(--red-dark);color:#fff}

/* ---------- My Account, properly styled ---------- */
.woocommerce-account .woocommerce{max-width:1100px;margin:0 auto}
.woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto}
.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
@media(min-width:860px){
  .woocommerce-account .woocommerce::after{content:"";display:table;clear:both}
  .woocommerce-account .woocommerce-MyAccount-navigation{float:left;width:230px}
  .woocommerce-account .woocommerce-MyAccount-content{float:right;width:calc(100% - 268px)}
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;
  border:1px solid var(--n200);border-radius:12px;overflow:hidden;background:#fff}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--n100)}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;
  color:var(--n700);text-decoration:none;font-size:13.5px;font-weight:600;border-left:3px solid transparent;transition:.16s}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--n50);color:var(--navy)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--n50);color:var(--navy);border-left-color:var(--red)}
.woocommerce-account .woocommerce-MyAccount-content h2{font-size:20px;color:var(--navy);margin:0 0 14px}
.woocommerce-account .woocommerce-MyAccount-content p{color:var(--n600);font-size:14px}
/* ---------- WooCommerce notices ----------
   Only .woocommerce-info and .woocommerce-Message were being touched, so success
   and error notices kept WooCommerce's own grey box and icon font — foreign next
   to everything else on the site. These are the same shapes the console and the
   trade application use, so a notice looks the same wherever it appears. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-Message,
.woocommerce-account .woocommerce-Message,
.woocommerce-account .woocommerce-info{
  list-style:none;margin:0 0 22px;padding:14px 18px;border:1px solid;border-top-width:1px;
  border-radius:10px;font-size:14px;line-height:1.6;display:flex;flex-wrap:wrap;
  align-items:center;gap:10px 14px;background:#eef4fb;border-color:#cddef2;color:#1d4275}

/* WooCommerce puts its own icon in via a pseudo-element and an icon font. */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
.woocommerce-Message::before{content:none!important;display:none!important}

.woocommerce-message,
.woocommerce-account .woocommerce-Message{background:#e9f6ef;border-color:#bfe3ce;color:#12693d}
.woocommerce-error{background:#fdeeed;border-color:#f5cfcd;color:#8d1d17;flex-direction:column;align-items:flex-start}
.woocommerce-error li{margin:0;padding:2px 0;width:100%}

/* The "View cart" / "Continue" button WooCommerce drops inside a notice. */
.woocommerce-message .button,
.woocommerce-info .button{margin-left:auto;order:2;padding:8px 15px;font-size:13px}

.woocommerce-notices-wrapper{margin-bottom:4px}
.woocommerce-account table.shop_table{border:1px solid var(--n200);border-radius:11px;overflow:hidden;font-size:13.5px}
.woocommerce-account table.shop_table th{background:var(--n50);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--n500)}
.woocommerce form.login,.woocommerce form.register{border:1px solid var(--n200);border-radius:12px;padding:22px}
.woocommerce form .form-row input.input-text{padding:10px 12px;border:1.5px solid var(--n200);border-radius:7px;font:inherit}
.woocommerce form .form-row input.input-text:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 3px rgba(22,50,89,.09)}

/* ==========================================================================
   Coverage fixes — classes the templates emit that had no rule at all.
   Found by auditing every class used in markup against every class defined
   in CSS, after three separate "it renders unstyled" reports.
   ========================================================================== */

/* ---- article / page content (index.php, page.php, single.php, 404.php) ----
   These had NO styling, so every non-shop page fell back to browser defaults. */
.t5-main--text{max-width:820px;margin:0 auto;padding:36px 0 60px}
.t5-entry{background:#fff}
.t5-entry__title{font-size:33px;line-height:1.15;color:var(--navy);margin:0 0 18px;letter-spacing:-.015em}
.t5-entry__content{font-size:16px;line-height:1.75;color:var(--n700)}
.t5-entry__content > *:first-child{margin-top:0}
.t5-entry__content h2{font-size:23px;color:var(--navy);margin:34px 0 12px;line-height:1.25}
.t5-entry__content h3{font-size:18px;color:var(--navy);margin:26px 0 10px}
.t5-entry__content p{margin:0 0 17px}
.t5-entry__content ul,.t5-entry__content ol{margin:0 0 17px;padding-left:22px}
.t5-entry__content li{margin-bottom:6px}
.t5-entry__content a{color:var(--red);text-decoration:underline;text-underline-offset:2px}
.t5-entry__content a:hover{color:var(--red-dark)}
/* ...but not the ones that are buttons.
   My Account, the cart and the trade application are ordinary pages, so their
   whole contents render inside .t5-entry__content. That rule above is two
   selector parts and beat the single-class .ata-btn--primary, which painted
   the "Go to Console" button's label red on its own red background — a solid
   red rectangle with the text still there and completely unreadable. */
.t5-entry__content a.ata-btn,
.t5-entry__content a.button,
.t5-entry__content a.ata-headerbtn{text-decoration:none}
.t5-entry__content a.ata-btn{color:var(--navy)}
.t5-entry__content a.ata-btn--primary,
.t5-entry__content a.button{color:#fff}
.t5-entry__content img{max-width:100%;height:auto;border-radius:10px}
.t5-entry__content blockquote{margin:22px 0;padding:4px 0 4px 18px;border-left:3px solid var(--red);color:var(--n500);font-style:italic}
.t5-entry__content table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:14.5px}
.t5-entry__content th,.t5-entry__content td{padding:9px 12px;border:1px solid var(--n200);text-align:left}
.t5-entry__content th{background:var(--n50);color:var(--navy);font-weight:700}
.t5-entry__content code{background:var(--n100);padding:2px 6px;border-radius:4px;font-size:.9em}

/* ---- header ---- */
.t5-header__top{background:#fff;border-bottom:1px solid var(--n200)}
.t5-cart{position:relative}

/* ---- footer nav ---- */
.t5-footer__nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.t5-footer__nav a{color:#b8cbe0;text-decoration:none;font-size:13.5px}
.t5-footer__nav a:hover{color:#fff}

/* ---- mega menu inner ---- */
.t5-mega__inner{max-width:1200px;margin:0 auto;padding:26px 24px;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:22px}

/* ---- bulk quantity hint on a product page ---- */
.t5-bulk-hint{margin:8px 0 0;font-size:13px;color:var(--n500);line-height:1.5}
.t5-bulk-hint[hidden]{display:none}

/* ---- trade price badge ----
   The trade plugin emits .ata-trade-flag; this theme styled only .t5-trade-flag,
   so the badge rendered as bare text on the shop. Both are covered now. */
.ata-trade-flag{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;background:var(--navy);color:#fff;padding:2px 6px;border-radius:4px;vertical-align:middle}

/* ==========================================================================
   Block widgets.
   WordPress renders widgets as blocks now, with wp-block-* markup that ignores
   a sidebar's before_title argument. The theme's .t5-widget__title rules never
   matched, so widget headings and lists fell back to browser defaults.
   ========================================================================== */
.t5-widget h2,.t5-widget h3,.t5-widget .wp-block-heading{
  font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  color:var(--navy);margin:0 0 8px}
.t5-widget ul,.t5-widget ol,.t5-widget .wp-block-page-list,
.t5-widget .wp-block-categories-list,.t5-widget .wp-block-archives-list{
  list-style:none;margin:0;padding:0;font-size:13px}
.t5-widget li{padding:3px 0}
.t5-widget .wp-block-search__inside-wrapper{display:flex;gap:6px}
.t5-widget .wp-block-search__input{flex:1;min-width:0;padding:8px 10px;border:1.5px solid var(--n200);border-radius:7px;font:inherit;font-size:13px}
.t5-widget .wp-block-search__button{background:var(--navy);color:#fff;border:0;border-radius:7px;padding:8px 14px;font-weight:700;font-size:13px;cursor:pointer}

.t5-fwidget h2,.t5-fwidget h3,.t5-fwidget .wp-block-heading{
  font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin:0 0 10px}
.t5-fwidget ul,.t5-fwidget ol,.t5-fwidget .wp-block-page-list,
.t5-fwidget .wp-block-categories-list,.t5-fwidget .wp-block-archives-list{
  list-style:none;margin:0;padding:0;font-size:13.5px}
.t5-fwidget li{padding:3px 0}
.t5-fwidget a{color:#b8cbe0;text-decoration:none}
.t5-fwidget a:hover{color:#fff}
.t5-fwidget .wp-block-search__input{width:100%;padding:8px 10px;border:1px solid rgba(255,255,255,.25);
  border-radius:7px;background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:13px}
.t5-fwidget .wp-block-search__button{background:var(--red);color:#fff;border:0;border-radius:7px;padding:8px 14px;font-weight:700;cursor:pointer;margin-top:6px}

/* wrappers whose children were styled but which had no rule of their own */
.ata-list{background:#fff}
table.ata-quotes{width:100%;border-collapse:collapse;font-size:14px}


/* ==========================================================================
   Cart, checkout and account layout.

   woocommerce-layout.css is dequeued because its float grid turned every
   product card into a 22%-wide sliver inside our CSS grid. But that stylesheet
   is ALSO what lays out the cart totals block, the checkout's two columns and
   the order tables — so removing it left those pages unarranged. This puts the
   layout back, done with grid instead of floats.
   ========================================================================== */

/* ---- cart ---- */
.woocommerce-cart-form{margin-bottom:28px}
.woocommerce-cart-form table.shop_table{width:100%;border-collapse:collapse;font-size:14px;
  border:1px solid var(--n200);border-radius:12px;overflow:hidden;margin-bottom:0}
.woocommerce-cart-form table.shop_table th{background:var(--n50);color:var(--navy);font-weight:750;
  font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;padding:12px 16px;text-align:left;border:0}
.woocommerce-cart-form table.shop_table td{padding:16px;border:0;border-top:1px solid var(--n100);
  color:var(--n700);vertical-align:middle}
.woocommerce-cart-form table.shop_table td.product-name a{color:var(--navy);font-weight:650;text-decoration:none}
.woocommerce-cart-form table.shop_table td.product-name a:hover{color:var(--red)}
.woocommerce-cart-form table.shop_table td.product-price,
.woocommerce-cart-form table.shop_table td.product-subtotal{text-align:right;font-variant-numeric:tabular-nums}
.woocommerce-cart-form table.shop_table th.product-price,
.woocommerce-cart-form table.shop_table th.product-subtotal{text-align:right}
.woocommerce-cart-form table.shop_table td.product-subtotal{font-weight:750;color:var(--navy)}
.woocommerce-cart-form table.shop_table td.product-remove{width:44px;text-align:center}
.woocommerce-cart-form table.shop_table td.product-thumbnail{width:74px}
.woocommerce-cart-form table.shop_table td.product-thumbnail img{width:58px;height:58px;object-fit:contain;
  border:1px solid var(--n200);border-radius:8px;background:#fff}
.woocommerce-cart-form table.shop_table .quantity input{width:66px;padding:8px 10px;border:1.5px solid var(--n200);
  border-radius:7px;font:inherit;font-size:14px;text-align:center}
.woocommerce-cart-form table.shop_table td.actions{padding:0;border-top:1px solid var(--n200);background:var(--n50)}

.woocommerce .cart .actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:16px}

.cart-collaterals{display:flex;justify-content:flex-end}
.cart-collaterals .cart_totals{width:100%;max-width:420px;border:1px solid var(--n200);
  border-radius:12px;padding:20px 22px;background:#fff;box-shadow:var(--sh-sm,0 1px 2px rgba(22,50,89,.06))}
.cart-collaterals .cart_totals h2{font-size:16px;color:var(--navy);margin:0 0 14px}
.cart-collaterals .cart_totals table{width:100%;border-collapse:collapse;font-size:14px;margin:0}
.cart-collaterals .cart_totals th,
.cart-collaterals .cart_totals td{padding:9px 0;text-align:left;border:0;border-bottom:1px solid var(--n100);vertical-align:top}
.cart-collaterals .cart_totals th{color:var(--n500);font-weight:650;width:44%}
.cart-collaterals .cart_totals td{text-align:right;color:var(--navy);font-weight:650}
.cart-collaterals .cart_totals tr.order-total th,
.cart-collaterals .cart_totals tr.order-total td{border-bottom:0;padding-top:14px;font-size:17px;font-weight:800;color:var(--navy)}
.cart-collaterals .cart_totals .woocommerce-shipping-methods{list-style:none;margin:0;padding:0;text-align:right}
.cart-collaterals .cart_totals .woocommerce-shipping-methods li{padding:3px 0}

.wc-proceed-to-checkout{margin-top:18px;padding:0}
.wc-proceed-to-checkout a.checkout-button{display:block;width:100%;text-align:center;
  background:var(--red);color:#fff;border-radius:9px;padding:14px 20px;font-size:15px;
  font-weight:800;text-decoration:none;border:0;transition:.2s var(--ease)}
.wc-proceed-to-checkout a.checkout-button:hover{background:var(--red-dark);color:#fff;
  transform:translateY(-1px);box-shadow:0 8px 22px rgba(237,28,36,.28)}

.woocommerce .cart .actions .coupon{display:flex;gap:8px;flex:1;min-width:240px}
.woocommerce .cart .actions .coupon input{flex:1;min-width:0;padding:10px 12px;border:1.5px solid var(--n200);border-radius:8px;font:inherit;font-size:14px}

/* ---- checkout ---- */
.woocommerce .col2-set,
.woocommerce-page .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:32px;width:auto}
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-1,
.woocommerce-page .col2-set .col-2{width:auto;float:none}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3{font-size:17px;color:var(--navy);margin:0 0 14px}
#order_review_heading{font-size:17px;color:var(--navy);margin:32px 0 14px}
#order_review{border:1px solid var(--n200);border-radius:12px;padding:20px 22px;background:#fff}
#order_review table.shop_table{width:100%;border-collapse:collapse;font-size:14px}
#order_review table.shop_table th,
#order_review table.shop_table td{padding:9px 0;border:0;border-bottom:1px solid var(--n100)}
#order_review table.shop_table td{text-align:right}
#order_review tfoot tr:last-child th,
#order_review tfoot tr:last-child td{border-bottom:0;font-size:17px;font-weight:800;color:var(--navy);padding-top:14px}
#payment{margin-top:20px}
#payment ul.payment_methods{list-style:none;margin:0 0 18px;padding:0;border:0}
#payment ul.payment_methods li{padding:12px 14px;border:1.5px solid var(--n200);border-radius:9px;margin-bottom:10px}
#payment ul.payment_methods li.woocommerce-info{margin-bottom:10px}
#payment div.payment_box{margin-top:10px;font-size:13.5px;color:var(--n500);line-height:1.6;background:none;padding:0}
#payment div.payment_box::before{display:none}
#place_order{width:100%;background:var(--red);color:#fff;border:0;border-radius:9px;
  padding:15px 20px;font-size:15.5px;font-weight:800;cursor:pointer;transition:.2s var(--ease)}
#place_order:hover{background:var(--red-dark);transform:translateY(-1px);box-shadow:0 8px 22px rgba(237,28,36,.28)}

/* ---- thank-you and account order tables ---- */
.woocommerce-order .order_details,
ul.order_details{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:14px;margin:0 0 26px;padding:18px 20px;border:1px solid var(--n200);border-radius:12px;background:var(--n50)}
ul.order_details li{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--n500);border:0;padding:0}
ul.order_details li strong{display:block;margin-top:5px;font-size:15px;font-weight:750;letter-spacing:0;text-transform:none;color:var(--navy)}

table.woocommerce-orders-table,
table.woocommerce-table--order-details{width:100%;border-collapse:collapse;font-size:14px;
  border:1px solid var(--n200);border-radius:11px;overflow:hidden}
table.woocommerce-orders-table th,
table.woocommerce-table--order-details th{background:var(--n50);color:var(--navy);font-weight:750;
  font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:11px 14px;text-align:left}
table.woocommerce-orders-table td,
table.woocommerce-table--order-details td{padding:12px 14px;border-top:1px solid var(--n100);color:var(--n700)}

@media(max-width:860px){
  .woocommerce .col2-set,.woocommerce-page .col2-set{grid-template-columns:1fr;gap:8px}
  .cart-collaterals .cart_totals{max-width:none}
}

/* the password mode block on Enroll a company */
.ata-radioset{border-top:1px solid var(--n100);margin-top:14px;padding-top:14px}
.ata-radioset .ata-check{border:0;padding:6px 0;margin-bottom:0}
.ata-radioset .ata-check:hover{border-color:transparent}
.ata-radioset .ata-dim{margin:0 0 10px 25px}
.ata-radioset input[type=radio]{width:16px;height:16px;accent-color:var(--red)}

/* product type above the title on a single product */
.t5-type-eyebrow{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;color:var(--red);text-decoration:none;margin:0 0 8px}
.t5-type-eyebrow:hover{color:var(--red-dark);text-decoration:underline;text-underline-offset:3px}
