/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jul 29 2026 | 08:02:34 */
/* Add your CSS code here.

For example:
.example {
    color: red;
}
/* =========================================================
   MICROSOFT x AUTODESK STYLE ARCHIVE PAGE THEME -- v10 (scoped, responsive,
   nav-menu-safe, wrapper-order-fixed)
   Paste this into: Simple Custom CSS and JS plugin -> Add Custom CSS,
   or Appearance -> Customize -> Additional CSS.

   v7 CHANGES:
   - Correctly orders the direct children inside .woocommerce-card__header.
   - Targets the actual variation-price wrapper (.cgkit-as-variation-price).
   - Targets the actual Quick View button class (.woosq-btn).
   - Keeps the product title before the price with 10px bottom padding.
   - Removes the old unscoped temporary ordering patch.

   PREVIOUS CHANGES:
   - Product title font-weight reduced from 700 to 500 (no longer bold),
     on both desktop and mobile.
   - Card content "order" rules now use !important. On mobile the theme
     was applying its own order values with !important inside its own
     media queries, which silently beat our unprefixed order rules --
     that's why mobile cards showed price/MFR before the title even
     though desktop was correct. Adding !important here forces the same
     flow (image -> title -> price -> MFR # -> Add to cart -> Quick view)
     at every screen size.

   v4 FIX: the site has a product mega-menu in the navbar (e.g. the
   "Autodesk Products" dropdown) that reuses the SAME ul.products
   li.product markup as the real archive grid. Scoping by body class
   alone was not enough -- it also styled that nav dropdown, squeezing
   its cards and truncating text. Every ul.products selector below now
   additionally requires the class "ms-real-product-grid", which the
   paired JS only adds to the actual content grid -- never to any
   ul.products found inside <header>, <nav>, .sub-menu, .mega-menu, or
   similar menu containers. The nav dropdown is now structurally
   excluded no matter where in the DOM it lives.

   SCOPING (v3 change): everything in this file only fires when
   <body> carries the class "ms-archive-theme". That class is added
   by the paired JS file (microsoft-style-scoped.js) ONLY when the
   current URL matches one of these 18 pages:

     /product-category/chaos/
     /autodesk-2025/
     /autodesk-2026/
     /product-category/autodesk-2027/
     /microsoft-visual-studio/
     /microsoft-project/
     /microsoft-visio/
     /microsoft-power-bi/
     /dynamics-365/
     /exchange-server/
     /share-point-server/
     /sql-server/
     /windows-server/
     /microsoft-office-2021/
     /microsoft-office-2024/
     /microsoft-office-365/
     /microsoft-windows-10/
     /microsoft-windows-11/

   This is done via a body class instead of WordPress's automatic
   "term-<slug>" class because several of these URLs are plain
   Elementor pages, not real taxonomy archives, so the term class
   is not guaranteed to be present on all of them.

   Nothing here targets the site header, main navigation/menu, or
   footer -- every selector is anchored to archive-page-only markup
   (ul.products.ms-real-product-grid, #secondary widgets, .shoptimizer-sorting, the
   category banner, pagination), all additionally gated behind
   body.ms-archive-theme so it cannot leak onto any other page.
   ========================================================= */

:root {
  --ms-blue: #001bce;
  --ms-blue-dark: #021485;
  --ms-blue-light: #e8ebfb;
  --ms-navy-deep: #000160;
  --ms-gold: #dc9814;
  --ms-gold-dark: #c78300;
  --ms-sale-bg: #d93025;
  --ms-sale-bg-dark: #a3241b;
  --ms-sale-text: #ffffff;
  --ms-gray-dark: #201f1e;
  --ms-gray-text: #323130;
  --ms-gray-border: #e1dfdd;
  --ms-radius: 16px;

  /* glass tokens */
  --glass-bg: rgba(255, 255, 255, 0.55);
  --glass-bg-strong: rgba(255, 255, 255, 0.72);
  --glass-border: rgba(255, 255, 255, 0.65);
  --glass-blur: 18px;
  --glass-shadow: 0 8px 32px rgba(0, 7, 60, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.5);
  --glass-shadow-hover: 0 16px 40px rgba(0, 7, 60, 0.18), 0 0 0 1px rgba(0, 27, 206, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.6);

  /* Microsoft flag colors -- the one recurring signature accent */
  --flag-red: #f25022;
  --flag-green: #7fba00;
  --flag-blue: #00a4ef;
  --flag-gold: #ffb900;
}

/* -------------------- Base font (archive content only) -------------------- */
body.ms-archive-theme .woocommerce,
body.ms-archive-theme ul.products.ms-real-product-grid li.product .woocommerce-loop-product__title,
body.ms-archive-theme .woocommerce-ordering select,
body.ms-archive-theme ul.products.ms-real-product-grid li.product .button,
body.ms-archive-theme ul.products.ms-real-product-grid li.product .add_to_cart_button {
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Inter, Arial, sans-serif !important;
}

