/* Loaded only on WooCommerce pages by GMD Maroc Commerce. */
body.gmd-maroc-commerce-page {
  --gmc-navy: #15365e;
  --gmc-blue: #168dcc;
  --gmc-blue-dark: #0d6faa;
  --gmc-ink: #172b44;
  --gmc-copy: #66768b;
  --gmc-line: #d8e4ec;
  --gmc-soft: #f3f8fb;
  --gmc-radius: 8px;
}

body.gmd-maroc-commerce-page .woocommerce-products-header {
  margin: 46px 0 0;
  border: 0;
  padding: 0;
}

body.gmd-maroc-commerce-page .woocommerce-products-header__title,
body.gmd-maroc-commerce-page .woocommerce-page-title {
  margin: 0;
  color: var(--gmc-navy);
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 700;
  line-height: 1.08;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce-breadcrumb,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce-breadcrumb { display: none; }

body.gmd-maroc-commerce-page .gmc-shop-intro { max-width: 690px; margin: 12px 0 28px; }
body.gmd-maroc-commerce-page .gmc-shop-intro p { margin: 0; color: var(--gmc-copy); font-size: 16px; line-height: 1.7; }

body.gmd-maroc-commerce-page .gmc-shop-toolbar {
  margin: 0 0 30px;
  border: 1px solid var(--gmc-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(21, 54, 94, .05);
  padding: 16px;
}
body.gmd-maroc-commerce-page .gmc-shop-toolbar__top { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
body.gmd-maroc-commerce-page .gmc-shop-search { display: flex; min-width: min(100%, 420px); flex: 1 1 420px; gap: 8px; }
body.gmd-maroc-commerce-page .gmc-shop-search input { min-width: 0; min-height: 46px; flex: 1; border: 1px solid var(--gmc-line); border-radius: 6px; background: var(--gmc-soft); color: var(--gmc-ink); padding: 0 13px; }
body.gmd-maroc-commerce-page .gmc-shop-search input:focus { border-color: var(--gmc-blue); outline: 3px solid rgba(22, 141, 204, .15); }
body.gmd-maroc-commerce-page .gmc-shop-search button { min-height: 46px; border: 1px solid var(--gmc-blue); border-radius: 6px; background: var(--gmc-blue); color: #fff; cursor: pointer; font-weight: 800; padding: 0 18px; }
body.gmd-maroc-commerce-page .gmc-shop-toolbar__meta { display: flex; align-items: center; justify-content: flex-end; gap: 15px; }
body.gmd-maroc-commerce-page .gmc-shop-toolbar .woocommerce-result-count { float: none; margin: 0; color: var(--gmc-copy); font-size: 13px; white-space: nowrap; }
body.gmd-maroc-commerce-page .gmc-shop-toolbar .woocommerce-ordering { float: none; margin: 0; }
body.gmd-maroc-commerce-page .gmc-shop-toolbar .woocommerce-ordering select { min-height: 42px; border: 1px solid var(--gmc-line); border-radius: 6px; background: #fff; color: var(--gmc-ink); font-size: 13px; padding: 0 30px 0 11px; }
body.gmd-maroc-commerce-page .gmc-category-nav { margin-top: 16px; }
body.gmd-maroc-commerce-page .gmc-category-nav__desktop { display: flex; flex-wrap: wrap; gap: 8px; }
body.gmd-maroc-commerce-page .gmc-category-nav__link { display: inline-flex; min-height: 38px; align-items: center; gap: 7px; border: 1px solid var(--gmc-line); border-radius: 999px; background: #fff; color: var(--gmc-navy); font-size: 13px; font-weight: 750; line-height: 1; padding: 0 13px; text-decoration: none; }
body.gmd-maroc-commerce-page .gmc-category-nav__link:hover,
body.gmd-maroc-commerce-page .gmc-category-nav__link:focus-visible { border-color: var(--gmc-blue); color: var(--gmc-blue-dark); outline: 0; }
body.gmd-maroc-commerce-page .gmc-category-nav__link.is-active { border-color: var(--gmc-blue); background: var(--gmc-blue); color: #fff; }
body.gmd-maroc-commerce-page .gmc-category-nav__link.is-child { margin-left: 13px; }
body.gmd-maroc-commerce-page .gmc-category-nav__link span { color: inherit; font-size: 11px; opacity: .72; }
body.gmd-maroc-commerce-page .gmc-category-nav__mobile { display: none; }

body.gmd-maroc-commerce-page.woocommerce-shop .ast-woocommerce-container,
body.gmd-maroc-commerce-page.tax-product_cat .ast-woocommerce-container,
body.gmd-maroc-commerce-page.woocommerce-cart .site-main,
body.gmd-maroc-commerce-page.woocommerce-checkout .site-main,
body.gmd-maroc-commerce-page.woocommerce-account .site-main {
  width: min(1320px, calc(100% - 48px));
  margin: 0 auto;
}

body.gmd-maroc-commerce-page .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px;
  margin: 0 !important;
}

body.gmd-maroc-commerce-page .woocommerce ul.products li.product {
  display: flex !important;
  width: auto !important;
  min-width: 0;
  flex-direction: column;
  margin: 0 !important;
  overflow: hidden;
  border: 1px solid var(--gmc-line);
  border-radius: var(--gmc-radius);
  background: #fff;
  box-shadow: 0 10px 26px rgba(21, 54, 94, .06);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.gmd-maroc-commerce-page .woocommerce ul.products li.product .ast-on-card-button { display: none !important; }

body.gmd-maroc-commerce-page .woocommerce ul.products li.product:hover {
  border-color: rgba(22, 141, 204, .55);
  box-shadow: 0 17px 34px rgba(21, 54, 94, .13);
  transform: translateY(-3px);
}

body.gmd-maroc-commerce-page .woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
  border-bottom: 1px solid var(--gmc-line);
  background: var(--gmc-soft);
}

body.gmd-maroc-commerce-page .woocommerce ul.products li.product img {
  display: block;
  width: 100%;
  height: 220px;
  margin: 0 !important;
  object-fit: contain;
  padding: 18px;
}

body.gmd-maroc-commerce-page .woocommerce ul.products li.product .astra-shop-summary-wrap {
  display: flex;
  min-height: 220px;
  flex: 1;
  flex-direction: column;
  padding: 17px;
}

body.gmd-maroc-commerce-page .gmc-card-category {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  background: #eaf7fd;
  color: var(--gmc-blue-dark);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 5px 8px;
  text-transform: uppercase;
}

body.gmd-maroc-commerce-page .woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin: 8px 0 9px;
  color: var(--gmc-navy);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.3;
}

body.gmd-maroc-commerce-page .woocommerce ul.products li.product .price {
  margin: 0 0 15px;
  color: var(--gmc-blue-dark);
  font-size: 17px;
  font-weight: 800;
}

body.gmd-maroc-commerce-page .woocommerce ul.products li.product del { color: var(--gmc-copy); font-size: .82em; font-weight: 600; }
body.gmd-maroc-commerce-page .woocommerce ul.products li.product ins { color: var(--gmc-blue-dark); text-decoration: none; }
body.gmd-maroc-commerce-page .woocommerce ul.products li.product .ast-woo-product-category { display: none; }

body.gmd-maroc-commerce-page .woocommerce ul.products li.product .button,
body.gmd-maroc-commerce-page .wc-proceed-to-checkout .checkout-button,
body.gmd-maroc-commerce-page #place_order {
  border-radius: 6px;
  background: var(--gmc-blue) !important;
  box-shadow: none;
  color: #fff !important;
  font-weight: 800;
  text-align: center;
}

body.gmd-maroc-commerce-page .woocommerce ul.products li.product .button {
  width: 100%;
  margin-top: auto;
}

body.gmd-maroc-commerce-page .woocommerce ul.products li.product .button:hover,
body.gmd-maroc-commerce-page .gmc-shop-search button:hover { background: var(--gmc-blue-dark) !important; border-color: var(--gmc-blue-dark) !important; }

/* Refined cards for the main catalog and category archives only. */
body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product {
  position: relative;
  height: 100%;
  overflow: hidden !important;
  border: 1px solid #b8d6e7 !important;
  border-radius: 8px !important;
  outline: 1px solid rgba(184, 214, 231, .6);
  outline-offset: -1px;
  background: #fff !important;
  box-shadow: 0 12px 26px rgba(23, 69, 158, .08) !important;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product:hover,
body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product:focus-within,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product:hover,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product:focus-within {
  transform: translateY(-5px);
  border-color: #59bdea !important;
  outline-color: rgba(89, 189, 234, .75);
  box-shadow: 0 18px 34px rgba(23, 69, 158, .14) !important;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
  position: relative;
  display: grid;
  min-height: 278px;
  place-items: center;
  overflow: hidden;
  border-bottom-color: #edf2f6;
  background: #fff;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .ast-shop-product-out-of-stock,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .ast-shop-product-out-of-stock {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 1;
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border: 1px solid #dbe7f0;
  border-radius: 5px;
  background: rgba(255, 255, 255, .94);
  color: #58718f;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  padding: 0 9px;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .astra-shop-thumbnail-wrap::after,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .astra-shop-thumbnail-wrap::after {
  position: absolute;
  right: 20px;
  bottom: 0;
  left: 20px;
  height: 2px;
  background: #26aae1;
  content: '';
  opacity: 0;
  transition: opacity .18s ease;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap::after,
body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product:focus-within .astra-shop-thumbnail-wrap::after,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap::after,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product:focus-within .astra-shop-thumbnail-wrap::after { opacity: 1; }

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product img,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product img {
  height: 268px;
  margin: 0;
  padding: 14px;
  transition: transform .22s ease;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product:hover img,
body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product:focus-within img,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product:hover img,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product:focus-within img { transform: scale(1.035); }

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .astra-shop-summary-wrap,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .astra-shop-summary-wrap {
  flex: 1;
  min-height: 278px;
  padding: 20px 24px 22px;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .gmc-card-category,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .gmc-card-category { display: none; }

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  min-height: 48px;
  margin: 0 0 7px;
  overflow: hidden;
  color: var(--gmc-navy);
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .gmc-card-description,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .gmc-card-description {
  min-height: 48px;
  margin: 0 0 18px;
  overflow: hidden;
  color: #74849d;
  display: -webkit-box;
  font-size: 15px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .price,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .price {
  display: flex;
  min-height: 27px;
  align-items: center;
  margin: 0 0 16px;
  color: #26aae1;
  font-size: 1.05rem;
  font-weight: 700;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .button,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid #bfe6f8;
  border-radius: 6px;
  background: #eef8fd;
  box-shadow: none;
  color: #26aae1;
  font-weight: 600;
  line-height: 1.2;
  transition: background-color .18s ease, transform .18s ease;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .button:hover,
body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .button:focus-visible,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .button:hover,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .button:focus-visible {
  background: var(--gmc-blue-dark) !important;
  color: #fff;
  transform: translateY(-1px);
}
body.gmd-maroc-commerce-page .woocommerce-pagination { display: flex; justify-content: center; margin: 42px 0 68px; }
body.gmd-maroc-commerce-page .woocommerce-pagination ul.page-numbers { display: flex; width: auto; gap: 8px; margin: 0; border: 0; background: transparent; }
body.gmd-maroc-commerce-page .woocommerce-pagination ul.page-numbers li { display: block; width: auto; margin: 0; border: 0; }
body.gmd-maroc-commerce-page .woocommerce-pagination ul.page-numbers li > .page-numbers { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--gmc-line); border-radius: 6px; background: #fff; color: var(--gmc-navy); font-weight: 700; line-height: 1; text-decoration: none; }
body.gmd-maroc-commerce-page .woocommerce-pagination ul.page-numbers li > .page-numbers.current,
body.gmd-maroc-commerce-page .woocommerce-pagination ul.page-numbers li > a.page-numbers:hover { border-color: var(--gmc-blue); background: var(--gmc-blue); color: #fff; }

body.gmd-maroc-commerce-page.woocommerce-cart .woocommerce,
body.gmd-maroc-commerce-page.woocommerce-checkout .woocommerce,
body.gmd-maroc-commerce-page.woocommerce-account .woocommerce {
  margin: 38px 0 70px;
  border: 1px solid var(--gmc-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(21, 54, 94, .06);
  padding: clamp(20px, 3vw, 36px);
}

body.gmd-maroc-commerce-page .woocommerce table.shop_table {
  border: 1px solid var(--gmc-line);
  border-radius: var(--gmc-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}

body.gmd-maroc-commerce-page .woocommerce table.shop_table th {
  background: var(--gmc-soft);
  color: var(--gmc-navy);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}

body.gmd-maroc-commerce-page .woocommerce table.shop_table td,
body.gmd-maroc-commerce-page .woocommerce table.shop_table th {
  border-color: var(--gmc-line);
  padding: 15px;
}

body.gmd-maroc-commerce-page .cart-collaterals .cart_totals,
body.gmd-maroc-commerce-page #order_review {
  border: 1px solid var(--gmc-line);
  border-radius: var(--gmc-radius);
  background: var(--gmc-soft);
  padding: 22px;
}

body.gmd-maroc-commerce-page .wc-proceed-to-checkout .checkout-button,
body.gmd-maroc-commerce-page #place_order {
  display: block;
  width: 100%;
  min-height: 49px;
}

body.gmd-maroc-commerce-page.woocommerce-checkout form .form-row {
  margin-bottom: 16px;
}

body.gmd-maroc-commerce-page.woocommerce-checkout form .form-row input.input-text,
body.gmd-maroc-commerce-page.woocommerce-checkout form .form-row select,
body.gmd-maroc-commerce-page.woocommerce-checkout form .form-row textarea {
  min-height: 48px;
  border-color: var(--gmc-line);
  border-radius: 6px;
  background: #fff;
}

body.gmd-maroc-commerce-page.woocommerce-checkout #payment {
  border: 1px solid var(--gmc-line);
  border-radius: var(--gmc-radius);
  background: #fff;
}

body.gmd-maroc-commerce-page .woocommerce-message,
body.gmd-maroc-commerce-page .woocommerce-info,
body.gmd-maroc-commerce-page .woocommerce-error {
  border-top-color: var(--gmc-blue);
  border-radius: 7px;
  background: #eef9fd;
  color: var(--gmc-ink);
}

@media (max-width: 1050px) {
  body.gmd-maroc-commerce-page .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 660px) {
  body.gmd-maroc-commerce-page.woocommerce-shop .ast-woocommerce-container,
  body.gmd-maroc-commerce-page.tax-product_cat .ast-woocommerce-container,
  body.gmd-maroc-commerce-page.woocommerce-cart .site-main,
  body.gmd-maroc-commerce-page.woocommerce-checkout .site-main,
  body.gmd-maroc-commerce-page.woocommerce-account .site-main { width: min(100% - 28px, 760px); }
  body.gmd-maroc-commerce-page .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  body.gmd-maroc-commerce-page .woocommerce ul.products li.product img { height: 155px; padding: 12px; }
  body.gmd-maroc-commerce-page .woocommerce ul.products li.product .astra-shop-summary-wrap { min-height: 175px; padding: 13px; }
  body.gmd-maroc-commerce-page .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px; }
  body.gmd-maroc-commerce-page .woocommerce ul.products li.product .price { font-size: 14px; }
  body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
  body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .astra-shop-thumbnail-wrap { min-height: 170px; }
  body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product img,
  body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product img { height: 164px; padding: 14px; }
  body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .astra-shop-summary-wrap,
  body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .astra-shop-summary-wrap { min-height: 210px; padding: 14px; }
  body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 42px; margin: 8px 0 7px; font-size: 15px; }
  body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .gmc-card-description,
  body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .gmc-card-description { min-height: 39px; margin-bottom: 13px; font-size: 13px; line-height: 1.5; }
  body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .price,
  body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .price { min-height: 22px; margin-bottom: 12px; font-size: 14px; }
  body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products li.product .button,
  body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products li.product .button { min-height: 42px; padding: 9px 10px; font-size: 13px; }
  body.gmd-maroc-commerce-page .woocommerce-products-header { margin-top: 30px; }
  body.gmd-maroc-commerce-page .gmc-shop-intro { margin-bottom: 21px; }
  body.gmd-maroc-commerce-page .gmc-shop-intro p { font-size: 14px; }
  body.gmd-maroc-commerce-page .gmc-shop-toolbar { margin-bottom: 22px; padding: 12px; }
  body.gmd-maroc-commerce-page .gmc-shop-toolbar__top { align-items: stretch; flex-direction: column; gap: 12px; }
  body.gmd-maroc-commerce-page .gmc-shop-search { flex-basis: auto; min-width: 0; width: 100%; }
  body.gmd-maroc-commerce-page .gmc-shop-search button { padding: 0 13px; }
  body.gmd-maroc-commerce-page .gmc-shop-toolbar__meta { justify-content: space-between; }
  body.gmd-maroc-commerce-page .gmc-shop-toolbar .woocommerce-ordering select { max-width: 170px; }
  body.gmd-maroc-commerce-page .gmc-category-nav__desktop { display: none; }
  body.gmd-maroc-commerce-page .gmc-category-nav__mobile { display: block; }
  body.gmd-maroc-commerce-page .gmc-category-nav__mobile summary { display: flex; min-height: 46px; align-items: center; justify-content: space-between; border: 1px solid var(--gmc-line); border-radius: 6px; color: var(--gmc-navy); cursor: pointer; font-size: 14px; font-weight: 800; padding: 0 13px; }
  body.gmd-maroc-commerce-page .gmc-category-nav__mobile summary::after { content: '+'; color: var(--gmc-blue); font-size: 22px; }
  body.gmd-maroc-commerce-page .gmc-category-nav__mobile[open] summary { border-color: var(--gmc-blue); }
  body.gmd-maroc-commerce-page .gmc-category-nav__mobile[open] summary::after { content: '−'; }
  body.gmd-maroc-commerce-page .gmc-category-nav__drawer { display: grid; gap: 8px; margin-top: 9px; border: 1px solid var(--gmc-line); border-radius: 6px; background: #fff; padding: 10px; }
  body.gmd-maroc-commerce-page .gmc-category-nav__drawer .gmc-category-nav__link { justify-content: space-between; }
  body.gmd-maroc-commerce-page.woocommerce-cart .woocommerce,
  body.gmd-maroc-commerce-page.woocommerce-checkout .woocommerce,
  body.gmd-maroc-commerce-page.woocommerce-account .woocommerce { border-right: 0; border-left: 0; border-radius: 0; padding: 19px 14px; }
}

/* Keep archive cards intact when Astra or Elementor add late WooCommerce styles. */
@media (min-width: 661px) {
  body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products,
  body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 34px !important;
  }
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products > li.product,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products > li.product {
  display: flex !important;
  min-width: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  border: 1px solid #b8d6e7 !important;
  border-radius: 8px !important;
  outline: 1px solid rgba(184, 214, 231, .6) !important;
  outline-offset: -1px !important;
  background: #fff !important;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products > li.product .gmc-card-category,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products > li.product .gmc-card-category,
body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products > li.product .ast-woo-product-category,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products > li.product .ast-woo-product-category { display: none !important; }

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products > li.product .astra-shop-summary-wrap,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products > li.product .astra-shop-summary-wrap {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 278px !important;
  padding: 20px 24px 22px !important;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products > li.product .gmc-card-description,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products > li.product .gmc-card-description {
  display: -webkit-box !important;
  min-height: 48px !important;
  margin: 0 0 18px !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

body.gmd-maroc-commerce-page.woocommerce-shop .woocommerce ul.products > li.product .ast-shop-product-out-of-stock,
body.gmd-maroc-commerce-page.tax-product_cat .woocommerce ul.products > li.product .ast-shop-product-out-of-stock {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 2 !important;
  display: inline-flex !important;
  width: auto !important;
  min-height: 28px !important;
  align-items: center !important;
  border: 1px solid #dbe7f0 !important;
  border-radius: 5px !important;
  background: rgba(255, 255, 255, .94) !important;
  color: #58718f !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding: 0 9px !important;
}

/* WooCommerce archive fallback: applies even when a page builder removes custom body classes. */
@media (min-width: 661px) {
  body.woocommerce-shop .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 34px !important;
  }
}

body.woocommerce-shop .woocommerce ul.products > li.product,
body.tax-product_cat .woocommerce ul.products > li.product {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  border: 1px solid #b8d6e7 !important;
  border-radius: 8px !important;
  outline: 1px solid rgba(184, 214, 231, .6) !important;
  outline-offset: -1px !important;
  background: #fff !important;
  box-shadow: 0 12px 26px rgba(23, 69, 158, .08) !important;
}

body.woocommerce-shop .woocommerce ul.products > li.product .astra-shop-thumbnail-wrap,
body.tax-product_cat .woocommerce ul.products > li.product .astra-shop-thumbnail-wrap {
  position: relative !important;
  display: grid !important;
  min-height: 278px !important;
  place-items: center !important;
  overflow: hidden !important;
  border-bottom: 1px solid #edf2f6 !important;
  background: #fff !important;
}

body.woocommerce-shop .woocommerce ul.products > li.product img,
body.tax-product_cat .woocommerce ul.products > li.product img {
  width: 100% !important;
  height: 268px !important;
  margin: 0 !important;
  padding: 14px !important;
  object-fit: contain !important;
}

body.woocommerce-shop .woocommerce ul.products > li.product .gmc-card-category,
body.tax-product_cat .woocommerce ul.products > li.product .gmc-card-category,
body.woocommerce-shop .woocommerce ul.products > li.product .ast-woo-product-category,
body.tax-product_cat .woocommerce ul.products > li.product .ast-woo-product-category { display: none !important; }

body.woocommerce-shop .woocommerce ul.products > li.product .astra-shop-summary-wrap,
body.tax-product_cat .woocommerce ul.products > li.product .astra-shop-summary-wrap {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 278px !important;
  padding: 20px 24px 22px !important;
}

body.woocommerce-shop .woocommerce ul.products > li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products > li.product .woocommerce-loop-product__title {
  display: -webkit-box !important;
  min-height: 48px !important;
  margin: 0 0 7px !important;
  overflow: hidden !important;
  color: #17459e !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

body.woocommerce-shop .woocommerce ul.products > li.product .gmc-card-description,
body.tax-product_cat .woocommerce ul.products > li.product .gmc-card-description {
  display: -webkit-box !important;
  min-height: 48px !important;
  margin: 0 0 18px !important;
  overflow: hidden !important;
  color: #74849d !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

body.woocommerce-shop .woocommerce ul.products > li.product .price,
body.tax-product_cat .woocommerce ul.products > li.product .price {
  min-height: 27px !important;
  margin: 0 0 16px !important;
  color: #26aae1 !important;
  font-size: 1.05rem !important;
}

body.woocommerce-shop .woocommerce ul.products > li.product .button,
body.tax-product_cat .woocommerce ul.products > li.product .button {
  display: inline-flex !important;
  min-height: 46px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: auto !important;
  border: 1px solid #bfe6f8 !important;
  border-radius: 6px !important;
  background: #eef8fd !important;
  color: #26aae1 !important;
  font-weight: 600 !important;
}

body.woocommerce-shop .woocommerce ul.products > li.product .button:hover,
body.woocommerce-shop .woocommerce ul.products > li.product .button:focus-visible,
body.tax-product_cat .woocommerce ul.products > li.product .button:hover,
body.tax-product_cat .woocommerce ul.products > li.product .button:focus-visible { background: #17459e !important; border-color: #17459e !important; color: #fff !important; }

body.woocommerce-shop .woocommerce ul.products > li.product .ast-shop-product-out-of-stock,
body.tax-product_cat .woocommerce ul.products > li.product .ast-shop-product-out-of-stock {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 2 !important;
  display: inline-flex !important;
  width: auto !important;
  min-height: 28px !important;
  align-items: center !important;
  border: 1px solid #dbe7f0 !important;
  border-radius: 5px !important;
  background: rgba(255, 255, 255, .94) !important;
  color: #58718f !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding: 0 9px !important;
}

@media (max-width: 660px) {
  body.woocommerce-shop .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; }
  body.woocommerce-shop .woocommerce ul.products > li.product .astra-shop-thumbnail-wrap,
  body.tax-product_cat .woocommerce ul.products > li.product .astra-shop-thumbnail-wrap { min-height: 170px !important; }
  body.woocommerce-shop .woocommerce ul.products > li.product img,
  body.tax-product_cat .woocommerce ul.products > li.product img { height: 164px !important; padding: 14px !important; }
  body.woocommerce-shop .woocommerce ul.products > li.product .astra-shop-summary-wrap,
  body.tax-product_cat .woocommerce ul.products > li.product .astra-shop-summary-wrap { min-height: 210px !important; padding: 14px !important; }
  body.woocommerce-shop .woocommerce ul.products > li.product .woocommerce-loop-product__title,
  body.tax-product_cat .woocommerce ul.products > li.product .woocommerce-loop-product__title { min-height: 42px !important; font-size: 15px !important; }
  body.woocommerce-shop .woocommerce ul.products > li.product .gmc-card-description,
  body.tax-product_cat .woocommerce ul.products > li.product .gmc-card-description { min-height: 39px !important; margin-bottom: 13px !important; font-size: 13px !important; }
  body.woocommerce-shop .woocommerce ul.products > li.product .button,
  body.tax-product_cat .woocommerce ul.products > li.product .button { min-height: 42px !important; padding: 9px 10px !important; font-size: 13px !important; }
}
