/* ==================================================================
   A2B OFFICE — ORGANISED EVOLUTIONX STYLESHEET
   Legacy theme overrides followed by isolated A2B V2 components.
   Developed by WebWorks Media — https://www.webworksmedia.co.uk
   ================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800;900&family=Poppins:wght@400;500;600;700;800&display=swap");
/* ==================================================================
   TABLE OF CONTENTS
   01. Global typography, prices and VAT labels
   02. Buttons, links and interaction states
   03. Legacy header, search and logo
   04. Legacy layout widgets, dividers and captcha
   05. Legacy main navigation and catalogue menu
   06. Legacy filters and breadcrumbs
   07. Product detail, product cards and pricing
   08. Footer, content widgets and shopping cart
   09. Blog, stock and general content
   10. Sitemap and legacy menu support
   11. Legacy topbar, navigation accents and logo
   12. A2B V2 header and responsive mega menu
   13. A2B V2 50px benefits and reviews strip
   14. A2B V2 homepage — latest blog posts
   15. Bestsellers — EvolutionX product-tile image markup
   16. A2B V2 homepage category bento grid
   17. A2B V2 EvolutionX category and product listing
   18. A2B V2 homepage hero
   19. A2B V2 hero — EvolutionX compatibility lock
   20. A2B V2 hero — tablet/mobile image aspect-ratio fix
   21. A2B V2 — homepage shop by category
   22. A2B V2 — homepage bestsellers carousel
   23. Bestsellers — EvolutionX purchase-control visibility
   24. Bestsellers — card information layout
   25. Bestsellers — inline quick list + compare
   26. Bestsellers — hide quick list + compare
   27. Bestsellers — live stock quantity
   28. Bestsellers — transparent section + definitive stock display
   29. Bestsellers — responsive carousel correction
   30. Bestsellers — Owl carousel responsive support
   31. Homepage — dynamic brand wall
   32. Homepage — editorial content / SEO section
   33. A2B V2 — EvolutionX footer
   34. A2B V2 footer — EvolutionX outer spacing reset
   35. A2B V2 footer — consistent contact icons
   36. A2B V2 — EvolutionX Ink & Toner Finder
   37. Category WYSIWYG — formatted copy and See more control
   38. Header overlays — keep EvolutionX panels above HEADERNAV
   ================================================================== */
/* ==================================================================
   01. GLOBAL TYPOGRAPHY, PRICES AND VAT LABELS
   ================================================================== */
.price .has-price::after,
.price.has-price::after,
.price-label.has-price::after {
  content: " ex VAT";
  color: #000;
  font-size: small;
}
.price .has-price::after {
  color: #fff;
}
body {
  color: #292c2e;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 0.9em;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}
/* ==================================================================
   02. BUTTONS, LINKS AND INTERACTION STATES
   ================================================================== */
.shop-filters .filter-section .categories li a:hover {
  background-color: #8ad000;
  padding-top: 3px;
  padding-bottom: 3px;
}
.addtoquickorderbtn:hover {
  color: #fff;
}
.btn-block:hover {
  color: #fff;
}
/* ==================================================================
   03. LEGACY HEADER, SEARCH AND LOGO
   ================================================================== */
header .header-full .widgetsearch.search {
  margin: 15px 0;
  top: 0;
  left: 6em;
  right: 6em;
  position: relative;
}
.widgetlogo img {
  width: 160%;
  max-width: 200px;
  max-height: 100px;
}
@media screen and (min-width: 769px) {
  #container {
    display: none;
  }
  header .header-mobile .logo img {
    max-width: 100%;
  }
}
@media only screen and (max-width: 425px) {
  header .header-mobile .logo img {
    max-width: 100%;
  }
}
/* ==================================================================
   04. LEGACY LAYOUT WIDGETS, DIVIDERS AND CAPTCHA
   ================================================================== */
div#htmlcontent_101585 {
  display: none;
}
div#contentblock_101564 {
  width: 100%;
}
hr {
  margin-left: -15px;
  margin-right: -15px;
}
hr.grey {
  margin-top: 0;
  margin-bottom: 0;
  border-top: 1px solid #424242;
}
hr.tgrey {
  margin-top: 0;
  margin-bottom: 0;
  border-top: 1px solid #cccccc;
}
hr.footer {
  margin-top: 0;
  margin-bottom: 0.5px;
  border-top: 1px solid #8ad000;
  padding-top: 5px;
  padding-bottom: 5px;
}
.container-fluid.headersection-7 {
  display: none;
}
.headersection-1 .btn-outlined-invert {
  color: #ff6000;
  font-weight: 400;
  display: inline-block;
}
.header-news {
  padding: 5px 0 0;
  font-size: 0.9em;
}
header section.search .search-form .form-group input {
  height: 36px;
  padding-right: 38px;
  background: #fff;
  border-width: 1px;
  border-style: solid;
  border-radius: 10px;
}
.g-recaptcha {
  margin: 0 0 20px;
}
/* ==================================================================
   05. LEGACY MAIN NAVIGATION AND CATALOGUE MENU
   ================================================================== */
.menu {
  background: #262626;
}
.menu .main li a,
.menu .catalog li a {
  color: #8ad000;
}
.menu .main li:hover a,
.menu .catalog li:hover a {
  color: #99cb32;
}
.menu .main .submenu,
.menu .catalog .submenu {
  background: #99cb32;
  border: 1px solid #262626;
}
.menu .main .submenu li:hover,
.menu .catalog .submenu li:hover {
  background: #8ad000;
}
.menu .main .submenu li a,
.menu .catalog .submenu li a {
  color: #262626;
}
.menu .catalog-block {
  background: #262626;
}
.menu .catalog li:hover {
  background-color: #8ad000;
}
.menu .catalog li:hover a {
  -webkit-transition: none;
  -moz-transition: none;
  transition: none;
  color: #fff;
}
.menu .catalog li a {
  color: #fff;
}
.menu .catalog li .submenu {
  background: #262626;
  border: 1px solid #262626;
}
.menu .catalog li .submenu li {
  border-top: 1px solid #fff;
}
.menu .catalog li .submenu li:hover {
  background: #8ad000;
}
.menu .catalog li .submenu .sub-submenu li {
  border-top: 1px solid #fff;
}
.menu .catalog li .submenu .sub-submenu li a {
  color: #8ad000;
}
.menu .catalog li .submenu .sub-submenu li:after {
  border-top: 1px solid #fff;
}
.menu .catalog li .submenu .sub-submenu li:hover {
  background: #fff;
}
.menu .catalog li .submenu .offer .btn {
  background: #fff;
}
.menu .container li.menuitem:hover {
  background-color: #262626;
}
.menu-toggle {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  color: #fff;
  -webkit-transition: background 0.3s;
  -moz-transition: background 0.3s;
  transition: background 0.3s;
}
/* ==================================================================
   06. LEGACY FILTERS AND BREADCRUMBS
   ================================================================== */
.shop-filters .filter-section .categories li a {
  color: #000;
  font-size: 1em;
  text-decoration-style: solid;
  text-decoration-color: #000;
}
.shop-filters {
  background: #e9e9e9;
  border: 1px solid #0003;
}
.breadcrumb > .breadcrumb_home > a {
  color: #000;
  font-weight: 700;
}
.shop-filters .filter-title {
  background: #262626;
  color: #8ad000;
  padding: 18px 15px;
  border-radius: 8px 8px 0 0;
  font-size: 1.2rem;
  letter-spacing: 0;
  font-weight: 900;
  text-align: center;
  position: relative;
  bottom: 8px;
}
.filter-section-header {
  color: #8ad000;
}
.breadcrumb > li a {
  color: #262626;
  text-decoration: underline;
  font-style: italic;
}
/* ==================================================================
   07. PRODUCT DETAIL, PRODUCT CARDS AND PRICING
   ================================================================== */
.label-focus {
  background: #8ad000;
  text-transform: uppercase;
  font-size: 1.1em;
  font-family: "Poppins", Arial, sans-serif;
}
.col-sm-12.form-group.product-description {
  font-family: "Poppins", Arial, sans-serif;
  font-size: 1.1em;
}
.catalog-single .product-brand a {
  font-size: 1.2em;
  font-weight: 900;
  color: #8ad000;
  text-transform: uppercase;
}
.catalog-single .product-points {
  margin-bottom: 15px;
  padding-top: 20px;
  font-size: 1.2em;
  border: #f5f5f5;
  border-top-style: solid;
  border-width: 2px;
}
.toolbar .cart-btn > .btn {
  background: #8ad000;
  -webkit-transition: none;
  -moz-transition: none;
  transition: none;
}
/* ==================================================================
   08. FOOTER, CONTENT WIDGETS AND SHOPPING CART
   ================================================================== */
.subscr-widget {
  color: #000;
  padding: 35px 0;
  background: #8ad000;
}
.footer__contactHours {
  font-family: "Poppins", Arial, sans-serif;
  font-size: 1em;
}
.zonebottom {
  background-color: #000;
}
.toolbar .cart-btn:hover > .btn i {
  color: #8ad000;
}
.content-padding {
  margin: 20px;
  padding: 20px;
  border: #929eaa;
  border-style: none;
  border-width: 1px;
}
.latest-deals {
  text-align: left;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 2.4em;
  color: #ff6f69;
}
.merchandisingcontent_container .catalog-single {
  padding: 0;
  margin-top: 7px;
  margin-bottom: 0;
}
.price.has-price {
  color: #f00;
}
.price-label-inc-vat.with-value {
  font-style: italic;
}
.catalog-single h3 {
  font-size: 1.4em;
  color: #8ad000;
  font-style: normal;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
}
.footer__contactPhone {
  font-family: "Poppins", Arial, sans-serif;
  font-size: 3em;
  color: #8ad000;
  font-weight: 900;
}
.brand-label a:link,
.brand-label a:visited {
  color: #8ad000 !important;
}
.catalog-grid .tile .product-name,
.catalog-single .tile .product-name,
.productgridfull .product-name,
.productgridwidget .product-name {
  font-weight: 900;
  font-size: 1em;
}
.catalog-single .price {
  display: inline-block;
  font-size: 1.8em;
  font-weight: 900;
  background: #f44336;
  border-radius: 0.3em;
  padding: 0.4em 1em;
  font-family: "Poppins", Arial, sans-serif;
  color: #fff;
}
.btn-sm {
  font-size: 1.2em;
}
.btn-primary {
  background: #8ad000;
  color: #fff;
  font-family: "Poppins", Arial, sans-serif;
}
.catalog-single
  .product-shopping-actions
  .product-shopping-actions-addtocart
  button,
.catalog-single .quick-product .productdetails button {
  margin-bottom: 10px;
  margin-right: 0;
  padding-left: 2em;
  padding-right: 2em;
  border: black;
  border-style: dotted;
  border-width: 1px;
  border-radius: 5px;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  text-transform: uppercase;
}
.catalog-single .tile .footer span {
  display: block;
  font-size: 0.875em;
  color: #000;
  font-weight: 400;
}
.inktonerfinder_wrapper {
  background-color: #e6e6e6;
  width: 100%;
}
.footer-header {
  font-family: "Montserrat", Arial, sans-serif;
}
.in-stock {
  background-color: black;
  color: white;
  padding-right: 10px;
  padding-left: 10px;
  padding-bottom: 3px;
  padding-top: 3px;
  border-radius: 5px;
}
.content.title h1 {
  color: #000;
  font-style: normal;
  font-weight: 900;
  font-family: "Montserrat", sans-serif;
  font-size: 2em;
}
.cheap-office-supplies {
  font-family: "Poppins", Arial, sans-serif;
  color: #8ad000;
}
.social a {
  display: inline-block;
  margin: 1px 7px;
  font-size: 1.2em;
  line-height: 0.5;
  transition: 0.3s;
}
.footer-spacing {
  padding-top: 25px;
}
.catalog-single h1 {
  font-size: 1.6em;
  color: #000;
  font-style: normal;
  font-weight: 900;
  font-family: "Montserrat", sans-serif;
}
.review-us {
  vertical-align: text-top;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 1em;
  color: #8ad000;
}
.cart-dropdown .footer .btn.btn-outlined-invert {
  color: #262626;
}
.shopping-cart table td.total .content_value {
  background: #efefef;
  border-radius: 5px;
  padding: 10px;
  margin: auto 10px;
}
.home-welcome {
  font-size: 1.1em;
}
/* ==================================================================
   09. BLOG, STOCK AND GENERAL CONTENT
   ================================================================== */
.blog-style h1,
.blog-style h2,
.blog-style h4 {
  color: #8ad000;
  font-style: normal;
  font-family: "Montserrat", sans-serif;
}
.blog-style a:hover {
  color: #8ad000;
}
.blog-style a:active {
  color: #f00;
  text-decoration: underline;
}
.out-stock {
  color: #d22f25;
}
/* ==================================================================
   10. SITEMAP AND LEGACY MENU SUPPORT
   ================================================================== */
/* Keep the eighth and later menu items visible on smaller screens. */
.header-full .menu .catalog > li:nth-child(n + 8) {
  display: inline-block;
}
div#container .submenucontainer {
  height: 800px;
}
.officesuppliesgreen {
  color: green;
}
.sitemaptable {
  display: flex;
  flex-wrap: wrap;
}
.sitemaptable .column {
  flex: 1;
  padding: 20px;
  border: 1px solid #ddd;
  text-align: left;
}
.sitemaptable h2 {
  padding-top: 15px;
  font-size: 1.2em;
  padding-bottom: 20px;
}
.sitemaptable li strong {
  padding-bottom: 15px;
  display: block;
}
@media (max-width: 600px) {
  .sitemaptable .column {
    flex-basis: 100%;
  }
}
/* ==================================================================
   11. LEGACY TOPBAR, NAVIGATION ACCENTS AND LOGO
   ================================================================== */
/* Legacy full-width topbar. */
.a2b-topbar-widget {
  margin: 0;
  padding: 0;
}
.a2b-topbar,
.a2b-topbar *,
.a2b-topbar *::before,
.a2b-topbar *::after {
  box-sizing: border-box;
}
.a2b-topbar {
  /* Full-bleed fallback in case this widget sits inside a boxed/padded row.
     If your Layouts row is already set to "full width", you can delete the
     next 4 lines and just rely on width: 100%. */
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background: #101e3d;
  color: #cfd6e6;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(6px, 1vw, 12px);
  font-size: clamp(0.7rem, 0.9vw, 0.85rem);
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: max(20px, env(safe-area-inset-left));
  padding-right: max(20px, env(safe-area-inset-right));
}
.a2b-topbar-left {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: clamp(12px, 2vw, 24px);
  flex-wrap: wrap;
}
.a2b-topbar-left li {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.a2b-topbar-right {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  white-space: nowrap;
}
.a2b-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  vertical-align: middle;
  margin-right: 6px;
}
.a2b-stars {
  color: #00b67a;
  letter-spacing: 1px;
}
/* Large desktop / wide monitors — let padding breathe */
@media (min-width: 1441px) {
  .a2b-topbar {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}
/* Small laptops / narrow desktop */
@media (max-width: 1200px) {
  .a2b-topbar-left {
    gap: 14px;
  }
}
/* Tablet landscape — drop the least essential item first */
@media (max-width: 1024px) {
  .a2b-topbar-left li:nth-child(3) {
    display: none;
  }
  /* Friendly UK Support */
}
/* Tablet portrait — keep delivery + Trustpilot only */
@media (max-width: 900px) {
  .a2b-topbar-left li:nth-child(2) {
    display: none;
  }
  /* Trade Accounts */
}
/* Phones — hide the strip, keep just the rating so it doesn't crowd the logo row */
@media (max-width: 640px) {
  .a2b-topbar-left {
    display: none;
  }
  .a2b-topbar {
    justify-content: center;
  }
}
/* Small phones — trim the rating text further */
@media (max-width: 380px) {
  .a2b-topbar-right span:first-child {
    display: none;
  }
  /* "Excellent" */
}
/* ============ Stand-out nav tabs ============ */
.additional_links li:nth-last-of-type(2) {
  background-color: #f5821f;
  /* SALE */
}
.additional_links li:nth-last-of-type(1) {
  background-color: #f2a900;
  /* CLEARANCE */
  color: #101e3d;
}
/* ============ Logo — scales fluidly instead of one fixed size ============ */
.header-logo img,
.logo img {
  max-height: clamp(32px, 4vw, 48px);
  width: auto;
}
/* ==================================================================
   12. A2B V2 HEADER AND RESPONSIVE MEGA MENU
   Isolated variables, native header enhancements and navigation.
   ================================================================== */
:root {
  --a2bv2-navy: #061c3b;
  --a2bv2-navy-2: #0a2d5d;
  --a2bv2-blue: #075ecf;
  --a2bv2-green: #4ea90b;
  --a2bv2-lime: #79c91f;
}
.a2bv2-header-extras,
.a2bv2-header-extras * {
  box-sizing: border-box;
}
.a2bv2-header-extras {
  position: relative;
  z-index: 50;
  color: #fff;
  font-family: "Poppins", Arial, sans-serif;
}
.a2bv2-header-extras a {
  color: inherit;
  text-decoration: none;
}
.a2bv2-header-extras h1,
.a2bv2-header-extras h2,
.a2bv2-header-extras h3,
.a2bv2-header-extras h4 {
  font-family: "Montserrat", "Poppins", Arial, sans-serif;
}
.a2bv2-shell {
  width: min(1180px, calc(100% - 32px));
  margin-inline: auto;
}
/* 12A. EvolutionX native logo, search and account-tools row. */
body.a2bv2-header-enabled header .header-full {
  background: #fff;
  border: 0;
  box-shadow: 0 1px 0 #e8edf2;
  font-family: "Poppins", Arial, sans-serif;
}
body.a2bv2-header-enabled header .header-full > .container {
  min-height: 220px;
}
body.a2bv2-header-enabled .header-full .logo img,
body.a2bv2-header-enabled .a2bv2-mh-logo img {
  width: auto !important;
  max-width: 205px !important;
  max-height: 200px !important;
}
body.a2bv2-header-enabled header .searchlist_hd,
body.a2bv2-header-enabled header .searchlistpanel_hd {
  min-height: 50px;
  border: 1px solid #cbd5e1 !important;
  border-radius: 9px 0 0 9px !important;
  color: #526174;
  background: #fff;
  box-shadow: 0 4px 14px rgba(11, 35, 71, 0.06);
  font-family: "Poppins", Arial, sans-serif;
}
body.a2bv2-header-enabled header .input-group-btn .btn,
body.a2bv2-header-enabled header button[type="submit"] {
  min-height: 50px;
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, #0a6cdf, #084aab);
  font-family: "Poppins", Arial, sans-serif;
  font-weight: 700;
}
/* 12B. Compact utility row above the main navigation. */
.a2bv2-utility,
.a2bv2-utility * {
  box-sizing: border-box;
}
.a2bv2-utility {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  color: #fff;
  background: var(--a2bv2-navy);
  font-family: "Poppins", Arial, sans-serif;
}
.a2bv2-utility a {
  color: #fff;
  text-decoration: none;
}
.a2bv2-utility__inner {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  font-size: 12px;
  font-weight: 700;
}
.a2bv2-utility__inner span,
.a2bv2-utility__inner a {
  white-space: nowrap;
}
.a2bv2-utility__inner b {
  margin-right: 5px;
  color: #ffd21f;
}
.a2bv2-utility__rating {
  margin-left: auto;
}
.a2bv2-utility__rating i {
  margin-inline: 7px;
  padding: 3px 5px;
  color: #fff;
  background: #079b68;
  font-style: normal;
  letter-spacing: 2px;
}
/* 12C. Desktop navigation tabs and mega-menu panels. */
.a2bv2-menu-band {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: linear-gradient(90deg, #06182f, #0a2d5d 55%, #071f42);
  box-shadow: 0 8px 25px rgba(1, 15, 35, 0.14);
}
.a2bv2-menu__tabs {
  display: flex;
  align-items: stretch;
  min-height: 52px;
}
.a2bv2-menu__tabs > a,
.a2bv2-menu__tabs > button {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  min-width: 0;
  border: 0;
  padding: 0 12px;
  color: #fff;
  background: transparent;
  font:
    700 12px/1.2 "Poppins",
    Arial,
    sans-serif;
  white-space: nowrap;
  cursor: pointer;
  transition: 0.2s ease;
}
.a2bv2-menu__tabs > button:hover,
.a2bv2-menu__tabs > button.is-active {
  background: rgba(255, 255, 255, 0.1);
}
.a2bv2-menu__tabs > button::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 0;
  left: 16px;
  height: 3px;
  border-radius: 5px 5px 0 0;
  background: var(--a2bv2-accent, var(--a2bv2-lime));
  opacity: 0;
  transform: scaleX(0.2);
  transition: 0.2s ease;
}
.a2bv2-menu__tabs > button:hover::after,
.a2bv2-menu__tabs > button.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}
.a2bv2-menu__home {
  flex: 0 0 55px !important;
  min-width: 55px !important;
  background: linear-gradient(135deg, #78cd22, #3b9207) !important;
  font-size: 22px !important;
}
.a2bv2-menu__mobile-toggle {
  display: none;
  width: 100%;
  min-height: 48px;
  border: 0;
  padding: 0 16px;
  color: #fff;
  background: transparent;
  font-family: "Poppins", Arial, sans-serif;
  font-weight: 700;
  text-align: left;
}
.a2bv2-mega {
  --a2bv2-accent: var(--a2bv2-lime);
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  overflow: hidden;
  padding-top: 28px;
  color: #fff;
  background:
    radial-gradient(
      circle at 12% 10%,
      color-mix(in srgb, var(--a2bv2-accent) 20%, transparent),
      transparent 25%
    ),
    linear-gradient(115deg, #041429 0%, #07264c 55%, #051a36 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 30px 60px rgba(0, 17, 40, 0.4);
  font-family: "Poppins", Arial, sans-serif;
}
.a2bv2-mega h1,
.a2bv2-mega h2,
.a2bv2-mega h3,
.a2bv2-mega h4 {
  font-family: "Montserrat", "Poppins", Arial, sans-serif;
}
.a2bv2-mega p,
.a2bv2-mega a,
.a2bv2-mega span,
.a2bv2-mega small,
.a2bv2-mega strong,
.a2bv2-mega button {
  font-family: "Poppins", Arial, sans-serif;
}
.a2bv2-mega[hidden] {
  display: none !important;
}
.a2bv2-mega__body {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr 2.1fr 0.95fr;
  gap: 30px;
  align-items: stretch;
  padding-bottom: 27px;
}
.a2bv2-mega__route {
  position: absolute;
  inset: 0 auto auto 0;
  width: 34%;
  height: 220px;
  opacity: 0.2;
  pointer-events: none;
}
.a2bv2-mega__route span {
  position: absolute;
  top: 45px;
  left: 40px;
  width: 270px;
  height: 115px;
  border: 3px solid var(--a2bv2-accent);
  border-color: var(--a2bv2-accent) transparent var(--a2bv2-accent)
    var(--a2bv2-accent);
  border-radius: 60% 0 0 50%;
  transform: rotate(-10deg);
  filter: drop-shadow(0 0 7px var(--a2bv2-accent));
}
.a2bv2-mega__route i {
  position: absolute;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 2px solid var(--a2bv2-accent);
  border-radius: 50% 50% 50% 0;
  background: #062044;
  color: #fff;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  transform: rotate(-45deg);
}
.a2bv2-mega__route i:first-child {
  top: 31px;
  left: 33px;
}
.a2bv2-mega__route i:last-child {
  top: 130px;
  left: 300px;
}
.a2bv2-mega__intro {
  position: relative;
  z-index: 1;
  padding: 4px 8px 0 2px;
}
.a2bv2-mega__kicker {
  display: inline-flex;
  padding: 6px 9px;
  border: 1px solid var(--a2bv2-accent);
  border-radius: 999px;
  color: var(--a2bv2-accent);
  background: rgba(0, 0, 0, 0.15);
  text-transform: uppercase;
  letter-spacing: 0.13em;
  font-size: 9px;
  font-weight: 900;
}
.a2bv2-mega__intro p {
  margin: 22px 0 7px;
  color: var(--a2bv2-accent);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  font-weight: 900;
}
.a2bv2-mega__intro h2 {
  max-width: 280px;
  margin: 0 0 20px;
  color: #fff;
  font-size: 26px;
  line-height: 1.12;
  letter-spacing: -0.035em;
}
.a2bv2-mega__intro > a {
  display: inline-flex;
  align-items: center;
  gap: 22px;
  padding: 11px 14px;
  border-radius: 6px;
  color: #071b38;
  background: var(--a2bv2-accent);
  font-size: 11px;
  font-weight: 900;
}
.a2bv2-mega__columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  padding: 8px 26px;
  border-inline: 1px solid rgba(255, 255, 255, 0.12);
}
.a2bv2-mega__column h3 {
  margin: 0 0 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 10px;
}
.a2bv2-mega__column a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 0;
  color: #bcd0e8;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 0.9em;
  font-weight: 600;
  transition: 0.15s ease;
}
.a2bv2-mega__column a > span:last-child {
  color: var(--a2bv2-accent);
  font-size: 17px;
}
.a2bv2-mega__column .a2bv2-link-label {
  color: inherit;
  font-size: inherit;
}
.a2bv2-mega__column a:hover {
  color: #fff;
  transform: translateX(3px);
}
.a2bv2-mega__feature {
  overflow: hidden;
  min-height: 236px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 14px;
  background: linear-gradient(
    150deg,
    rgba(255, 255, 255, 0.11),
    rgba(255, 255, 255, 0.04)
  );
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.2);
}
.a2bv2-mega__image {
  height: 105px;
  overflow: hidden;
  background: #fff;
}
.a2bv2-mega__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.a2bv2-mega__feature-copy {
  padding: 15px 17px 17px;
}
.a2bv2-mega__feature-copy > span {
  color: var(--a2bv2-accent);
  text-transform: uppercase;
  letter-spacing: 0.09em;
  font-size: 9px;
  font-weight: 900;
}
.a2bv2-mega__feature-copy h3 {
  margin: 5px 0 6px;
  color: #fff;
  font-size: 17px;
}
.a2bv2-mega__feature-copy p {
  margin: 0 0 10px;
  color: #b9cbe0;
  font-size: 10px;
  line-height: 1.45;
}
.a2bv2-mega__feature-copy a {
  color: var(--a2bv2-accent);
  font-size: 11px;
  font-weight: 900;
}
.a2bv2-mega__close {
  position: absolute;
  top: -17px;
  right: -4px;
  width: 29px;
  height: 29px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  color: #fff;
  background: rgba(0, 0, 0, 0.25);
  font-size: 20px;
  cursor: pointer;
}
.a2bv2-mega__tools {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.13);
  background: rgba(0, 0, 0, 0.14);
}
.a2bv2-mega__tools > a {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 11px;
  min-height: 72px;
  padding: 12px 18px;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}
.a2bv2-mega__tools > a:first-child {
  border-left: 0;
}
.a2bv2-mega__tools b {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  color: #071b38;
  background: var(--a2bv2-accent);
  font-size: 16px;
}
.a2bv2-mega__tools strong,
.a2bv2-mega__tools small {
  display: block;
}
.a2bv2-mega__tools strong {
  color: #fff;
  font-size: 11px;
}
.a2bv2-mega__tools small {
  margin-top: 3px;
  color: #91aac6;
  font-size: 9px;
}
.a2bv2-mega__tools i {
  color: var(--a2bv2-accent);
  font-style: normal;
}
/* 12D. Tablet and mobile mega-menu behaviour. */
@media (max-width: 1000px) {
  .a2bv2-menu__tabs {
    overflow-x: auto;
  }
  .a2bv2-menu__tabs > a,
  .a2bv2-menu__tabs > button {
    flex: 0 0 auto;
    padding-inline: 14px;
  }
  .a2bv2-mega__body {
    grid-template-columns: 0.9fr 2fr;
  }
  .a2bv2-mega__feature {
    display: none;
  }
}
@media (max-width: 768px) {
  .a2bv2-shell {
    width: min(100% - 24px, 1180px);
  }
  .a2bv2-utility__inner {
    overflow-x: auto;
    justify-content: flex-start;
    min-height: 38px;
  }
  .a2bv2-utility__rating {
    margin-left: 0;
  }
  .a2bv2-menu__mobile-toggle {
    display: block;
  }
  .a2bv2-menu__tabs {
    display: none;
    grid-template-columns: 1fr 1fr;
    overflow: visible;
    padding-bottom: 8px;
  }
  .a2bv2-menu.is-open .a2bv2-menu__tabs {
    display: grid;
  }
  .a2bv2-menu__tabs > a,
  .a2bv2-menu__tabs > button {
    min-height: 46px;
    justify-content: flex-start;
    padding-inline: 15px;
    white-space: normal;
  }
  .a2bv2-menu__home {
    min-width: 0 !important;
  }
  .a2bv2-mega {
    position: static;
    padding-top: 22px;
  }
  .a2bv2-mega__route {
    display: none;
  }
  .a2bv2-mega__body {
    display: block;
  }
  .a2bv2-mega__intro {
    padding: 0 4px 22px;
  }
  .a2bv2-mega__intro h2 {
    max-width: none;
    font-size: 24px;
  }
  .a2bv2-mega__columns {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    padding: 20px 4px;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
  }
  .a2bv2-mega__column:last-child {
    grid-column: 1/-1;
  }
  .a2bv2-mega__feature {
    display: grid;
    grid-template-columns: 115px 1fr;
    min-height: 0;
    margin-top: 4px;
  }
  .a2bv2-mega__image {
    height: 100%;
    min-height: 155px;
  }
  .a2bv2-mega__close {
    top: -14px;
    right: 0;
  }
  .a2bv2-mega__tools {
    grid-template-columns: 1fr 1fr;
  }
  .a2bv2-mega__tools > a:nth-child(3) {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }
  .a2bv2-mega__tools > a:nth-child(4) {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }
}
/* ==================================================================
   13. A2B V2 50PX BENEFITS AND REVIEWS STRIP
   Delivery, accounts, sales support, range and manual review total.
   ================================================================== */