/* -------------------- Blurred color backdrop for the glass to sit on -------------------- */
body.ms-archive-theme {
  position: relative;
}
body.ms-archive-theme::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 8% 10%, rgba(0, 164, 239, 0.14) 0%, transparent 32%),
    radial-gradient(circle at 96% 90%, rgba(255, 185, 0, 0.12) 0%, transparent 32%),
    #f4f4f7;
  pointer-events: none;
}

/* iOS Safari has a known rendering bug where a viewport-fixed element
   combined with many backdrop-filter/blur elements below it causes
   sticky/fixed headers to glitch or momentarily un-stick while scrolling.
   On small screens we don't need the fixed parallax backdrop anyway, so
   switch it to a normal absolute/static background painted on <body>
   itself -- same look, none of the fixed-position scroll interference. */
@media (max-width: 782px) {
  body.ms-archive-theme::before {
    position: absolute;
    height: 100%;
  }
}

/* -------------------- Category banner -------------------- */
body.ms-archive-theme .shoptimizer-category-banner,
body.ms-archive-theme header.woocommerce-products-header {
  position: relative;
  background: linear-gradient(135deg, var(--ms-navy-deep) 0%, var(--ms-blue-dark) 100%) !important;
  padding: 56px 0 !important;
  border-radius: 0 !important;
}

body.ms-archive-theme .shoptimizer-category-banner::before,
body.ms-archive-theme header.woocommerce-products-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9), transparent 85%);
  pointer-events: none;
}

body.ms-archive-theme .shoptimizer-category-banner::after,
body.ms-archive-theme header.woocommerce-products-header::after {
  content: "";
  position: absolute;
  top: 28px;
  right: 32px;
  width: 22px;
  height: 22px;
  background:
    linear-gradient(var(--flag-red), var(--flag-red)) 0 0 / 10px 10px no-repeat,
    linear-gradient(var(--flag-green), var(--flag-green)) 12px 0 / 10px 10px no-repeat,
    linear-gradient(var(--flag-blue), var(--flag-blue)) 0 12px / 10px 10px no-repeat,
    linear-gradient(var(--flag-gold), var(--flag-gold)) 12px 12px / 10px 10px no-repeat;
  opacity: 0.9;
}

body.ms-archive-theme .shoptimizer-category-banner h1,
body.ms-archive-theme header.woocommerce-products-header h1 {
  position: relative;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 34px !important;
  letter-spacing: -0.6px;
}

body.ms-archive-theme .shoptimizer-category-banner .taxonomy-description p,
body.ms-archive-theme .term-description p {
  position: relative;
  color: #cfd8f5 !important;
  max-width: 700px;
  font-size: 16px;
  line-height: 1.6;
}

body.ms-archive-theme .archive-header .woocommerce-breadcrumb {
  position: relative;
  color: #b9c6f2 !important;
  font-size: 13px !important;
}
body.ms-archive-theme .archive-header .woocommerce-breadcrumb a {
  color: #cfe6fa !important;
}

@media (max-width: 768px) {
  body.ms-archive-theme .shoptimizer-category-banner,
  body.ms-archive-theme header.woocommerce-products-header {
    padding: 36px 0 !important;
  }
  body.ms-archive-theme .shoptimizer-category-banner h1,
  body.ms-archive-theme header.woocommerce-products-header h1 {
    font-size: 24px !important;
  }
  body.ms-archive-theme .shoptimizer-category-banner .taxonomy-description p,
  body.ms-archive-theme .term-description p {
    font-size: 14px;
  }
  body.ms-archive-theme .shoptimizer-category-banner::after,
  body.ms-archive-theme header.woocommerce-products-header::after {
    top: 16px;
    right: 16px;
    width: 16px;
    height: 16px;
    background-size: 7.5px 7.5px;
  }
}

/* -------------------- Layout / grid -------------------- */
body.ms-archive-theme .content-area .col-full,
body.ms-archive-theme #primary.col-full {
  max-width: 1400px !important;
}

body.ms-archive-theme ul.products.ms-real-product-grid.elementor-grid,
body.ms-archive-theme ul.products.ms-real-product-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin: 0 !important;
  align-items: stretch !important;
}

@media (max-width: 992px) {
  body.ms-archive-theme ul.products.ms-real-product-grid.elementor-grid,
  body.ms-archive-theme ul.products.ms-real-product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px !important;
  }
}
@media (max-width: 600px) {
  body.ms-archive-theme ul.products.ms-real-product-grid.elementor-grid,
  body.ms-archive-theme ul.products.ms-real-product-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

/* -------------------- Product card (glass, flex, forced order) -------------------- */
body.ms-archive-theme ul.products.ms-real-product-grid li.product {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  background: var(--glass-bg) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--ms-radius) !important;
  box-shadow: var(--glass-shadow) !important;
  padding: 20px 20px 22px !important;
  margin: 0 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
  position: relative;
  overflow: hidden;
}

