/* Sunpal replaces WooCommerce stylesheets — structural + font ownership only. */
:root {
  --sunpal-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
}

html,
body,
.woocommerce,
.woocommerce-page,
.woocommerce-js,
.wc-block-components-button,
.wc-block-components-text-input,
.wc-block-components-totals-item,
.wc-block-cart,
.wc-block-checkout,
.widget_shopping_cart_content,
.sunpal-cart-drawer,
.single-product,
.single-product .product_title,
.single-product .summary,
.single-product .entry-summary,
.woocommerce-checkout,
.woocommerce-cart,
.sunpal-commerce-flow,
.sunpal-flow-header h1,
.sunpal-checkout-hero h1 {
  font-family: var(--sunpal-sans) !important;
}

.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce .products,
.woocommerce-mini-cart,
.product_list_widget {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Shop / catalog pagination — kill default UL bullets beside page buttons */
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-page nav.woocommerce-pagination ul,
.woocommerce-page nav.woocommerce-pagination ul li {
  margin: 0;
  padding: 0;
  list-style: none !important;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce-page nav.woocommerce-pagination ul {
  padding-left: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.woocommerce-mini-cart::before,
.woocommerce-mini-cart::after,
.woocommerce-mini-cart-item::before,
.woocommerce-mini-cart-item::after {
  content: none !important;
  display: none !important;
}

.woocommerce img,
.woocommerce-page img,
.widget_shopping_cart img,
.woocommerce-mini-cart-item img {
  float: none !important;
  max-width: 100%;
  height: auto;
  box-shadow: none;
}

.woocommerce a.remove,
.woocommerce-mini-cart-item a.remove {
  font-weight: 400;
  text-decoration: none !important;
  box-shadow: none !important;
}

.woocommerce .blockUI.blockOverlay,
.woocommerce .loader {
  background: rgba(255, 255, 255, .72) !important;
}

/* Gallery thumbs without relying on WC layout CSS */
.single-product .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.single-product .flex-control-thumbs li {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.single-product .flex-control-thumbs img {
  display: block;
  width: 100%;
  height: auto;
  cursor: pointer;
  opacity: 1;
  border: 1px solid var(--line);
  background: #fff;
}

.single-product .woocommerce-product-gallery__image {
  margin: 0;
}

/* Coming soon — catalog product cards (shop, related, home picks) */
.woocommerce ul.products li.product.sunpal-coming-soon-card {
  position: relative;
}

.woocommerce ul.products li.product.sunpal-coming-soon-card .woocommerce-loop-product__link img,
.woocommerce ul.products li.product.sunpal-coming-soon-card a img {
  filter: saturate(.88);
  opacity: .92;
}

.sunpal-coming-soon-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: calc(100% - 24px);
  padding: 7px 10px;
  border: 1px solid rgba(22, 139, 61, .22);
  border-radius: 4px;
  background: rgba(242, 250, 244, .96);
  color: #075d27;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1;
  box-shadow: 0 6px 18px rgba(9, 11, 13, .06);
}

.sunpal-coming-soon-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(22, 139, 61, .18);
  flex-shrink: 0;
}

.woocommerce ul.products li.product.sunpal-coming-soon-card .sunpal-card-badge {
  right: auto;
  left: 12px;
  max-width: calc(50% - 18px);
}

.sunpal-coming-soon-card-status {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.sunpal-coming-soon-card-actions {
  display: grid;
  gap: 8px;
  width: 100%;
  margin-top: auto;
}

.woocommerce ul.products li.product .button.sunpal-coming-soon-enquire-btn,
a.button.sunpal-coming-soon-enquire-btn {
  justify-content: center;
  width: 100%;
  border-color: var(--green) !important;
  background: var(--green) !important;
  color: #fff !important;
}

.woocommerce ul.products li.product .button.sunpal-coming-soon-enquire-btn:hover,
a.button.sunpal-coming-soon-enquire-btn:hover {
  filter: brightness(.94);
  transform: none;
}

.sunpal-coming-soon-view-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.sunpal-coming-soon-view-link:hover {
  color: var(--ink);
}

.woocommerce ul.products li.product.sunpal-coming-soon-card .price {
  color: var(--ink) !important;
}

.woocommerce ul.products li.product.sunpal-coming-soon-card .price del {
  opacity: .55;
}

/* Star ratings without WooCommerce stylesheets */
.woocommerce .star-rating,
.sunpal-pdp-reviews .star-rating,
.single-product .star-rating {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 5.4em;
  height: 1em;
  font-family: Arial, "Segoe UI Symbol", sans-serif;
  font-size: 14px;
  line-height: 1;
  color: #e3a008;
  speak: never;
  white-space: nowrap;
}

.woocommerce .star-rating::before,
.sunpal-pdp-reviews .star-rating::before,
.single-product .star-rating::before {
  content: "★★★★★";
  position: absolute;
  top: 0;
  left: 0;
  color: #d7dbd8;
  letter-spacing: .08em;
}

.woocommerce .star-rating span,
.sunpal-pdp-reviews .star-rating span,
.single-product .star-rating span {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  height: 1em;
  padding: 0;
  color: transparent;
  white-space: nowrap;
}

.woocommerce .star-rating span::before,
.sunpal-pdp-reviews .star-rating span::before,
.single-product .star-rating span::before {
  content: "★★★★★";
  position: absolute;
  top: 0;
  left: 0;
  color: #e3a008;
  letter-spacing: .08em;
}