.a2bv2-topstrip,
.a2bv2-topstrip * {
  box-sizing: border-box;
}
.a2bv2-topstrip {
  --a2bv2-strip-blue: #087cff;
  --a2bv2-strip-lime: #8ee328;
  --a2bv2-topstrip-text-size: clamp(10px, 0.83vw, 14px);
  position: relative;
  z-index: 60;
  width: 100vw;
  height: 50px;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  color: #fff;
  background: linear-gradient(90deg, #020e22 0%, #061d42 47%, #03142f 100%);
  border-bottom: 1px solid rgba(36, 142, 255, 0.45);
  box-shadow: 0 5px 18px rgba(0, 14, 38, 0.2);
  font-family: "Poppins", Arial, sans-serif;
}
.a2bv2-topstrip::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.18;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(34, 130, 255, 0.2) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34, 130, 255, 0.16) 1px, transparent 1px);
  background-size: 18px 18px;
  mask-image: linear-gradient(
    90deg,
    #000,
    transparent 15%,
    transparent 85%,
    #000
  );
}
.a2bv2-topstrip::after {
  content: "";
  position: absolute;
  right: -50px;
  bottom: -18px;
  width: 260px;
  height: 30px;
  background: linear-gradient(90deg, transparent, var(--a2bv2-strip-lime));
  filter: blur(8px);
  opacity: 0.42;
  transform: rotate(-10deg);
  pointer-events: none;
}
.a2bv2-topstrip__inner {
  position: relative;
  z-index: 1;
  width: min(1600px, 100%);
  height: 50px;
  margin-inline: auto;
}
.a2bv2-topstrip__track {
  display: grid;
  grid-template-columns: 1.05fr 1.02fr 0.95fr 1.3fr 1.35fr;
  align-items: stretch;
  height: 50px;
}
.a2bv2-topstrip__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-width: 0;
  padding: 4px 16px;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s ease;
}
.a2bv2-topstrip__item + .a2bv2-topstrip__item::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 0;
  width: 1px;
  background: linear-gradient(transparent, #1688ff, transparent);
  box-shadow: 0 0 8px rgba(22, 136, 255, 0.7);
}
.a2bv2-topstrip__item:hover {
  color: #fff;
  text-decoration: none;
  background: rgba(16, 104, 216, 0.12);
}
.a2bv2-topstrip__item:focus-visible {
  outline: 2px solid var(--a2bv2-strip-lime);
  outline-offset: -3px;
}
.a2bv2-topstrip__item strong {
  overflow: hidden;
  color: #fff;
  font:
    700 var(--a2bv2-topstrip-text-size) / 1.15 "Poppins",
    Arial,
    sans-serif;
  text-overflow: ellipsis;
}
.a2bv2-topstrip__icon {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 39px;
  width: 39px;
  height: 39px;
  color: #56b5ff;
  filter: drop-shadow(0 0 5px rgba(17, 135, 255, 0.85));
}
.a2bv2-topstrip__icon::before {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  background: #0c7dff;
  filter: blur(10px);
  opacity: 0.3;
}
.a2bv2-topstrip__icon svg {
  position: relative;
  width: 38px;
  height: 35px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.a2bv2-topstrip__icon .a2bv2-topstrip__speed {
  stroke: var(--a2bv2-strip-lime);
}
.a2bv2-topstrip__icon .a2bv2-topstrip__lime {
  stroke: var(--a2bv2-strip-lime);
}
.a2bv2-topstrip__icon rect.a2bv2-topstrip__lime {
  fill: rgba(142, 227, 40, 0.18);
}
.a2bv2-topstrip__icon .a2bv2-topstrip__spark {
  stroke: #d9ff70;
  stroke-width: 1.6;
}
.a2bv2-topstrip__shield {
  display: grid;
  place-items: center;
  flex: 0 0 37px;
  width: 37px;
  height: 42px;
  filter: drop-shadow(0 0 7px rgba(16, 129, 255, 0.9));
}
.a2bv2-topstrip__shield svg {
  width: 36px;
  height: 40px;
  fill: rgba(7, 91, 177, 0.34);
  stroke: #66baff;
  stroke-width: 2;
}
.a2bv2-topstrip__shield .a2bv2-topstrip__check {
  fill: none;
  stroke: var(--a2bv2-strip-lime);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 3px rgba(142, 227, 40, 0.8));
}
.a2bv2-topstrip__review-copy {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 40px;
}
.a2bv2-topstrip__stars {
  display: flex;
  align-items: center;
  color: #ffc83d;
  font-size: clamp(14px, 1.2vw, 20px);
  line-height: 1;
  letter-spacing: 2px;
  text-shadow: 0 0 8px rgba(255, 188, 36, 0.45);
}
.a2bv2-topstrip__review-copy strong {
  display: flex;
  align-items: center;
  min-height: 40px;
  font-size: var(--a2bv2-topstrip-text-size);
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 1100px) {
  .a2bv2-topstrip {
    --a2bv2-topstrip-text-size: 12px;
  }
  .a2bv2-topstrip__track {
    display: flex;
    width: max-content;
    min-width: 100%;
    overflow: visible;
  }
  .a2bv2-topstrip__inner {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }
  .a2bv2-topstrip__inner::-webkit-scrollbar {
    display: none;
  }
  .a2bv2-topstrip__item {
    flex: 0 0 auto;
    min-width: 215px;
    padding-inline: 18px;
    scroll-snap-align: start;
  }
  .a2bv2-topstrip__item--accounts {
    min-width: 285px;
  }
  .a2bv2-topstrip__item--reviews {
    min-width: 300px;
  }
  .a2bv2-topstrip__item strong {
    font-size: 12px;
  }
}
/* =====================================================================
   14. A2B V2 HOMEPAGE — LATEST BLOG POSTS
   Dynamic WordPress posts widget. All styling is isolated by a2bv2blog.
   ===================================================================== */
.a2bv2blog,
.a2bv2blog * {
  box-sizing: border-box;
}
.a2bv2blog {
  --a2bb-navy: #071f42;
  --a2bb-blue: #0867d8;
  --a2bb-green: #70c900;
  width: 100%;
  margin: 0;
  padding: clamp(42px, 5vw, 72px) 0;
  color: var(--a2bb-navy);
  background: transparent !important;
  font-family: "Poppins", Arial, sans-serif;
}
.a2bv2blog a {
  color: inherit;
  text-decoration: none;
}
.a2bv2blog__shell {
  width: min(1480px, calc(100% - 48px));
  margin: 0 auto;
}
.a2bv2blog__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 28px;
}
.a2bv2blog__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 9px;
  color: #2f8519;
  text-transform: uppercase;
  font:
    800 12px/1.2 "Montserrat",
    "Poppins",
    Arial,
    sans-serif;
  letter-spacing: 0.17em;
}
.a2bv2blog__eyebrow i {
  display: block;
  width: 50px;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--a2bb-green), var(--a2bb-blue));
  box-shadow: 0 4px 13px rgba(8, 103, 216, 0.18);
}
.a2bv2blog__header h2 {
  margin: 0 0 8px !important;
  color: var(--a2bb-navy) !important;
  font:
    850 clamp(34px, 4vw, 58px) / 1.02 "Montserrat",
    "Poppins",
    Arial,
    sans-serif !important;
  letter-spacing: -0.045em;
}
.a2bv2blog__header p {
  max-width: 760px;
  margin: 0 !important;
  color: #64748a !important;
  font:
    400 clamp(14px, 1.25vw, 18px) / 1.65 "Poppins",
    Arial,
    sans-serif !important;
}
.a2bv2blog__all {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 54px;
  padding: 8px 10px 8px 22px;
  border: 1px solid #d8e4f0;
  border-radius: 16px;
  color: var(--a2bb-navy) !important;
  background: #fff;
  font:
    750 13px/1.2 "Montserrat",
    "Poppins",
    Arial,
    sans-serif;
  box-shadow: 0 10px 25px rgba(7, 31, 66, 0.07);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
.a2bv2blog__all span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(135deg, #1684ff, #064eaa);
  font-size: 18px;
  box-shadow: 0 8px 16px rgba(8, 103, 216, 0.2);
}
.a2bv2blog__all:hover {
  transform: translateY(-3px);
  border-color: #b6cce2;
  box-shadow: 0 16px 34px rgba(7, 31, 66, 0.12);
}
.a2bv2blog__posts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: dense;
  gap: 18px;
  width: 100%;
}
.a2bv2blog__post {
  position: relative;
  min-width: 0;
  min-height: 340px;
  overflow: hidden;
  border: 1px solid #dfe7f0;
  border-radius: 23px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(7, 31, 66, 0.07);
  transition:
    transform 0.24s ease,
    border-color 0.24s ease,
    box-shadow 0.24s ease;
}
.a2bv2blog__post::after {
  content: "";
  position: absolute;
  inset: auto 18px 0;
  height: 4px;
  border-radius: 5px 5px 0 0;
  background: linear-gradient(90deg, var(--a2bb-green), var(--a2bb-blue));
  opacity: 0;
  transition: opacity 0.22s ease;
  pointer-events: none;
}
.a2bv2blog__post:nth-child(3n)::after {
  background: linear-gradient(90deg, #ff6b18, #f1b500);
}
.a2bv2blog__post:nth-child(4n)::after {
  background: linear-gradient(90deg, #8a35db, #0867d8);
}
.a2bv2blog__post:hover {
  transform: translateY(-7px);
  border-color: #b9cce0;
  box-shadow: 0 22px 48px rgba(7, 31, 66, 0.14);
}
.a2bv2blog__post:hover::after {
  opacity: 1;
}
.a2bv2blog__post--featured {
  grid-column: span 2;
  grid-row: span 2;
  min-height: 698px;
}
.a2bv2blog__link {
  display: flex;
  height: 100%;
  min-height: inherit;
  flex-direction: column;
}
.a2bv2blog__media {
  position: relative;
  display: grid;
  flex: 0 0 168px;
  min-height: 168px;
  overflow: hidden;
  place-items: center;
  background:
    radial-gradient(circle at 20% 15%, rgba(112, 201, 0, 0.2), transparent 34%),
    linear-gradient(135deg, #eef8ff, #f7fbf1);
}
.a2bv2blog__post--featured .a2bv2blog__media {
  flex-basis: 410px;
  min-height: 410px;
}
.a2bv2blog__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(7, 31, 66, 0.16));
  pointer-events: none;
}
.a2bv2blog__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}
.a2bv2blog__post:hover .a2bv2blog__media img {
  transform: scale(1.045);
}
.a2bv2blog__media--fallback {
  background:
    radial-gradient(
      circle at 20% 15%,
      rgba(112, 201, 0, 0.28),
      transparent 34%
    ),
    radial-gradient(
      circle at 88% 80%,
      rgba(8, 103, 216, 0.25),
      transparent 34%
    ),
    linear-gradient(135deg, #071f42, #0b3972);
}
.a2bv2blog__fallback-icon {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.36);
  border-radius: 21px;
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.16);
}
.a2bv2blog__fallback-icon svg {
  width: 38px;
  height: 38px;
  fill: none;
  stroke: #fff;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.a2bv2blog__body {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  padding: 19px 20px 21px;
}
.a2bv2blog__post--featured .a2bv2blog__body {
  padding: 24px 27px 27px;
}
.a2bv2blog__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  color: #728097;
  font:
    650 10px/1.35 "Poppins",
    Arial,
    sans-serif;
}
.a2bv2blog__meta > span {
  color: var(--a2bb-blue);
  text-transform: uppercase;
  font-family: "Montserrat", "Poppins", Arial, sans-serif;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.a2bv2blog__title {
  display: -webkit-box;
  overflow: hidden;
  color: var(--a2bb-navy);
  font:
    800 16px/1.35 "Montserrat",
    "Poppins",
    Arial,
    sans-serif;
  letter-spacing: -0.018em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.a2bv2blog__post--featured .a2bv2blog__title {
  font-size: clamp(23px, 2vw, 31px);
  line-height: 1.22;
  -webkit-line-clamp: 2;
}
.a2bv2blog__excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 10px;
  color: #64748a;
  font:
    400 12px/1.6 "Poppins",
    Arial,
    sans-serif;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.a2bv2blog__post--featured .a2bv2blog__excerpt {
  font-size: 13px;
  -webkit-line-clamp: 3;
}
.a2bv2blog__action {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 15px;
  color: var(--a2bb-navy);
  font:
    750 11px/1.2 "Montserrat",
    "Poppins",
    Arial,
    sans-serif;
}
.a2bv2blog__action b {
  color: var(--a2bb-green);
  font-size: 18px;
  line-height: 1;
  transition: transform 0.2s ease;
}
.a2bv2blog__post:hover .a2bv2blog__action b {
  transform: translateX(5px);
}
.a2bv2blog__skeleton {
  min-height: 340px;
  border: 1px solid #e2e9f1;
  border-radius: 23px;
  background: linear-gradient(100deg, #f2f5f8 20%, #fff 40%, #f2f5f8 60%);
  background-size: 220% 100%;
  animation: a2bv2blog-shimmer 1.35s linear infinite;
}
.a2bv2blog__skeleton--featured {
  grid-column: span 2;
  grid-row: span 2;
  min-height: 698px;
}
.a2bv2blog__notice {
  grid-column: 1 / -1;
  margin: 0 !important;
  padding: 28px;
  border: 1px solid #dfe7f0;
  border-radius: 18px;
  color: var(--a2bb-navy) !important;
  background: #fff;
  text-align: center;
  font:
    700 14px/1.5 "Poppins",
    Arial,
    sans-serif !important;
}
@keyframes a2bv2blog-shimmer {
  to {
    background-position-x: -220%;
  }
}
@media (max-width: 1100px) {
  .a2bv2blog__posts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .a2bv2blog__post--featured,
  .a2bv2blog__skeleton--featured {
    grid-column: span 2;
    grid-row: auto;
    min-height: 540px;
  }
  .a2bv2blog__post--featured .a2bv2blog__media {
    flex-basis: 320px;
    min-height: 320px;
  }
}
@media (max-width: 700px) {
  .a2bv2blog {
    padding: 38px 0;
  }
  .a2bv2blog__shell {
    width: min(100% - 28px, 1480px);
  }
  .a2bv2blog__header {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 22px;
  }
  .a2bv2blog__header h2 {
    font-size: clamp(32px, 11vw, 43px) !important;
  }
  .a2bv2blog__all {
    min-height: 48px;
    padding-left: 17px;
  }
  .a2bv2blog__all span {
    width: 34px;
    height: 34px;
  }
  .a2bv2blog__posts {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .a2bv2blog__post,
  .a2bv2blog__post--featured,
  .a2bv2blog__skeleton,
  .a2bv2blog__skeleton--featured {
    grid-column: auto;
    grid-row: auto;
    min-height: 0;
    border-radius: 18px;
  }
  .a2bv2blog__media,
  .a2bv2blog__post--featured .a2bv2blog__media {
    flex-basis: 220px;
    min-height: 220px;
  }
  .a2bv2blog__body,
  .a2bv2blog__post--featured .a2bv2blog__body {
    min-height: 220px;
    padding: 18px 17px 20px;
  }
  .a2bv2blog__title,
  .a2bv2blog__post--featured .a2bv2blog__title {
    font-size: 18px;
    line-height: 1.35;
    -webkit-line-clamp: 3;
  }
  .a2bv2blog__excerpt,
  .a2bv2blog__post--featured .a2bv2blog__excerpt {
    font-size: 12px;
    -webkit-line-clamp: 3;
  }
  .a2bv2blog__skeleton {
    min-height: 440px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .a2bv2blog *,
  .a2bv2blog *::before,
  .a2bv2blog *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
/* =====================================================================
   15. BESTSELLERS — EVOLUTIONX PRODUCT-TILE IMAGE MARKUP
   The live widget uses .text-center and .imgthumbnail for its image stage.
   ===================================================================== */
.a2bv2best.a2bv2best .tile > a:first-child {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-decoration: none !important;
}
.a2bv2best.a2bv2best .tile > a:first-child > .text-center {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 230px !important;
  min-height: 230px !important;
  margin: 0 0 14px !important;
  padding: 12px !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.84) !important;
}
.a2bv2best.a2bv2best .tile .imgthumbnail {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.a2bv2best.a2bv2best .tile .imgthumbnail img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 90% !important;
  max-height: 90% !important;
  margin: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}
.a2bv2best.a2bv2best .tile .footer,
.a2bv2best.a2bv2best .tile .footer-wrapper,
.a2bv2best.a2bv2best .tile .footer-wrapper-description,
.a2bv2best.a2bv2best .tile .footer-wrapper-price {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.a2bv2best.a2bv2best .tile .footer-wrapper-description,
.a2bv2best.a2bv2best .tile .footer-wrapper-price {
  position: static !important;
}
.a2bv2best.a2bv2best
  .tile
  :is(
    .brand-label,
    .product-name,
    .product-sku,
    .uom,
    .price-label-inc-vat,
    .rrp
  ) {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}
@media (min-width: 701px) and (max-width: 1100px) {
  .a2bv2best.a2bv2best .tile > a:first-child > .text-center {
    height: 220px !important;
    min-height: 220px !important;
  }
}
@media (max-width: 700px) {
  .a2bv2best.a2bv2best .tile > a:first-child > .text-center {
    height: 210px !important;
    min-height: 210px !important;
    margin-bottom: 12px !important;
    padding: 10px !important;
  }
  .a2bv2best.a2bv2best .tile .imgthumbnail img {
    max-width: 86% !important;
    max-height: 86% !important;
  }
}
@media (max-width: 600px) {
  .a2bv2-topstrip {
    --a2bv2-topstrip-text-size: 12px;
  }
  .a2bv2-topstrip__item {
    min-width: 210px;
    justify-content: flex-start;
  }
  .a2bv2-topstrip__item--accounts {
    min-width: 280px;
  }
  .a2bv2-topstrip__item--reviews {
    min-width: 290px;
  }
  .a2bv2-topstrip__item strong {
    font-size: 12px;
  }
  .a2bv2-topstrip__stars {
    font-size: 17px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .a2bv2-topstrip__item {
    transition: none;
  }
}
/* ==================================================================
   16. A2B V2 HOMEPAGE CATEGORY BENTO GRID
   Responsive category cards, imagery, hover effects and reassurance row.
   ================================================================== */
.a2bv2cats,
.a2bv2cats * {
  box-sizing: border-box;
}
.a2bv2cats {
  --navy: #061c3b;
  --blue: #075fcf;
  --lime: #86d900;
  position: relative;
  overflow: hidden;
  padding: 32px 0 64px;
  color: #11213a;
  background: #fff;
  font-family: "Poppins", Arial, sans-serif;
}
.a2bv2cats::before {
  content: "";
  position: absolute;
  top: -160px;
  left: 50%;
  width: 980px;
  height: 290px;
  border: 1px solid rgba(7, 95, 207, 0.08);
  border-radius: 50%;
  transform: translateX(-50%) rotate(-3deg);
  pointer-events: none;
}
.a2bv2cats a {
  color: inherit;
  text-decoration: none;
}
.a2bv2cats__shell {
  width: min(1380px, calc(100% - 48px));
  margin-inline: auto;
}
.a2bv2cats__header {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 36px;
  margin-bottom: 31px;
}
.a2bv2cats__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 9px;
  color: #4b9e08;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 11px;
  font-weight: 800;
}
.a2bv2cats__eyebrow i {
  width: 25px;
  height: 4px;
  border-radius: 5px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
  box-shadow: 0 0 12px rgba(134, 217, 0, 0.4);
}
.a2bv2cats__header h2 {
  max-width: 780px;
  margin: 0;
  color: var(--navy);
  font:
    900 clamp(30px, 3.5vw, 52px) / 1.04 "Montserrat",
    "Poppins",
    Arial,
    sans-serif;
  letter-spacing: -0.045em;
}
.a2bv2cats__header p {
  max-width: 710px;
  margin: 13px 0 0;
  color: #66758b;
  font-size: 14px;
  line-height: 1.65;
}
.a2bv2cats__all {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 22px;
  min-height: 50px;
  padding: 0 18px 0 21px;
  border: 1px solid #d9e3ee;
  border-radius: 14px;
  color: var(--navy) !important;
  background: #fff;
  box-shadow: 0 8px 20px rgba(6, 28, 59, 0.06);
  font:
    700 12px "Poppins",
    Arial,
    sans-serif;
  transition: 0.22s ease;
}
.a2bv2cats__all b {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 9px;
  color: #fff;
  background: var(--blue);
}
.a2bv2cats__all:hover {
  transform: translateY(-3px);
  border-color: #bed0e4;
  box-shadow: 0 14px 28px rgba(6, 28, 59, 0.11);
}
.a2bv2cats__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 244px;
  gap: 16px;
}
.a2bv2cats__card {
  --accent: #075fcf;
  --surface: #f4f8ff;
  position: relative;
  grid-column: span 4;
  min-width: 0;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(6, 28, 59, 0.08);
  border-radius: 24px;
  background: var(--surface);
  box-shadow: 0 12px 30px rgba(6, 28, 59, 0.075);
  transition:
    transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}
.a2bv2cats__card::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto -60px -100px auto;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    color-mix(in srgb, var(--accent) 16%, transparent),
    transparent 68%
  );
  transition: transform 0.35s ease;
}
.a2bv2cats__card::after {
  content: "";
  position: absolute;
  z-index: 5;
  top: -120%;
  left: -25%;
  width: 38%;
  height: 320%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.55),
    transparent
  );
  transform: rotate(18deg);
  transition: left 0.7s ease;
  pointer-events: none;
}
.a2bv2cats__card:hover {
  transform: translateY(-7px);
  border-color: color-mix(in srgb, var(--accent) 35%, #d9e3ee);
  box-shadow: 0 24px 48px rgba(6, 28, 59, 0.14);
}
.a2bv2cats__card:hover::before {
  transform: scale(1.2);
}
.a2bv2cats__card:hover::after {
  left: 125%;
}
.a2bv2cats__number {
  position: absolute;
  z-index: 4;
  top: 17px;
  right: 18px;
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border: 1px solid color-mix(in srgb, var(--accent) 25%, #dce6ef);
  border-radius: 10px;
  color: var(--accent);
  background: rgba(255, 255, 255, 0.72);
  font:
    800 9px "Montserrat",
    "Poppins",
    Arial,
    sans-serif;
  backdrop-filter: blur(5px);
}
.a2bv2cats__copy {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  padding: 23px 48% 19px 22px;
}
.a2bv2cats__copy small {
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 9px;
  font-weight: 800;
}
.a2bv2cats__copy strong {
  max-width: 220px;
  margin-top: 7px;
  color: var(--navy);
  font:
    800 clamp(18px, 1.55vw, 24px) / 1.08 "Montserrat",
    "Poppins",
    Arial,
    sans-serif;
  letter-spacing: -0.035em;
}
.a2bv2cats__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 12px;
}
.a2bv2cats__tags i {
  padding: 5px 8px;
  border: 1px solid rgba(6, 28, 59, 0.08);
  border-radius: 999px;
  color: #53647a;
  background: rgba(255, 255, 255, 0.7);
  font-size: 8px;
  font-style: normal;
  font-weight: 600;
}
.a2bv2cats__cta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  color: var(--navy);
  font-size: 10px;
  font-weight: 800;
}
.a2bv2cats__cta b {
  color: var(--accent);
  font-size: 18px;
  transition: transform 0.2s ease;
}
.a2bv2cats__card:hover .a2bv2cats__cta b {
  transform: translateX(5px);
}
.a2bv2cats__card > img {
  position: absolute;
  z-index: 1;
  right: -2%;
  bottom: -2%;
  width: 54%;
  height: 78%;
  object-fit: contain;
  mix-blend-mode: multiply;
  filter: drop-shadow(0 12px 14px rgba(6, 28, 59, 0.12));
  transition:
    transform 0.36s cubic-bezier(0.2, 0.8, 0.2, 1),
    filter 0.3s ease;
}
.a2bv2cats__card:hover > img {
  transform: translateY(-5px) scale(1.055) rotate(-1deg);
  filter: drop-shadow(0 19px 20px rgba(6, 28, 59, 0.17));
}
.a2bv2cats__card--hero {
  --accent: #8fe000;
  --surface: #061c3b;
  grid-column: span 4;
  grid-row: span 2;
  color: #fff;
  border-color: #123765;
  background:
    radial-gradient(circle at 80% 78%, rgba(127, 220, 0, 0.2), transparent 31%),
    linear-gradient(145deg, #06182f, #082c59);
  box-shadow: 0 20px 45px rgba(6, 28, 59, 0.22);
}
.a2bv2cats__card--hero::before {
  inset: auto -95px -80px auto;
  width: 370px;
  height: 370px;
  background: radial-gradient(circle, rgba(130, 221, 0, 0.22), transparent 67%);
}
.a2bv2cats__card--hero .a2bv2cats__number {
  color: #0b2b23;
  background: var(--accent);
  border-color: var(--accent);
}
.a2bv2cats__card--hero .a2bv2cats__copy {
  padding: 35px 34px;
}
.a2bv2cats__card--hero .a2bv2cats__copy small {
  color: #9ce934;
}
.a2bv2cats__card--hero .a2bv2cats__copy strong {
  margin-top: 11px;
  color: #fff;
  font-size: clamp(30px, 3.1vw, 45px);
  line-height: 0.98;
}
.a2bv2cats__card--hero .a2bv2cats__tags i {
  color: #dbe9f7;
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.13);
}
.a2bv2cats__card--hero .a2bv2cats__cta {
  color: #fff;
}
.a2bv2cats__card--hero > img {
  right: -8%;
  bottom: -1%;
  width: 100%;
  height: 55%;
  mix-blend-mode: normal;
  filter: drop-shadow(0 17px 19px rgba(0, 0, 0, 0.28));
}
.a2bv2cats__route {
  position: absolute;
  z-index: 0;
  inset: 37% -20% auto 15%;
  height: 180px;
  opacity: 0.45;
  pointer-events: none;
}
.a2bv2cats__route b {
  position: absolute;
  top: 35px;
  left: 10px;
  width: 310px;
  height: 110px;
  border: 3px solid var(--accent);
  border-right-color: transparent;
  border-radius: 50%;
  transform: rotate(-12deg);
  filter: drop-shadow(0 0 8px var(--accent));
}
.a2bv2cats__route i {
  position: absolute;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50% 50% 50% 0;
  color: #09243d;
  background: var(--accent);
  font:
    900 10px "Montserrat",
    sans-serif;
  transform: rotate(-45deg);
}
.a2bv2cats__route i:first-child {
  top: 25px;
  left: 3px;
}
.a2bv2cats__route i:last-child {
  top: 120px;
  left: 310px;
}
.a2bv2cats__card--furniture {
  --accent: #f17822;
  --surface: #fff8f1;
}
.a2bv2cats__card--facilities {
  --accent: #00a99c;
  --surface: #effbf9;
}
.a2bv2cats__card--ink {
  --accent: #075fcf;
  --surface: #eff6ff;
}
.a2bv2cats__card--mailroom {
  --accent: #ef5a29;
  --surface: #fff5f1;
}
.a2bv2cats__card--display {
  --accent: #8654d8;
  --surface: #f7f2ff;
}
.a2bv2cats__card--technology {
  --accent: #008acb;
  --surface: #effaff;
}
.a2bv2cats__card--safety {
  --accent: #d29c00;
  --surface: #fffbea;
}
.a2bv2cats__card--safety > img {
  width: 50%;
  height: 83%;
}
.a2bv2cats__footer {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid #dfe7f0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 25px rgba(6, 28, 59, 0.055);
}
.a2bv2cats__footer span {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 11px 18px;
  border-left: 1px solid #e5ebf2;
  color: #68768a;
  font-size: 10px;
  text-align: center;
}
.a2bv2cats__footer span:first-child {
  border-left: 0;
}
.a2bv2cats__footer b {
  color: var(--navy);
  font-family: "Montserrat", "Poppins", Arial, sans-serif;
  font-weight: 800;
}
@media (max-width: 1050px) {
  .a2bv2cats__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 235px;
  }
  .a2bv2cats__card,
  .a2bv2cats__card--hero {
    grid-column: span 1;
  }
  .a2bv2cats__card--hero {
    grid-row: span 1;
    min-height: 235px;
  }
  .a2bv2cats__copy {
    padding-right: 46%;
  }
  .a2bv2cats__card--hero .a2bv2cats__copy {
    padding: 23px 48% 19px 22px;
  }
  .a2bv2cats__card--hero .a2bv2cats__copy strong {
    max-width: 190px;
    margin-top: 7px;
    font-size: 28px;
    line-height: 1;
  }
  .a2bv2cats__card--hero > img {
    right: -4%;
    bottom: -2%;
    width: 58%;
    height: 80%;
    max-width: none !important;
    object-position: right bottom;
  }
  .a2bv2cats__route {
    display: none;
  }
}
@media (max-width: 700px) {
  .a2bv2cats {
    padding: 48px 0 42px;
  }
  .a2bv2cats__shell {
    width: min(100% - 26px, 1380px);
  }
  .a2bv2cats__header {
    display: block;
    margin-bottom: 24px;
  }
  .a2bv2cats__header h2 {
    font-size: 32px;
  }
  .a2bv2cats__header p {
    font-size: 12px;
  }
  .a2bv2cats__all {
    margin-top: 18px;
  }
  .a2bv2cats__grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 12px;
  }
  .a2bv2cats__card,
  .a2bv2cats__card--hero {
    grid-column: 1;
    grid-row: span 1;
    min-height: 210px;
    overflow: hidden !important;
    border-radius: 20px;
  }
  .a2bv2cats__card--hero {
    min-height: 210px;
  }
  .a2bv2cats__card--hero .a2bv2cats__copy {
    padding: 20px 48% 16px 18px;
  }
  .a2bv2cats__card--hero .a2bv2cats__copy strong {
    max-width: 170px;
    font-size: 24px;
    line-height: 1.02;
  }
  .a2bv2cats__card--hero > img {
    right: -4%;
    bottom: -2%;
    width: 55%;
    height: 82%;
    max-width: none !important;
    object-position: right bottom;
  }
  .a2bv2cats__route {
    display: none;
  }
  .a2bv2cats__copy {
    padding: 20px 48% 16px 18px;
  }
  .a2bv2cats__copy strong {
    font-size: 20px;
  }
  .a2bv2cats__card > img {
    right: -4%;
    width: 51%;
    height: 82%;
  }
  .a2bv2cats__footer {
    grid-template-columns: 1fr;
  }
  .a2bv2cats__footer span {
    min-height: 46px;
    border-top: 1px solid #e5ebf2;
    border-left: 0;
  }
  .a2bv2cats__footer span:first-child {
    border-top: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .a2bv2cats *,
  .a2bv2cats *::before,
  .a2bv2cats *::after {
    transition: none !important;
    animation: none !important;
  }
}
/* =================================================================
   17. A2B V2 EVOLUTIONX CATEGORY AND PRODUCT LISTING
   Exact category-page mapping — verified on /canteen-chairs.
   The body :has() scope activates only where the Product Grid widget has
   the a2bv2-products class. It does not affect ordinary site pages.
   ================================================================= */