@media (max-width: 600px) {
  body.ms-archive-theme ul.products.ms-real-product-grid li.product {
    padding: 16px 16px 18px !important;
    border-radius: 12px !important;
  }
}

body.ms-archive-theme ul.products.ms-real-product-grid li.product:hover,
body.ms-archive-theme ul.products.ms-real-product-grid li.product.ms-hover {
  transform: translateY(-5px);
  background: var(--glass-bg-strong) !important;
  box-shadow: var(--glass-shadow-hover) !important;
  border-color: rgba(0, 27, 206, 0.25) !important;
}

/* lite gradient sheen on hover -- moving red/yellow/blue color mix that
   follows the cursor around the card (see JS: sets --mx/--my per-card on
   mousemove/touch). Defaults to centered (50% 50%) via the var() fallback
   so it still looks fine before JS runs. pointer-events:none so it never
   blocks clicks on the button/links. */
body.ms-archive-theme ul.products.ms-real-product-grid li.product::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at var(--mx, 50%) var(--my, 50%),
    rgba(242, 80, 34, 0.22) 0%,
    rgba(255, 185, 0, 0.16) 28%,
    rgba(0, 164, 239, 0.16) 55%,
    transparent 78%
  );
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
body.ms-archive-theme ul.products.ms-real-product-grid li.product:hover::after,
body.ms-archive-theme ul.products.ms-real-product-grid li.product.ms-hover::after {
  opacity: 1;
}

/* Force a single, predictable visual order regardless of the theme's
   markup order. The important detail is that the title, variation-price
   wrapper, Quick View button and Add to cart button are flex items inside
   .woocommerce-card__header -- not direct children of li.product.

   Visual order:
   image -> category/rating -> title -> price/MFR -> Add to cart -> Quick View
*/
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product {
  display: flex !important;
  flex-direction: column !important;
}

/* Reset direct children of the product card. */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > * {
  order: 50 !important;
}

/* Product image comes first. */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-image__wrapper {
  order: 1 !important;
}

/* The card header contains title, price, buttons and plugin messages. */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header {
  order: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
}

/* Reset direct children inside the card header before assigning positions. */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > * {
  order: 50 !important;
}

body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > .star-rating {
  order: 5 !important;
}

body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > .product__categories {
  order: 6 !important;
}

/* Product title must always appear before the price. */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > .woocommerce-loop-product__title {
  order: 10 !important;
  padding: 0 0 10px !important;
}

/* Target the complete variation-price wrapper, not only its nested .price. */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > .cgkit-as-variation-price,
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > .price {
  order: 20 !important;
  width: 100% !important;
}

/* Support MFR/SKU elements if a plugin outputs them as direct header children. */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > [class*="mfr" i],
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > [class*="sku" i] {
  order: 21 !important;
}

/* Buy-now-pay-later message sits immediately after the price. */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > .wc-stripe-bnpl-shop-message {
  order: 25 !important;
}

/* Actual WPC Smart Quick View class plus common fallback class names. */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > .woosq-btn,
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > [class*="quick-view" i],
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > a.quick-view {
  order: 40 !important;
  margin-top: 12px !important;
}

/* Add to cart appears before Quick View and stays aligned across equal-height cards. */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > .button,
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > .add_to_cart_button {
  order: 30 !important;
  margin-top: auto !important;
}

body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > .added_to_cart {
  order: 41 !important;
}

/* Hidden accessibility/analytics nodes remain last without changing visibility. */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > .screen-reader-text,
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > .gtm4wp_productdata {
  order: 60 !important;
}

/* image */
body.ms-archive-theme ul.products.ms-real-product-grid li.product .woocommerce-image__wrapper {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.4);
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

body.ms-archive-theme ul.products.ms-real-product-grid li.product .woocommerce-image__wrapper img {
  object-fit: contain;
  padding: 12px;
  transition: transform 0.3s ease;
}

body.ms-archive-theme ul.products.ms-real-product-grid li.product:hover .woocommerce-image__wrapper img {
  transform: scale(1.05);
}

/* sale badge -- cut-corner ribbon */
body.ms-archive-theme ul.products.ms-real-product-grid li.product .sale-item.product-label,
body.ms-archive-theme ul.products.ms-real-product-grid li.product .onsale {
  background: linear-gradient(135deg, var(--ms-sale-bg), var(--ms-sale-bg-dark)) !important;
  color: var(--ms-sale-text) !important;
  border-radius: 0 4px 4px 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px;
  padding: 5px 12px 5px 10px !important;
  top: 14px !important;
  left: 0 !important;
  text-transform: uppercase !important;
  box-shadow: 0 3px 8px rgba(217, 48, 37, 0.35) !important;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 8px 50%);
  z-index: 2;
}

