/* ELGHAZAWY Global Foundation | WooCommerce presentation only
   No price, stock, authorization or order logic is implemented here. */

body.elg-site .woocommerce :where(ul.products, .wc-block-grid__products) {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--elg-space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}
body.elg-site .woocommerce :where(ul.products, .wc-block-grid__products) > :where(li.product, .wc-block-grid__product) {
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
  margin: 0;
  padding: var(--elg-space-4);
  border: 1px solid var(--elg-border);
  border-radius: var(--elg-radius);
  background: var(--elg-surface);
  box-shadow: var(--elg-shadow-card);
}
body.elg-site .woocommerce :where(ul.products, .wc-block-grid__products) img {
  inline-size: 100%;
  aspect-ratio: 1;
  margin-block-end: var(--elg-space-3);
  border-radius: var(--elg-radius-sm);
  background: var(--elg-surface-raised);
  object-fit: contain;
}
body.elg-site .woocommerce :where(.woocommerce-loop-product__title, .wc-block-grid__product-title) {
  margin: 0;
  color: var(--elg-navy);
  font: inherit;
  font-size: var(--elg-text-sm);
  font-weight: var(--elg-weight-bold);
  line-height: 1.55;
}
body.elg-site .woocommerce :where(.price, .wc-block-grid__product-price) {
  margin-block: auto 0;
  padding-block-start: var(--elg-space-3);
  color: var(--elg-navy);
  font-size: var(--elg-text-sm);
  font-weight: var(--elg-weight-bold);
}
body.elg-site .woocommerce :is(.onsale, .wc-block-components-product-sale-badge) {
  display: inline-flex;
  align-items: center;
  min-block-size: 1.7rem;
  padding-inline: 0.5rem;
  border: 0;
  border-radius: var(--elg-radius-pill);
  background: var(--elg-red);
  color: var(--elg-white);
  font-size: var(--elg-text-xs);
  font-weight: var(--elg-weight-bold);
}

body.elg-site .woocommerce :is(a.button, button.button, input.button, #respond input#submit) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: var(--elg-control-height);
  padding: 0.55rem 1.05rem;
  border: 1px solid transparent;
  border-radius: var(--elg-radius);
  background: var(--elg-red);
  color: var(--elg-white);
  font: inherit;
  font-size: var(--elg-text-sm);
  font-weight: var(--elg-weight-bold);
  line-height: 1.3;
  text-decoration: none;
  transition: background-color var(--elg-transition), border-color var(--elg-transition), color var(--elg-transition);
}
body.elg-site .woocommerce :is(a.button, button.button, input.button, #respond input#submit):hover { background: var(--elg-red-hover); color: var(--elg-white); }
body.elg-site .woocommerce :is(a.button, button.button, input.button, #respond input#submit):disabled { cursor: not-allowed; opacity: 0.55; }

body.elg-site .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner) {
  margin-block: var(--elg-space-4);
  padding: var(--elg-space-4);
  border: 1px solid var(--elg-info);
  border-radius: var(--elg-radius-sm);
  background: var(--elg-info-bg);
  color: var(--elg-info);
  box-shadow: none;
}
body.elg-site .woocommerce .woocommerce-error { border-color: var(--elg-error); background: var(--elg-error-bg); color: var(--elg-error); }
body.elg-site .woocommerce .woocommerce-message { border-color: var(--elg-success); background: var(--elg-success-bg); color: var(--elg-success); }

body.elg-site .woocommerce :where(table.shop_table, table.woocommerce-table, .woocommerce-orders-table) {
  inline-size: 100%;
  border: 1px solid var(--elg-border);
  border-radius: var(--elg-radius);
  border-collapse: separate;
  border-spacing: 0;
  background: var(--elg-surface);
  overflow: hidden;
}
body.elg-site .woocommerce :where(table.shop_table, table.woocommerce-table) :where(th, td) {
  padding: 0.8rem;
  border: 0;
  border-block-end: 1px solid var(--elg-border);
  text-align: start;
  vertical-align: middle;
}
body.elg-site .woocommerce :where(table.shop_table, table.woocommerce-table) th { background: #f8fafc; color: var(--elg-navy); font-size: var(--elg-text-sm); }
body.elg-site .woocommerce :where(table.shop_table, table.woocommerce-table) tr:last-child td { border-block-end: 0; }

body.elg-site .woocommerce :is(.quantity input.qty, .wc-block-components-quantity-selector__input) {
  inline-size: 4.5rem;
  min-block-size: 2.75rem;
  padding: 0.3rem;
  text-align: center;
}
body.elg-site .woocommerce :is(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) { min-inline-size: 0; }
body.elg-site .woocommerce .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border: 1px solid var(--elg-border); border-radius: var(--elg-radius); background: var(--elg-surface); overflow: hidden; }
body.elg-site .woocommerce .woocommerce-MyAccount-navigation a { display: block; padding: 0.75rem 1rem; border-block-end: 1px solid var(--elg-border); color: var(--elg-navy); font-size: var(--elg-text-sm); font-weight: var(--elg-weight-semibold); text-decoration: none; }
body.elg-site .woocommerce .woocommerce-MyAccount-navigation li:last-child a { border-block-end: 0; }
body.elg-site .woocommerce .woocommerce-MyAccount-navigation .is-active a { background: var(--elg-navy); color: var(--elg-white); }
body.elg-site .woocommerce :is(.cart_totals, #order_review) { padding: var(--elg-space-5); border: 1px solid var(--elg-border); border-radius: var(--elg-radius); background: var(--elg-surface); box-shadow: var(--elg-shadow-card); }