.productgridwidget.a2bv2-products,
.productgridwidget.a2bv2-products * {
  box-sizing: border-box;
}
.productgridwidget.a2bv2-products {
  color: #152944;
  font-family: "Poppins", Arial, sans-serif;
}
/* Actual EvolutionX category title and dynamic catalog-content variable */
body:has(
    :is(
      .productgridwidget.a2bv2-products,
      .subcategorieslist_container .cat-tiles
    )
  )
  .subcategorieslist_container {
  position: relative;
  overflow: hidden;
  margin: 0 0 20px;
  padding: 28px 34px 27px !important;
  border: 1px solid #dfe7f0;
  border-radius: 22px;
  background:
    radial-gradient(
      circle at 96% 0,
      rgba(134, 217, 0, 0.13),
      transparent 230px
    ),
    linear-gradient(120deg, #fff 0%, #fff 70%, #f4f9ff 100%);
  box-shadow: 0 12px 32px rgba(7, 31, 66, 0.075);
  font-family: "Poppins", Arial, sans-serif;
}
body:has(
    :is(
      .productgridwidget.a2bv2-products,
      .subcategorieslist_container .cat-tiles
    )
  )
  .subcategorieslist_container::before {
  content: none !important;
  display: none !important;
}
body:has(
    :is(
      .productgridwidget.a2bv2-products,
      .subcategorieslist_container .cat-tiles
    )
  )
  .subcategorieslist_container
  .catalog-name {
  margin: 0 0 10px !important;
  color: #071f42 !important;
  font:
    800 clamp(30px, 3vw, 44px) / 1.05 "Montserrat",
    "Poppins",
    Arial,
    sans-serif !important;
  letter-spacing: -0.035em;
}
body:has(
    :is(
      .productgridwidget.a2bv2-products,
      .subcategorieslist_container .cat-tiles
    )
  )
  .subcategorieslist_container
  .catalog-content {
  max-width: 1220px;
  margin: 0 !important;
  padding: 0 !important;
}
body:has(
    :is(
      .productgridwidget.a2bv2-products,
      .subcategorieslist_container .cat-tiles
    )
  )
  .subcategorieslist_container
  .catalog-content
  :is(h2, h3) {
  max-width: 1100px;
  margin: 0 0 8px !important;
  color: #071f42 !important;
  font:
    800 clamp(18px, 1.35vw, 22px) / 1.35 "Montserrat",
    "Poppins",
    Arial,
    sans-serif !important;
}
body:has(
    :is(
      .productgridwidget.a2bv2-products,
      .subcategorieslist_container .cat-tiles
    )
  )
  .subcategorieslist_container
  .catalog-content
  p {
  margin: 0 !important;
  color: #526681 !important;
  font:
    400 clamp(17px, 1.05vw, 20px) / 1.72 "Poppins",
    Arial,
    sans-serif !important;
}
/* Main/parent categories: EvolutionX outputs category tiles instead of
   product cards. Give those tiles the same A2B V2 card design automatically. */
.subcategorieslist_container:has(.cat-tiles) .gridtools {
  margin: 20px 0 0 !important;
  padding: 0 !important;
}
.subcategorieslist_container:has(.cat-tiles) .itemsfound {
  color: #64748a !important;
  font:
    600 12px/1.4 "Poppins",
    Arial,
    sans-serif !important;
}
.subcategorieslist_container:has(.cat-tiles) .itemsfound::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 9px;
  border-radius: 50%;
  background: #86d900;
  box-shadow: 0 0 0 4px rgba(134, 217, 0, 0.14);
}
.subcategorieslist_container:has(.cat-tiles) .cat-tiles.griditems {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
  margin: 24px 0 0 !important;
}
.subcategorieslist_container:has(.cat-tiles) .cat-tiles.griditems::before,
.subcategorieslist_container:has(.cat-tiles) .cat-tiles.griditems::after {
  content: none !important;
  display: none !important;
}
.subcategorieslist_container:has(.cat-tiles) .cat-tiles .tileparent {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.subcategorieslist_container:has(.cat-tiles) .cat-tiles .tile {
  position: relative;
  height: 100%;
  min-height: 265px;
  overflow: hidden;
  border: 1px solid #dfe7f0 !important;
  border-radius: 20px;
  background: #fff !important;
  box-shadow: 0 10px 25px rgba(7, 31, 66, 0.055);
  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease;
}
.subcategorieslist_container:has(.cat-tiles) .cat-tiles .tile::after {
  content: "";
  position: absolute;
  inset: auto 16px 0;
  height: 3px;
  border-radius: 4px 4px 0 0;
  background: linear-gradient(90deg, #0867d8, #86d900);
  opacity: 0;
  transition: opacity 0.22s ease;
}
.subcategorieslist_container:has(.cat-tiles) .cat-tiles .tile:hover {
  transform: translateY(-6px);
  border-color: #b9cce0 !important;
  box-shadow: 0 20px 40px rgba(7, 31, 66, 0.13);
}
.subcategorieslist_container:has(.cat-tiles) .cat-tiles .tile:hover::after {
  opacity: 1;
}
.subcategorieslist_container:has(.cat-tiles) .cat-tiles .tile > a {
  display: flex !important;
  height: 100%;
  flex-direction: column;
  color: #152944 !important;
  text-decoration: none !important;
}
.subcategorieslist_container:has(.cat-tiles) .cat-thumb-container {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 195px;
  margin: 0 !important;
  padding: 14px;
  overflow: hidden;
  background: radial-gradient(
    circle at 50% 42%,
    #fff 0,
    #fff 38%,
    #f5f8fc 100%
  );
}
.subcategorieslist_container:has(.cat-tiles) .cat-thumb-container img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 90% !important;
  max-height: 170px !important;
  margin: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  transition: transform 0.28s ease;
}
.subcategorieslist_container:has(.cat-tiles)
  .cat-tiles
  .tile:hover
  .cat-thumb-container
  img {
  transform: scale(1.055);
}
.subcategorieslist_container:has(.cat-tiles) .cat-tiles .tile p {
  display: flex;
  flex: 1;
  align-items: center;
  margin: 0 !important;
  padding: 17px 18px 20px !important;
  border-top: 1px solid #edf1f6;
  color: #152944 !important;
  background: #fff;
  font:
    750 15px/1.35 "Montserrat",
    "Poppins",
    Arial,
    sans-serif !important;
}
@media (max-width: 991px) {
  .subcategorieslist_container:has(.cat-tiles) .cat-tiles.griditems {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .subcategorieslist_container:has(.cat-tiles) .cat-tiles.griditems {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .subcategorieslist_container:has(.cat-tiles) .cat-tiles .tile {
    min-height: 225px;
    border-radius: 16px;
  }
  .subcategorieslist_container:has(.cat-tiles) .cat-thumb-container {
    height: 155px;
    padding: 10px;
  }
  .subcategorieslist_container:has(.cat-tiles) .cat-thumb-container img {
    max-height: 138px !important;
  }
  .subcategorieslist_container:has(.cat-tiles) .cat-tiles .tile p {
    padding: 13px 12px 16px !important;
    font-size: 12px !important;
  }
}
@media (max-width: 420px) {
  .subcategorieslist_container:has(.cat-tiles) .cat-tiles.griditems {
    grid-template-columns: 1fr;
  }
}
/* Main-category navigation in the left column. Matches the A2B V2
   Search & Filter card while retaining EvolutionX's category links. */
.categoryfiltermenu_container .shop-filters.category-filters {
  overflow: hidden;
  width: 100%;
  margin: 0 0 18px !important;
  border: 1px solid #dfe7f0 !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(7, 31, 66, 0.075);
  font-family: "Poppins", Arial, sans-serif !important;
}
.categoryfiltermenu_container .shop-filters.category-filters .filter-title {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 62px;
  margin: 0 !important;
  padding: 0 20px !important;
  border: 0 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #071f42, #0b3972) !important;
  font:
    700 15px/1.25 "Montserrat",
    "Poppins",
    Arial,
    sans-serif !important;
  letter-spacing: -0.01em;
}
.categoryfiltermenu_container
  .shop-filters.category-filters
  .filter-title::before {
  content: "\f0b0";
  flex: 0 0 auto;
  margin-right: 11px;
  color: #86d900;
  font-family: FontAwesome;
  font-size: 14px;
  font-weight: normal;
}
.categoryfiltermenu_container .shop-filters.category-filters .arrow-down {
  position: relative;
  z-index: 2;
  width: 0;
  height: 0;
  margin: 0 auto -10px !important;
  border-top: 10px solid #e8edf3;
  border-right: 11px solid transparent;
  border-left: 11px solid transparent;
}
.categoryfiltermenu_container .shop-filters.category-filters .filter-section {
  max-height: 620px;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0 !important;
  padding: 25px 10px 16px !important;
  border: 0 !important;
  background: #fff !important;
  scrollbar-color: #b8c6d7 transparent;
  scrollbar-width: thin;
}
.categoryfiltermenu_container
  .shop-filters.category-filters
  .filter-section::-webkit-scrollbar {
  width: 7px;
}
.categoryfiltermenu_container
  .shop-filters.category-filters
  .filter-section::-webkit-scrollbar-thumb {
  border: 2px solid #fff;
  border-radius: 10px;
  background: #b8c6d7;
}
.categoryfiltermenu_container .shop-filters.category-filters ul.categories {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.categoryfiltermenu_container .shop-filters.category-filters li.category-link {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;
}
.categoryfiltermenu_container
  .shop-filters.category-filters
  li.category-link
  + li.category-link {
  border-top: 1px solid #edf1f6 !important;
}
.categoryfiltermenu_container
  .shop-filters.category-filters
  li.category-link
  > a {
  position: relative;
  display: flex !important;
  align-items: center;
  min-height: 44px;
  padding: 10px 29px 10px 13px !important;
  border-radius: 9px;
  color: #5f7087 !important;
  text-decoration: none !important;
  font:
    600 11.5px/1.45 "Poppins",
    Arial,
    sans-serif !important;
  transition:
    color 0.18s ease,
    background 0.18s ease,
    transform 0.18s ease;
}
.categoryfiltermenu_container
  .shop-filters.category-filters
  li.category-link
  > a::after {
  content: "\f105";
  position: absolute;
  top: 50%;
  right: 12px;
  color: #9aabc0;
  font-family: FontAwesome;
  font-size: 13px;
  font-weight: normal;
  transform: translateY(-50%);
  transition:
    color 0.18s ease,
    transform 0.18s ease;
}
.categoryfiltermenu_container
  .shop-filters.category-filters
  li.category-link
  > a:hover,
.categoryfiltermenu_container
  .shop-filters.category-filters
  li.category-link.active
  > a,
.categoryfiltermenu_container
  .shop-filters.category-filters
  li.category-link.selected
  > a {
  color: #071f42 !important;
  background: linear-gradient(
    90deg,
    rgba(134, 217, 0, 0.12),
    rgba(8, 103, 216, 0.055)
  );
  transform: translateX(2px);
}
.categoryfiltermenu_container
  .shop-filters.category-filters
  li.category-link
  > a:hover::after,
.categoryfiltermenu_container
  .shop-filters.category-filters
  li.category-link.active
  > a::after,
.categoryfiltermenu_container
  .shop-filters.category-filters
  li.category-link.selected
  > a::after {
  color: #70c900;
  transform: translate(2px, -50%);
}
@media (max-width: 991px) {
  .categoryfiltermenu_container .shop-filters.category-filters {
    border-radius: 16px !important;
  }
  .categoryfiltermenu_container .shop-filters.category-filters .filter-title {
    min-height: 56px;
    padding: 0 17px !important;
  }
  .categoryfiltermenu_container .shop-filters.category-filters .filter-section {
    max-height: none;
    padding: 22px 10px 13px !important;
  }
}
/* Actual EvolutionX filters */
body:has(.productgridwidget.a2bv2-products) .filter-container #filterswrapper {
  overflow: hidden;
  border: 1px solid #dfe7f0 !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(7, 31, 66, 0.065);
  font-family: "Poppins", Arial, sans-serif !important;
}
body:has(.productgridwidget.a2bv2-products) .filter-container .filter-title {
  display: flex;
  align-items: center;
  min-height: 62px;
  padding: 0 20px !important;
  border: 0 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #071f42, #0b3972) !important;
  font:
    700 15px "Montserrat",
    "Poppins",
    Arial,
    sans-serif !important;
}
body:has(.productgridwidget.a2bv2-products)
  .filter-container
  .filter-title::before {
  content: "\f0b0";
  margin-right: 11px;
  color: #86d900;
  font-family: FontAwesome;
  font-size: 14px;
}
body:has(.productgridwidget.a2bv2-products) .filter-container .filter-search,
body:has(.productgridwidget.a2bv2-products) .filter-container .filter-group,
body:has(.productgridwidget.a2bv2-products) .filter-container .filter-section {
  border-color: #e8edf3 !important;
  background: #fff !important;
}
body:has(.productgridwidget.a2bv2-products) .filter-container h5 {
  color: #071f42 !important;
  font:
    700 12px/1.35 "Montserrat",
    "Poppins",
    Arial,
    sans-serif !important;
}
body:has(.productgridwidget.a2bv2-products) .filter-container a {
  color: #64748a !important;
  font:
    500 11px/1.5 "Poppins",
    Arial,
    sans-serif !important;
}
body:has(.productgridwidget.a2bv2-products) .filter-container a:hover {
  color: #0867d8 !important;
}
body:has(.productgridwidget.a2bv2-products)
  .filter-container
  input[type="text"] {
  min-height: 44px;
  border: 1px solid #d8e2ec !important;
  border-radius: 11px !important;
  font-family: "Poppins", Arial, sans-serif !important;
}
/* Actual EvolutionX result toolbar */
.productsgrid_container:has(.productgridwidget.a2bv2-products) .gridtools {
  margin-bottom: 20px;
  padding: 0 !important;
}
.productsgrid_container:has(.productgridwidget.a2bv2-products) .listtoolstop {
  min-height: 72px;
  margin: 0 !important;
  padding: 14px 17px 14px 22px;
  border: 1px solid #dfe7f0 !important;
  border-radius: 18px;
  background: linear-gradient(110deg, #fff 0%, #fff 62%, #f4f9ff 100%);
  box-shadow: 0 10px 28px rgba(7, 31, 66, 0.07);
  font-family: "Poppins", Arial, sans-serif;
}
.productsgrid_container:has(.productgridwidget.a2bv2-products) .itemsfound {
  color: #6c7b8f !important;
  font:
    500 12px "Poppins",
    Arial,
    sans-serif !important;
}
.productsgrid_container:has(.productgridwidget.a2bv2-products)
  .itemsfound::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 9px;
  border-radius: 50%;
  background: #86d900;
  box-shadow: 0 0 0 4px rgba(134, 217, 0, 0.14);
}
.productsgrid_container:has(.productgridwidget.a2bv2-products)
  .listtoolstop
  select {
  min-height: 43px;
  border: 1px solid #d4dfeb !important;
  border-radius: 11px !important;
  color: #31445d !important;
  background-color: #fff !important;
  font:
    600 12px "Poppins",
    Arial,
    sans-serif !important;
  box-shadow: none !important;
}
/* Actual EvolutionX product grid and cards */
.productgridwidget.a2bv2-products #grid.griditems {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0 !important;
}
.productgridwidget.a2bv2-products #grid.griditems::before,
.productgridwidget.a2bv2-products #grid.griditems::after {
  content: none !important;
  display: none !important;
}
.productgridwidget.a2bv2-products #grid > .tileparent {
  float: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.productgridwidget.a2bv2-products .tile {
  position: relative;
  display: flex;
  min-height: 540px;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  padding: 13px;
  border: 1px solid #dfe7f0 !important;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 25px rgba(7, 31, 66, 0.055);
  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease;
}
.productgridwidget.a2bv2-products .tile::after {
  content: "";
  position: absolute;
  inset: auto 16px 0;
  height: 3px;
  border-radius: 4px 4px 0 0;
  background: linear-gradient(90deg, #0867d8, #86d900);
  opacity: 0;
  transition: opacity 0.22s ease;
}
.productgridwidget.a2bv2-products .tile:hover {
  z-index: 2;
  transform: translateY(-6px);
  border-color: #b9cce0 !important;
  box-shadow: 0 20px 40px rgba(7, 31, 66, 0.13);
}
.productgridwidget.a2bv2-products .tile:hover::after {
  opacity: 1;
}
.productgridwidget.a2bv2-products .product-tile-image {
  position: relative;
  display: grid !important;
  width: 100%;
  height: 190px;
  margin: 0 0 10px;
  place-items: center;
  overflow: hidden;
  border-radius: 14px;
  background: radial-gradient(
    circle at 50% 42%,
    #fff 0,
    #fff 38%,
    #f5f8fc 100%
  );
}
.productgridwidget.a2bv2-products .product-tile-image .text-center,
.productgridwidget.a2bv2-products .product-tile-image .imgthumbnail,
.productgridwidget.a2bv2-products .product-tile-image .thumb-align {
  position: static !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}
.productgridwidget.a2bv2-products .product-tile-image img {
  position: absolute !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 92% !important;
  max-height: 175px !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: translate(-50%, -50%);
  transition: transform 0.28s ease;
}
.productgridwidget.a2bv2-products .tile:hover .product-tile-image img {
  transform: translate(-50%, -50%) scale(1.055);
}
.productgridwidget.a2bv2-products .product-list-actions {
  position: absolute !important;
  top: 58px !important;
  right: 16px !important;
  z-index: 4;
}
.productgridwidget.a2bv2-products .product-list-actions button {
  width: 34px !important;
  height: 34px !important;
  border: 1px solid #dfe7ef !important;
  border-radius: 10px !important;
  color: #64748a !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: none !important;
}
.productgridwidget.a2bv2-products .footer {
  position: static !important;
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0 !important;
  padding: 0 !important;
}
.productgridwidget.a2bv2-products .footer-wrapper {
  position: static !important;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.productgridwidget.a2bv2-products .footer-wrapper-description {
  min-height: 0 !important;
}
.productgridwidget.a2bv2-products .brand-label,
.productgridwidget.a2bv2-products .brand-label a {
  color: #0867d8 !important;
  text-transform: uppercase;
  letter-spacing: 0.11em;
  font:
    800 11px/1.35 "Montserrat",
    "Poppins",
    Arial,
    sans-serif !important;
}
.productgridwidget.a2bv2-products .product-name {
  min-height: 66px !important;
  margin: 8px 0 7px !important;
}
.productgridwidget.a2bv2-products .product-name a {
  color: #152944 !important;
  font:
    700 14px/1.42 "Montserrat",
    "Poppins",
    Arial,
    sans-serif !important;
}
/* List view uses natural title height instead of the equal-height grid reserve. */
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .product-name {
  min-height: 0 !important;
  margin: 6px 0 12px !important;
}
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  :is(
    .product-description,
    .productdescription,
    .product-list-description,
    .product-points,
    .product-features
  ) {
  margin-top: 6px !important;
  padding-top: 0 !important;
}
.productgridwidget.a2bv2-products .product-sku {
  margin: 0 0 11px !important;
  color: #66758a !important;
  font:
    500 12.5px/1.5 "Poppins",
    Arial,
    sans-serif !important;
}
.productgridwidget.a2bv2-products .product-sku strong {
  color: #4f6076 !important;
  font-weight: 700 !important;
}
.productgridwidget.a2bv2-products .product-category {
  display: none !important;
}
/* Compact EvolutionX Compare and Add to Quick List icon controls. */
.productgridwidget.a2bv2-products .addtoquicklist-wrapper,
.productgridwidget.a2bv2-products .product-compare-action {
  position: relative !important;
  display: inline-grid !important;
  float: left !important;
  clear: none !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  margin: 8px 5px 0 0 !important;
  place-items: center;
  overflow: visible !important;
  border: 1px solid #d8e2ec !important;
  border-radius: 7px !important;
  color: #0867d8 !important;
  background: #fff !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  vertical-align: middle;
  box-shadow: 0 5px 12px rgba(7, 31, 66, 0.06);
  transition:
    border-color 0.18s ease,
    background 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}
.productgridwidget.a2bv2-products .addtoquicklist-wrapper::before,
.productgridwidget.a2bv2-products .product-compare-action::before {
  position: relative;
  z-index: 1;
  pointer-events: none;
  font:
    800 17px/1 "Montserrat",
    "Poppins",
    Arial,
    sans-serif;
}
.productgridwidget.a2bv2-products .addtoquicklist-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(#4a9f08, #4a9f08) center / 14px 4px no-repeat,
    linear-gradient(#4a9f08, #4a9f08) center / 4px 14px no-repeat;
}
.productgridwidget.a2bv2-products .product-compare-action::before {
  content: "";
  width: 21px;
  height: 21px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M5 6h14M5 6l-3 6h6L5 6zm14 0l-3 6h6l-3-6zM2 12c0 2 1.3 3 3 3s3-1 3-3m8 0c0 2 1.3 3 3 3s3-1 3-3M8 21h8'/%3E%3C/svg%3E")
    center/contain no-repeat;
}
.productgridwidget.a2bv2-products .product-compare-action {
  margin: -30px 0 0 35px !important;
  border-color: #70c900 !important;
  background: linear-gradient(135deg, #8de000, #61b900) !important;
  box-shadow: 0 5px 12px rgba(97, 185, 0, 0.2);
}
.productgridwidget.a2bv2-products .addtoquicklist-wrapper:hover,
.productgridwidget.a2bv2-products .product-compare-action:hover {
  transform: translateY(-2px);
  border-color: #9fc1e7 !important;
  background: #f4f9ff !important;
  box-shadow: 0 8px 16px rgba(7, 31, 66, 0.11);
}
.productgridwidget.a2bv2-products .product-compare-action:hover {
  border-color: #56a700 !important;
  background: linear-gradient(135deg, #95e90b, #55a900) !important;
}
.productgridwidget.a2bv2-products
  :is(.addtoquicklist-wrapper, .product-compare-action)
  > :is(a, button, label) {
  position: absolute !important;
  z-index: 2;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: transparent !important;
  background: transparent !important;
  font-size: 0 !important;
  cursor: pointer;
}
.productgridwidget.a2bv2-products
  :is(.addtoquicklist-wrapper, .product-compare-action):focus-within {
  outline: 3px solid rgba(8, 103, 216, 0.25);
  outline-offset: 2px;
}
/* EvolutionX list mode uses alternate Quick List class names. */
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  :is(a, button, [role="button"]):is(
    [class*="quicklist" i],
    [class*="quick-list" i],
    [class*="quick_list" i]
  ),
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  :is([class*="quicklist" i], [class*="quick-list" i], [class*="quick_list" i])
  :is(a, button, [role="button"]) {
  position: relative !important;
  display: inline-grid !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  margin: 0 0 0 5px !important;
  padding: 0 !important;
  place-items: center;
  overflow: hidden !important;
  border: 1px solid #d8e2ec !important;
  border-radius: 7px !important;
  color: transparent !important;
  background: #fff !important;
  font-size: 0 !important;
  line-height: 1 !important;
  vertical-align: middle;
  box-shadow: 0 5px 12px rgba(7, 31, 66, 0.06);
}
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  :is(a, button, [role="button"]):is(
    [class*="quicklist" i],
    [class*="quick-list" i],
    [class*="quick_list" i]
  )::before,
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  :is([class*="quicklist" i], [class*="quick-list" i], [class*="quick_list" i])
  :is(a, button, [role="button"])::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background:
    linear-gradient(#4a9f08, #4a9f08) center / 14px 4px no-repeat,
    linear-gradient(#4a9f08, #4a9f08) center / 4px 14px no-repeat;
}
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  :is([class*="quicklist" i], [class*="quick-list" i], [class*="quick_list" i])
  :is(i, span) {
  font-size: 0 !important;
}
/* List-view action tray: small, aligned icons at the purchase box bottom-right. */
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .softgraybackground {
  box-sizing: border-box !important;
  padding-bottom: 58px !important;
}
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .softgraybackground
  .product-compare-action {
  position: absolute !important;
  top: auto !important;
  right: 50px !important;
  bottom: 14px !important;
  left: auto !important;
  float: none !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
}
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .softgraybackground
  .product-compare-action::before {
  width: 19px;
  height: 19px;
}
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .softgraybackground
  .addtoquicklist-wrapper {
  position: absolute !important;
  top: auto !important;
  right: 14px !important;
  bottom: 14px !important;
  left: auto !important;
  float: none !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
}
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .softgraybackground
  :is(
    [class*="quicklist" i],
    [class*="quick-list" i],
    [class*="quick_list" i]
  ):not(.addtoquicklist-wrapper) {
  position: static !important;
}
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .softgraybackground
  :is(a, button, [role="button"]):is(
    [class*="quicklist" i],
    [class*="quick-list" i],
    [class*="quick_list" i]
  ),
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .softgraybackground
  :is([class*="quicklist" i], [class*="quick-list" i], [class*="quick_list" i])
  :is(a, button, [role="button"]) {
  position: absolute !important;
  top: auto !important;
  right: 14px !important;
  bottom: 14px !important;
  left: auto !important;
  float: none !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
}
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .softgraybackground
  :is(a, button, [role="button"]):is(
    [class*="quicklist" i],
    [class*="quick-list" i],
    [class*="quick_list" i]
  )::before,
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .softgraybackground
  :is([class*="quicklist" i], [class*="quick-list" i], [class*="quick_list" i])
  :is(a, button, [role="button"])::before {
  font-size: 15px;
}
/* EvolutionX product labels: packaging/recycling navy, environmental leaf green. */
.productgridwidget.a2bv2-products
  :is(
    .fa-archive,
    .fa-box,
    .fa-box-open,
    .fa-recycle,
    .icon-archive,
    .icon-box,
    .icon-recycle,
    [data-icon="archive"],
    [data-icon="box"],
    [data-icon="box-open"],
    [data-icon="recycle"]
  ),
.productgridwidget.a2bv2-products
  :is(
    [title*="packaging" i],
    [title*="recycl" i],
    [aria-label*="packaging" i],
    [aria-label*="recycl" i]
  )
  :is(i, span, svg) {
  color: #071f42 !important;
}
.productgridwidget.a2bv2-products
  :is(
    svg.fa-archive,
    svg.fa-box,
    svg.fa-box-open,
    svg.fa-recycle,
    svg.icon-archive,
    svg.icon-box,
    svg.icon-recycle,
    svg[data-icon="archive"],
    svg[data-icon="box"],
    svg[data-icon="box-open"],
    svg[data-icon="recycle"]
  ) {
  fill: #071f42 !important;
  stroke: #071f42 !important;
}
.productgridwidget.a2bv2-products
  :is(
    .fa-leaf,
    .icon-leaf,
    .leaf-icon,
    [class*="leaf-icon"],
    [data-icon="leaf"]
  ),
.productgridwidget.a2bv2-products
  :is(
    [title*="green" i],
    [title*="environment" i],
    [aria-label*="green" i],
    [aria-label*="environment" i]
  )
  :is(i, span, svg) {
  color: #70c900 !important;
}
.productgridwidget.a2bv2-products
  :is(
    svg.fa-leaf,
    svg.icon-leaf,
    svg.leaf-icon,
    svg[data-icon="leaf"],
    .leaf-icon svg,
    [class*="leaf-icon"] svg
  ) {
  fill: #70c900 !important;
  stroke: #70c900 !important;
}
.productgridwidget.a2bv2-products .footer-wrapper-price {
  position: static !important;
  margin-top: auto;
  padding-top: 8px;
}
.productgridwidget.a2bv2-products .price-label {
  color: #e74639 !important;
  font:
    800 24px/1 "Montserrat",
    "Poppins",
    Arial,
    sans-serif !important;
}
.productgridwidget.a2bv2-products .price-label::after {
  color: #66758a;
  font:
    600 11.5px "Poppins",
    Arial,
    sans-serif;
}
.productgridwidget.a2bv2-products .uom,
.productgridwidget.a2bv2-products .price-label-inc-vat,
.productgridwidget.a2bv2-products .rrp {
  position: static !important;
  color: #66758a !important;
  font:
    500 12.5px/1.62 "Poppins",
    Arial,
    sans-serif !important;
}
.productgridwidget.a2bv2-products .uom,
.productgridwidget.a2bv2-products .price-label-inc-vat {
  display: block;
}
.productgridwidget.a2bv2-products .rrp .save {
  position: absolute !important;
  z-index: 6;
  top: 16px !important;
  right: 16px !important;
  bottom: auto !important;
  left: auto !important;
  margin: 0 !important;
  padding: 7px 11px !important;
  border: 0 !important;
  border-radius: 8px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #ff6b18, #e64726) !important;
  font:
    800 10.5px/1.2 "Poppins",
    Arial,
    sans-serif !important;
  letter-spacing: 0.04em;
  box-shadow: 0 6px 12px rgba(230, 70, 38, 0.2);
  transform: none !important;
  white-space: nowrap;
  pointer-events: none;
}
.productgridwidget.a2bv2-products .rrp .save::before {
  content: "SAVE ";
}
/* List view: anchor the saving badge to the complete grey purchase box. */
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .softgraybackground {
  position: relative !important;
}
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .product-shopping-actions-prices {
  position: static !important;
}
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .rrp
  .save {
  top: 16px !important;
  right: 16px !important;
  bottom: auto !important;
  left: auto !important;
}
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .product-shopping-actions-prices
  .price.has-price {
  display: block !important;
  line-height: 1.1 !important;
}
.productgridwidget.a2bv2-products
  #list.productgridfull.gridlist-list
  .product-shopping-actions-prices
  .price.has-price::after {
  display: block;
  margin-top: 5px;
  color: #66758a;
  font:
    600 11.5px/1.35 "Poppins",
    Arial,
    sans-serif;
}
/* One genuine basket button. Inventory becomes a small status line. */
.productgridwidget.a2bv2-products .buttons.group {
  position: relative;
  display: grid !important;
  grid-template-columns: 43px minmax(0, 1fr);
  gap: 7px;
  margin-top: 8px !important;
  padding-top: 0;
}
.productgridwidget.a2bv2-products .buttons.group > .qty-list {
  grid-column: 1;
  grid-row: 2;
  width: 43px !important;
  min-width: 0 !important;
  height: 40px !important;
  margin: 0 !important;
  border: 1px solid #d8e2ec !important;
  border-radius: 10px !important;
  text-align: center;
  font:
    700 11px "Poppins",
    Arial,
    sans-serif !important;
}
.productgridwidget.a2bv2-products .live-inventory-v2-add-to-cart-wrapper {
  display: contents !important;
}
.productgridwidget.a2bv2-products button.btn-add-to-cart {
  grid-column: 2;
  grid-row: 2;
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #86d900, #52a900) !important;
  font:
    700 12px "Poppins",
    Arial,
    sans-serif !important;
  box-shadow: 0 8px 16px rgba(82, 169, 0, 0.22) !important;
}
.productgridwidget.a2bv2-products .live-inventory-v2-wrapper.add-to-cart {
  position: static !important;
  grid-column: 1 / -1;
  grid-row: 1;
  display: flex !important;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 3px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #347b05 !important;
  background: transparent !important;
  box-shadow: none !important;
  font:
    700 12.5px/1.35 "Poppins",
    Arial,
    sans-serif !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
.productgridwidget.a2bv2-products
  .live-inventory-v2-wrapper.add-to-cart::before {
  content: "";
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  margin: 3px 6px 0 0;
  border-radius: 50%;
  background: #64bd20;
  box-shadow: 0 0 0 3px rgba(100, 189, 32, 0.12);
}
.productgridwidget.a2bv2-products .live-inventory-v2-shipping {
  position: static !important;
  display: inline !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
  font: inherit !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
/* EvolutionX pagination and breathing room below the final product row. */
.productsgrid_container:has(.productgridwidget.a2bv2-products) .listtoolsbottom,
.productsgrid_container:has(.productgridwidget.a2bv2-products)
  .listtools-bottom {
  margin-top: 42px !important;
  padding-top: 24px;
  border-top: 1px solid #e6edf5;
}
.productsgrid_container:has(.productgridwidget.a2bv2-products) .pagination {
  margin-top: 36px !important;
}
.productsgrid_container:has(.productgridwidget.a2bv2-products)
  .listtoolsbottom
  .pagination,
.productsgrid_container:has(.productgridwidget.a2bv2-products)
  .listtools-bottom
  .pagination {
  margin-top: 0 !important;
}
.productsgrid_container:has(.productgridwidget.a2bv2-products)
  .pagination
  > li
  > a,
.productsgrid_container:has(.productgridwidget.a2bv2-products)
  .pagination
  > li
  > span {
  display: grid;
  min-width: 39px;
  height: 39px;
  margin: 0 3px;
  place-items: center;
  border: 1px solid #dfe7f0 !important;
  border-radius: 11px !important;
  color: #53647b !important;
  background: #fff !important;
  font:
    700 11px "Poppins",
    Arial,
    sans-serif !important;
}
.productsgrid_container:has(.productgridwidget.a2bv2-products)
  .pagination
  > .active
  > a,
.productsgrid_container:has(.productgridwidget.a2bv2-products)
  .pagination
  > .active
  > span {
  border-color: #0867d8 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #1684ff, #064eaa) !important;
  box-shadow: 0 7px 15px rgba(8, 103, 216, 0.22);
}
@media (max-width: 1050px) {
  .productgridwidget.a2bv2-products
    #grid.griditems
    :is(.price.has-price, .price-label.has-price) {
    display: flex !important;
    align-items: baseline;
    flex-wrap: wrap;
    column-gap: 7px;
    row-gap: 2px;
    white-space: normal !important;
  }
  .productgridwidget.a2bv2-products
    #grid.griditems
    :is(.price.has-price, .price-label.has-price)::after {
    content: "ex VAT";
    display: inline-block !important;
    flex: 0 0 auto;
    margin: 0 !important;
    color: #748197 !important;
    font:
      600 10.5px/1.2 "Poppins",
      Arial,
      sans-serif !important;
    letter-spacing: 0;
    white-space: nowrap !important;
    vertical-align: baseline;
  }
  .productgridwidget.a2bv2-products #grid.griditems .tile {
    padding-bottom: 55px !important;
  }
  .productgridwidget.a2bv2-products #grid.griditems .tile .buttons.group {
    position: static !important;
  }
  .productgridwidget.a2bv2-products
    #grid.griditems
    .tile
    .addtoquicklist-wrapper,
  .productgridwidget.a2bv2-products
    #grid.griditems
    .tile
    .product-compare-action {
    position: absolute !important;
    z-index: 6;
    top: auto !important;
    right: auto !important;
    bottom: 13px !important;
    float: none !important;
    clear: none !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
  }
  .productgridwidget.a2bv2-products
    #grid.griditems
    .tile
    .addtoquicklist-wrapper {
    left: 13px !important;
  }
  .productgridwidget.a2bv2-products
    #grid.griditems
    .tile
    .product-compare-action {
    left: 49px !important;
  }
}
@media (max-width: 991px) {
  body:has(.productgridwidget.a2bv2-products) .filter-container {
    margin-bottom: 18px;
  }
  .productgridwidget.a2bv2-products #grid.griditems {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .productgridwidget.a2bv2-products #grid.griditems {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  body:has(
      :is(
        .productgridwidget.a2bv2-products,
        .subcategorieslist_container .cat-tiles
      )
    )
    .subcategorieslist_container {
    padding: 22px 19px 21px !important;
    border-radius: 17px;
  }
  body:has(
      :is(
        .productgridwidget.a2bv2-products,
        .subcategorieslist_container .cat-tiles
      )
    )
    .subcategorieslist_container
    .catalog-name {
    font-size: 29px !important;
  }
  body:has(
      :is(
        .productgridwidget.a2bv2-products,
        .subcategorieslist_container .cat-tiles
      )
    )
    .subcategorieslist_container
    .catalog-content
    :is(h2, h3) {
    font-size: 1.05em !important;
  }
  body:has(
      :is(
        .productgridwidget.a2bv2-products,
        .subcategorieslist_container .cat-tiles
      )
    )
    .subcategorieslist_container
    .catalog-content
    p {
    font-size: 16px !important;
    line-height: 1.7 !important;
  }
  .productsgrid_container:has(.productgridwidget.a2bv2-products) .listtoolstop {
    align-items: flex-start !important;
    min-height: 0;
    padding: 15px;
  }
  .productgridwidget.a2bv2-products #grid.griditems {
    gap: 10px;
  }
  .productgridwidget.a2bv2-products .tile {
    min-height: 485px;
    padding: 10px;
    border-radius: 15px;
  }
  .productgridwidget.a2bv2-products .product-tile-image {
    height: 140px;
  }
  .productgridwidget.a2bv2-products .product-tile-image img {
    max-height: 130px !important;
  }
  .productgridwidget.a2bv2-products .brand-label,
  .productgridwidget.a2bv2-products .brand-label a {
    font-family: "Montserrat", "Poppins", Arial, sans-serif !important;
    font-size: 10px !important;
  }
  .productgridwidget.a2bv2-products .product-name {
    min-height: 70px !important;
  }
  .productgridwidget.a2bv2-products .product-name a {
    font-family: "Montserrat", "Poppins", Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  .productgridwidget.a2bv2-products .product-sku,
  .productgridwidget.a2bv2-products .uom,
  .productgridwidget.a2bv2-products .price-label-inc-vat,
  .productgridwidget.a2bv2-products .rrp {
    font-size: 11.5px !important;
  }
  .productgridwidget.a2bv2-products .live-inventory-v2-wrapper.add-to-cart {
    font-size: 11.5px !important;
  }
  .productgridwidget.a2bv2-products .price-label {
    font-size: 19px !important;
  }
  .productgridwidget.a2bv2-products
    #grid.griditems
    :is(.price.has-price, .price-label.has-price)::after {
    font-size: 9.5px !important;
  }
  .productgridwidget.a2bv2-products .rrp .save {
    top: 13px !important;
    right: 13px !important;
    font-size: 9.5px !important;
  }
  .productgridwidget.a2bv2-products .buttons.group {
    grid-template-columns: 1fr;
    padding-top: 0;
  }
  .productgridwidget.a2bv2-products .buttons.group > .qty-list {
    grid-column: 1;
    grid-row: 2;
    width: 100% !important;
  }
  .productgridwidget.a2bv2-products button.btn-add-to-cart {
    grid-column: 1;
    grid-row: 3;
    width: 100% !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .productgridwidget.a2bv2-products *,
  .productgridwidget.a2bv2-products *::before,
  .productgridwidget.a2bv2-products *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
/* =====================================================================
   18. A2B V2 HOMEPAGE HERO
   Isolated EvolutionX component — all selectors use the a2bv2hero prefix
   ===================================================================== */
.a2bv2hero,
.a2bv2hero * {
  box-sizing: border-box;
}
.a2bv2hero {
  --a2bh-navy: #061c3b;
  --a2bh-blue: #0867d8;
  --a2bh-green: #70c900;
  --a2bh-green-dark: #4aa600;
  --a2bh-copy: #5d6d83;
  position: relative;
  z-index: 0;
  overflow: hidden;
  width: 100vw;
  width: 100dvw;
  max-width: none;
  margin-block: 0;
  margin-inline: calc(50% - 50vw);
  margin-inline: calc(50% - 50dvw);
  padding: 0;
  color: var(--a2bh-navy);
  background:
    radial-gradient(circle at 8% 5%, rgba(112, 201, 0, 0.1), transparent 27%),
    radial-gradient(circle at 93% 0, rgba(8, 103, 216, 0.1), transparent 24%),
    linear-gradient(180deg, #f9fcfb 0%, #f0f7f6 100%);
  font-family: "Poppins", Arial, sans-serif;
}
/* EvolutionX full-bleed support: remove spacing only from the widget wrapper
   that contains this hero. Other homepage widgets keep their normal gutters. */
body:has(.a2bv2hero) :where(div, section, main):has(.a2bv2hero) {
  margin-block: 0 !important;
  padding-block: 0 !important;
}
:where(div, section, main):has(> .a2bv2hero) {
  margin-block: 0 !important;
  padding-block: 0 !important;
}
:where(
  .widget,
  .widget-instance,
  .widget-wrapper,
  .html-widget,
  .htmlwidget,
  .content-widget,
  .layout-widget
):has(> .a2bv2hero),
:where(
  .widget,
  .widget-instance,
  .widget-wrapper,
  .html-widget,
  .htmlwidget,
  .content-widget,
  .layout-widget
):has(> * > .a2bv2hero) {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body:has(.a2bv2hero) main,
body:has(.a2bv2hero) .main-content,
body:has(.a2bv2hero) .page-content {
  margin-block: 0 !important;
  padding-block: 0 !important;
}
.a2bv2hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.22;
  background-image: radial-gradient(
    rgba(6, 28, 59, 0.22) 0.7px,
    transparent 0.7px
  );
  background-size: 18px 18px;
  mask-image: linear-gradient(to bottom, black, transparent 76%);
  pointer-events: none;
}
.a2bv2hero a {
  color: inherit;
  text-decoration: none;
}
.a2bv2hero__shell {
  position: relative;
  width: 100%;
  margin: 0;
}
.a2bv2hero__stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(430px, 0.78fr) minmax(0, 1.38fr);
  min-height: 600px;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 28px 70px rgba(6, 28, 59, 0.14);
}
.a2bv2hero__stage,
.a2bv2hero__copy,
.a2bv2hero__actions,
.a2bv2hero h1 {
  min-width: 0;
  max-width: 100%;
}
.a2bv2hero__copy {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 58px clamp(34px, 4vw, 74px) 90px;
  background:
    radial-gradient(circle at 90% 88%, rgba(112, 201, 0, 0.1), transparent 24%),
    linear-gradient(135deg, #fff 0%, #fff 68%, #f7fbf5 100%);
}
.a2bv2hero__copy::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -90px;
  bottom: -80px;
  width: 270px;
  height: 270px;
  border: 1px solid rgba(112, 201, 0, 0.2);
  border-radius: 50%;
  box-shadow:
    0 0 0 28px rgba(112, 201, 0, 0.035),
    0 0 0 58px rgba(8, 103, 216, 0.025);
  pointer-events: none;
}
.a2bv2hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: max-content;
  max-width: 100%;
  margin-bottom: 18px;
  padding: 8px 13px 8px 10px;
  border: 1px solid rgba(112, 201, 0, 0.22);
  border-radius: 999px;
  color: #2e7f04;
  background: linear-gradient(
    135deg,
    rgba(240, 255, 225, 0.94),
    rgba(255, 255, 255, 0.8)
  );
  box-shadow:
    0 8px 22px rgba(72, 151, 0, 0.1),
    inset 0 1px 0 #fff;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 12px;
  font-weight: 900;
}
.a2bv2hero__eyebrow svg {
  width: 20px;
  height: 20px;
  fill: var(--a2bh-green);
  filter: drop-shadow(0 0 6px rgba(112, 201, 0, 0.35));
}
.a2bv2hero h1 {
  margin: 0;
  color: var(--a2bh-navy);
  font:
    900 clamp(42px, 4.2vw, 70px) / 0.96 "Montserrat",
    "Poppins",
    Arial,
    sans-serif;
  letter-spacing: -0.065em;
  text-wrap: balance;
  text-shadow:
    0 2px 0 rgba(255, 255, 255, 0.95),
    0 13px 28px rgba(6, 28, 59, 0.12);
}
.a2bv2hero h1 em {
  position: relative;
  display: block;
  margin-top: 10px;
  color: transparent;
  background: linear-gradient(
    100deg,
    #3d9f00 0%,
    #78d900 42%,
    #9aef1b 62%,
    #329400 100%
  );
  background-clip: text;
  -webkit-background-clip: text;
  font-style: normal;
  text-shadow: none;
  -webkit-text-stroke: 0.35px rgba(52, 139, 0, 0.3);
  filter: drop-shadow(0 8px 16px rgba(78, 167, 0, 0.22));
}
.a2bv2hero h1 em::after {
  content: "";
  position: absolute;
  right: 8%;
  bottom: -8px;
  left: 0;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    #70c900,
    rgba(8, 103, 216, 0.78),
    transparent 92%
  );
  box-shadow: 0 5px 13px rgba(112, 201, 0, 0.24);
}
.a2bv2hero__mobile-break {
  display: none;
}
.a2bv2hero__points {
  display: grid;
  gap: 10px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
.a2bv2hero__points li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #1d3555;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 600;
}
.a2bv2hero__points li span {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  margin-top: 1px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #1684ff, #0754b3);
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 5px 12px rgba(8, 103, 216, 0.18);
}
.a2bv2hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 27px;
}
.a2bv2hero__button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 56px;
  padding: 0 22px;
  border-radius: 13px;
  color: #fff !important;
  font-family: "Montserrat", "Poppins", Arial, sans-serif;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: -0.015em;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
  box-shadow: 0 14px 28px rgba(6, 28, 59, 0.16);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    filter 0.22s ease;
}
.a2bv2hero__button span {
  font-size: 21px;
  line-height: 1;
  transition: transform 0.22s ease;
}
.a2bv2hero__button--green {
  min-width: 240px;
  background: linear-gradient(135deg, #71cf00, #43a500);
}
.a2bv2hero__button--blue {
  min-width: 225px;
  background: linear-gradient(135deg, #1683ef, #0750b8);
}
.a2bv2hero__button:hover {
  transform: translateY(-3px);
  filter: saturate(1.08);
  box-shadow: 0 18px 34px rgba(6, 28, 59, 0.22);
}
.a2bv2hero__button:hover span {
  transform: translateX(4px);
}
.a2bv2hero__button:focus-visible {
  outline: 3px solid rgba(8, 103, 216, 0.3);
  outline-offset: 4px;
}
.a2bv2hero__reviews {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 11px;
  width: max-content;
  max-width: 100%;
  margin-top: 24px;
  margin-bottom: 5px;
  padding: 8px 11px;
  border: 1px solid rgba(6, 28, 59, 0.1);
  border-radius: 13px;
  color: #243d60;
  background: rgba(255, 255, 255, 0.9);
  box-shadow:
    0 12px 28px rgba(6, 28, 59, 0.11),
    inset 0 1px 0 #fff;
  backdrop-filter: blur(10px);
  font-size: 11px;
  font-weight: 800;
}
.a2bv2hero__reviews strong {
  color: var(--a2bh-navy);
  font:
    900 13px "Montserrat",
    "Poppins",
    Arial,
    sans-serif;
}
.a2bv2hero__reviews > span:last-child {
  color: #243d60;
  font-weight: 800;
}
.a2bv2hero__stars {
  padding: 9px 11px;
  border: 1px solid rgba(255, 255, 255, 0.46);
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(135deg, #02b48a, #008f73);
  letter-spacing: 0.07em;
  font-size: 14px;
  line-height: 1;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
  box-shadow:
    0 8px 19px rgba(0, 167, 130, 0.28),
    0 0 0 4px rgba(0, 167, 130, 0.07);
}
.a2bv2hero__visual {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #e8eff0;
  isolation: isolate;
}
.a2bv2hero__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(
    90deg,
    rgba(6, 28, 59, 0.1),
    transparent 18%,
    transparent 72%,
    rgba(6, 28, 59, 0.05)
  );
  pointer-events: none;
}
.a2bv2hero__visual-backdrop {
  position: absolute;
  inset: -24px;
  z-index: 0;
  width: calc(100% + 48px);
  height: calc(100% + 48px);
  object-fit: cover;
  object-position: center;
  opacity: 0.72;
  filter: blur(20px) saturate(1.2) brightness(0.68);
  transform: scale(1.08);
}
.a2bv2hero__visual-artwork {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 18px 28px rgba(3, 14, 28, 0.22));
  transform: scale(1.002);
  transition: transform 1.1s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.a2bv2hero:hover .a2bv2hero__visual-artwork {
  transform: scale(1.025);
}
.a2bv2hero__orb {
  position: absolute;
  z-index: 3;
  border-radius: 50%;
  pointer-events: none;
  mix-blend-mode: screen;
}
.a2bv2hero__orb--one {
  top: -90px;
  left: -70px;
  width: 230px;
  height: 230px;
  background: radial-gradient(circle, rgba(119, 225, 0, 0.42), transparent 66%);
  animation: a2bv2hero-drift 7s ease-in-out infinite;
}
.a2bv2hero__orb--two {
  right: -110px;
  bottom: -120px;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(8, 103, 216, 0.34), transparent 68%);
  animation: a2bv2hero-drift 9s ease-in-out -2s infinite reverse;
}
.a2bv2hero__visual-note {
  position: absolute;
  z-index: 4;
  right: 24px;
  bottom: 92px;
  display: flex;
  align-items: center;
  gap: 11px;
  max-width: 305px;
  padding: 13px 16px;
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-radius: 15px;
  color: #fff;
  background: rgba(6, 28, 59, 0.78);
  box-shadow: 0 16px 35px rgba(6, 28, 59, 0.24);
  backdrop-filter: blur(12px);
}
.a2bv2hero__visual-note > span:first-child {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  flex: 0 0 35px;
  border-radius: 11px;
  color: #173405;
  background: var(--a2bh-green);
  font-size: 18px;
}
.a2bv2hero__visual-note > span:last-child {
  display: grid;
  gap: 3px;
}
.a2bv2hero__visual-note strong {
  font:
    800 12px "Montserrat",
    "Poppins",
    Arial,
    sans-serif;
}
.a2bv2hero__visual-note small {
  color: #d6e3ef;
  font-size: 9.5px;
  line-height: 1.45;
}
.a2bv2hero__benefits {
  position: relative;
  z-index: 8;
  right: auto;
  bottom: auto;
  left: auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: -14px 0 0;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(67, 145, 225, 0.38);
  border-radius: 0;
  background:
    radial-gradient(
      circle at 9% 115%,
      rgba(112, 201, 0, 0.18),
      transparent 28%
    ),
    radial-gradient(
      circle at 92% -20%,
      rgba(132, 43, 203, 0.2),
      transparent 27%
    ),
    linear-gradient(112deg, #03152d 0%, #08274b 48%, #041a37 100%);
  box-shadow:
    0 22px 52px rgba(3, 20, 44, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(14px);
}
.a2bv2hero__benefits::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(
    90deg,
    #70d800 0 25%,
    #1683ef 25% 50%,
    #ff6b20 50% 75%,
    #983de0 75% 100%
  );
  box-shadow: 0 0 18px rgba(65, 164, 255, 0.34);
  pointer-events: none;
}
.a2bv2hero__benefits::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: -45%;
  bottom: -45%;
  left: -28%;
  width: 22%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.13),
    transparent
  );
  transform: skewX(-18deg);
  animation: a2bv2hero-benefit-sweep 7s ease-in-out infinite;
  pointer-events: none;
}
.a2bv2hero__benefit {
  --benefit: #70c900;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  min-height: 132px;
  padding: 23px 25px;
  overflow: hidden;
  border-left: 1px solid rgba(255, 255, 255, 0.11);
  transition:
    background 0.25s ease,
    transform 0.25s ease;
}
.a2bv2hero__benefit::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 5px;
  width: 125px;
  height: 125px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    color-mix(in srgb, var(--benefit) 20%, transparent),
    transparent 68%
  );
  transform: translateY(-50%);
  pointer-events: none;
}
.a2bv2hero__benefit:first-child {
  border-left: 0;
}
.a2bv2hero__benefit--blue {
  --benefit: #0967d8;
}
.a2bv2hero__benefit--orange {
  --benefit: #ff6518;
}
.a2bv2hero__benefit--purple {
  --benefit: #842bcb;
}
.a2bv2hero__benefit-icon {
  display: grid;
  place-items: center;
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--benefit) 82%, #fff),
    var(--benefit)
  );
  box-shadow:
    0 13px 26px color-mix(in srgb, var(--benefit) 34%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.32);
  transition:
    transform 0.25s ease,
    filter 0.25s ease;
}
.a2bv2hero__benefit-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.a2bv2hero__benefit--green .a2bv2hero__benefit-icon svg,
.a2bv2hero__benefit--orange .a2bv2hero__benefit-icon svg {
  fill: rgba(255, 255, 255, 0.17);
}
.a2bv2hero__benefit-icon--letter {
  font:
    900 27px "Montserrat",
    "Poppins",
    Arial,
    sans-serif;
}
.a2bv2hero__benefit > span:last-child {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.a2bv2hero__benefit strong {
  color: var(--a2bh-navy);
  font:
    800 13px/1.25 "Montserrat",
    "Poppins",
    Arial,
    sans-serif;
}
.a2bv2hero__benefit small {
  color: #66768b;
  font-size: 10.5px;
  line-height: 1.55;
}
.a2bv2hero__benefit strong {
  color: #fff;
  font:
    900 14px/1.25 "Montserrat",
    "Poppins",
    Arial,
    sans-serif;
  letter-spacing: -0.015em;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.24);
}
.a2bv2hero__benefit small {
  color: #c3d3e5;
  font-size: 11px;
  line-height: 1.5;
}
.a2bv2hero__benefit:hover {
  z-index: 2;
  background: rgba(255, 255, 255, 0.055);
  transform: translateY(-3px);
}
.a2bv2hero__benefit:hover .a2bv2hero__benefit-icon {
  transform: scale(1.07) rotate(-3deg);
  filter: saturate(1.12) brightness(1.08);
}
@keyframes a2bv2hero-drift {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  50% {
    transform: translate3d(18px, 12px, 0) scale(1.08);
  }
}
@keyframes a2bv2hero-benefit-sweep {
  0%,
  18% {
    left: -28%;
    opacity: 0;
  }
  27% {
    opacity: 1;
  }
  58%,
  100% {
    left: 112%;
    opacity: 0;
  }
}
/* Desktop: one continuous canvas. The copy wash fades diagonally into the
   complete, uncropped artwork instead of creating a hard two-column seam. */