/* star rating */
body.ms-archive-theme ul.products.ms-real-product-grid li.product .star-rating {
  font-size: 13px !important;
  color: var(--ms-gold) !important;
  margin-bottom: 4px;
}

/* eyebrow category line */
body.ms-archive-theme ul.products.ms-real-product-grid li.product .product__categories {
  color: var(--ms-blue) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin: 2px 0 !important;
}

/* title -- NOT bold anymore (was 700, then 500, now 400) on both desktop and mobile */
body.ms-archive-theme ul.products.ms-real-product-grid li.product .woocommerce-loop-product__title {
  font-size: 18px !important;
  font-weight: 400 !important;
  color: var(--ms-gray-dark) !important;
  line-height: 1.35 !important;
  margin: 2px 0 4px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em;
  letter-spacing: -0.2px;
}

body.ms-archive-theme ul.products.ms-real-product-grid li.product .woocommerce-loop-product__title a {
  color: inherit !important;
}

@media (max-width: 600px) {
  body.ms-archive-theme ul.products.ms-real-product-grid li.product .woocommerce-loop-product__title {
    font-size: 16px !important;
    font-weight: 400 !important;
    min-height: 0;
    -webkit-line-clamp: 3;
  }
}

/* price */
body.ms-archive-theme ul.products.ms-real-product-grid li.product .price {
  font-size: 21px !important;
  margin: 4px 0 12px !important;
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--ms-blue-dark) !important;
  font-weight: 700 !important;
}
body.ms-archive-theme ul.products.ms-real-product-grid li.product .price ins {
  color: var(--ms-blue-dark) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
body.ms-archive-theme ul.products.ms-real-product-grid li.product .price del {
  color: #a19f9d !important;
  font-weight: 400 !important;
  font-size: 15px;
  opacity: 0.8;
}

@media (max-width: 600px) {
  body.ms-archive-theme ul.products.ms-real-product-grid li.product .price {
    font-size: 18px !important;
  }
  body.ms-archive-theme ul.products.ms-real-product-grid li.product .price del {
    font-size: 13px;
  }
}

/* MFR / SKU line -- neutralize default link-blue wherever the real class lives.
   It renders NESTED inside .price (same flex row), so force it onto its own
   line with flex-basis:100% rather than letting it wrap mid-price. */
body.ms-archive-theme ul.products.ms-real-product-grid li.product [class*="mfr" i],
body.ms-archive-theme ul.products.ms-real-product-grid li.product [class*="sku" i] {
  display: block;
  flex-basis: 100%;
  font-size: 11px !important;
  color: #7a7876 !important;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin: 4px 0 0 !important;
}
body.ms-archive-theme ul.products.ms-real-product-grid li.product [class*="mfr" i] a,
body.ms-archive-theme ul.products.ms-real-product-grid li.product [class*="sku" i] a {
  color: #7a7876 !important;
  text-decoration: none !important;
  font-weight: 500;
}

/* add to cart button */
body.ms-archive-theme ul.products.ms-real-product-grid li.product .button,
body.ms-archive-theme ul.products.ms-real-product-grid li.product .add_to_cart_button {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-height: 44px;
  text-align: center;
  background: var(--ms-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 13px 16px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: 0.2px;
  position: relative;
  overflow: hidden;
  transition: background 0.15s ease, box-shadow 0.15s ease;
  box-shadow: 0 4px 12px rgba(0, 27, 206, 0.28);
}
body.ms-archive-theme ul.products.ms-real-product-grid li.product .button::after,
body.ms-archive-theme ul.products.ms-real-product-grid li.product .add_to_cart_button::after {
  content: "";
  position: absolute;
  top: 0;
  left: -60%;
  width: 40%;
  height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.25), transparent);
  transform: skewX(-20deg);
  transition: left 0.5s ease;
}
body.ms-archive-theme ul.products.ms-real-product-grid li.product .button:hover::after,
body.ms-archive-theme ul.products.ms-real-product-grid li.product .add_to_cart_button:hover::after {
  left: 120%;
}
body.ms-archive-theme ul.products.ms-real-product-grid li.product .button:hover,
body.ms-archive-theme ul.products.ms-real-product-grid li.product .add_to_cart_button:hover {
  background: var(--ms-blue-dark) !important;
}
body.ms-archive-theme ul.products.ms-real-product-grid li.product .added_to_cart {
  color: var(--ms-blue) !important;
  font-size: 13px !important;
  margin-top: 8px;
  display: inline-block;
  text-align: center;
}