@media (min-width: 1101px) {
  .a2bv2hero__benefits {
    margin-top: calc(-14px - max(0px, 520px - 37.15vw));
  }
  .a2bv2hero__stage {
    display: block;
    aspect-ratio: 2.77 / 1;
    min-height: 0;
    min-height: 520px;
    background:
      radial-gradient(
        circle at 38% 18%,
        rgba(112, 201, 0, 0.1),
        transparent 23%
      ),
      linear-gradient(105deg, #fff 0%, #fbfdfc 38%, #eef5f4 58%, #e4edef 100%);
  }
  .a2bv2hero__stage::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(
      108deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 0.98) 31%,
      rgba(250, 253, 251, 0.92) 38%,
      rgba(246, 251, 248, 0.62) 43%,
      rgba(246, 251, 248, 0.18) 49%,
      transparent 56%
    );
    pointer-events: none;
  }
  .a2bv2hero__copy {
    position: relative;
    z-index: 3;
    width: 48%;
    height: 100%;
    padding: 26px 28px 70px;
    background: transparent;
  }
  .a2bv2hero__copy::after {
    opacity: 0.42;
  }
  .a2bv2hero__eyebrow {
    margin-bottom: 12px;
    padding: 7px 11px 7px 9px;
    font-size: 10px;
  }
  .a2bv2hero__eyebrow svg {
    width: 17px;
    height: 17px;
  }
  .a2bv2hero h1 {
    font-size: clamp(40px, 3.45vw, 54px);
    line-height: 0.96;
  }
  .a2bv2hero h1 em {
    margin-top: 7px;
  }
  .a2bv2hero__points {
    gap: 6px;
    margin-top: 26px;
  }
  .a2bv2hero__points li {
    font-size: 12px;
  }
  .a2bv2hero__points li span {
    width: 18px;
    height: 18px;
    font-size: 10px;
  }
  .a2bv2hero__actions {
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 17px;
  }
  .a2bv2hero__button {
    flex: 1 1 0;
    min-width: 0;
    min-height: 51px;
    padding: 0 14px;
    gap: 10px;
    font-size: 12px;
  }
  .a2bv2hero__button span {
    font-size: 17px;
  }
  .a2bv2hero__reviews {
    gap: 9px;
    margin-top: 28px;
    margin-bottom: 9px;
    padding: 10px 12px;
    font-size: 9.5px;
  }
  .a2bv2hero__reviews strong {
    font-size: 11.5px;
  }
  .a2bv2hero__stars {
    padding: 7px 9px;
    font-size: 11.5px;
  }
  .a2bv2hero__visual {
    position: absolute;
    z-index: 1;
    inset: 0 0 0 auto;
    width: 66%;
    min-height: 0;
    background: transparent;
    -webkit-mask-image: linear-gradient(
      90deg,
      transparent 0%,
      rgba(0, 0, 0, 0.32) 7%,
      #000 17%
    );
    mask-image: linear-gradient(
      90deg,
      transparent 0%,
      rgba(0, 0, 0, 0.32) 7%,
      #000 17%
    );
  }
  .a2bv2hero__visual::after {
    background: linear-gradient(
      90deg,
      rgba(239, 247, 243, 0.2),
      transparent 21%,
      transparent 86%,
      rgba(6, 28, 59, 0.04)
    );
  }
  .a2bv2hero__visual-backdrop {
    display: block;
    opacity: 0.52;
    filter: blur(22px) saturate(1.18) brightness(0.82);
  }
  .a2bv2hero__visual-artwork {
    object-fit: contain;
    object-position: right top;
    transform: none;
    filter: none;
  }
  .a2bv2hero:hover .a2bv2hero__visual-artwork {
    transform: none;
  }
}
@media (max-width: 1100px) {
  .a2bv2hero {
    padding: 0;
  }
  .a2bv2hero__stage {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .a2bv2hero__copy {
    padding: 46px 34px 86px;
  }
  .a2bv2hero h1 {
    font-size: clamp(38px, 4.25vw, 52px);
  }
  .a2bv2hero__button {
    min-width: 0;
  }
  .a2bv2hero__visual {
    min-height: 470px;
  }
  .a2bv2hero__benefit {
    min-height: 118px;
    padding: 18px 16px;
    gap: 11px;
  }
  .a2bv2hero__benefit-icon {
    flex-basis: 46px;
    width: 46px;
    height: 46px;
    border-radius: 14px;
  }
  .a2bv2hero__benefit strong {
    font-size: 12px;
  }
  .a2bv2hero__benefit small {
    font-size: 9.5px;
  }
}
@media (max-width: 900px) {
  .a2bv2hero {
    padding: 0;
  }
  .a2bv2hero__shell {
    width: 100%;
  }
  .a2bv2hero__stage {
    grid-template-columns: 1fr;
    min-height: 0;
    border-radius: 0;
  }
  .a2bv2hero__copy {
    order: 1;
    padding: 40px 32px 36px;
  }
  .a2bv2hero__visual {
    order: 2;
    min-height: 390px;
  }
  .a2bv2hero__benefits {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    grid-template-columns: 1fr 1fr;
    margin: 0;
    border-radius: 0;
  }
  .a2bv2hero__benefit {
    min-height: 104px;
    border-top: 1px solid rgba(255, 255, 255, 0.11);
  }
  .a2bv2hero__benefit:nth-child(odd) {
    border-left: 0;
  }
  .a2bv2hero__benefit:nth-child(-n + 2) {
    border-top: 0;
  }
}
@media (max-width: 560px) {
  .a2bv2hero__shell {
    width: 100%;
  }
  .a2bv2hero__stage {
    border-radius: 0;
  }
  .a2bv2hero__copy {
    padding: 31px 21px 28px;
  }
  .a2bv2hero__eyebrow {
    margin-bottom: 14px;
    letter-spacing: 0.1em;
    font-size: 9.5px;
  }
  .a2bv2hero__eyebrow svg {
    width: 17px;
    height: 17px;
  }
  .a2bv2hero h1 {
    overflow-wrap: anywhere;
    font-size: clamp(30px, 9vw, 40px);
    line-height: 1.02;
  }
  .a2bv2hero__mobile-break {
    display: block;
  }
  .a2bv2hero h1 em {
    margin-top: 8px;
  }
  .a2bv2hero__points {
    gap: 8px;
    margin-top: 28px;
  }
  .a2bv2hero__points li {
    font-size: 11.5px;
  }
  .a2bv2hero__actions {
    display: grid;
    gap: 9px;
    margin-top: 22px;
  }
  .a2bv2hero__button {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 52px;
    padding-inline: 18px;
    font-size: 12.5px;
  }
  .a2bv2hero__reviews {
    gap: 8px;
    margin-top: 20px;
    font-size: 9.5px;
  }
  .a2bv2hero__reviews strong {
    font-size: 11px;
  }
  .a2bv2hero__stars {
    padding: 7px 8px;
    font-size: 11px;
  }
  .a2bv2hero__visual {
    min-height: 285px;
  }
  .a2bv2hero__visual-artwork {
    object-position: center;
  }
  .a2bv2hero__benefits {
    grid-template-columns: 1fr;
  }
  .a2bv2hero__benefit {
    min-height: 88px;
    padding: 15px 17px;
    border-top: 1px solid rgba(255, 255, 255, 0.11);
    border-left: 0;
  }
  .a2bv2hero__benefit:nth-child(2) {
    border-top: 1px solid rgba(255, 255, 255, 0.11);
  }
  .a2bv2hero__benefit:first-child {
    border-top: 0;
  }
  .a2bv2hero__benefit-icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
  }
  .a2bv2hero__benefit strong {
    font-size: 11.5px;
  }
  .a2bv2hero__benefit small {
    font-size: 9.5px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .a2bv2hero *,
  .a2bv2hero *::before,
  .a2bv2hero *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}
/* =====================================================================
   19. A2B V2 HERO — EVOLUTIONX COMPATIBILITY LOCK
   Keeps platform/container rules from restoring gutters or the old bar.
   ===================================================================== */
.a2bv2hero {
  width: 100vw !important;
  width: 100dvw !important;
  max-width: none !important;
  margin-block: 0 !important;
  margin-inline: calc(50% - 50vw) !important;
  margin-inline: calc(50% - 50dvw) !important;
  padding: 0 !important;
}
body:has(.a2bv2hero) :where(div, section, main):has(.a2bv2hero) {
  margin-block: 0 !important;
  padding-block: 0 !important;
  overflow: visible !important;
}
.a2bv2hero .a2bv2hero__benefits {
  border-color: rgba(67, 145, 225, 0.38) !important;
  background:
    radial-gradient(
      circle at 9% 115%,
      rgba(112, 201, 0, 0.18),
      transparent 28%
    ),
    radial-gradient(
      circle at 92% -20%,
      rgba(132, 43, 203, 0.2),
      transparent 27%
    ),
    linear-gradient(112deg, #03152d 0%, #08274b 48%, #041a37 100%) !important;
  box-shadow:
    0 22px 52px rgba(3, 20, 44, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}
.a2bv2hero .a2bv2hero__benefit {
  border-color: rgba(255, 255, 255, 0.11) !important;
  background-color: transparent !important;
}
.a2bv2hero .a2bv2hero__benefit strong {
  color: #fff !important;
}
.a2bv2hero .a2bv2hero__benefit small {
  color: #c3d3e5 !important;
}
@media (min-width: 1101px) {
  .a2bv2hero .a2bv2hero__benefits {
    margin-top: calc(-14px - max(0px, 520px - 37.15vw)) !important;
  }
}
@media (max-width: 900px) {
  .a2bv2hero .a2bv2hero__benefits {
    margin-top: 0 !important;
  }
}
@media (min-width: 901px) {
  .a2bv2hero {
    transform: translateY(-15px) !important;
    margin-bottom: -15px !important;
  }
}
/* =====================================================================
   20. A2B V2 HERO — TABLET/MOBILE IMAGE ASPECT-RATIO FIX
   The source artwork is 1672 × 941. Matching that ratio removes the
   blurred letterbox bands while keeping the complete image visible.
   ===================================================================== */
@media (max-width: 1100px) {
  .a2bv2hero .a2bv2hero__visual {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1672 / 941;
    background: transparent;
  }
  .a2bv2hero .a2bv2hero__visual-backdrop {
    display: none !important;
  }
  .a2bv2hero .a2bv2hero__visual-artwork {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    filter: none;
    transform: none;
  }
  .a2bv2hero:hover .a2bv2hero__visual-artwork {
    transform: none;
  }
}
/* ==================================================================
   21. A2B V2 — HOMEPAGE SHOP BY CATEGORY
   Standalone EvolutionX widget. All selectors are isolated inside
   the .a2bv2shopcats namespace to protect the existing theme.
   ================================================================== */
.a2bv2shopcats,
.a2bv2shopcats * {
  box-sizing: border-box;
}
.a2bv2shopcats {
  --a2b-navy: #061d40;
  --a2b-blue: #126ed6;
  --a2b-green: #75cf00;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  margin: 0;
  padding: clamp(48px, 5vw, 76px) clamp(20px, 4vw, 72px)
    clamp(54px, 5.5vw, 84px);
  background: transparent;
  color: var(--a2b-navy);
  font-family: "Poppins", Arial, sans-serif;
}
.a2bv2shopcats::before {
  content: none;
}
.a2bv2shopcats__inner {
  width: min(1800px, 100%);
  margin: 0 auto;
}
/* ---------- Section heading ---------- */
.a2bv2shopcats__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin: 0 0 clamp(26px, 3vw, 40px);
}
.a2bv2shopcats__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 9px;
  color: #388b10;
  font:
    700 12px/1 "Poppins",
    Arial,
    sans-serif;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}
.a2bv2shopcats__eyebrow i {
  width: 29px;
  height: 4px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--a2b-green), var(--a2b-blue));
  box-shadow: 0 0 16px rgba(117, 207, 0, 0.45);
}
.a2bv2shopcats__header h2 {
  margin: 0;
  color: var(--a2b-navy);
  font:
    900 clamp(34px, 3.4vw, 58px) / 0.98 "Montserrat",
    Arial,
    sans-serif;
  letter-spacing: -0.045em;
}
.a2bv2shopcats__header p {
  max-width: 760px;
  margin: 13px 0 0;
  color: #62738c;
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.65;
}
.a2bv2shopcats__all {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 14px;
  min-height: 54px;
  padding: 8px 9px 8px 22px;
  border: 1px solid #dbe5f0;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 14px 35px rgba(6, 29, 64, 0.09);
  color: var(--a2b-navy);
  font-weight: 700;
  text-decoration: none;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}