/* quick view */
body.ms-archive-theme ul.products.ms-real-product-grid li.product .woosq-btn,
body.ms-archive-theme ul.products.ms-real-product-grid li.product [class*="quick-view" i],
body.ms-archive-theme ul.products.ms-real-product-grid li.product a.quick-view {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 10px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ms-gray-text) !important;
  text-decoration: none !important;
  transition: color 0.15s ease;
  min-height: 32px;
}
body.ms-archive-theme ul.products.ms-real-product-grid li.product .woosq-btn:hover,
body.ms-archive-theme ul.products.ms-real-product-grid li.product [class*="quick-view" i]:hover,
body.ms-archive-theme ul.products.ms-real-product-grid li.product a.quick-view:hover {
  color: var(--ms-blue) !important;
}

/* -------------------- Sorting / result bar (glass pill strip) -------------------- */
body.ms-archive-theme .shoptimizer-sorting {
  display: flex;
  align-items: center;
  justify-content: space-between !important;
  flex-wrap: wrap;
  gap: 12px;
  padding: 14px 20px !important;
  background: var(--glass-bg) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  box-shadow: var(--glass-shadow);
  margin-bottom: 24px !important;
}

body.ms-archive-theme .shoptimizer-sorting .woocommerce-ordering {
  order: 1;
}
body.ms-archive-theme .shoptimizer-sorting .woocommerce-result-count {
  order: 2;
  margin-left: auto !important;
}

@media (max-width: 480px) {
  body.ms-archive-theme .shoptimizer-sorting {
    flex-direction: column;
    align-items: stretch !important;
    padding: 12px 14px !important;
  }
  body.ms-archive-theme .shoptimizer-sorting .woocommerce-ordering {
    order: 2;
  }
  body.ms-archive-theme .shoptimizer-sorting .woocommerce-result-count {
    order: 1;
    margin-left: 0 !important;
    text-align: center;
  }
  body.ms-archive-theme .woocommerce-ordering select.orderby {
    width: 100%;
  }
}

body.ms-archive-theme .woocommerce-ordering select.orderby {
  border: 1px solid var(--ms-gray-border) !important;
  border-radius: 6px !important;
  padding: 8px 32px 8px 12px !important;
  font-size: 14px !important;
  color: var(--ms-gray-text) !important;
  background-color: rgba(255, 255, 255, 0.8) !important;
}

body.ms-archive-theme .woocommerce-result-count {
  color: #605e5c !important;
  font-size: 14px !important;
  margin: 0 !important;
}

/* Show Filters -- removed per request */
body.ms-archive-theme .mobile-filter.shoptimizer-mobile-toggle {
  display: none !important;
}

/* -------------------- Sidebar widgets (glass panels) -------------------- */
body.ms-archive-theme #secondary .widget {
  background: var(--glass-bg) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
  border: 1px solid var(--glass-border);
  border-radius: var(--ms-radius);
  padding: 0 18px 18px;
  margin-bottom: 20px;
  overflow: hidden;
  box-shadow: var(--glass-shadow);
}

@media (max-width: 782px) {
  body.ms-archive-theme #secondary .widget {
    padding: 0 14px 14px;
    margin-bottom: 16px;
    border-radius: 12px;
  }
}

body.ms-archive-theme #secondary .widget .widget-title,
body.ms-archive-theme #secondary .widget .widgettitle {
  position: relative;
  color: #fff !important;
  background: linear-gradient(135deg, var(--ms-navy-deep), var(--ms-blue-dark));
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px;
  padding: 14px 18px 14px 34px;
  margin: 0 -18px 16px;
  width: calc(100% + 36px);
}

@media (max-width: 782px) {
  body.ms-archive-theme #secondary .widget .widget-title,
  body.ms-archive-theme #secondary .widget .widgettitle {
    margin: 0 -14px 12px;
    width: calc(100% + 28px);
    padding: 12px 14px 12px 30px;
  }
}

body.ms-archive-theme #secondary .widget .widget-title::before,
body.ms-archive-theme #secondary .widget .widgettitle::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background:
    linear-gradient(var(--flag-red), var(--flag-red)) 0 0 / 5.5px 5.5px no-repeat,
    linear-gradient(var(--flag-green), var(--flag-green)) 6.5px 0 / 5.5px 5.5px no-repeat,
    linear-gradient(var(--flag-blue), var(--flag-blue)) 0 6.5px / 5.5px 5.5px no-repeat,
    linear-gradient(var(--flag-gold), var(--flag-gold)) 6.5px 6.5px / 5.5px 5.5px no-repeat;
}

/* search box inside sidebar */
body.ms-archive-theme #secondary .widget input[type="search"],
body.ms-archive-theme #secondary .widget input[type="text"] {
  width: 100%;
  border: 1px solid var(--ms-gray-border) !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  background: rgba(255, 255, 255, 0.7) !important;
}

/* category / filter links -- clean glass list rows instead of stacked pill buttons */
body.ms-archive-theme #secondary .widget ul li,
body.ms-archive-theme #secondary .widget .cat-item {
  list-style: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