.a2bv2shopcats__all span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(135deg, #1882ea, #0753bb);
  box-shadow: 0 8px 18px rgba(18, 110, 214, 0.28);
  color: #fff;
  font-size: 20px;
}
.a2bv2shopcats__all:hover,
.a2bv2shopcats__all:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(18, 110, 214, 0.36);
  box-shadow: 0 18px 42px rgba(6, 29, 64, 0.14);
}
/* ---------- Eight-card department rail ---------- */
.a2bv2shopcats__rail {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: clamp(10px, 1vw, 18px);
}
.a2bv2shopcats__card {
  --accent: var(--a2b-green);
  --glow: rgba(117, 207, 0, 0.26);
  --wash: #f7fbff;
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 338px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(13, 49, 88, 0.11);
  border-radius: 24px;
  background: linear-gradient(155deg, #fff 10%, var(--wash) 100%);
  box-shadow:
    0 16px 38px rgba(6, 29, 64, 0.085),
    inset 0 1px 0 #fff;
  color: var(--a2b-navy);
  text-decoration: none;
  transform: translateZ(0);
  transition:
    transform 0.35s cubic-bezier(0.2, 0.75, 0.25, 1),
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}
.a2bv2shopcats__card::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -70px;
  right: -65px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--glow), transparent 69%);
  pointer-events: none;
  transition:
    transform 0.45s ease,
    opacity 0.35s ease;
}
.a2bv2shopcats__card::after {
  content: "";
  position: absolute;
  z-index: 5;
  inset: -45% -100%;
  background: linear-gradient(
    110deg,
    transparent 43%,
    rgba(255, 255, 255, 0.7) 49%,
    transparent 55%
  );
  transform: translateX(-36%);
  pointer-events: none;
  transition: transform 0.75s ease;
}
.a2bv2shopcats__card:hover,
.a2bv2shopcats__card:focus-visible {
  z-index: 2;
  border-color: color-mix(in srgb, var(--accent) 48%, white);
  box-shadow:
    0 25px 55px rgba(6, 29, 64, 0.17),
    0 10px 28px var(--glow);
  transform: translateY(-10px);
  outline: none;
}
.a2bv2shopcats__card:hover::before,
.a2bv2shopcats__card:focus-visible::before {
  opacity: 1;
  transform: scale(1.3);
}
.a2bv2shopcats__card:hover::after,
.a2bv2shopcats__card:focus-visible::after {
  transform: translateX(65%);
}
.a2bv2shopcats__number {
  position: absolute;
  z-index: 6;
  top: 14px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid color-mix(in srgb, var(--accent) 33%, white);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 8px 20px rgba(6, 29, 64, 0.08);
  color: color-mix(in srgb, var(--accent) 78%, #061d40);
  font:
    800 11px/1 "Montserrat",
    Arial,
    sans-serif;
  backdrop-filter: blur(8px);
}
.a2bv2shopcats__art {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  height: 190px;
  margin: 0;
  overflow: hidden;
  border-bottom: 1px solid rgba(13, 49, 88, 0.07);
  background:
    radial-gradient(circle at 50% 78%, var(--glow), transparent 49%),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.76),
      rgba(255, 255, 255, 0.12)
    );
}
.a2bv2shopcats__art::after {
  content: "";
  position: absolute;
  bottom: 13px;
  left: 18%;
  width: 64%;
  height: 12px;
  border-radius: 50%;
  background: rgba(6, 29, 64, 0.15);
  filter: blur(10px);
  transform: scaleX(0.8);
  transition: transform 0.35s ease;
}
.a2bv2shopcats__art img {
  position: relative;
  z-index: 2;
  display: block;
  width: 92%;
  height: 92%;
  object-fit: contain;
  object-position: center bottom;
  mix-blend-mode: multiply;
  filter: drop-shadow(0 15px 13px rgba(6, 29, 64, 0.15));
  transition:
    transform 0.42s cubic-bezier(0.2, 0.75, 0.25, 1),
    filter 0.35s ease;
}
.a2bv2shopcats__card:hover .a2bv2shopcats__art img,
.a2bv2shopcats__card:focus-visible .a2bv2shopcats__art img {
  filter: drop-shadow(0 22px 18px rgba(6, 29, 64, 0.21));
  transform: translateY(-5px) scale(1.07);
}
.a2bv2shopcats__card:hover .a2bv2shopcats__art::after,
.a2bv2shopcats__card:focus-visible .a2bv2shopcats__art::after {
  transform: scaleX(1.02);
}
.a2bv2shopcats__copy {
  position: relative;
  z-index: 6;
  display: flex;
  min-height: 148px;
  flex: 1;
  flex-direction: column;
  padding: 17px 16px 16px;
}
.a2bv2shopcats__copy::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 16px;
  width: 44px;
  height: 4px;
  border-radius: 99px;
  background: var(--accent);
  box-shadow: 0 0 14px var(--glow);
}
.a2bv2shopcats__copy small {
  min-height: 25px;
  color: color-mix(in srgb, var(--accent) 75%, #28405e);
  font:
    700 9px/1.35 "Poppins",
    Arial,
    sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.a2bv2shopcats__copy strong {
  display: block;
  min-height: 45px;
  color: inherit;
  font:
    800 clamp(15px, 1.05vw, 19px) / 1.13 "Montserrat",
    Arial,
    sans-serif;
  letter-spacing: -0.025em;
}
.a2bv2shopcats__copy > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: auto;
  color: #66758a;
  font:
    500 10px/1.35 "Poppins",
    Arial,
    sans-serif;
}
.a2bv2shopcats__copy b {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: var(--accent);
  box-shadow: 0 7px 16px var(--glow);
  color: #fff;
  font-size: 16px;
  transition: transform 0.25s ease;
}
.a2bv2shopcats__card:hover .a2bv2shopcats__copy b,
.a2bv2shopcats__card:focus-visible .a2bv2shopcats__copy b {
  transform: translateX(3px);
}
/* Feature card: Office Supplies */
.a2bv2shopcats__card--navy {
  border-color: rgba(117, 207, 0, 0.4);
  background:
    radial-gradient(
      circle at 65% 40%,
      rgba(0, 139, 161, 0.25),
      transparent 39%
    ),
    linear-gradient(145deg, #061a38, #082b50 72%, #07464a);
  box-shadow:
    0 18px 42px rgba(6, 29, 64, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  color: #fff;
}
.a2bv2shopcats__card--navy .a2bv2shopcats__art {
  border-color: rgba(255, 255, 255, 0.11);
  background: radial-gradient(
    circle at 50% 75%,
    rgba(117, 207, 0, 0.24),
    transparent 48%
  );
}
.a2bv2shopcats__card--navy .a2bv2shopcats__art img {
  mix-blend-mode: normal;
}
.a2bv2shopcats__card--navy .a2bv2shopcats__number {
  border-color: rgba(117, 207, 0, 0.5);
  background: var(--a2b-green);
  color: var(--a2b-navy);
}
.a2bv2shopcats__card--navy .a2bv2shopcats__copy small {
  color: #b5f35c;
}
.a2bv2shopcats__card--navy .a2bv2shopcats__copy > span {
  color: #c4d2e5;
}
/* ---------- Tablet ---------- */
@media (max-width: 1350px) {
  .a2bv2shopcats__rail {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
  }
  .a2bv2shopcats__card {
    min-height: 360px;
  }
  .a2bv2shopcats__art {
    height: 205px;
  }
  .a2bv2shopcats__copy strong {
    font-size: 19px;
  }
  .a2bv2shopcats__copy > span {
    font-size: 12px;
  }
}
@media (max-width: 800px) {
  .a2bv2shopcats {
    padding: 42px 20px 50px;
  }
  .a2bv2shopcats__header {
    align-items: flex-start;
  }
  .a2bv2shopcats__header p {
    max-width: 520px;
  }
  .a2bv2shopcats__all {
    min-height: 46px;
    padding-left: 16px;
    font-size: 12px;
  }
  .a2bv2shopcats__all span {
    width: 32px;
    height: 32px;
  }
  .a2bv2shopcats__rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* ---------- Mobile: touch-friendly horizontal rail ---------- */
@media (max-width: 560px) {
  .a2bv2shopcats {
    padding: 38px 0 42px;
  }
  .a2bv2shopcats__header {
    display: block;
    padding: 0 18px;
    margin-bottom: 24px;
  }
  .a2bv2shopcats__header h2 {
    font-size: 34px;
  }
  .a2bv2shopcats__header p {
    font-size: 13px;
    line-height: 1.55;
  }
  .a2bv2shopcats__all {
    margin-top: 18px;
  }
  .a2bv2shopcats__rail {
    display: grid;
    grid-auto-columns: min(79vw, 320px);
    grid-auto-flow: column;
    grid-template-columns: none;
    gap: 14px;
    overflow-x: auto;
    padding: 8px 18px 25px;
    scroll-padding-inline: 18px;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .a2bv2shopcats__rail::-webkit-scrollbar {
    display: none;
  }
  .a2bv2shopcats__card {
    min-height: 385px;
    scroll-snap-align: start;
  }
  .a2bv2shopcats__art {
    height: 225px;
  }
  .a2bv2shopcats__copy {
    min-height: 155px;
    padding: 19px 18px 17px;
  }
  .a2bv2shopcats__copy small {
    font-size: 10px;
  }
  .a2bv2shopcats__copy strong {
    min-height: 45px;
    font-size: 21px;
  }
  .a2bv2shopcats__copy > span {
    font-size: 12px;
  }
  .a2bv2shopcats__mobile-hint {
    display: flex;
  }
}
.a2bv2shopcats__mobile-hint {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 2px;
  color: #60718a;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.a2bv2shopcats__mobile-hint i {
  position: relative;
  width: 58px;
  height: 3px;
  border-radius: 99px;
  background: #d8e2ed;
}
.a2bv2shopcats__mobile-hint i::after {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  width: 22px;
  height: 7px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--a2b-green), var(--a2b-blue));
  animation: a2bv2shopcats-swipe 2.3s ease-in-out infinite;
}
@keyframes a2bv2shopcats-swipe {
  0%,
  100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(36px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .a2bv2shopcats__card,
  .a2bv2shopcats__card::before,
  .a2bv2shopcats__card::after,
  .a2bv2shopcats__art img,
  .a2bv2shopcats__copy b,
  .a2bv2shopcats__all,
  .a2bv2shopcats__mobile-hint i::after {
    animation: none !important;
    transition: none !important;
  }
}
/* =====================================================================
   22. A2B V2 — HOMEPAGE BESTSELLERS CAROUSEL
   Add `a2bv2best` to the EvolutionX product-carousel widget.
   The platform continues to control products and carousel behaviour.
   ===================================================================== */
.a2bv2besthead,
.a2bv2besthead *,
.a2bv2best,
.a2bv2best * {
  box-sizing: border-box;
}
/* ---------- Heading: matches Shop by Category ---------- */
.a2bv2besthead {
  --a2bb-navy: #061d40;
  --a2bb-blue: #126ed6;
  --a2bb-green: #75cf00;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  width: min(1800px, calc(100% - clamp(40px, 8vw, 144px)));
  margin: clamp(54px, 5vw, 82px) auto clamp(24px, 2.6vw, 38px);
  color: var(--a2bb-navy);
  background: transparent !important;
  font-family: "Poppins", Arial, sans-serif;
}
.a2bv2besthead__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 9px;
  color: #388b10;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}
.a2bv2besthead__eyebrow i {
  width: 29px;
  height: 4px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--a2bb-green), var(--a2bb-blue));
  box-shadow: 0 0 16px rgba(117, 207, 0, 0.45);
}
.a2bv2besthead h2 {
  margin: 0;
  color: var(--a2bb-navy);
  font-family: "Montserrat", "Poppins", Arial, sans-serif;
  font-size: clamp(34px, 3.4vw, 58px);
  font-weight: 900;
  line-height: 0.98;
  letter-spacing: -0.045em;
}
.a2bv2besthead p {
  margin: 13px 0 0;
  color: #62738c;
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.65;
}
.a2bv2besthead__all {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 14px;
  min-height: 54px;
  padding: 8px 9px 8px 22px;
  border: 1px solid #dbe5f0;
  border-radius: 16px;
  color: var(--a2bb-navy) !important;
  background: #fff;
  box-shadow: 0 14px 35px rgba(6, 29, 64, 0.09);
  font-weight: 700;
  text-decoration: none !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}
.a2bv2besthead__all > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #1882ea, #0753bb);
  box-shadow: 0 8px 18px rgba(18, 110, 214, 0.28);
  font-size: 20px;
}
.a2bv2besthead__all:hover,
.a2bv2besthead__all:focus-visible {
  border-color: rgba(18, 110, 214, 0.36);
  box-shadow: 0 18px 42px rgba(6, 29, 64, 0.14);
  transform: translateY(-3px);
}
/* ---------- EvolutionX carousel wrapper ---------- */
.a2bv2best {
  --a2bb-navy: #061d40;
  --a2bb-blue: #126ed6;
  --a2bb-green: #75cf00;
  --a2bb-orange: #ff5a25;
  position: relative;
  width: min(1840px, 100%);
  margin: 0 auto clamp(58px, 6vw, 94px);
  padding: 12px clamp(38px, 4vw, 72px) 34px;
  overflow: visible;
  color: var(--a2bb-navy);
  background: transparent !important;
  font-family: "Poppins", Arial, sans-serif;
}
/* Keep every section/carousel layer transparent. Colour belongs to cards only. */
.a2bv2besthead::before,
.a2bv2besthead::after,
.a2bv2best::before,
.a2bv2best::after {
  content: none !important;
}
.a2bv2best
  :is(
    .slick-list,
    .slick-track,
    .slick-slide,
    .owl-stage-outer,
    .owl-stage,
    .owl-item,
    .swiper,
    .swiper-wrapper,
    .swiper-slide,
    .carousel,
    .carousel-inner
  ) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
/* Slick/Owl/Swiper tracks used by EvolutionX releases */
.a2bv2best :is(.slick-list, .owl-stage-outer, .swiper) {
  margin: -12px -12px -26px;
  padding: 12px 12px 26px;
  overflow: hidden;
}
.a2bv2best :is(.slick-track, .owl-stage, .swiper-wrapper) {
  display: flex !important;
  align-items: stretch;
}
.a2bv2best :is(.slick-slide, .owl-item, .swiper-slide) {
  height: auto;
  padding: 0 9px;
}
.a2bv2best :is(.slick-slide, .owl-item, .swiper-slide) > div {
  height: 100%;
}
/* ---------- Product cards ---------- */
.a2bv2best :is(.tile, .product-tile, .product-item, .item.product) {
  --card-accent: #75cf00;
  --card-glow: rgba(117, 207, 0, 0.24);
  position: relative;
  display: flex;
  height: 100%;
  min-height: 520px;
  flex-direction: column;
  overflow: hidden;
  padding: 16px;
  border: 1px solid rgba(13, 49, 88, 0.12);
  border-radius: 24px;
  color: var(--a2bb-navy);
  background: linear-gradient(155deg, #fff 8%, #f7fbff 100%);
  box-shadow:
    0 16px 38px rgba(6, 29, 64, 0.09),
    inset 0 1px 0 #fff;
  transition:
    transform 0.35s cubic-bezier(0.2, 0.75, 0.25, 1),
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}
.a2bv2best :is(.tile, .product-tile, .product-item, .item.product)::before {
  content: "";
  position: absolute;
  z-index: 5;
  top: 0;
  right: 0;
  left: 0;
  height: 5px;
  background: linear-gradient(
    90deg,
    var(--card-accent),
    color-mix(in srgb, var(--card-accent) 55%, #1683ef)
  );
  box-shadow: 0 3px 14px var(--card-glow);
}
.a2bv2best :is(.tile, .product-tile, .product-item, .item.product)::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: -85px;
  right: -80px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--card-glow), transparent 69%);
  pointer-events: none;
}
.a2bv2best :is(.tile, .product-tile, .product-item, .item.product):hover {
  z-index: 4;
  border-color: color-mix(in srgb, var(--card-accent) 45%, white);
  box-shadow:
    0 25px 55px rgba(6, 29, 64, 0.17),
    0 10px 28px var(--card-glow);
  transform: translateY(-9px);
}
.a2bv2best
  :is(.slick-slide, .owl-item, .swiper-slide):nth-child(4n + 2)
  :is(.tile, .product-tile, .product-item, .item.product) {
  --card-accent: #1677df;
  --card-glow: rgba(22, 119, 223, 0.22);
  background: linear-gradient(155deg, #fff 8%, #eef6ff 100%);
}
.a2bv2best
  :is(.slick-slide, .owl-item, .swiper-slide):nth-child(4n + 3)
  :is(.tile, .product-tile, .product-item, .item.product) {
  --card-accent: #ff6425;
  --card-glow: rgba(255, 100, 37, 0.22);
  background: linear-gradient(155deg, #fff 8%, #fff4ed 100%);
}
.a2bv2best
  :is(.slick-slide, .owl-item, .swiper-slide):nth-child(4n + 4)
  :is(.tile, .product-tile, .product-item, .item.product) {
  --card-accent: #8738d4;
  --card-glow: rgba(135, 56, 212, 0.2);
  background: linear-gradient(155deg, #fff 8%, #f7f0ff 100%);
}
/* Image stage */
.a2bv2best .product-tile-image {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 100%;
  height: 225px;
  min-height: 225px;
  margin: 4px 0 16px;
  overflow: hidden;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
}
.a2bv2best .product-tile-image :is(.text-center, .imgthumbnail, .thumb-align) {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  margin: 0;
}
.a2bv2best .product-tile-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 92% !important;
  max-height: 92% !important;
  margin: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: drop-shadow(0 14px 12px rgba(6, 29, 64, 0.14));
  transition:
    transform 0.35s ease,
    filter 0.35s ease;
}
.a2bv2best
  :is(.tile, .product-tile, .product-item, .item.product):hover
  .product-tile-image
  img {
  filter: drop-shadow(0 21px 16px rgba(6, 29, 64, 0.2));
  transform: translateY(-4px) scale(1.055);
}
/* Product information */
.a2bv2best :is(.footer, .footer-wrapper, .product-info) {
  position: relative;
  z-index: 2;
}
.a2bv2best .brand-label,
.a2bv2best .brand-label a {
  color: #1266c6 !important;
  font-family: "Montserrat", "Poppins", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.3;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.a2bv2best .product-name,
.a2bv2best .product-name a {
  color: var(--a2bb-navy) !important;
  font-family: "Montserrat", "Poppins", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.02em;
  text-decoration: none !important;
}
.a2bv2best .product-name {
  min-height: 61px;
  margin: 8px 0 9px;
}
.a2bv2best .product-sku,
.a2bv2best .uom,
.a2bv2best .price-label-inc-vat,
.a2bv2best .rrp {
  color: #77869a !important;
  font-size: 11.5px !important;
  line-height: 1.5 !important;
}
.a2bv2best .price-label {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 5px;
  margin: 8px 0 5px;
  color: #f04438 !important;
  font-family: "Montserrat", "Poppins", Arial, sans-serif !important;
  font-size: clamp(24px, 1.8vw, 32px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -0.04em;
}
.a2bv2best .price-label::after {
  color: #60718a !important;
  font-family: "Poppins", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0;
  white-space: nowrap;
}
/* Saving badge: top-right of image/card */
.a2bv2best .rrp .save {
  position: absolute !important;
  z-index: 8;
  top: 17px;
  right: 17px;
  margin: 0 !important;
  padding: 8px 11px !important;
  border: 1px solid rgba(255, 255, 255, 0.54);
  border-radius: 11px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #ff6a2b, #ed3f25) !important;
  box-shadow: 0 9px 20px rgba(238, 68, 38, 0.25);
  font-family: "Montserrat", "Poppins", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: uppercase;
}
/* Stock and basket controls */
.a2bv2best .live-inventory-v2-wrapper.add-to-cart {
  margin-top: auto;
  padding-top: 13px;
}
.a2bv2best .live-inventory-v2-shipping {
  color: #2f8414 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}
.a2bv2best .buttons.group {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 8px;
  margin-top: 8px;
}
.a2bv2best .buttons.group > .qty-list,
.a2bv2best .buttons.group input {
  width: 48px !important;
  min-width: 48px !important;
  height: 46px !important;
  border: 1px solid #d5e1ee !important;
  border-radius: 12px !important;
  background: #fff !important;
  text-align: center;
}
.a2bv2best button.btn-add-to-cart {
  width: 100%;
  min-height: 46px;
  border: 0 !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #78d800, #48ac00) !important;
  box-shadow: 0 10px 22px rgba(83, 184, 0, 0.22);
  font-family: "Montserrat", "Poppins", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
/* ---------- Carousel arrows ---------- */
.a2bv2best
  :is(
    .slick-arrow,
    .owl-prev,
    .owl-next,
    .swiper-button-prev,
    .swiper-button-next,
    .carousel-control-prev,
    .carousel-control-next
  ) {
  position: absolute;
  z-index: 20;
  top: 42%;
  display: grid !important;
  place-items: center;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px;
  margin: 0;
  padding: 0 !important;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, 0.75) !important;
  border-radius: 17px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #0a2e5e, #061d40) !important;
  box-shadow:
    0 14px 28px rgba(6, 29, 64, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.16);
  opacity: 1 !important;
  transform: translateY(-50%);
  transition:
    transform 0.22s ease,
    background 0.22s ease,
    box-shadow 0.22s ease;
}
.a2bv2best
  :is(.slick-prev, .owl-prev, .swiper-button-prev, .carousel-control-prev) {
  left: 7px !important;
}
.a2bv2best
  :is(.slick-next, .owl-next, .swiper-button-next, .carousel-control-next) {
  right: 7px !important;
}
.a2bv2best
  :is(
    .slick-arrow,
    .owl-prev,
    .owl-next,
    .swiper-button-prev,
    .swiper-button-next,
    .carousel-control-prev,
    .carousel-control-next
  ):hover {
  background: linear-gradient(135deg, #7bdd00, #43a700) !important;
  box-shadow: 0 16px 32px rgba(83, 184, 0, 0.32);
  transform: translateY(-50%) scale(1.08);
}
.a2bv2best :is(.slick-prev, .slick-next)::before {
  color: #fff !important;
  font-size: 25px !important;
  opacity: 1 !important;
}
.a2bv2best :is(.owl-prev, .owl-next) span {
  color: #fff;
  font-size: 29px;
  line-height: 1;
}
/* Dots */
.a2bv2best :is(.slick-dots, .owl-dots, .swiper-pagination) {
  position: relative !important;
  bottom: auto !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: 24px 0 0 !important;
  padding: 0;
}
.a2bv2best .slick-dots li,
.a2bv2best .owl-dot,
.a2bv2best .swiper-pagination-bullet {
  width: 9px !important;
  height: 9px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 99px !important;
  background: #cfdae7 !important;
  opacity: 1 !important;
  transition:
    width 0.25s ease,
    background 0.25s ease;
}
.a2bv2best .slick-dots li button {
  width: 9px !important;
  height: 9px !important;
  padding: 0 !important;
}
.a2bv2best .slick-dots li button::before {
  content: none !important;
}
.a2bv2best .slick-dots li.slick-active,
.a2bv2best .owl-dot.active,
.a2bv2best .swiper-pagination-bullet-active {
  width: 34px !important;
  background: linear-gradient(90deg, #75cf00, #126ed6) !important;
}
/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .a2bv2besthead {
    width: calc(100% - 40px);
  }
  .a2bv2best {
    padding-inline: 28px;
  }
  .a2bv2best :is(.tile, .product-tile, .product-item, .item.product) {
    min-height: 500px;
  }
}
@media (max-width: 700px) {
  .a2bv2besthead {
    display: block;
    width: calc(100% - 36px);
    margin-top: 44px;
  }
  .a2bv2besthead h2 {
    font-size: 34px;
  }
  .a2bv2besthead p {
    font-size: 13px;
    line-height: 1.55;
  }
  .a2bv2besthead__all {
    margin-top: 18px;
    min-height: 46px;
    padding-left: 16px;
    font-size: 12px;
  }
  .a2bv2besthead__all > span {
    width: 32px;
    height: 32px;
  }
  .a2bv2best {
    padding: 8px 18px 28px;
  }
  .a2bv2best :is(.slick-slide, .owl-item, .swiper-slide) {
    padding-inline: 6px;
  }
  .a2bv2best .product-tile-image {
    height: 210px;
    min-height: 210px;
  }
  .a2bv2best .product-name,
  .a2bv2best .product-name a {
    font-size: 14px !important;
  }
  .a2bv2best .price-label {
    font-size: 26px !important;
  }
  .a2bv2best
    :is(
      .slick-arrow,
      .owl-prev,
      .owl-next,
      .swiper-button-prev,
      .swiper-button-next,
      .carousel-control-prev,
      .carousel-control-next
    ) {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px;
    border-radius: 14px !important;
  }
  .a2bv2best
    :is(.slick-prev, .owl-prev, .swiper-button-prev, .carousel-control-prev) {
    left: 2px !important;
  }
  .a2bv2best
    :is(.slick-next, .owl-next, .swiper-button-next, .carousel-control-next) {
    right: 2px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .a2bv2best *,
  .a2bv2best *::before,
  .a2bv2best *::after,
  .a2bv2besthead *,
  .a2bv2besthead *::before,
  .a2bv2besthead *::after {
    animation: none !important;
    transition: none !important;
  }
}
/* =====================================================================
   23. BESTSELLERS — EVOLUTIONX PURCHASE-CONTROL VISIBILITY
   Keeps stock and basket controls visible when the carousel renders them.
   ===================================================================== */
.a2bv2best
  :is(
    .live-inventory-v2-wrapper,
    .live-inventory-v2-add-to-cart-wrapper,
    .add-to-cart-wrapper,
    .product-add-to-cart,
    .product-stock,
    .stock-status,
    .stock-availability,
    .inventory-message,
    .live-inventory-v2-shipping
  ) {
  visibility: visible !important;
  opacity: 1 !important;
}
.a2bv2best
  :is(
    .live-inventory-v2-wrapper.add-to-cart,
    .live-inventory-v2-add-to-cart-wrapper,
    .add-to-cart-wrapper,
    .product-add-to-cart
  ) {
  display: block !important;
  width: 100%;
}
.a2bv2best
  :is(
    .product-stock,
    .stock-status,
    .stock-availability,
    .inventory-message,
    .live-inventory-v2-shipping
  ) {
  display: flex !important;
  align-items: center;
  min-height: 22px;
  margin-top: 10px;
}
.a2bv2best .buttons.group {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.a2bv2best button.btn-add-to-cart {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  visibility: visible !important;
  opacity: 1 !important;
}
/* =====================================================================
   24. BESTSELLERS — CARD INFORMATION LAYOUT
   Matches the approved A2B category-card hierarchy and spacing.
   ===================================================================== */
.a2bv2best :is(.tile, .product-tile, .product-item, .item.product) {
  min-height: 680px;
}
.a2bv2best .footer {
  position: static !important;
  display: flex !important;
  flex: 1;
  flex-direction: column;
  min-height: 0 !important;
  padding: 0 !important;
}
.a2bv2best .footer-wrapper {
  position: static !important;
  display: flex !important;
  flex: 1;
  flex-direction: column;
  min-height: 0 !important;
}
.a2bv2best .footer-wrapper-description {
  min-height: 0 !important;
}
.a2bv2best .brand-label,
.a2bv2best .brand-label a {
  color: #0867d8 !important;
  font:
    800 11px/1.35 "Montserrat",
    "Poppins",
    Arial,
    sans-serif !important;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.a2bv2best .product-name {
  min-height: 66px !important;
  margin: 8px 0 7px !important;
}
.a2bv2best .product-name a {
  color: #152944 !important;
  font:
    700 14px/1.42 "Montserrat",
    "Poppins",
    Arial,
    sans-serif !important;
}
.a2bv2best .product-sku {
  margin: 0 0 11px !important;
  color: #66758a !important;
  font:
    500 12.5px/1.5 "Poppins",
    Arial,
    sans-serif !important;
}
.a2bv2best .product-sku strong {
  color: #4f6076 !important;
  font-weight: 700 !important;
}
.a2bv2best .footer-wrapper-price {
  position: static !important;
  margin-top: 0;
  padding-top: 8px;
}
.a2bv2best .price-label {
  margin: 8px 0 10px !important;
  color: #e74639 !important;
  font:
    800 24px/1 "Montserrat",
    "Poppins",
    Arial,
    sans-serif !important;
  letter-spacing: -0.035em;
}
.a2bv2best .price-label::after {
  margin-left: 3px;
  color: #66758a !important;
  font:
    600 11.5px/1 "Poppins",
    Arial,
    sans-serif !important;
}
.a2bv2best :is(.uom, .price-label-inc-vat, .rrp) {
  position: static !important;
  display: block;
  margin: 0 !important;
  color: #66758a !important;
  font:
    500 12.5px/1.62 "Poppins",
    Arial,
    sans-serif !important;
}
/* Purchase controls stay aligned at the bottom of every card. */
.a2bv2best .buttons.group {
  position: static !important;
  display: grid !important;
  grid-template-columns: 43px minmax(0, 1fr);
  gap: 7px;
  margin-top: auto !important;
  padding-top: 20px;
  padding-bottom: 46px;
}
/* Give both lower action icons the same positioned parent: the product card. */
.a2bv2best
  :is(
    .footer,
    .footer-wrapper,
    .footer-wrapper-price,
    .live-inventory-v2-add-to-cart-wrapper,
    .live-inventory-v2-wrapper.add-to-cart
  ) {
  position: static !important;
}
.a2bv2best .buttons.group > .qty-list,
.a2bv2best .buttons.group > input {
  grid-column: 1;
  grid-row: 2;
  width: 43px !important;
  min-width: 43px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #d8e2ec !important;
  border-radius: 10px !important;
  color: #152944 !important;
  background: #fff !important;
  text-align: center;
  font:
    700 11px "Poppins",
    Arial,
    sans-serif !important;
}
.a2bv2best .live-inventory-v2-add-to-cart-wrapper {
  display: contents !important;
}
.a2bv2best button.btn-add-to-cart {
  grid-column: 2;
  grid-row: 2;
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #86d900, #52a900) !important;
  box-shadow: 0 8px 16px rgba(82, 169, 0, 0.22) !important;
  font:
    700 12px "Poppins",
    Arial,
    sans-serif !important;
}
.a2bv2best .live-inventory-v2-wrapper.add-to-cart {
  position: static !important;
  grid-column: 1 / -1;
  grid-row: 1;
  display: flex !important;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 3px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #347b05 !important;
  background: transparent !important;
  box-shadow: none !important;
  font:
    700 12.5px/1.35 "Poppins",
    Arial,
    sans-serif !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
.a2bv2best .live-inventory-v2-wrapper.add-to-cart::before {
  content: "";
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  margin: 4px 6px 0 0;
  border-radius: 50%;
  background: #64bd20;
  box-shadow: 0 0 0 3px rgba(100, 189, 32, 0.12);
}
.a2bv2best .live-inventory-v2-shipping {
  position: static !important;
  display: inline !important;
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
  font: inherit !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
/* Compact Add to Quick List and Compare controls. */
.a2bv2best .addtoquicklist-wrapper,
.a2bv2best .product-compare-action {
  position: absolute !important;
  z-index: 6;
  top: auto !important;
  bottom: 16px !important;
  display: inline-grid !important;
  float: none !important;
  clear: none !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  margin: 0 !important;
  place-items: center;
  overflow: visible !important;
  border: 1px solid #d8e2ec !important;
  border-radius: 7px !important;
  color: #0867d8 !important;
  background: #fff !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  vertical-align: middle;
  box-shadow: 0 5px 12px rgba(7, 31, 66, 0.06);
}
.a2bv2best .addtoquicklist-wrapper {
  right: auto !important;
  left: 16px !important;
}
.a2bv2best .addtoquicklist-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(#4a9f08, #4a9f08) center / 14px 4px no-repeat,
    linear-gradient(#4a9f08, #4a9f08) center / 4px 14px no-repeat;
}
.a2bv2best .product-compare-action::before {
  content: "";
  width: 21px;
  height: 21px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M5 6h14M5 6l-3 6h6L5 6zm14 0l-3 6h6l-3-6zM2 12c0 2 1.3 3 3 3s3-1 3-3m8 0c0 2 1.3 3 3 3s3-1 3-3M8 21h8'/%3E%3C/svg%3E")
    center / contain no-repeat;
}
.a2bv2best .product-compare-action {
  right: auto !important;
  left: 52px !important;
  margin: 0 !important;
  border-color: #70c900 !important;
  background: linear-gradient(135deg, #8de000, #61b900) !important;
  box-shadow: 0 5px 12px rgba(97, 185, 0, 0.2);
}
.a2bv2best
  :is(.addtoquicklist-wrapper, .product-compare-action)
  > :is(a, button, label) {
  position: absolute !important;
  z-index: 2;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: transparent !important;
  background: transparent !important;
  font-size: 0 !important;
  cursor: pointer;
}
@media (max-width: 700px) {
  .a2bv2best :is(.tile, .product-tile, .product-item, .item.product) {
    min-height: 650px;
  }
  .a2bv2best .price-label {
    font-size: 24px !important;
  }
}
/* A2B V2 hero — compact desktop action buttons */
@media (min-width: 1101px) {
  .a2bv2hero .a2bv2hero__actions {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .a2bv2hero .a2bv2hero__button {
    flex: 0 1 clamp(220px, 16vw, 270px);
    width: clamp(220px, 16vw, 270px);
    min-width: 0;
    max-width: 270px;
  }
}
/* =====================================================================
   25. BESTSELLERS — INLINE QUICK LIST + COMPARE
   Final priority fix for EvolutionX product-grid rules. Both controls are
   anchored to the same card baseline on desktop, tablet and mobile.
   ===================================================================== */
.a2bv2best.a2bv2best :is(.tile, .product-tile, .product-item, .item.product),
.a2bv2best.a2bv2best #grid.griditems .tile {
  position: relative !important;
  padding-bottom: 62px !important;
}
.a2bv2best.a2bv2best :is(.addtoquicklist-wrapper, .product-compare-action),
.a2bv2best.a2bv2best
  #grid.griditems
  .tile
  :is(.addtoquicklist-wrapper, .product-compare-action) {
  position: absolute !important;
  z-index: 8 !important;
  top: auto !important;
  right: auto !important;
  bottom: 16px !important;
  display: grid !important;
  float: none !important;
  clear: none !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  transform: none !important;
  vertical-align: top !important;
}
.a2bv2best.a2bv2best .addtoquicklist-wrapper,
.a2bv2best.a2bv2best #grid.griditems .tile .addtoquicklist-wrapper {
  left: 16px !important;
}
.a2bv2best.a2bv2best .product-compare-action,
.a2bv2best.a2bv2best #grid.griditems .tile .product-compare-action {
  left: 52px !important;
}
.a2bv2best.a2bv2best
  :is(.addtoquicklist-wrapper, .product-compare-action):hover,
.a2bv2best.a2bv2best
  #grid.griditems
  .tile
  :is(.addtoquicklist-wrapper, .product-compare-action):hover {
  transform: translateY(-2px) !important;
}
/* =====================================================================
   26. BESTSELLERS — HIDE QUICK LIST + COMPARE
   These secondary controls are intentionally removed from carousel cards.
   ===================================================================== */
.a2bv2best.a2bv2best :is(.addtoquicklist-wrapper, .product-compare-action),
.a2bv2best.a2bv2best
  #grid.griditems
  .tile
  :is(.addtoquicklist-wrapper, .product-compare-action) {
  display: none !important;
  visibility: hidden !important;
}
.a2bv2best.a2bv2best :is(.tile, .product-tile, .product-item, .item.product),
.a2bv2best.a2bv2best #grid.griditems .tile {
  padding-bottom: 16px !important;
}
.a2bv2best .buttons.group {
  padding-bottom: 0 !important;
}
/* =====================================================================
   27. BESTSELLERS — LIVE STOCK QUANTITY
   Displays EvolutionX's dynamic inventory value above the basket controls.
   ===================================================================== */
.a2bv2best.a2bv2best .live-inventory-v2-wrapper.add-to-cart {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  margin-top: auto !important;
  padding: 14px 0 0 !important;
}
.a2bv2best.a2bv2best .live-inventory-v2-wrapper.add-to-cart::before {
  content: none !important;
  display: none !important;
}
.a2bv2best.a2bv2best
  :is(
    .live-inventory-v2-shipping,
    .product-stock,
    .stock-status,
    .stock-availability,
    .inventory-message
  ) {
  order: 1 !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 22px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: #2f8414 !important;
  background: transparent !important;
  font:
    700 13px/1.35 "Poppins",
    Arial,
    sans-serif !important;
  white-space: normal !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.a2bv2best.a2bv2best
  :is(
    .live-inventory-v2-shipping,
    .product-stock,
    .stock-status,
    .stock-availability,
    .inventory-message
  )::before {
  content: "";
  flex: 0 0 9px;
  width: 9px;
  height: 9px;
  margin-right: 7px;
  border-radius: 50%;
  background: #64bd20;
  box-shadow: 0 0 0 4px rgba(100, 189, 32, 0.14);
}
.a2bv2best.a2bv2best
  :is(
    .live-inventory-v2-stock,
    .inventory-quantity,
    .stock-quantity,
    .stock-level,
    [class*="stock-qty"],
    [class*="stock-quantity"]
  ) {
  display: inline !important;
  color: inherit !important;
  font: inherit !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.a2bv2best.a2bv2best .buttons.group {
  order: 2 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* =====================================================================
   28. BESTSELLERS — TRANSPARENT SECTION + DEFINITIVE STOCK DISPLAY
   Removes colour from EvolutionX widget wrappers; product cards retain
   their individual backgrounds. Exposes all Inventory V2 stock layers.
   ===================================================================== */
.a2bv2besthead,
.a2bv2best,
.productgridwidget.a2bv2best,
.item-merchandising-widget.a2bv2best,
.product-carousel-widget.a2bv2best,
:is(
  .productgridwidget,
  .item-merchandising-widget,
  .product-carousel-widget
):has(.a2bv2best) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
.a2bv2besthead::before,
.a2bv2besthead::after,
.a2bv2best::before,
.a2bv2best::after,
:is(
    .productgridwidget,
    .item-merchandising-widget,
    .product-carousel-widget
  ):has(.a2bv2best)::before,
:is(
    .productgridwidget,
    .item-merchandising-widget,
    .product-carousel-widget
  ):has(.a2bv2best)::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
.a2bv2best.a2bv2best .live-inventory-v2-add-to-cart-wrapper {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.a2bv2best.a2bv2best
  :is(
    .live-inventory-v2-shipping,
    .live-inventory-v2-stock,
    .live-inventory-v2-quantity,
    .live-inventory-v2-inventory,
    .inventory-message,
    .inventory-quantity,
    .inventory-stock,
    .product-stock,
    .stock-message,
    .stock-status,
    .stock-availability,
    .stock-quantity,
    .stock-level,
    [class*="inventory-stock"],
    [class*="inventory-quantity"],
    [class*="stock-message"],
    [class*="stock-status"],
    [class*="stock-quantity"],
    [class*="stock-level"]
  ) {
  position: static !important;
  order: 1 !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  height: auto !important;
  min-height: 22px !important;
  max-height: none !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  overflow: visible !important;
  color: #2f8414 !important;
  background: transparent !important;
  font:
    700 13px/1.35 "Poppins",
    Arial,
    sans-serif !important;
  white-space: normal !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.a2bv2best.a2bv2best .live-inventory-v2-shipping > *,
.a2bv2best.a2bv2best
  :is(
    .live-inventory-v2-stock,
    .live-inventory-v2-quantity,
    .live-inventory-v2-inventory,
    .inventory-message,
    .inventory-quantity,
    .inventory-stock,
    .product-stock,
    .stock-message,
    .stock-status,
    .stock-availability,
    .stock-quantity,
    .stock-level
  )
  > * {
  display: inline !important;
  height: auto !important;
  max-height: none !important;
  color: inherit !important;
  font: inherit !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.a2bv2best.a2bv2best .buttons.group {
  order: 2 !important;
}
/* Keep a single status dot even when EvolutionX nests several stock nodes. */
.a2bv2best.a2bv2best
  :is(
    .product-stock,
    .stock-status,
    .stock-availability,
    .inventory-message,
    .inventory-quantity,
    .inventory-stock,
    .stock-message,
    .stock-quantity,
    .stock-level
  )::before {
  content: none !important;
  display: none !important;
}
.a2bv2best.a2bv2best .live-inventory-v2-shipping::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 9px;
  width: 9px;
  height: 9px;
  margin-right: 7px;
  border-radius: 50%;
  background: #64bd20;
  box-shadow: 0 0 0 4px rgba(100, 189, 32, 0.14);
}
/* Supports EvolutionX builds that expose stock only as a data attribute. */
.a2bv2best.a2bv2best [data-stock-quantity]:empty::after {
  content: attr(data-stock-quantity) " In Stock";
}
.a2bv2best.a2bv2best [data-stock]:empty::after {
  content: attr(data-stock) " In Stock";
}
/* =====================================================================
   29. BESTSELLERS — RESPONSIVE CAROUSEL CORRECTION
   Desktop: platform carousel layout.
   Tablet: two complete cards.
   Mobile: one complete card with no clipped neighbouring content.
   ===================================================================== */
.a2bv2best.a2bv2best {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.a2bv2best.a2bv2best :is(.slick-list, .owl-stage-outer, .swiper) {
  width: 100% !important;
  max-width: 100% !important;
}
.a2bv2best.a2bv2best :is(.slick-slide, .owl-item, .swiper-slide),
.a2bv2best.a2bv2best :is(.slick-slide, .owl-item, .swiper-slide) > div,
.a2bv2best.a2bv2best :is(.tile, .product-tile, .product-item, .item.product) {
  min-width: 0 !important;
  max-width: 100% !important;
}
/* EvolutionX live merchandising markup: centre and contain product imagery. */
.a2bv2best.a2bv2best .tile > a:first-child {
  display: block !important;
  width: 100% !important;
}
.a2bv2best.a2bv2best .tile > a:first-child > .text-center {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 230px !important;
  min-height: 230px !important;
  margin: 0 0 16px !important;
  overflow: hidden !important;
}
.a2bv2best.a2bv2best .tile > a:first-child > .text-center > .imgthumbnail {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 10px !important;
}
.a2bv2best.a2bv2best
  .tile
  > a:first-child
  > .text-center
  > .imgthumbnail
  > img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 88% !important;
  max-height: 88% !important;
  margin: auto !important;
  object-fit: contain !important;
  object-position: center !important;
}
.a2bv2best.a2bv2best .footer,
.a2bv2best.a2bv2best .footer-wrapper,
.a2bv2best.a2bv2best .footer-wrapper-description,
.a2bv2best.a2bv2best .footer-wrapper-price {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
@media (min-width: 701px) and (max-width: 1100px) {
  .a2bv2best.a2bv2best {
    padding: 12px 20px 30px !important;
  }
  .a2bv2best.a2bv2best :is(.slick-list, .owl-stage-outer, .swiper) {
    margin: 0 !important;
    padding: 12px 0 28px !important;
    overflow: hidden !important;
  }
  .a2bv2best.a2bv2best :is(.slick-track, .owl-stage, .swiper-wrapper) {
    align-items: stretch !important;
  }
  .a2bv2best.a2bv2best :is(.slick-slide, .owl-item, .swiper-slide) {
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    padding: 0 7px !important;
  }
  .a2bv2best.a2bv2best :is(.tile, .product-tile, .product-item, .item.product) {
    width: 100% !important;
    min-height: 620px !important;
  }
}
@media (max-width: 700px) {
  .a2bv2besthead {
    width: 100% !important;
    margin: 36px 0 18px !important;
    padding: 0 16px !important;
  }
  .a2bv2besthead h2 {
    font-size: clamp(30px, 10vw, 40px) !important;
    line-height: 1.02 !important;
  }
  .a2bv2besthead__all {
    width: auto !important;
    max-width: max-content !important;
  }
  .a2bv2best.a2bv2best {
    width: 100% !important;
    max-width: 100dvw !important;
    margin: 0 !important;
    padding: 8px 14px 28px !important;
    overflow: hidden !important;
  }
  .a2bv2best.a2bv2best :is(.slick-list, .owl-stage-outer, .swiper) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px 0 26px !important;
    overflow: hidden !important;
  }
  .a2bv2best.a2bv2best :is(.slick-track, .owl-stage, .swiper-wrapper) {
    align-items: stretch !important;
  }
  .a2bv2best.a2bv2best :is(.slick-slide, .owl-item, .swiper-slide) {
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    height: auto !important;
    padding: 0 5px !important;
    overflow: visible !important;
  }
  .a2bv2best.a2bv2best :is(.slick-slide, .owl-item, .swiper-slide) > div {
    width: 100% !important;
    height: 100% !important;
  }
  .a2bv2best.a2bv2best :is(.tile, .product-tile, .product-item, .item.product) {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 610px !important;
    margin: 0 !important;
    padding: 14px 14px 18px !important;
    overflow: hidden !important;
    border-radius: 22px !important;
  }
  .a2bv2best.a2bv2best .product-tile-image,
  .a2bv2best.a2bv2best .tile > a:first-child > .text-center {
    width: 100% !important;
    height: 210px !important;
    min-height: 210px !important;
    margin: 0 0 14px !important;
  }
  .a2bv2best.a2bv2best .product-tile-image img,
  .a2bv2best.a2bv2best
    .tile
    > a:first-child
    > .text-center
    > .imgthumbnail
    > img {
    width: auto !important;
    height: auto !important;
    max-width: 88% !important;
    max-height: 88% !important;
    object-fit: contain !important;
    object-position: center !important;
  }
  .a2bv2best.a2bv2best :is(.footer, .footer-wrapper, .product-info) {
    width: 100% !important;
    min-width: 0 !important;
  }
  .a2bv2best.a2bv2best .product-name {
    min-height: 0 !important;
    margin: 7px 0 10px !important;
  }
  .a2bv2best.a2bv2best .product-name,
  .a2bv2best.a2bv2best .product-name a {
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.38 !important;
    overflow-wrap: anywhere !important;
  }
  .a2bv2best.a2bv2best .price-label {
    max-width: 100% !important;
    flex-wrap: nowrap !important;
    font-size: clamp(24px, 8vw, 31px) !important;
    white-space: nowrap !important;
  }
  .a2bv2best.a2bv2best .price-label::after {
    font-size: 11px !important;
    white-space: nowrap !important;
  }
  .a2bv2best.a2bv2best .rrp .save {
    top: 14px !important;
    right: 14px !important;
    padding: 8px 10px !important;
    font-size: 10px !important;
  }
  .a2bv2best.a2bv2best .product-list-actions {
    display: none !important;
  }
  .a2bv2best.a2bv2best .buttons.group {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .a2bv2best.a2bv2best .buttons.group > :is(.qty-list, input) {
    width: 52px !important;
    min-width: 52px !important;
    height: 48px !important;
  }
  .a2bv2best.a2bv2best button.btn-add-to-cart {
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
  }
  .a2bv2best.a2bv2best
    :is(
      .slick-arrow,
      .owl-prev,
      .owl-next,
      .swiper-button-prev,
      .swiper-button-next,
      .carousel-control-prev,
      .carousel-control-next
    ) {
    top: 48% !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 12px !important;
  }
  .a2bv2best.a2bv2best
    :is(.slick-prev, .owl-prev, .swiper-button-prev, .carousel-control-prev) {
    left: 18px !important;
  }
  .a2bv2best.a2bv2best
    :is(.slick-next, .owl-next, .swiper-button-next, .carousel-control-next) {
    right: 18px !important;
  }
  .a2bv2best.a2bv2best :is(.slick-dots, .owl-dots, .swiper-pagination) {
    margin-top: 16px !important;
  }
}
/* =====================================================================
   30. BESTSELLERS — OWL CAROUSEL RESPONSIVE SUPPORT
   Owl sets the exact one-card/two-card widths inline after the heading
   widget applies its responsive options. CSS only handles presentation.
   ===================================================================== */
@media (max-width: 1100px) {
  .a2bv2best.a2bv2best .owl-stage-outer {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px 0 26px !important;
    overflow: hidden !important;
  }
  .a2bv2best.a2bv2best .owl-stage {
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    height: auto !important;
  }
  .a2bv2best.a2bv2best .owl-item {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
  }
  .a2bv2best.a2bv2best .owl-item > div,
  .a2bv2best.a2bv2best .owl-item .tile {
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* =====================================================================
   31. HOMEPAGE — DYNAMIC BRAND WALL
   Used with a2bv2-brand-wall.html. Full-bleed, single-row rotating brand
   showcase. All selectors are isolated inside the a2bv2brandwall class.
   ===================================================================== */
.a2bv2brandwall {
  --a2bv2brandwall-navy: #03152f;
  --a2bv2brandwall-blue: #0877e8;
  --a2bv2brandwall-green: #78d600;
  position: relative;
  isolation: isolate;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: clamp(28px, 3.5vw, 52px) 0 clamp(32px, 4vw, 62px) !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 4% 22%, rgba(120, 214, 0, 0.18), transparent 28%),
    radial-gradient(
      circle at 94% 80%,
      rgba(17, 100, 255, 0.34),
      transparent 31%
    ),
    linear-gradient(118deg, #020f24 0%, #052b57 52%, #111b50 100%) !important;
  color: #fff;
  font-family: "Poppins", sans-serif;
  box-shadow:
    inset 0 1px rgba(255, 255, 255, 0.1),
    inset 0 -1px rgba(100, 182, 255, 0.22);
}
/* Remove EvolutionX's widget gutters around this full-bleed section. */
.htmlcontent_container:has(.a2bv2brandwall),
.htmlcontent_container:has(.a2bv2brandwall) > div {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.row:has(.a2bv2brandwall),
.row:has(.a2bv2brandwall) > [class*="col"] {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* The saved EvolutionX markup nests the final brand widget inside a second
   row/column pair and the desktop page-content wrapper. Clear the bottom
   spacing from that complete ancestor chain, not only the widget's row. */
.desktop:has(.a2bv2brandwall),
.desktop:has(.a2bv2brandwall) > .page-content,
.page-content.onecolumn:has(.a2bv2brandwall),
.page-content.onecolumn:has(.a2bv2brandwall) > .row,
.page-content.onecolumn:has(.a2bv2brandwall) > .row > [class*="col"] {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* The theme applies a permanent 15px top margin to the black footer band
   (section.zonebottom), which shows through as a white sliver whenever the
   brand wall is the last thing before it. Zero that margin, but only when
   the brand wall precedes it, so footer spacing elsewhere is untouched. */
.desktop:has(.a2bv2brandwall) ~ section.zonebottom {
  margin-top: 0 !important;
}
.htmlcontent_container:has(.a2bv2brandwall) > div {
  min-height: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
.htmlcontent_container:has(.a2bv2brandwall) .a2bv2brandwall {
  font-size: 16px !important;
  line-height: normal !important;
}
.a2bv2brandwall + br,
.htmlcontent_container:has(.a2bv2brandwall) + br {
  display: none !important;
}
.a2bv2brandwall::before,
.a2bv2brandwall::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.a2bv2brandwall::before {
  inset: 0;
  background:
    linear-gradient(
      112deg,
      transparent 12%,
      rgba(255, 255, 255, 0.055) 34%,
      transparent 53%
    ),
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent 159px,
      rgba(64, 142, 255, 0.045) 160px
    );
}
.a2bv2brandwall::after {
  right: -8%;
  bottom: -72px;
  width: 70%;
  height: 150px;
  border-top: 5px solid var(--a2bv2brandwall-green);
  border-radius: 50%;
  filter: drop-shadow(0 0 14px rgba(120, 214, 0, 0.65));
  transform: rotate(-4deg);
}
.a2bv2brandwall__heading {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  width: min(1500px, calc(100% - 48px));
  margin: 0 auto clamp(24px, 2.8vw, 38px);
}
.a2bv2brandwall__eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  color: #9bea37;
  font-size: clamp(10px, 0.75vw, 13px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.a2bv2brandwall__heading h2 {
  margin: 0 !important;
  color: #fff !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(27px, 3vw, 48px) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
  text-wrap: balance;
}
.a2bv2brandwall__pause {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
  min-height: 42px;
  padding: 9px 15px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: rgba(3, 20, 49, 0.58);
  color: #fff;
  font:
    700 12px/1 "Poppins",
    sans-serif;
  box-shadow: 0 10px 24px rgba(0, 10, 32, 0.28);
  backdrop-filter: blur(12px);
  cursor: pointer;
  transition:
    border-color 180ms ease,
    background 180ms ease,
    transform 180ms ease;
}
.a2bv2brandwall__pause:hover,
.a2bv2brandwall__pause:focus-visible {
  border-color: rgba(145, 232, 55, 0.82);
  background: rgba(23, 75, 67, 0.8);
  outline: 0;
  transform: translateY(-2px);
}
.a2bv2brandwall__pause-icon {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: linear-gradient(145deg, #91e800, #50b700);
  color: #061b39;
  font-size: 11px;
  font-weight: 900;
}
.a2bv2brandwall__viewport {
  position: relative;
  z-index: 2;
  width: 100%;
  overflow: hidden;
  padding: 9px 0;
}
.a2bv2brandwall__viewport::before,
.a2bv2brandwall__viewport::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  bottom: 0;
  width: clamp(24px, 5vw, 90px);
  pointer-events: none;
}
.a2bv2brandwall__viewport::before {
  left: 0;
  background: linear-gradient(90deg, rgba(2, 15, 36, 0.94), transparent);
}
.a2bv2brandwall__viewport::after {
  right: 0;
  background: linear-gradient(270deg, rgba(13, 27, 77, 0.94), transparent);
}
.a2bv2brandwall__track,
.a2bv2brandwall__group {
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  width: max-content;
}
.a2bv2brandwall__track {
  will-change: transform;
}
.a2bv2brandwall__group {
  gap: clamp(10px, 0.85vw, 15px);
  padding-right: clamp(10px, 0.85vw, 15px);
}
.a2bv2brandwall__card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 clamp(160px, 13vw, 230px);
  width: clamp(160px, 13vw, 230px);
  height: clamp(98px, 8vw, 132px);
  padding: clamp(16px, 1.4vw, 24px);
  overflow: hidden;
  border: 1px solid rgba(159, 213, 255, 0.72);
  border-radius: clamp(15px, 1.2vw, 21px);
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.99),
    rgba(239, 247, 255, 0.96)
  );
  box-shadow:
    0 13px 28px rgba(0, 8, 29, 0.34),
    inset 0 1px rgba(255, 255, 255, 0.94),
    0 0 0 1px rgba(24, 139, 255, 0.12);
  text-decoration: none !important;
  transform: translateY(0);
  transition:
    transform 200ms ease,
    border-color 200ms ease,
    box-shadow 200ms ease;
}
.a2bv2brandwall__card::after {
  content: "";
  position: absolute;
  right: 18%;
  bottom: 0;
  left: 18%;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(
    90deg,
    var(--a2bv2brandwall-green),
    var(--a2bv2brandwall-blue)
  );
  box-shadow: 0 0 18px rgba(48, 154, 255, 0.58);
  transform: scaleX(0.5);
  transition: transform 200ms ease;
}
.a2bv2brandwall__card:hover,
.a2bv2brandwall__card:focus-visible {
  z-index: 2;
  border-color: rgba(138, 229, 29, 0.94);
  box-shadow:
    0 19px 38px rgba(0, 8, 29, 0.42),
    0 0 0 4px rgba(120, 214, 0, 0.14),
    0 0 30px rgba(65, 158, 255, 0.16);
  outline: 0;
  transform: translateY(-5px);
}
.a2bv2brandwall__card:hover::after,
.a2bv2brandwall__card:focus-visible::after {
  transform: scaleX(1);
}
.a2bv2brandwall__card img {
  display: block;
  width: auto;
  max-width: 88%;
  height: auto;
  max-height: 70px;
  margin: auto;
  object-fit: contain;
  filter: saturate(0.94) contrast(1.02);
  transition:
    filter 200ms ease,
    transform 200ms ease;
}
.a2bv2brandwall__card:hover img,
.a2bv2brandwall__card:focus-visible img {
  filter: saturate(1.14) contrast(1.04);
  transform: scale(1.055);
}
/* The widget's JS sets `hidden` on any logo image that fails to load and
   switches to the text fallback below. The `display: block` rule above has
   higher specificity than the browser's default [hidden] { display: none },
   so without this override a broken logo kept showing its broken-image icon
   on top of the fallback text instead of being cleanly removed. */
.a2bv2brandwall__card img[hidden] {
  display: none !important;
}
.a2bv2brandwall__fallback {
  display: none;
  max-width: 100%;
  color: #09234b;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(17px, 1.35vw, 23px);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.035em;
  text-align: center;
}
.a2bv2brandwall__card.is-fallback .a2bv2brandwall__fallback {
  display: block;
}
@media (min-width: 768px) and (max-width: 1100px) {
  .a2bv2brandwall {
    padding: 32px 0 42px !important;
  }
  .a2bv2brandwall__heading {
    width: calc(100% - 36px);
    margin-bottom: 22px;
  }
  .a2bv2brandwall__card {
    flex-basis: clamp(168px, 21vw, 205px);
    width: clamp(168px, 21vw, 205px);
    height: 108px;
    padding: 18px;
  }
  .a2bv2brandwall__card img {
    max-height: 63px;
  }
}
@media (max-width: 767px) {
  .a2bv2brandwall {
    padding: 26px 0 34px !important;
  }
  .a2bv2brandwall__heading {
    align-items: center;
    width: calc(100% - 28px);
    margin-bottom: 18px;
  }
  .a2bv2brandwall__heading h2 {
    max-width: 280px;
    font-size: clamp(25px, 7vw, 34px) !important;
  }
  .a2bv2brandwall__pause {
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    justify-content: center;
  }
  .a2bv2brandwall__pause-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  .a2bv2brandwall__card {
    flex-basis: clamp(132px, 42vw, 156px);
    width: clamp(132px, 42vw, 156px);
    height: 92px;
    padding: 13px;
    border-radius: 15px;
  }
  .a2bv2brandwall__card img {
    max-height: 54px;
  }
  .a2bv2brandwall__viewport {
    padding: 6px 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .a2bv2brandwall__viewport {
    overflow-x: auto;
    scrollbar-width: thin;
  }
  .a2bv2brandwall__track {
    transform: none !important;
  }
  .a2bv2brandwall__track .a2bv2brandwall__group[aria-hidden="true"] {
    display: none;
  }
}
/* =====================================================================
   32. HOMEPAGE — EDITORIAL CONTENT / SEO SECTION
   Used with a2bv2-home-content.html. Keeps important homepage copy live
   and indexable while presenting it in a concise, visual layout.
   ===================================================================== */
.a2bv2content {
  --a2bv2content-navy: #061c3b;
  --a2bv2content-ink: #081e40;
  --a2bv2content-green: #78d600;
  --a2bv2content-blue: #0877e8;
  --a2bv2content-purple: #8738dd;
  --a2bv2content-muted: #60728d;
  --a2bv2content-line: #dce7f3;
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(36px, 5vw, 76px) clamp(16px, 3.5vw, 56px) !important;
  overflow: hidden;
  background: transparent !important;
  color: var(--a2bv2content-ink);
  font-family: "Poppins", sans-serif;
}
.a2bv2content *,
.a2bv2content *::before,
.a2bv2content *::after {
  box-sizing: border-box;
}
.a2bv2content__inner {
  width: min(1500px, 100%);
  margin: 0 auto;
}
.a2bv2content__feature {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(0, 0.97fr);
  min-height: clamp(470px, 40vw, 625px);
  overflow: hidden;
  border: 1px solid rgba(36, 105, 175, 0.15);
  border-radius: clamp(24px, 2.5vw, 40px);
  background: #fff;
  box-shadow: 0 30px 70px rgba(10, 39, 78, 0.14);
}
.a2bv2content__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(40px, 5vw, 78px);
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 92%, rgba(120, 214, 0, 0.15), transparent 32%),
    linear-gradient(145deg, #03162f 0%, #082c59 72%, #0a3569 100%);
  color: #fff;
}
.a2bv2content__copy::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -20%;
  right: -88px;
  width: 170px;
  height: 140%;
  border-right: 5px solid var(--a2bv2content-green);
  background: linear-gradient(90deg, transparent, rgba(120, 214, 0, 0.06));
  transform: rotate(10deg);
}
.a2bv2content__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 20px;
  color: #a0ef40;
  font-size: clamp(10px, 0.78vw, 13px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.a2bv2content__eyebrow::before {
  content: "";
  width: 30px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--a2bv2content-green),
    var(--a2bv2content-blue)
  );
}
.a2bv2content__copy h2 {
  max-width: 720px;
  margin: 0 0 22px !important;
  color: #fff !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(40px, 4.3vw, 72px) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.055em !important;
  text-wrap: balance;
}
.a2bv2content__copy h2 em {
  display: block;
  margin-top: 9px;
  color: var(--a2bv2content-green);
  font-style: normal;
  text-shadow: 0 0 28px rgba(120, 214, 0, 0.2);
}
.a2bv2content__lead,
.a2bv2content__intro {
  max-width: 690px;
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.65;
}
.a2bv2content__lead {
  margin: 0 0 10px !important;
  font-weight: 600;
}
.a2bv2content__intro {
  margin: 0 0 28px !important;
}
.a2bv2content__copy p a {
  color: #bcff64 !important;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(188, 255, 100, 0.42);
  text-underline-offset: 3px;
}
.a2bv2content__cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  min-height: 58px;
  padding: 14px 18px 14px 24px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 14px;
  background: linear-gradient(135deg, #8ce600, #62c700);
  color: #071c3d !important;
  font-size: clamp(14px, 1vw, 17px);
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
  box-shadow: 0 15px 32px rgba(99, 203, 0, 0.26);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}
.a2bv2content__cta span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.42);
  font-size: 21px;
}
.a2bv2content__cta:hover,
.a2bv2content__cta:focus-visible {
  color: #071c3d !important;
  outline: 0;
  box-shadow:
    0 20px 42px rgba(99, 203, 0, 0.38),
    0 0 0 4px rgba(140, 230, 0, 0.14);
  transform: translateY(-3px);
}
.a2bv2content__visual {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #eee9df;
}
.a2bv2content__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 20px 0 36px rgba(3, 22, 47, 0.14);
}
.a2bv2content__visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: 52% center;
}
.a2bv2content__cards {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.4vw, 22px);
  width: calc(100% - clamp(24px, 5vw, 90px));
  margin: clamp(-62px, -4vw, -42px) auto 28px;
}
.a2bv2content__card {
  --a2bv2content-card-accent: var(--a2bv2content-green);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(12px, 1.3vw, 20px);
  min-height: 150px;
  padding: clamp(18px, 2vw, 28px);
  border: 1px solid var(--a2bv2content-line);
  border-bottom: 4px solid var(--a2bv2content-card-accent);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.97);
  color: var(--a2bv2content-ink) !important;
  text-decoration: none !important;
  box-shadow: 0 20px 42px rgba(8, 30, 65, 0.14);
  backdrop-filter: blur(12px);
  transition:
    transform 200ms ease,
    box-shadow 200ms ease,
    border-color 200ms ease;
}
.a2bv2content__card--blue {
  --a2bv2content-card-accent: var(--a2bv2content-blue);
}
.a2bv2content__card--purple {
  --a2bv2content-card-accent: var(--a2bv2content-purple);
}
.a2bv2content__card:hover,
.a2bv2content__card:focus-visible {
  border-color: color-mix(in srgb, var(--a2bv2content-card-accent) 62%, white);
  color: var(--a2bv2content-ink) !important;
  outline: 0;
  box-shadow:
    0 27px 52px rgba(8, 30, 65, 0.2),
    0 0 0 4px
      color-mix(in srgb, var(--a2bv2content-card-accent) 12%, transparent);
  transform: translateY(-7px);
}
.a2bv2content__card-icon {
  display: grid;
  place-items: center;
  width: clamp(58px, 5vw, 78px);
  height: clamp(58px, 5vw, 78px);
  border-radius: 50%;
  background: color-mix(in srgb, var(--a2bv2content-card-accent) 13%, white);
  color: var(--a2bv2content-ink);
}
.a2bv2content__card-icon svg,
.a2bv2content__trust-title svg {
  width: 58%;
  height: 58%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.a2bv2content__card-copy {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.a2bv2content__card-copy strong {
  color: var(--a2bv2content-ink);
  font-family: "Montserrat", sans-serif;
  font-size: clamp(17px, 1.45vw, 23px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.035em;
}
.a2bv2content__card-copy small {
  color: var(--a2bv2content-muted);
  font-size: clamp(12px, 0.92vw, 15px);
  font-weight: 500;
  line-height: 1.45;
}
.a2bv2content__card-arrow {
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  border-radius: 12px;
  background: var(--a2bv2content-card-accent);
  color: #fff;
  font-size: 21px;
  box-shadow: 0 10px 20px
    color-mix(in srgb, var(--a2bv2content-card-accent) 28%, transparent);
}
.a2bv2content__trust {
  display: grid;
  grid-template-columns: minmax(240px, 1.2fr) minmax(0, 3fr);
  align-items: center;
  gap: 26px;
  margin: 0 0 22px;
  padding: clamp(22px, 2vw, 30px) clamp(22px, 3vw, 46px);
  border: 1px solid rgba(95, 173, 255, 0.26);
  border-radius: 22px;
  background:
    radial-gradient(
      circle at 100% 50%,
      rgba(49, 98, 255, 0.2),
      transparent 33%
    ),
    linear-gradient(110deg, #03172f, #082f60 62%, #111c50);
  color: #fff;
  box-shadow: 0 20px 42px rgba(5, 29, 61, 0.16);
}
.a2bv2content__trust-title {
  display: flex;
  align-items: center;
  gap: 15px;
}
.a2bv2content__trust-title > span {
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: rgba(120, 214, 0, 0.12);
  color: #99ec32;
  box-shadow: inset 0 0 0 1px rgba(151, 237, 48, 0.28);
}
.a2bv2content__trust-title strong {
  display: block;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(16px, 1.25vw, 20px);
  font-weight: 900;
  line-height: 1.15;
}
.a2bv2content__trust-title em {
  display: block;
  margin-top: 4px;
  color: #99ec32;
  font-style: normal;
}
.a2bv2content__trust ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.a2bv2content__trust li {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 45px;
  padding: 4px clamp(11px, 1.7vw, 26px);
  border-left: 1px solid rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(11px, 0.85vw, 14px);
  font-weight: 600;
  line-height: 1.3;
}
.a2bv2content__trust li span {
  color: #9aeb36;
  font-size: 18px;
  font-weight: 900;
}
.a2bv2content__more {
  overflow: hidden;
  border: 1px solid var(--a2bv2content-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 12px 28px rgba(8, 30, 65, 0.07);
}
.a2bv2content__more summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 62px;
  padding: 14px 20px 14px 24px;
  color: var(--a2bv2content-ink);
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.a2bv2content__more summary::-webkit-details-marker {
  display: none;
}
.a2bv2content__more summary:focus-visible {
  outline: 3px solid rgba(8, 119, 232, 0.25);
  outline-offset: -3px;
}
.a2bv2content__more-icon {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: linear-gradient(145deg, var(--a2bv2content-green), #55b900);
  color: #071d3f;
  font-size: 22px;
  font-weight: 900;
  transition: transform 180ms ease;
}
.a2bv2content__more[open] .a2bv2content__more-icon {
  transform: rotate(45deg);
}
.a2bv2content__more-body {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(240px, 0.8fr);
  gap: clamp(24px, 4vw, 60px);
  padding: 4px clamp(24px, 4vw, 58px) clamp(26px, 3.5vw, 48px);
  border-top: 1px solid var(--a2bv2content-line);
}
.a2bv2content__more-body h3 {
  margin: 24px 0 12px !important;
  color: var(--a2bv2content-ink) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(20px, 1.8vw, 28px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
}
.a2bv2content__more-body p {
  margin: 0 0 12px !important;
  color: #526681;
  font-size: 14px;
  line-height: 1.75;
}
.a2bv2content__more-body ul {
  display: grid;
  align-content: start;
  gap: 10px;
  margin: 24px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.a2bv2content__more-body li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--a2bv2content-ink);
  font-size: 13px;
  font-weight: 700;
}
.a2bv2content__more-body li span {
  display: grid;
  place-items: center;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  background: rgba(120, 214, 0, 0.13);
  color: #47a600;
  font-weight: 900;
}
@media (max-width: 1050px) {
  .a2bv2content__feature {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.82fr);
    min-height: 540px;
  }
  .a2bv2content__copy {
    padding: 42px;
  }
  .a2bv2content__copy h2 {
    font-size: clamp(38px, 5.2vw, 58px) !important;
  }
  .a2bv2content__cards {
    width: calc(100% - 34px);
  }
  .a2bv2content__card {
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 138px;
  }
  .a2bv2content__card-arrow {
    display: none;
  }
  .a2bv2content__trust {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .a2bv2content__trust li:first-child {
    border-left: 0;
  }
}
@media (max-width: 780px) {
  .a2bv2content {
    padding: 30px 14px !important;
  }
  .a2bv2content__feature {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .a2bv2content__copy {
    padding: 36px 28px 42px;
  }
  .a2bv2content__copy::after {
    display: none;
  }
  .a2bv2content__copy h2 {
    max-width: 560px;
    font-size: clamp(36px, 10vw, 52px) !important;
  }
  .a2bv2content__visual {
    aspect-ratio: 16 / 10;
  }
  .a2bv2content__visual img {
    object-position: center;
  }
  .a2bv2content__cards {
    grid-template-columns: 1fr;
    width: calc(100% - 24px);
    margin-top: -28px;
  }
  .a2bv2content__card {
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 112px;
    border-radius: 18px;
  }
  .a2bv2content__card-arrow {
    display: grid;
  }
  .a2bv2content__trust ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .a2bv2content__trust li:nth-child(3) {
    border-left: 0;
  }
  .a2bv2content__more-body {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
@media (max-width: 480px) {
  .a2bv2content {
    padding-inline: 10px !important;
  }
  .a2bv2content__feature {
    border-radius: 22px;
  }
  .a2bv2content__copy {
    padding: 30px 22px 36px;
  }
  .a2bv2content__eyebrow {
    font-size: 9px;
    letter-spacing: 0.11em;
  }
  .a2bv2content__lead,
  .a2bv2content__intro {
    font-size: 13px;
  }
  .a2bv2content__cta {
    width: 100%;
    gap: 16px;
    min-height: 54px;
    padding-left: 17px;
    font-size: 13px;
  }
  .a2bv2content__visual {
    aspect-ratio: 4 / 3;
  }
  .a2bv2content__card {
    min-height: 100px;
    padding: 15px;
  }
  .a2bv2content__card-icon {
    width: 52px;
    height: 52px;
  }
  .a2bv2content__card-copy strong {
    font-size: 16px;
  }
  .a2bv2content__card-copy small {
    font-size: 11px;
  }
  .a2bv2content__card-arrow {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }
  .a2bv2content__trust {
    padding: 20px 17px;
  }
  .a2bv2content__trust ul {
    grid-template-columns: 1fr;
  }
  .a2bv2content__trust li {
    min-height: 36px;
    padding-inline: 0;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }
  .a2bv2content__more summary {
    min-height: 58px;
    padding-left: 17px;
    font-size: 13px;
  }
  .a2bv2content__more-body {
    padding: 2px 18px 26px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .a2bv2content *,
  .a2bv2content *::before,
  .a2bv2content *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* ==================================================================
   A2B V2 — EVOLUTIONX FOOTER
   HTML widgets: evolutionx-footer/a2bv2-footer-main.html
                 evolutionx-footer/a2bv2-footer-newsletter-copy.html
                 evolutionx-footer/a2bv2-footer-bottom.html
   Namespace: a2bv2footer
   ================================================================== */

.a2bv2footer,
.a2bv2footer-newsletter-wrap {
  --a2bv2footer-navy: #020d22;
  --a2bv2footer-navy-mid: #041936;
  --a2bv2footer-navy-light: #082957;
  --a2bv2footer-ink: #ffffff;
  --a2bv2footer-muted: #b8c8e1;
  --a2bv2footer-green: #79dc00;
  --a2bv2footer-blue: #1688ff;
  --a2bv2footer-orange: #ff6b2c;
  --a2bv2footer-purple: #9239ed;
  font-family: "Poppins", Arial, sans-serif;
  color: var(--a2bv2footer-ink);
  box-sizing: border-box;
}

.a2bv2footer *,
.a2bv2footer *::before,
.a2bv2footer *::after,
.a2bv2footer-newsletter-wrap *,
.a2bv2footer-newsletter-wrap *::before,
.a2bv2footer-newsletter-wrap *::after {
  box-sizing: border-box;
}

.a2bv2footer {
  position: relative;
  isolation: isolate;
  width: 100vw;
  max-width: none;
  margin: 0 0 0 calc(50% - 50vw) !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 17% 30%, rgba(18, 136, 255, 0.16), transparent 31%),
    radial-gradient(circle at 86% 60%, rgba(121, 220, 0, 0.10), transparent 27%),
    linear-gradient(116deg, #01091a 0%, #041b3d 54%, #020d22 100%);
}

.a2bv2footer::before,
.a2bv2footer::after {
  position: absolute;
  z-index: -1;
  width: 46vw;
  height: 210px;
  pointer-events: none;
  content: "";
  opacity: 0.75;
  border: 1px solid rgba(22, 136, 255, 0.18);
  border-radius: 50%;
  transform: rotate(-11deg);
}

.a2bv2footer::before {
  left: -14vw;
  bottom: -125px;
  box-shadow:
    0 -5px 0 -4px var(--a2bv2footer-blue),
    0 -18px 0 -17px rgba(121, 220, 0, 0.75),
    0 -31px 0 -30px rgba(22, 136, 255, 0.55);
}

.a2bv2footer::after {
  right: -13vw;
  bottom: -130px;
  box-shadow:
    0 -5px 0 -4px var(--a2bv2footer-green),
    0 -18px 0 -17px rgba(22, 136, 255, 0.75),
    0 -31px 0 -30px rgba(146, 57, 237, 0.48);
}

.a2bv2footer a {
  color: inherit;
  text-decoration: none;
}

.a2bv2footer svg,
.a2bv2footer-newsletter-wrap svg {
  display: block;
  width: 1em;
  height: 1em;
  fill: currentColor;
}

.a2bv2footer__container {
  position: relative;
  z-index: 1;
  width: min(1640px, calc(100% - 64px));
  margin-inline: auto;
  padding: 30px 0 42px;
}

.a2bv2footer__glow {
  position: absolute;
  top: -120px;
  left: 50%;
  z-index: -1;
  width: 75%;
  height: 300px;
  pointer-events: none;
  background: radial-gradient(ellipse, rgba(22, 136, 255, 0.18), transparent 65%);
  transform: translateX(-50%);
}

/* Contact CTA */
.a2bv2footer__contact-card {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) auto;
  gap: 28px;
  align-items: center;
  min-height: 138px;
  padding: 24px 36px;
  border: 1px solid rgba(46, 153, 255, 0.88);
  border-left-color: rgba(121, 220, 0, 0.95);
  border-radius: 34px;
  background:
    radial-gradient(circle at 14% 35%, rgba(121, 220, 0, 0.10), transparent 26%),
    linear-gradient(135deg, rgba(4, 22, 47, 0.95), rgba(3, 15, 36, 0.92));
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.03) inset,
    0 0 32px rgba(22, 136, 255, 0.30),
    -8px 0 26px rgba(121, 220, 0, 0.18);
}

.a2bv2footer__contact-intro {
  display: flex;
  gap: 24px;
  align-items: center;
  min-width: 0;
}

.a2bv2footer__contact-icon,
.a2bv2footer-newsletter-copy__icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 84px;
  height: 84px;
  color: var(--a2bv2footer-green);
  font-size: 43px;
  border: 1px solid rgba(121, 220, 0, 0.38);
  border-radius: 50%;
  background: rgba(121, 220, 0, 0.06);
  box-shadow: 0 0 28px rgba(121, 220, 0, 0.28), inset 0 0 20px rgba(121, 220, 0, 0.08);
}

.a2bv2footer__contact-intro > span:last-child {
  display: grid;
  gap: 8px;
}

.a2bv2footer__contact-intro strong {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: clamp(22px, 2vw, 34px);
  font-weight: 800;
  line-height: 1.16;
  letter-spacing: -0.03em;
}

.a2bv2footer__contact-intro strong em,
.a2bv2footer-newsletter-copy strong em {
  color: var(--a2bv2footer-green);
  font-style: normal;
}

.a2bv2footer__contact-intro small {
  color: var(--a2bv2footer-muted);
  font-size: 15px;
  line-height: 1.6;
}

.a2bv2footer__contact-actions {
  display: flex;
  gap: 16px;
  justify-content: flex-end;
}

.a2bv2footer__contact-button {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  padding: 12px 24px;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 15px;
  font-weight: 800;
  white-space: nowrap;
  border: 1px solid rgba(22, 136, 255, 0.75);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(7, 32, 69, 0.9), rgba(2, 12, 29, 0.95));
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25), inset 0 1px rgba(255, 255, 255, 0.08);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.a2bv2footer__contact-button svg {
  width: 26px;
  height: 26px;
}

.a2bv2footer__contact-button--green {
  color: #fff;
  border-color: rgba(121, 220, 0, 0.72);
}

.a2bv2footer__contact-button--green svg {
  color: var(--a2bv2footer-green);
}

.a2bv2footer__contact-button--blue svg {
  color: #3da1ff;
}

.a2bv2footer__contact-button:hover,
.a2bv2footer__contact-button:focus-visible {
  color: #fff;
  border-color: #fff;
  outline: none;
  box-shadow: 0 0 24px rgba(22, 136, 255, 0.34), inset 0 1px rgba(255, 255, 255, 0.10);
  transform: translateY(-3px);
}

/* Assurance strip */
.a2bv2footer__assurances {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 28px;
  border: 1px solid rgba(151, 185, 226, 0.32);
  border-radius: 20px;
  background: rgba(2, 17, 39, 0.52);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.04);
}

.a2bv2footer__assurances > div {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: center;
  min-height: 82px;
  padding: 16px 24px;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  border-left: 1px solid rgba(151, 185, 226, 0.24);
}

.a2bv2footer__assurances > div:first-child {
  border-left: 0;
}

.a2bv2footer__assurances svg {
  width: 38px;
  height: 38px;
  color: var(--a2bv2footer-green);
  filter: drop-shadow(0 0 9px rgba(121, 220, 0, 0.28));
}

.a2bv2footer__assurances > div:nth-child(2) svg,
.a2bv2footer__assurances > div:nth-child(3) svg {
  color: #36a0ff;
  filter: drop-shadow(0 0 9px rgba(22, 136, 255, 0.28));
}

/* Link columns */
.a2bv2footer__links-grid {
  display: grid;
  grid-template-columns: 1fr 1.08fr 0.85fr 1.15fr 1.25fr 0.95fr;
  gap: clamp(26px, 3.2vw, 60px);
  margin-top: 44px;
}

.a2bv2footer__column {
  display: flex;
  flex-direction: column;
  gap: 11px;
  min-width: 0;
  color: var(--a2bv2footer-muted);
  font-size: 14px;
  font-style: normal;
  line-height: 1.55;
}

.a2bv2footer__column h2 {
  position: relative;
  margin: 0 0 16px;
  padding-bottom: 13px;
  color: #fff;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.a2bv2footer__column h2::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 32px;
  height: 3px;
  content: "";
  border-radius: 10px;
  background: var(--a2bv2footer-green);
  box-shadow: 0 0 10px rgba(121, 220, 0, 0.42);
}

.a2bv2footer__column:nth-child(even) h2::after {
  background: var(--a2bv2footer-blue);
  box-shadow: 0 0 10px rgba(22, 136, 255, 0.42);
}

.a2bv2footer__column a {
  display: inline-flex;
  gap: 8px;
  align-items: flex-start;
  width: fit-content;
  max-width: 100%;
  color: var(--a2bv2footer-muted);
  transition: color 160ms ease, transform 160ms ease;
}

.a2bv2footer__column a:hover,
.a2bv2footer__column a:focus-visible {
  color: #fff;
  outline: none;
  transform: translateX(4px);
}

.a2bv2footer__column--contact a span {
  color: #fff;
}

.a2bv2footer__address span {
  display: block;
}

/* Native EvolutionX newsletter widget area
   Parent Widget CSS class: a2bv2footer-newsletter-wrap
   Child 1: newsletter-copy HTML widget
   Child 2: Guest Newsletter Widget with CSS class a2bv2footer-newsletter-widget */
.a2bv2footer-newsletter-wrap {
  position: relative;
  isolation: isolate;
  display: grid !important;
  grid-template-columns: minmax(320px, 1fr) minmax(420px, 1fr);
  gap: 34px;
  align-items: center;
  width: min(1340px, calc(100% - 64px)) !important;
  max-width: 1340px !important;
  min-height: 112px;
  margin: 0 auto !important;
  padding: 18px 30px !important;
  border: 1px solid rgba(151, 185, 226, 0.36);
  border-radius: 24px;
  background:
    radial-gradient(circle at 12% 50%, rgba(121, 220, 0, 0.08), transparent 25%),
    linear-gradient(135deg, #041936, #020d22) !important;
  box-shadow: 0 20px 42px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 255, 255, 0.05);
}

.a2bv2footer-newsletter-wrap::before {
  position: absolute;
  top: -24px;
  bottom: -24px;
  left: 50%;
  z-index: -1;
  width: 100vw;
  content: "";
  background: linear-gradient(116deg, #01091a 0%, #041b3d 54%, #020d22 100%);
  transform: translateX(-50%);
}

.a2bv2footer-newsletter-copy {
  display: flex;
  gap: 22px;
  align-items: center;
  color: #fff;
}

.a2bv2footer-newsletter-copy__icon {
  width: 72px;
  height: 72px;
  font-size: 34px;
}

.a2bv2footer-newsletter-copy > span:last-child {
  display: grid;
  gap: 5px;
}

.a2bv2footer-newsletter-copy strong {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: clamp(19px, 1.7vw, 25px);
  font-weight: 800;
}

.a2bv2footer-newsletter-copy small {
  color: var(--a2bv2footer-muted);
  font-size: 13px;
  line-height: 1.55;
}

.a2bv2footer-newsletter-widget,
.a2bv2footer-newsletter-widget > div {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.a2bv2footer-newsletter-widget h1,
.a2bv2footer-newsletter-widget h2,
.a2bv2footer-newsletter-widget h3,
.a2bv2footer-newsletter-widget .widget-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.a2bv2footer-newsletter-widget form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: end;
  margin: 0 !important;
}

.a2bv2footer-newsletter-widget .form-group,
.a2bv2footer-newsletter-widget .field,
.a2bv2footer-newsletter-widget p {
  margin: 0 !important;
}

.a2bv2footer-newsletter-widget label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

.a2bv2footer-newsletter-widget input[type="email"],
.a2bv2footer-newsletter-widget input[type="text"] {
  width: 100% !important;
  min-height: 58px !important;
  padding: 0 20px !important;
  color: #fff !important;
  font-family: "Poppins", Arial, sans-serif !important;
  font-size: 14px !important;
  border: 1px solid rgba(22, 136, 255, 0.65) !important;
  border-radius: 14px !important;
  outline: 0 !important;
  background: rgba(1, 12, 30, 0.76) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.04) !important;
}

.a2bv2footer-newsletter-widget input::placeholder {
  color: #aabbd4 !important;
  opacity: 1;
}

.a2bv2footer-newsletter-widget input:focus {
  border-color: var(--a2bv2footer-green) !important;
  box-shadow: 0 0 0 4px rgba(121, 220, 0, 0.12) !important;
}

.a2bv2footer-newsletter-widget button,
.a2bv2footer-newsletter-widget input[type="submit"],
.a2bv2footer-newsletter-widget .btn {
  min-width: 156px !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 0 26px !important;
  color: #071326 !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  border: 1px solid rgba(183, 255, 50, 0.72) !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #a5f51d, #64c900) !important;
  box-shadow: 0 0 24px rgba(121, 220, 0, 0.26) !important;
}

/* Bottom: payments, legal and social */
.a2bv2footer--bottom {
  border-top: 1px solid rgba(22, 136, 255, 0.36);
}

.a2bv2footer__bottom-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 30px;
  align-items: center;
  width: min(1640px, calc(100% - 64px));
  min-height: 124px;
  margin-inline: auto;
  padding: 22px 0 30px;
}

.a2bv2footer__payments,
.a2bv2footer__socials {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.a2bv2footer__socials {
  justify-content: flex-end;
}

.a2bv2footer__payment,
.a2bv2footer__social {
  position: relative;
  display: grid;
  place-items: center;
  width: 62px;
  height: 52px;
  overflow: hidden;
  border: 1px solid rgba(135, 190, 255, 0.50);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.13), rgba(4, 23, 49, 0.86));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.16), 0 0 18px rgba(22, 136, 255, 0.18);
}

.a2bv2footer__payment::before,
.a2bv2footer__social::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.12), transparent 45%);
}

.a2bv2footer__payment--visa {
  color: #32a3ff;
  font-size: 20px;
  font-style: italic;
  font-weight: 900;
  border-bottom-color: var(--a2bv2footer-green);
}

.a2bv2footer__payment--mastercard {
  display: flex;
  justify-content: center;
}

.a2bv2footer__payment--mastercard i {
  width: 25px;
  height: 25px;
  margin: 0 -4px;
  border-radius: 50%;
  background: #ff322d;
}

.a2bv2footer__payment--mastercard i:last-child {
  background: #ff981b;
  mix-blend-mode: screen;
}

.a2bv2footer__payment--amex {
  color: #56c9ff;
  font-size: 7px;
  font-weight: 900;
  line-height: 1.05;
  text-align: center;
}

.a2bv2footer__payment--paypal {
  color: #1688ff;
  font-size: 31px;
  font-style: italic;
  font-weight: 900;
}

.a2bv2footer__payment--bank {
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
}

.a2bv2footer__legal {
  display: grid;
  gap: 4px;
  color: #c5d3e7;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}

.a2bv2footer__legal a {
  color: var(--a2bv2footer-green);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.a2bv2footer__social {
  width: 56px;
  height: 56px;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.a2bv2footer__social svg {
  width: 28px;
  height: 28px;
}

.a2bv2footer__social--facebook { color: #fff; border-color: #3479ff; box-shadow: 0 0 18px rgba(52, 121, 255, 0.38); }
.a2bv2footer__social--x { border-color: #d7e6ff; box-shadow: 0 0 18px rgba(255, 255, 255, 0.18); }
.a2bv2footer__social--instagram { border-color: #ff4a8d; box-shadow: 0 0 18px rgba(255, 74, 141, 0.35); }
.a2bv2footer__social--youtube { color: #ff3a37; border-color: #ff3a37; box-shadow: 0 0 18px rgba(255, 58, 55, 0.35); }
.a2bv2footer__social--linkedin { color: #49adff; border-color: #49adff; box-shadow: 0 0 18px rgba(73, 173, 255, 0.35); }

.a2bv2footer__social:hover,
.a2bv2footer__social:focus-visible {
  color: #fff;
  outline: none;
  box-shadow: 0 0 28px currentColor;
  transform: translateY(-4px) scale(1.03);
}

.a2bv2footer__colour-line {
  position: absolute;
  right: 12px;
  bottom: 8px;
  left: 12px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 4px;
  overflow: hidden;
  border-radius: 10px;
}

.a2bv2footer__colour-line i:nth-child(1) { background: var(--a2bv2footer-green); }
.a2bv2footer__colour-line i:nth-child(2) { background: var(--a2bv2footer-blue); }
.a2bv2footer__colour-line i:nth-child(3) { background: var(--a2bv2footer-orange); }
.a2bv2footer__colour-line i:nth-child(4) { background: var(--a2bv2footer-purple); }

/* Tablet */
@media (max-width: 1280px) {
  .a2bv2footer__contact-card {
    grid-template-columns: 1fr;
  }
  .a2bv2footer__contact-actions {
    justify-content: flex-start;
  }
  .a2bv2footer__links-grid {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 42px;
  }
  .a2bv2footer__bottom-inner {
    grid-template-columns: 1fr 1fr;
  }
  .a2bv2footer__legal {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 900px) {
  .a2bv2footer__container,
  .a2bv2footer__bottom-inner {
    width: min(100% - 36px, 1640px);
  }
  .a2bv2footer__contact-card {
    padding: 24px;
    border-radius: 26px;
  }
  .a2bv2footer__contact-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .a2bv2footer__contact-button {
    min-width: 0;
    padding-inline: 14px;
    font-size: 13px;
  }
  .a2bv2footer__assurances {
    grid-template-columns: repeat(2, 1fr);
  }
  .a2bv2footer__assurances > div:nth-child(3) {
    border-top: 1px solid rgba(151, 185, 226, 0.24);
    border-left: 0;
  }
  .a2bv2footer__assurances > div:nth-child(4) {
    border-top: 1px solid rgba(151, 185, 226, 0.24);
  }
  .a2bv2footer-newsletter-wrap {
    grid-template-columns: 1fr !important;
    width: min(100% - 36px, 1340px) !important;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .a2bv2footer__container {
    width: calc(100% - 24px);
    padding-top: 18px;
    padding-bottom: 30px;
  }
  .a2bv2footer__contact-card {
    gap: 20px;
    padding: 20px 16px;
    border-radius: 22px;
  }
  .a2bv2footer__contact-intro {
    gap: 14px;
  }
  .a2bv2footer__contact-icon {
    width: 62px;
    height: 62px;
    font-size: 31px;
  }
  .a2bv2footer__contact-intro strong {
    font-size: 21px;
  }
  .a2bv2footer__contact-intro small {
    font-size: 12px;
  }
  .a2bv2footer__contact-actions {
    grid-template-columns: 1fr;
  }
  .a2bv2footer__contact-button {
    min-height: 54px;
    justify-content: flex-start;
    padding-inline: 18px;
  }
  .a2bv2footer__assurances {
    grid-template-columns: 1fr;
  }
  .a2bv2footer__assurances > div {
    justify-content: flex-start;
    min-height: 64px;
    border-top: 1px solid rgba(151, 185, 226, 0.24);
    border-left: 0;
  }
  .a2bv2footer__assurances > div:first-child {
    border-top: 0;
  }
  .a2bv2footer__assurances svg {
    width: 32px;
    height: 32px;
  }
  .a2bv2footer__links-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 24px;
    margin-top: 36px;
  }
  .a2bv2footer__column {
    font-size: 12px;
  }
  .a2bv2footer__column h2 {
    font-size: 12px;
    overflow-wrap: anywhere;
  }
  .a2bv2footer-newsletter-wrap {
    width: calc(100% - 24px) !important;
    padding: 20px 16px !important;
    border-radius: 20px;
  }
  .a2bv2footer-newsletter-copy {
    gap: 14px;
  }
  .a2bv2footer-newsletter-copy__icon {
    width: 58px;
    height: 58px;
    font-size: 28px;
  }
  .a2bv2footer-newsletter-copy strong {
    font-size: 18px;
  }
  .a2bv2footer-newsletter-widget form {
    grid-template-columns: 1fr !important;
  }
  .a2bv2footer-newsletter-widget button,
  .a2bv2footer-newsletter-widget input[type="submit"],
  .a2bv2footer-newsletter-widget .btn {
    width: 100% !important;
  }
  .a2bv2footer__bottom-inner {
    grid-template-columns: 1fr;
    width: calc(100% - 24px);
    padding-top: 28px;
  }
  .a2bv2footer__payments,
  .a2bv2footer__socials {
    justify-content: center;
  }
  .a2bv2footer__legal {
    grid-column: auto;
    grid-row: auto;
    padding-block: 6px;
    font-size: 11px;
  }
  .a2bv2footer__payment {
    width: 52px;
    height: 46px;
  }
  .a2bv2footer__social {
    width: 50px;
    height: 50px;
  }
}

@media (max-width: 390px) {
  .a2bv2footer__links-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .a2bv2footer *,
  .a2bv2footer *::before,
  .a2bv2footer *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* ==================================================================
   34. A2B V2 FOOTER — EVOLUTIONX OUTER SPACING RESET
   Removes only the platform spacing surrounding the footer widgets.
   Intentional spacing inside the footer cards remains unchanged.
   ================================================================== */

.a2bv2footer.a2bv2footer--main,
.a2bv2footer.a2bv2footer--bottom {
  display: block !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  vertical-align: top;
}

footer:has(.a2bv2footer),
.footer:has(.a2bv2footer),
.footer-full:has(.a2bv2footer),
.footer-spacing:has(.a2bv2footer),
.layout-footer:has(.a2bv2footer),
[class*="footer-layout"]:has(.a2bv2footer) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

footer:has(.a2bv2footer) > .container,
footer:has(.a2bv2footer) > .container-fluid,
footer:has(.a2bv2footer) > .row,
.footer:has(.a2bv2footer) > .container,
.footer:has(.a2bv2footer) > .container-fluid,
.footer:has(.a2bv2footer) > .row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

footer :is(.widget, .html-widget, .htmlwidget, .widget-html, .widgethtml, .widget-container, .content-widget):has(.a2bv2footer),
.footer :is(.widget, .html-widget, .htmlwidget, .widget-html, .widgethtml, .widget-container, .content-widget):has(.a2bv2footer),
footer :is(.widget, .html-widget, .htmlwidget, .widget-html, .widgethtml, .widget-container, .content-widget):has(.a2bv2footer) > div,
.footer :is(.widget, .html-widget, .htmlwidget, .widget-html, .widgethtml, .widget-container, .content-widget):has(.a2bv2footer) > div {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Removes the inline-element baseline gap beneath HTML widget sections. */
.a2bv2footer:last-child {
  margin-bottom: 0 !important;
}

/* ==================================================================
   35. A2B V2 FOOTER — CONSISTENT CONTACT ICONS
   Replaces inconsistent text glyphs with matching 22px vector masks.
   ================================================================== */

.a2bv2footer__column--contact a {
  align-items: center !important;
  min-height: 24px;
}

.a2bv2footer__column--contact a > span {
  display: inline-block !important;
  flex: 0 0 22px;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  overflow: hidden;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  background-color: #ffffff;
  -webkit-mask: var(--a2bv2footer-contact-icon) center / 22px 22px no-repeat;
  mask: var(--a2bv2footer-contact-icon) center / 22px 22px no-repeat;
}

.a2bv2footer__column--contact a:nth-of-type(1) > span {
  --a2bv2footer-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.2 3.5 10 7.8 8.3 10c1.2 2.3 3 4.1 5.3 5.3l2.2-1.7 4.3 2.8-.7 3.3c-.2.9-1 1.5-2 1.5C9.3 20.7 3.3 14.7 2.8 7c0-.9.6-1.8 1.5-2l2.9-.6Z'/%3E%3C/svg%3E");
}

.a2bv2footer__column--contact a:nth-of-type(2) > span {
  --a2bv2footer-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 3.5A11 11 0 0 0 3.2 16.8L2 22l5.3-1.4A11 11 0 0 0 20.5 3.5Zm-8.5 16a8.4 8.4 0 0 1-4.3-1.2l-.3-.2-3.1.8.8-3-.2-.3A8.5 8.5 0 1 1 12 19.5Zm4.7-6.3c-.3-.1-1.5-.7-1.8-.8-.2-.1-.4-.1-.6.1l-.8 1c-.1.2-.3.2-.5.1-1.4-.7-2.4-1.6-3.3-3-.3-.5.3-.5.8-1.5.1-.2 0-.4 0-.5l-.8-2c-.2-.5-.5-.4-.7-.4h-.5c-.2 0-.5.1-.7.3-.3.3-1 1-1 2.4s1 2.8 1.2 3c.1.2 2.1 3.2 5.1 4.5.7.3 1.3.5 1.7.6.7.2 1.4.2 1.9.1.6-.1 1.5-.6 1.7-1.2.2-.6.2-1.1.1-1.2-.2-.2-.4-.3-.7-.4Z'/%3E%3C/svg%3E");
}

.a2bv2footer__column--contact a:nth-of-type(3) > span {
  --a2bv2footer-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3V5Zm1.8 2 7.2 5.3L19.2 7H4.8ZM5 17h14V9.3l-7 5.1-7-5.1V17Z'/%3E%3C/svg%3E");
}

.a2bv2footer__column--contact a:nth-of-type(4)::before {
  display: inline-block;
  flex: 0 0 22px;
  width: 22px;
  min-width: 22px;
  height: 22px;
  content: "";
  background-color: #ffffff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h16a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H9l-5.5 4v-4A2 2 0 0 1 2 16V5a2 2 0 0 1 2-2Zm0 2v11h1.5v2.1L8.3 16H20V5H4Zm3 3h10v2H7V8Zm0 4h7v2H7v-2Z'/%3E%3C/svg%3E") center / 22px 22px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h16a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H9l-5.5 4v-4A2 2 0 0 1 2 16V5a2 2 0 0 1 2-2Zm0 2v11h1.5v2.1L8.3 16H20V5H4Zm3 3h10v2H7V8Zm0 4h7v2H7v-2Z'/%3E%3C/svg%3E") center / 22px 22px no-repeat;
}

@media (max-width: 640px) {
  .a2bv2footer__column--contact a > span {
    flex-basis: 20px;
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    -webkit-mask-size: 20px 20px;
    mask-size: 20px 20px;
  }

  .a2bv2footer__column--contact a:nth-of-type(4)::before {
    flex-basis: 20px;
    width: 20px;
    min-width: 20px;
    height: 20px;
    -webkit-mask-size: 20px 20px;
    mask-size: 20px 20px;
  }
}

/* ==================================================================
   36. A2B V2 — EVOLUTIONX INK & TONER FINDER
   Styles the native .inktonerfinder_wrapper and Select2 controls.
   Works wherever the EvolutionX finder widget is placed.
   ================================================================== */

.inktonerfinder_wrapper {
  --a2bv2finder-navy: #03142e;
  --a2bv2finder-navy-light: #082a55;
  --a2bv2finder-green: #79dc00;
  --a2bv2finder-blue: #1688ff;
  --a2bv2finder-muted: #aec0d9;
  position: relative;
  isolation: isolate;
  width: 100% !important;
  max-width: 440px !important;
  margin: 0 auto !important;
  padding: 30px !important;
  overflow: hidden;
  color: #ffffff;
  font-family: "Poppins", Arial, sans-serif;
  border: 1px solid rgba(54, 159, 255, 0.58) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(22, 136, 255, 0.24), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(121, 220, 0, 0.14), transparent 34%),
    linear-gradient(145deg, #061d3e 0%, var(--a2bv2finder-navy) 62%, #020c20 100%) !important;
  box-shadow:
    0 24px 55px rgba(1, 18, 42, 0.22),
    0 0 30px rgba(22, 136, 255, 0.13),
    inset 0 1px rgba(255, 255, 255, 0.08) !important;
}

.inktonerfinder_wrapper::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: -1;
  height: 5px;
  content: "";
  background: linear-gradient(90deg, var(--a2bv2finder-green), var(--a2bv2finder-blue), #8e3de8);
  box-shadow: 0 0 18px rgba(22, 136, 255, 0.54);
}

.inktonerfinder_wrapper::after {
  position: absolute;
  top: -90px;
  right: -90px;
  z-index: -1;
  width: 210px;
  height: 210px;
  pointer-events: none;
  content: "";
  border: 1px solid rgba(22, 136, 255, 0.18);
  border-radius: 50%;
  box-shadow:
    0 0 0 18px rgba(22, 136, 255, 0.025),
    0 0 0 38px rgba(121, 220, 0, 0.018);
}

.inktonerfinder_wrapper > .row,
.inktonerfinder_wrapper > .row > [class*="col-"] {
  position: relative;
  z-index: 1;
  width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.inktonerfinder_wrapper h5 {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 70px;
  margin: 0 0 27px !important;
  padding: 0 0 0 72px;
  color: #ffffff !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: clamp(20px, 2vw, 25px) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.025em;
}

.inktonerfinder_wrapper h5::after {
  position: static;
  display: block;
  width: 100%;
  margin-top: 5px;
  content: "Find compatible cartridges in seconds";
  color: var(--a2bv2finder-muted);
  font-family: "Poppins", Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
}

.inktonerfinder_wrapper h5 .fa-print {
  position: absolute;
  top: 50%;
  left: 0;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin: 0 !important;
  color: var(--a2bv2finder-green) !important;
  font-size: 24px !important;
  line-height: 1 !important;
  border: 1px solid rgba(121, 220, 0, 0.45);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(121, 220, 0, 0.14), rgba(121, 220, 0, 0.03));
  box-shadow:
    0 0 24px rgba(121, 220, 0, 0.20),
    inset 0 1px rgba(255, 255, 255, 0.10);
  transform: translateY(-50%);
}

.inktonerfinder_wrapper .inkselectform {
  width: 100% !important;
  margin: 0 !important;
}

.inktonerfinder_wrapper .form-group {
  position: relative;
  width: 100%;
  margin: 0 0 14px !important;
}

.inktonerfinder_wrapper .form-group:last-child {
  margin-top: 20px !important;
  margin-bottom: 0 !important;
}

.inktonerfinder_wrapper .select2-container {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

.inktonerfinder_wrapper .select2-container .select2-selection--single {
  position: relative;
  display: flex !important;
  align-items: center;
  width: 100% !important;
  height: 60px !important;
  padding: 0 54px 0 18px !important;
  overflow: hidden;
  color: #ffffff;
  border: 1px solid rgba(104, 171, 240, 0.52) !important;
  border-radius: 14px !important;
  outline: none !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025)) !important;
  box-shadow:
    inset 0 1px rgba(255, 255, 255, 0.07),
    0 10px 22px rgba(0, 0, 0, 0.12) !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.inktonerfinder_wrapper .select2-container:not(.select2-container--disabled) .select2-selection--single:hover,
.inktonerfinder_wrapper .select2-container--open .select2-selection--single,
.inktonerfinder_wrapper .select2-selection--single:focus {
  border-color: var(--a2bv2finder-green) !important;
  box-shadow:
    0 0 0 4px rgba(121, 220, 0, 0.10),
    0 10px 24px rgba(0, 0, 0, 0.16) !important;
  transform: translateY(-1px);
}

.inktonerfinder_wrapper .select2-selection__rendered {
  width: 100%;
  padding: 0 !important;
  overflow: hidden;
  color: #ffffff !important;
  font-family: "Poppins", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 58px !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inktonerfinder_wrapper .select2-selection__arrow {
  top: 50% !important;
  right: 17px !important;
  display: grid !important;
  place-items: center;
  width: 30px !important;
  height: 30px !important;
  border: 1px solid rgba(22, 136, 255, 0.28);
  border-radius: 9px;
  background: rgba(22, 136, 255, 0.10);
  transform: translateY(-50%);
}

.inktonerfinder_wrapper .select2-selection__arrow b {
  position: static !important;
  width: 8px !important;
  height: 8px !important;
  margin: -4px 0 0 !important;
  border: 0 !important;
  border-right: 2px solid #ffffff !important;
  border-bottom: 2px solid #ffffff !important;
  transform: rotate(45deg);
  transition: transform 160ms ease;
}

.inktonerfinder_wrapper .select2-container--open .select2-selection__arrow b {
  margin: 4px 0 0 !important;
  transform: rotate(225deg);
}

.inktonerfinder_wrapper .select2-container--disabled {
  opacity: 0.56;
}

.inktonerfinder_wrapper .select2-container--disabled .select2-selection--single {
  cursor: not-allowed;
  background: rgba(255, 255, 255, 0.035) !important;
}

.inktonerfinder_wrapper .printer_button {
  position: relative;
  display: flex !important;
  gap: 12px;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 56px;
  margin: 0 !important;
  padding: 12px 24px !important;
  color: #061329 !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.2;
  border: 1px solid rgba(184, 255, 56, 0.75) !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #a7f51d, #63c900) !important;
  box-shadow:
    0 13px 28px rgba(70, 165, 0, 0.20),
    0 0 22px rgba(121, 220, 0, 0.16),
    inset 0 1px rgba(255, 255, 255, 0.40) !important;
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.inktonerfinder_wrapper .printer_button::after {
  content: "→";
  font-size: 21px;
  line-height: 1;
}

.inktonerfinder_wrapper .printer_button:not(:disabled):hover,
.inktonerfinder_wrapper .printer_button:not(:disabled):focus-visible {
  color: #061329 !important;
  outline: none !important;
  filter: saturate(1.12) brightness(1.05);
  box-shadow:
    0 16px 32px rgba(70, 165, 0, 0.28),
    0 0 30px rgba(121, 220, 0, 0.28) !important;
  transform: translateY(-2px);
}

.inktonerfinder_wrapper .printer_button:disabled {
  color: rgba(255, 255, 255, 0.52) !important;
  cursor: not-allowed;
  border-color: rgba(137, 164, 197, 0.20) !important;
  background: linear-gradient(135deg, #33455f, #21334d) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

/* Finder-specific Select2 results are appended to the document body. */
.select2-container--open:has([id^="select2-printer_"]) .select2-dropdown {
  overflow: hidden;
  margin-top: 6px;
  color: #ffffff;
  font-family: "Poppins", Arial, sans-serif;
  border: 1px solid rgba(22, 136, 255, 0.62) !important;
  border-radius: 14px !important;
  background: #061a38 !important;
  box-shadow: 0 22px 44px rgba(1, 12, 29, 0.34) !important;
}

ul[id^="select2-printer_"][role="tree"] {
  max-height: 280px !important;
  padding: 7px !important;
  color: #dfeaff;
  background: #061a38 !important;
}

ul[id^="select2-printer_"] .select2-results__option {
  margin: 2px 0;
  padding: 10px 12px !important;
  font-size: 14px;
  border-radius: 9px;
}

ul[id^="select2-printer_"] .select2-results__option--highlighted[aria-selected],
ul[id^="select2-printer_"] .select2-results__option[aria-selected="true"] {
  color: #061329 !important;
  background: linear-gradient(135deg, #a7f51d, #63c900) !important;
}

@media (max-width: 767px) {
  .inktonerfinder_wrapper {
    max-width: none !important;
    padding: 23px 18px !important;
    border-radius: 21px !important;
  }

  .inktonerfinder_wrapper h5 {
    min-height: 66px;
    margin-bottom: 23px !important;
    padding-left: 64px;
    font-size: 20px !important;
  }

  .inktonerfinder_wrapper h5::after {
    width: 100%;
    margin-top: 4px;
    font-size: 10px;
  }

  .inktonerfinder_wrapper h5 .fa-print {
    width: 50px;
    height: 50px;
    font-size: 22px !important;
    border-radius: 14px;
  }

  .inktonerfinder_wrapper .select2-container .select2-selection--single {
    height: 56px !important;
  }

  .inktonerfinder_wrapper .select2-selection__rendered {
    font-size: 15px !important;
    line-height: 54px !important;
  }
}

/* ==================================================================
   37. CATEGORY WYSIWYG — FORMATTED COPY AND SEE MORE CONTROL
   WebWorks Media: this styles the category copy directly beneath the
   category title. The matching HTML helper controls the short preview.
   ================================================================== */
.subcategorieslist_container
  .catalog-name
  + .catalog-content.a2bv2catcopy {
  --a2bv2catcopy-navy: #071f42;
  --a2bv2catcopy-blue: #0878e8;
  --a2bv2catcopy-green: #72d400;
  --a2bv2catcopy-muted: #526681;
  max-width: 1180px;
  color: var(--a2bv2catcopy-muted) !important;
  font: 400 clamp(17px, 1.05vw, 20px)/1.72 "Poppins", Arial, sans-serif !important;
}

.subcategorieslist_container
  .catalog-name
  + .catalog-content.a2bv2catcopy
  :is(.a2bv2catcopy__preview, .a2bv2catcopy__full) {
  animation: a2bv2catcopy-reveal 240ms ease both;
}

.subcategorieslist_container
  .catalog-name
  + .catalog-content.a2bv2catcopy
  :is(p, ul, ol) {
  margin: 0 0 10px !important;
  color: var(--a2bv2catcopy-muted) !important;
  font: inherit !important;
}

.subcategorieslist_container
  .catalog-name
  + .catalog-content.a2bv2catcopy
  :is(h2, h3, h4) {
  margin: 14px 0 7px !important;
  color: var(--a2bv2catcopy-navy) !important;
  font-family: "Montserrat", "Poppins", Arial, sans-serif !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em;
}

.subcategorieslist_container
  .catalog-name
  + .catalog-content.a2bv2catcopy
  h2 {
  font-size: 1.25em !important;
}

.subcategorieslist_container
  .catalog-name
  + .catalog-content.a2bv2catcopy
  :is(h3, h4) {
  font-size: 1.15em !important;
}

.subcategorieslist_container
  .catalog-name
  + .catalog-content.a2bv2catcopy
  :is(strong, b) {
  color: var(--a2bv2catcopy-navy);
  font-weight: 700;
}

.subcategorieslist_container
  .catalog-name
  + .catalog-content.a2bv2catcopy
  :is(ul, ol) {
  padding-left: 24px !important;
}

.subcategorieslist_container
  .catalog-name
  + .catalog-content.a2bv2catcopy
  li {
  margin: 7px 0;
  padding-left: 3px;
}

.subcategorieslist_container
  .catalog-name
  + .catalog-content.a2bv2catcopy
  li::marker {
  color: #58ad00;
}

.subcategorieslist_container
  .catalog-name
  + .catalog-content.a2bv2catcopy
  a {
  color: #294c75 !important;
  font-weight: 600 !important;
  text-decoration-line: underline !important;
  text-decoration-color: rgba(88, 173, 0, 0.42) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px;
  background: none !important;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

.subcategorieslist_container
  .catalog-name
  + .catalog-content.a2bv2catcopy
  a:hover {
  color: #347f0c !important;
  text-decoration-color: #72c900 !important;
}

.subcategorieslist_container
  .catalog-name
  + .catalog-content.a2bv2catcopy
  a:focus-visible {
  border-radius: 3px;
  outline: 3px solid rgba(8, 120, 232, 0.25);
  outline-offset: 3px;
}

.subcategorieslist_container
  .catalog-name
  + .catalog-content.a2bv2catcopy
  [hidden] {
  display: none !important;
}

.a2bv2catcopy__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  gap: 7px;
  min-height: 32px;
  margin: 7px 0 0 auto;
  padding: 4px 0 4px 8px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
  color: #526a86;
  font: 600 0.85em/1 "Poppins", Arial, sans-serif;
  cursor: pointer;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.a2bv2catcopy__toggle:hover {
  transform: none;
  color: #347f0c;
  background: rgba(121, 220, 0, 0.07);
  box-shadow: none;
}

.a2bv2catcopy__toggle:focus-visible {
  outline: 3px solid rgba(8, 120, 232, 0.28);
  outline-offset: 3px;
}

.a2bv2catcopy__toggle-icon {
  display: inline-grid;
  width: 23px;
  height: 23px;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(83, 168, 0, 0.25);
  background: rgba(121, 220, 0, 0.11);
  box-shadow: none;
  color: #429600;
  font: 700 15px/1 "Montserrat", Arial, sans-serif;
}

@keyframes a2bv2catcopy-reveal {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 767px) {
  .subcategorieslist_container
    .catalog-name
    + .catalog-content.a2bv2catcopy {
    font-size: 16px !important;
    line-height: 1.7 !important;
  }

  .a2bv2catcopy__toggle {
    min-height: 32px;
    font-size: 0.85em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .subcategorieslist_container
    .catalog-name
    + .catalog-content.a2bv2catcopy
    *,
  .a2bv2catcopy__toggle {
    animation: none !important;
    transition: none !important;
  }
}

/* ==================================================================
   38. HEADER LOGO — SIZE AND BREATHING ROOM
   WebWorks Media: Adjust these values if the main header logo changes.
   ================================================================== */

header .header-full .headersection-2 > .row.row-2 {
  min-height: 112px;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

header .header-full .headersection-2 .logo_container,
header .header-full .headersection-2 .widgetlogo,
header .header-full .headersection-2 .widgetlogo .logo {
  display: flex;
  align-items: center;
}

header .header-full .headersection-2 .widgetlogo {
  width: 100%;
  line-height: 0;
}

header .header-full .headersection-2 .widgetlogo .logo img {
  width: auto !important;
  height: auto !important;
  max-width: min(100%, 280px) !important;
  max-height: 72px !important;
}

@media (max-width: 800px) {
  header .header-full .headersection-2 > .row.row-2 {
    min-height: 108px;
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  header .header-full .headersection-2 .widgetlogo .logo img {
    max-width: min(100%, 250px) !important;
    max-height: 64px !important;
  }
}

@media (max-width: 520px) {
  header .header-full .headersection-2 > .row.row-2 {
    min-height: 96px;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  header .header-full .headersection-2 .widgetlogo .logo img {
    max-width: min(100%, 225px) !important;
    max-height: 58px !important;
  }
}

/* ==================================================================
   39. HEADER OVERLAYS — KEEP EVOLUTIONX PANELS ABOVE HEADERNAV
   WebWorks Media: Keep these values together if the menu layer changes.
   ================================================================== */

/* WebWorks Media: Allow the basket and account panels to clear the menu. */
header .header-full .headersection-2,
header .header-full [class*="headersection"]:has(.shopping-tools-wrapper),
header .header-full [class*="headersection"]:has(.shoppingtools_container),
header .header-full [class*="headersection"]:has(.minicart_container) {
  position: relative !important;
  z-index: 1300 !important;
  overflow: visible !important;
}

header .header-full .headersection-2 .cart-btn,
header .header-full .headersection-2 .minicart_container,
header .header-full .headersection-2 .shopping-tools-wrapper,
header .header-full .headersection-2 .shoppingtools_container {
  overflow: visible !important;
}

header .header-full .headersection-2 .cart-dropdown,
header .header-full .headersection-2 .account-dropdown,
header .header-full [class*="headersection"] .cart-dropdown,
header .header-full [class*="headersection"] .account-dropdown,
header .header-full [class*="headersection"] .dropdown-menu.account-dropdown {
  position: absolute !important;
  z-index: 1310 !important;
}

/* WebWorks Media: Keep the signed-in account tools drawer above HEADERNAV. */
body .customertools:not([data-static="true"]),
body .customertools.open:not([data-static="true"]) {
  position: fixed !important;
  z-index: 1600 !important;
}

body .customertools:not([data-static="true"]) .customertools-container {
  position: relative !important;
  z-index: 1 !important;
}

/* WebWorks Media: EvolutionX search results and its page overlay. */
body #search-v2-dropdown.search-v2,
body .search-v2.search-v2--open {
  z-index: 1410 !important;
}

body .search-v2-overlay,
body .search-v2-overlay.search-v2-overlay--visible {
  z-index: 1400 !important;
}

/* WebWorks Media: Quick Order and other EvolutionX modals must be topmost. */
body .modal-backdrop,
body .modal-backdrop.in {
  z-index: 1490 !important;
}

/* ================================================================
   WWMEDIA - HORIZONTAL INK & TONER FINDER
   Add a2bv2-inkfinder-horizontal to the Ink/Toner Finder CSS CLASS field.
   ================================================================ */

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) {
  --a2bv2-ink-navy:#031b3d;
  --a2bv2-ink-blue:#0878e8;
  --a2bv2-ink-lime:#78d600;
  position:relative;
  isolation:isolate;
  width:100%;
  margin:0;
  padding:28px 32px;
  overflow:hidden;
  border:1px solid rgba(28,139,255,.72);
  border-radius:22px;
  background:
    radial-gradient(circle at 88% 10%,rgba(25,123,255,.48),transparent 34%),
    linear-gradient(115deg,#02152f 0%,#052b61 58%,#075dce 100%);
  box-shadow:0 18px 45px rgba(3,27,61,.2),inset 0 1px 0 rgba(255,255,255,.16);
  font-family:'Poppins',Arial,sans-serif;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal)::before,
:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal)::after {
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal)::before {
  top:-85px;
  right:-35px;
  width:48%;
  height:190px;
  border:1px solid rgba(120,214,0,.3);
  border-radius:50%;
  transform:rotate(-9deg);
  box-shadow:0 0 35px rgba(8,120,232,.28);
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal)::after {
  right:-5%;
  bottom:12px;
  width:47%;
  height:2px;
  background:linear-gradient(90deg,transparent,#1594ff,#78d600,transparent);
  box-shadow:0 0 14px rgba(21,148,255,.85);
  transform:rotate(-4deg);
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_layout_row {
  display:grid!important;
  grid-template-columns:minmax(260px,1.1fr) minmax(0,3.4fr);
  align-items:center;
  gap:30px;
  width:100%;
  margin:0!important;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_layout_left,
:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_layout_row > .col-sm-9 {
  width:auto!important;
  min-width:0;
  padding:0!important;
  float:none!important;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_layout_left {
  position:relative;
  display:grid!important;
  grid-template-columns:66px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:18px;
  color:#fff;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_layout_left::before {
  content:"";
  position:absolute;
  left:76px;
  width:3px;
  height:70px;
  border-radius:5px;
  background:linear-gradient(#d8ff5e,var(--a2bv2-ink-lime));
  box-shadow:0 0 15px rgba(120,214,0,.55);
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_layout_left img {
  grid-column:1;
  grid-row:1 / span 2;
  width:58px!important;
  max-width:58px!important;
  max-height:58px!important;
  margin:0!important;
  object-fit:contain;
  filter:drop-shadow(0 0 11px rgba(120,214,0,.45));
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_title {
  grid-column:2;
  grid-row:1;
  margin:0;
  color:#fff!important;
  font-family:'Montserrat','Poppins',Arial,sans-serif!important;
  font-size:clamp(23px,1.75vw,32px)!important;
  font-weight:800!important;
  line-height:1.08!important;
  letter-spacing:-.025em;
  text-shadow:0 5px 18px rgba(0,0,0,.24);
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_title::after {
  content:"Find the right cartridge in seconds";
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.78);
  font-family:'Poppins',Arial,sans-serif;
  font-size:13px;
  font-weight:500;
  line-height:1.35;
  letter-spacing:0;
  text-shadow:none;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .inkselectform {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(145px,1fr)) minmax(190px,.95fr);
  align-items:end;
  gap:14px;
  width:100%;
  margin:0!important;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .inkselectform::after {
  content:"\2713  Choose your printer details to see compatible ink and toner";
  grid-column:1 / -1;
  margin:0 0 0 3px;
  color:rgba(255,255,255,.82);
  font:500 12px/1.35 'Poppins',Arial,sans-serif;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .inkselectform .form-group {
  position:relative;
  min-width:0;
  margin:0!important;
  padding-top:25px;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .inkselectform .form-group:nth-child(1)::before,
:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .inkselectform .form-group:nth-child(2)::before,
:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .inkselectform .form-group:nth-child(3)::before {
  position:absolute;
  top:0;
  left:3px;
  color:#fff;
  font-family:'Montserrat','Poppins',Arial,sans-serif;
  font-size:13px;
  font-weight:700;
  line-height:1;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .inkselectform .form-group:nth-child(1)::before { content:"Brand"; }
:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .inkselectform .form-group:nth-child(2)::before { content:"Family"; }
:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .inkselectform .form-group:nth-child(3)::before { content:"Model"; }

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .select2-container {
  width:100%!important;
  max-width:none!important;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .select2-selection--single,
:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) select.form-control {
  display:flex!important;
  align-items:center;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  padding:0 48px 0 18px!important;
  border:2px solid rgba(36,142,255,.72)!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#fff,#edf6ff)!important;
  color:var(--a2bv2-ink-navy)!important;
  box-shadow:0 8px 20px rgba(0,10,34,.2),inset 0 1px 0 #fff!important;
  font:600 15px/1 'Poppins',Arial,sans-serif!important;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .select2-selection__rendered {
  width:100%;
  padding:0!important;
  color:var(--a2bv2-ink-navy)!important;
  line-height:54px!important;
  font:600 15px/54px 'Poppins',Arial,sans-serif!important;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .select2-selection__arrow {
  top:50%!important;
  right:15px!important;
  width:26px!important;
  height:26px!important;
  transform:translateY(-50%);
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .select2-selection__arrow b {
  border-top-color:#0a3a79!important;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .select2-container:not(.select2-container--disabled):hover .select2-selection--single,
:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .select2-container--open .select2-selection--single {
  border-color:var(--a2bv2-ink-lime)!important;
  box-shadow:0 0 0 4px rgba(120,214,0,.15),0 10px 24px rgba(0,10,34,.25)!important;
  transform:translateY(-1px);
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .select2-container--disabled {
  opacity:.64;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .printer_button {
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  margin:0!important;
  padding:0 20px!important;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#bfff3f 0%,var(--a2bv2-ink-lime) 62%,#5abb00 100%)!important;
  color:var(--a2bv2-ink-navy)!important;
  box-shadow:0 10px 24px rgba(120,214,0,.28),inset 0 1px 0 rgba(255,255,255,.55)!important;
  font-size:0!important;
  text-align:left;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .printer_button::before {
  content:"Find My Cartridge";
  font:800 14px/1.15 'Montserrat','Poppins',Arial,sans-serif;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .printer_button::after {
  content:"\2192";
  font:800 24px/1 'Poppins',Arial,sans-serif;
  transition:transform .2s ease;
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .printer_button:not(:disabled):hover {
  filter:saturate(1.1) brightness(1.05);
  box-shadow:0 14px 30px rgba(120,214,0,.38),inset 0 1px 0 rgba(255,255,255,.6)!important;
  transform:translateY(-2px);
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .printer_button:not(:disabled):hover::after {
  transform:translateX(4px);
}

:is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
    .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .printer_button:disabled {
  background:linear-gradient(135deg,#d7e3f1,#adbed3)!important;
  color:#62758d!important;
  box-shadow:none!important;
  cursor:not-allowed;
  opacity:.82;
}

@media (max-width:1100px) {
  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) {
    padding:25px;
  }

  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_layout_row {
    grid-template-columns:1fr;
    gap:20px;
  }

  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_layout_left {
    grid-template-columns:50px 1fr;
  }

  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_layout_left::before {
    left:59px;
    height:52px;
  }

  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_layout_left img {
    width:42px!important;
    max-width:42px!important;
    max-height:42px!important;
  }

  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .inkselectform {
    grid-template-columns:repeat(3,minmax(0,1fr)) minmax(175px,.85fr);
  }
}

@media (max-width:767px) {
  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) {
    padding:23px 18px;
    border-radius:19px;
  }

  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_layout_left {
    grid-template-columns:46px 1fr;
    column-gap:15px;
  }

  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_layout_left::before {
    left:53px;
    height:48px;
  }

  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_title {
    font-size:22px!important;
  }

  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .horizontal_title::after {
    margin-top:5px;
    font-size:12px;
  }

  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .inkselectform {
    grid-template-columns:1fr;
    gap:11px;
  }

  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .inkselectform::after {
    display:none;
  }

  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .inkselectform .form-group {
    padding-top:0;
  }

  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .inkselectform .form-group::before {
    display:none;
  }

  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .select2-selection--single,
  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) select.form-control,
  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) .printer_button {
    height:54px!important;
    min-height:54px!important;
  }
}

@media (prefers-reduced-motion:reduce) {
  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) *,
  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) *::before,
  :is(.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper,
      .inktonerfinder_wrapper.a2bv2-inkfinder-horizontal) *::after {
    transition:none!important;
  }
}

/* ================================================================
   WWMEDIA - HORIZONTAL INK FINDER CORRECTION
   Keep this after the original Ink Finder styles. EvolutionX adds the
   custom class to the outer widget row, so these rules start there.
   ================================================================ */

.inktonerfinderwidget.a2bv2-inkfinder-horizontal {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 22px 0 34px !important;
  padding: 0 !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal > .col-md-12 {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper {
  --a2bv2-ink-navy: #031b3d;
  --a2bv2-ink-blue: #0878e8;
  --a2bv2-ink-lime: #78d600;
  position: relative !important;
  isolation: isolate;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 36px 42px 32px !important;
  overflow: hidden !important;
  border: 2px solid rgba(32, 151, 255, 0.88) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 94% 14%, rgba(38, 145, 255, 0.46), transparent 34%),
    radial-gradient(circle at 4% 92%, rgba(120, 214, 0, 0.20), transparent 30%),
    linear-gradient(112deg, #01142e 0%, #04326d 60%, #086de0 100%) !important;
  box-shadow:
    0 24px 54px rgba(3, 27, 61, 0.25),
    0 0 30px rgba(16, 135, 255, 0.15),
    inset 0 1px rgba(255, 255, 255, 0.20) !important;
  box-sizing: border-box !important;
}

/* WebWorks Media: a slim accent replaces the old oversized circle. */
.inktonerfinderwidget.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 6px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, var(--a2bv2-ink-lime), var(--a2bv2-ink-blue), #8e3de8) !important;
  box-shadow: 0 0 18px rgba(22, 136, 255, 0.55) !important;
  transform: none !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper::after {
  content: "" !important;
  position: absolute !important;
  right: -5% !important;
  bottom: 14px !important;
  top: auto !important;
  left: auto !important;
  z-index: 0 !important;
  width: 46% !important;
  height: 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, transparent, #1594ff, var(--a2bv2-ink-lime), transparent) !important;
  box-shadow: 0 0 14px rgba(21, 148, 255, 0.75) !important;
  transform: rotate(-3deg) !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .horizontal_layout_row {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 30px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .horizontal_layout_left,
.inktonerfinderwidget.a2bv2-inkfinder-horizontal .horizontal_layout_row > .col-sm-9 {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .horizontal_layout_left {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 20px !important;
  text-align: left !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .horizontal_layout_left::before {
  content: none !important;
  display: none !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .horizontal_layout_left img {
  position: static !important;
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 60px !important;
  max-width: 60px !important;
  height: 60px !important;
  max-height: 60px !important;
  margin: 0 !important;
  object-fit: contain !important;
  transform: none !important;
  filter: drop-shadow(0 0 15px rgba(120, 214, 0, 0.68));
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .horizontal_title {
  position: static !important;
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font: 900 clamp(24px, 1.75vw, 34px)/1.08 "Montserrat", "Poppins", Arial, sans-serif !important;
  letter-spacing: -0.025em !important;
  text-align: left !important;
  white-space: normal !important;
  transform: none !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .horizontal_title::after {
  content: "Find the right cartridge in seconds" !important;
  position: static !important;
  display: block !important;
  width: auto !important;
  margin: 8px 0 0 !important;
  color: rgba(255, 255, 255, 0.86) !important;
  font: 600 14px/1.4 "Poppins", Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .inkselectform {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(150px, 1fr)) minmax(210px, 0.9fr) !important;
  align-items: end !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .inkselectform .form-group,
.inktonerfinderwidget.a2bv2-inkfinder-horizontal .inkselectform .form-group:last-child {
  position: relative !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 25px 0 0 !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .inkselectform::after {
  content: "\2713  Choose your printer details to see compatible ink and toner" !important;
  grid-column: 1 / -1 !important;
  margin: 3px 0 0 3px !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font: 600 14px/1.4 "Poppins", Arial, sans-serif !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .inkselectform .form-group:nth-child(-n+3)::before {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .select2-selection--single,
.inktonerfinderwidget.a2bv2-inkfinder-horizontal select.form-control,
.inktonerfinderwidget.a2bv2-inkfinder-horizontal .printer_button {
  height: 64px !important;
  min-height: 64px !important;
  border-radius: 16px !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .select2-selection--single {
  border-color: rgba(74, 171, 255, 0.96) !important;
  box-shadow:
    0 10px 24px rgba(0, 10, 34, 0.24),
    0 0 0 1px rgba(255, 255, 255, 0.22),
    inset 0 1px #ffffff !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .select2-selection__rendered {
  font-size: 16px !important;
  line-height: 60px !important;
}

.inktonerfinderwidget.a2bv2-inkfinder-horizontal .printer_button {
  box-shadow:
    0 14px 30px rgba(120, 214, 0, 0.35),
    0 0 24px rgba(120, 214, 0, 0.18),
    inset 0 1px rgba(255, 255, 255, 0.62) !important;
}

@media (max-width: 900px) {
  .inktonerfinderwidget.a2bv2-inkfinder-horizontal .horizontal_layout_row {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .inktonerfinderwidget.a2bv2-inkfinder-horizontal .horizontal_layout_left {
    grid-template-columns: 46px minmax(0, 1fr) !important;
  }

  .inktonerfinderwidget.a2bv2-inkfinder-horizontal .horizontal_layout_left img {
    width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    max-height: 42px !important;
  }

  .inktonerfinderwidget.a2bv2-inkfinder-horizontal .inkselectform {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  .inktonerfinderwidget.a2bv2-inkfinder-horizontal {
    margin: 16px 0 26px !important;
  }

  .inktonerfinderwidget.a2bv2-inkfinder-horizontal .inktonerfinder_wrapper {
    padding: 27px 20px 24px !important;
    border-radius: 19px !important;
  }

  .inktonerfinderwidget.a2bv2-inkfinder-horizontal .inkselectform {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .inktonerfinderwidget.a2bv2-inkfinder-horizontal .inkselectform .form-group,
  .inktonerfinderwidget.a2bv2-inkfinder-horizontal .inkselectform .form-group:last-child {
    padding-top: 0 !important;
  }

  .inktonerfinderwidget.a2bv2-inkfinder-horizontal .inkselectform .form-group::before,
  .inktonerfinderwidget.a2bv2-inkfinder-horizontal .inkselectform::after {
    display: none !important;
  }
}

body .modal,
body .modal.in,
body #quickorder,
body #quickorder.in {
  z-index: 1500 !important;
}

/*
 * WebWorks Media: Prevent the original EvolutionX account, Quick Order and
 * basket styling flashing before the A2B header script applies the card design.
 * Visibility keeps each grid column reserved, so the header does not jump.
 */
@media (min-width: 801px) {
  html:not(.a2bv2-header-tools-ready):not(.a2bv2-header-tools-fallback)
    .headersection-2 .shopping-tools-wrapper,
  html:not(.a2bv2-header-tools-ready):not(.a2bv2-header-tools-fallback)
    .headersection-2 .minicart_container {
    visibility: hidden !important;
  }
}

/*
 * WWMEDIA - Hides the annoying social links
 */

.social-links {
  display: none !important;
}




/*
 * WWMEDIA - A2B HEADERNAV — critical first-paint rules
 * Add to FOOTER of CSS.
 * It hides EvolutionX's native desktop navigation and separate mobile drawer
 * The custom .a2bnav navigation is unaffected.
 */

.header-full .menu > .catalog,
.header-full .menu .catalog {
  display:none!important;
  visibility:hidden!important;
}

@media (max-width:800px) {
  .mobile-menu,
  .mobilemenu,
  .mobileMenu,
  .mobile-nav,
  .mobilenav,
  .mobile-navigation,
  .menu-mobile,
  .mobile-menu-wrapper,
  .mobilemenu-wrapper,
  .mobile-menu-panel,
  .mobilemenupanel,
  .mobile-menu-overlay,
  .mobilemenuoverlay,
  #mobile-menu,
  #mobilemenu,
  #mobileMenu,
  body > [class*="mobile-menu"],
  body > [class*="mobilemenu"],
  body > [id*="mobile-menu"],
  body > [id*="mobilemenu"] {
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  .mobile-menu-toggle,
  .mobilemenutoggle,
  .mobile-nav-toggle,
  .mobilenav-toggle,
  .navbar-toggle,
  .header-full .menu-toggle:not(.a2bnav__mobile-toggle) {
    display:none!important;
    visibility:hidden!important;
  }

  .a2bnav,
  .a2bnav__bar,
  .a2bnav__mobile-toggle {
    visibility:visible!important;
    opacity:1!important;
  }
}