body.ms-archive-theme #secondary .widget ul li:last-child,
body.ms-archive-theme #secondary .widget .cat-item:last-child {
  border-bottom: none;
}
body.ms-archive-theme #secondary .widget ul li a,
body.ms-archive-theme #secondary .widget .cat-item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 6px 11px 12px;
  border-left: 2px solid transparent;
  color: var(--ms-gray-text);
  font-size: 14px;
  border-radius: 6px;
  position: relative;
  overflow: hidden;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
  min-height: 44px;
}
body.ms-archive-theme #secondary .widget ul li a:hover,
body.ms-archive-theme #secondary .widget .cat-item a:hover {
  border-left-color: var(--ms-blue);
  color: var(--ms-blue-dark);
  background: rgba(0, 27, 206, 0.06);
}
/* same moving red/yellow/blue cursor gradient as the product cards,
   just lighter since these rows are much smaller. Position driven by
   --mx/--my set via JS. */
body.ms-archive-theme #secondary .widget ul li a::after,
body.ms-archive-theme #secondary .widget .cat-item a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at var(--mx, 50%) var(--my, 50%),
    rgba(242, 80, 34, 0.16) 0%,
    rgba(255, 185, 0, 0.12) 30%,
    rgba(0, 164, 239, 0.12) 60%,
    transparent 80%
  );
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}
body.ms-archive-theme #secondary .widget ul li a:hover::after,
body.ms-archive-theme #secondary .widget .cat-item a:hover::after {
  opacity: 1;
}
body.ms-archive-theme #secondary .widget ul li .count {
  background: var(--ms-blue-light);
  color: var(--ms-blue-dark);
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 100px;
}

/* tag cloud -> pills */
body.ms-archive-theme .widget_product_tag_cloud .tagcloud a,
body.ms-archive-theme .tag-cloud-link {
  display: inline-block;
  font-size: 13px !important;
  color: var(--ms-gray-text) !important;
  background: rgba(0, 0, 0, 0.04);
  border-radius: 100px;
  padding: 6px 14px !important;
  margin: 0 6px 8px 0;
  transition: background 0.15s ease, color 0.15s ease;
}
body.ms-archive-theme .widget_product_tag_cloud .tagcloud a:hover,
body.ms-archive-theme .tag-cloud-link:hover {
  background: var(--ms-blue) !important;
  color: #fff !important;
}

@media (max-width: 600px) {
  body.ms-archive-theme .widget_product_tag_cloud .tagcloud a,
  body.ms-archive-theme .tag-cloud-link {
    font-size: 12px !important;
    padding: 5px 12px !important;
  }
}

/* price filter slider */
body.ms-archive-theme .widget_price_filter .ui-slider .ui-slider-range,
body.ms-archive-theme .widget_price_filter .ui-slider .ui-slider-handle {
  background: var(--ms-blue) !important;
}

/* -------------------- Pagination -------------------- */
body.ms-archive-theme .woocommerce-pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  padding: 0;
  justify-content: center;
  margin-top: 32px !important;
}
body.ms-archive-theme .woocommerce-pagination .page-numbers li .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border-radius: 50%;
  color: var(--ms-gray-text) !important;
  font-weight: 500;
  background: var(--glass-bg);
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
  transition: background 0.15s ease, color 0.15s ease;
}
body.ms-archive-theme .woocommerce-pagination .page-numbers li .page-numbers.current,
body.ms-archive-theme .woocommerce-pagination .page-numbers li .page-numbers:hover {
  background: var(--ms-blue) !important;
  color: #fff !important;
}

/* -------------------- Fade-in on load (paired with JS) -------------------- */
body.ms-archive-theme ul.products.ms-real-product-grid li.product {
  opacity: 0;
  transform: translateY(12px);
}
body.ms-archive-theme ul.products.ms-real-product-grid li.product.ms-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.45s ease, transform 0.45s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

@media (prefers-reduced-motion: reduce) {
  body.ms-archive-theme ul.products.ms-real-product-grid li.product,
  body.ms-archive-theme ul.products.ms-real-product-grid li.product.ms-visible,
  body.ms-archive-theme ul.products.ms-real-product-grid li.product .woocommerce-image__wrapper img,
  body.ms-archive-theme ul.products.ms-real-product-grid li.product .button::after,
  body.ms-archive-theme ul.products.ms-real-product-grid li.product .add_to_cart_button::after {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* Reduce blur cost on small screens (mobile GPUs struggle with lots of
   simultaneous backdrop-filter layers); visuals stay glassy, just cheaper. */
@media (max-width: 600px) {
  body.ms-archive-theme {
    --glass-blur: 10px;
  }
}

/* -------------------- Price RANGES (e.g. "AED 2,938.00 - AED 367,250.00") --------------------
   These are much longer than a single price, so at the normal 21px they wrap
   and make that one card taller than its siblings. Detect ranges (2+ amount
   spans inside .price) and shrink the font just enough to keep the range on
   ONE line -- while still letting the nested MFR/SKU line (which is a real
   .price child in this theme's markup) drop to its own line below, since
   switching .price to block layout here (instead of flex) lets that MFR
   span's own `display: block` rule do its job undisturbed. */
body.ms-archive-theme ul.products.ms-real-product-grid li.product .price:has(.woocommerce-Price-amount ~ .woocommerce-Price-amount) {
  display: block !important;
  font-size: 13px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
body.ms-archive-theme ul.products.ms-real-product-grid li.product .price:has(.woocommerce-Price-amount ~ .woocommerce-Price-amount) .woocommerce-Price-amount {
  font-weight: 700 !important;
  white-space: nowrap;
}
/* If a card is ever squeezed narrower than the range needs (e.g. very small
   mobile widths), ellipsis instead of breaking layout. */
@media (max-width: 380px) {
  body.ms-archive-theme ul.products.ms-real-product-grid li.product .price:has(.woocommerce-Price-amount ~ .woocommerce-Price-amount) {
    font-size: 12px !important;
  }
}

/* -------------------- Safe sticky site header --------------------
   The paired JS adds .ms-fixed-site-header to ONE visible outer header only.
   Do not make #masthead, .site-header, .main-navigation-wrap and the theme's
   sticky clone sticky at the same time: nested sticky layers create the mobile
   top gap and can disturb the menu/cart row. */
body.ms-archive-theme .ms-fixed-site-header {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 99999 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  transform: none !important;
  align-self: flex-start !important;
}

/* The outer wrapper is sticky, so all header parts inside it remain normal.
   This prevents the mobile navigation row from becoming a second sticky layer. */
body.ms-archive-theme .ms-fixed-site-header .main-navigation-wrap,
body.ms-archive-theme .ms-fixed-site-header .shoptimizer-sticky-nav,
body.ms-archive-theme .ms-fixed-site-header .shoptimizer-sticky-header,
body.ms-archive-theme .ms-fixed-site-header .mobile-header {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: auto !important;
  transform: none !important;
}

/* Sticky positioning stays in normal document flow, so no artificial spacer
   or top padding is required. */
body.ms-archive-theme.ms-header-fixed {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Keep the header flush with the top edge on phones and tablets. */
@media (max-width: 782px) {
  body.ms-archive-theme .ms-fixed-site-header {
    top: 0 !important;
    margin-top: 0 !important;
  }
}

/* WordPress admin-toolbar support when it is genuinely visible. */
body.admin-bar.ms-archive-theme .ms-fixed-site-header {
  top: 32px !important;
}

@media (max-width: 782px) {
  body.admin-bar.ms-archive-theme .ms-fixed-site-header {
    top: 46px !important;
  }
}

/* =========================================================
   V8 EXACT PRODUCT CARD FORMAT
   Matches the supplied reference:
   image -> title -> price/MFR -> button -> Quick View
   ========================================================= */

/* Card shell and spacing */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product {
  padding: 24px 24px 30px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}

/* Keep the card content in one reliable vertical flow */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Image panel */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-image__wrapper {
  order: 1 !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 0 34px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.32) !important;
}

/* Header child reset */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header > * {
  order: 50 !important;
}

/* Product title */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header
> .woocommerce-loop-product__title {
  order: 10 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 0 10px !important;
  color: #201f1e !important;
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.28 !important;
  letter-spacing: -0.35px !important;
  text-align: left !important;
}

body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header
> .woocommerce-loop-product__title a {
  display: block !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  text-align: inherit !important;
}

/* Complete price wrapper */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header
> .cgkit-as-variation-price,
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header
> .price {
  order: 20 !important;
  display: block !important;
  width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Price text -- single price (e.g. "AED 62,386.00") */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product .price {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  column-gap: 6px !important;
  row-gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: #021485 !important;
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.3px !important;
  white-space: normal !important;
  text-overflow: clip !important;
  text-align: left !important;
}

/* Price text -- variable/range price (two amounts, e.g. "AED 14,676.00 – AED 124,776.00").
   These are much longer strings, so they get a noticeably smaller size than a
   single price -- keeps the card from feeling cramped or wrapping awkwardly,
   matching the reference screenshots. This rule comes after the single-price
   rule above so it wins on the shared .price properties. */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product .price:has(.woocommerce-Price-amount ~ .woocommerce-Price-amount) {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: -0.1px !important;
}

body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product .price .woocommerce-Price-amount,
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product .price .woocommerce-Price-currencySymbol {
  color: #021485 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  white-space: nowrap !important;
}

/* Struck-through "was" price inside the price row (sale) reads smaller & muted
   so the current price stays the visual anchor */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product .price del {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #8a8886 !important;
  opacity: 0.85 !important;
}
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product .price del .woocommerce-Price-amount {
  color: inherit !important;
  font-weight: 500 !important;
}
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product .price ins {
  text-decoration: none !important;
}

/* MFR / SKU line */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product .price .product-mfr,
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product [class*="mfr" i],
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product [class*="sku" i] {
  display: block !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  color: #777674 !important;
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.15px !important;
  text-transform: uppercase !important;
  text-align: left !important;
  white-space: normal !important;
}

/* Empty Stripe message stays between price and button without adding space */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header
> .wc-stripe-bnpl-shop-message {
  order: 25 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Main purchase button */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header
> .button,
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header
> .add_to_cart_button {
  order: 30 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  margin: 8px 0 0 !important;
  padding: 14px 18px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #001bce !important;
  color: #ffffff !important;
  box-shadow: 0 7px 16px rgba(0, 27, 206, 0.25) !important;
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
}

/* Quick View under the purchase button */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header
> button.woosq-btn,
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header
> .woosq-btn,
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header
> [class*="quick-view" i],
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header
> a.quick-view {
  order: 40 !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 32px !important;
  margin: 12px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #4b4a49 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
}

body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product .woosq-btn .woosq-btn-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 5px 0 0 !important;
  font-size: 20px !important;
}

body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product .woosq-btn .woosq-btn-text {
  font: inherit !important;
  line-height: inherit !important;
}

/* Analytics and accessibility nodes must not affect visual spacing */
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header
> .screen-reader-text,
body.ms-archive-theme.ms-archive-theme
ul.products.ms-real-product-grid.ms-real-product-grid
li.product.product > .woocommerce-card__header
> .gtm4wp_productdata {
  order: 60 !important;
}

/* Mobile dimensions matching the supplied 417px-wide reference */
@media (max-width: 600px) {
  body.ms-archive-theme.ms-archive-theme
  ul.products.ms-real-product-grid.ms-real-product-grid
  li.product.product {
    padding: 26px 26px 30px !important;
    border-radius: 20px !important;
  }

  body.ms-archive-theme.ms-archive-theme
  ul.products.ms-real-product-grid.ms-real-product-grid
  li.product.product > .woocommerce-image__wrapper {
    margin-bottom: 34px !important;
    border-radius: 18px !important;
  }

  body.ms-archive-theme.ms-archive-theme
  ul.products.ms-real-product-grid.ms-real-product-grid
  li.product.product > .woocommerce-card__header
  > .woocommerce-loop-product__title {
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1.28 !important;
  }

  body.ms-archive-theme.ms-archive-theme
  ul.products.ms-real-product-grid.ms-real-product-grid
  li.product.product .price {
    font-size: 23px !important;
  }

  body.ms-archive-theme.ms-archive-theme
  ul.products.ms-real-product-grid.ms-real-product-grid
  li.product.product .price:has(.woocommerce-Price-amount ~ .woocommerce-Price-amount) {
    font-size: 16px !important;
  }

  body.ms-archive-theme.ms-archive-theme
  ul.products.ms-real-product-grid.ms-real-product-grid
  li.product.product .price del {
    font-size: 14px !important;
  }

  body.ms-archive-theme.ms-archive-theme
  ul.products.ms-real-product-grid.ms-real-product-grid
  li.product.product > .woocommerce-card__header
  > .button,
  body.ms-archive-theme.ms-archive-theme
  ul.products.ms-real-product-grid.ms-real-product-grid
  li.product.product > .woocommerce-card__header
  > .add_to_cart_button {
    min-height: 54px !important;
    font-size: 19px !important;
  }

  body.ms-archive-theme.ms-archive-theme
  ul.products.ms-real-product-grid.ms-real-product-grid
  li.product.product > .woocommerce-card__header
  > button.woosq-btn,
  body.ms-archive-theme.ms-archive-theme
  ul.products.ms-real-product-grid.ms-real-product-grid
  li.product.product > .woocommerce-card__header
  > .woosq-btn {
    font-size: 19px !important;
  }
}

/* Very narrow phones: retain the same hierarchy without overflow */
@media (max-width: 380px) {
  body.ms-archive-theme.ms-archive-theme
  ul.products.ms-real-product-grid.ms-real-product-grid
  li.product.product {
    padding: 20px 20px 24px !important;
  }

  body.ms-archive-theme.ms-archive-theme
  ul.products.ms-real-product-grid.ms-real-product-grid
  li.product.product > .woocommerce-card__header
  > .woocommerce-loop-product__title {
    font-size: 20px !important;
  }

  body.ms-archive-theme.ms-archive-theme
  ul.products.ms-real-product-grid.ms-real-product-grid
  li.product.product .price {
    font-size: 21px !important;
  }

  body.ms-archive-theme.ms-archive-theme
  ul.products.ms-real-product-grid.ms-real-product-grid
  li.product.product .price:has(.woocommerce-Price-amount ~ .woocommerce-Price-amount) {
    font-size: 15px !important;
  }
}
For brushing up on your CSS knowledge, check out http://www.w3schools.com/css/css_syntax.asp

End of comment */ 

