/* ==========================================================================
   AMB WooCommerce Styling
   Loads after amb-tokens.css. Targets default WooCommerce/Storefront-style
   markup as rendered inside Elementor Pro's Theme Builder + WooCommerce
   widgets. Specificity kept low; !important only where WooCommerce's own
   inline/high-specificity styles require it (flagged inline below).
   ========================================================================== */

/* ---------- Shop / Archive grid ---------- */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--amb-space-24);
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce ul.products li.product {
  background: var(--amb-color-surface);
  border: 1px solid var(--amb-color-border);
  border-radius: var(--amb-radius-md);
  overflow: hidden;
  transition: box-shadow var(--amb-transition-base);
}

.woocommerce ul.products li.product:hover {
  box-shadow: var(--amb-shadow-sm);
}

.woocommerce ul.products li.product img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--amb-font-base);
  font-size: var(--amb-fs-small);
  font-weight: 600;
  color: var(--amb-color-text);
  padding: var(--amb-space-16) var(--amb-space-16) 0;
  margin: 0;
  line-height: 1.35;
}

/* ---------- Price ---------- */
.woocommerce .price {
  font-family: var(--amb-font-base);
  font-weight: 700;
  color: var(--amb-color-text);
  font-size: var(--amb-fs-h4);
  padding: var(--amb-space-8) var(--amb-space-16) var(--amb-space-16);
  display: block;
}

.woocommerce .price del {
  color: var(--amb-color-text-faint);
  font-weight: 400;
  font-size: var(--amb-fs-caption);
  opacity: 1; /* WooCommerce sets opacity:.5 by default; override for readability */
}

.woocommerce .price ins {
  text-decoration: none;
  color: var(--amb-color-text);
}

/* ---------- Sale / stock badges ---------- */
.woocommerce span.onsale {
  background: var(--amb-color-accent);
  color: var(--amb-color-text);
  font-family: var(--amb-font-base);
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: var(--amb-radius-pill);
  padding: 4px 10px;
  position: absolute;
  top: 10px;
  left: 10px;
  min-height: 0;
  min-width: 0;
  line-height: 1.4;
}

.stock.in-stock { color: var(--amb-color-success); font-weight: 600; font-size: var(--amb-fs-caption); }
.stock.out-of-stock { color: var(--amb-color-error); font-weight: 600; font-size: var(--amb-fs-caption); }

/* ---------- Buttons (add to cart, submit, checkout) ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  font-family: var(--amb-font-base);
  font-weight: 700;
  font-size: var(--amb-fs-button);
  background: var(--amb-color-accent);
  color: var(--amb-color-text);
  border: none;
  border-radius: var(--amb-radius-sm);
  padding: 13px 26px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: background var(--amb-transition-fast);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--amb-color-accent-dark);
  color: var(--amb-color-text);
}

.woocommerce a.added_to_cart {
  font-family: var(--amb-font-base);
  font-size: var(--amb-fs-caption);
  color: var(--amb-color-primary);
  font-weight: 600;
  margin-left: var(--amb-space-8);
}

/* Secondary / outline variant — apply via Elementor button style "AMB Secondary" */
.amb-btn-secondary {
  background: var(--amb-color-primary-dark);
  color: #fff;
}
.amb-btn-outline {
  background: transparent;
  border: 1.5px solid var(--amb-color-primary-dark);
  color: var(--amb-color-primary-dark);
}

/* ---------- Quantity selector ---------- */
.woocommerce .quantity .qty {
  font-family: var(--amb-font-base);
  border: 1.5px solid var(--amb-color-border);
  border-radius: var(--amb-radius-sm);
  height: 44px;
  width: 64px;
  text-align: center;
  color: var(--amb-color-text);
}

.woocommerce .quantity .qty:focus {
  outline: none;
  border-color: var(--amb-color-primary);
  box-shadow: 0 0 0 3px var(--amb-color-primary-light);
}

/* ---------- Single product ---------- */
.single-product div.product .product_title {
  font-family: var(--amb-font-base);
  font-size: var(--amb-fs-h1);
  font-weight: 700;
  color: var(--amb-color-text);
}

.single-product div.product p.price {
  font-size: 30px;
  font-weight: 800;
  padding: 0;
}

.woocommerce div.product div.images .flex-control-thumbs img {
  border-radius: var(--amb-radius-sm);
  border: 1.5px solid var(--amb-color-border);
}

.woocommerce div.product div.images .flex-control-thumbs img.flex-active {
  border-color: var(--amb-color-primary);
}

/* ---------- Product tabs ---------- */
.woocommerce-tabs ul.tabs li {
  font-family: var(--amb-font-base);
  font-weight: 700;
  font-size: var(--amb-fs-small);
}

.woocommerce-tabs ul.tabs li.active a {
  color: var(--amb-color-primary);
  border-bottom: 2px solid var(--amb-color-primary);
}

/* ---------- Reviews ---------- */
#reviews .comment_container {
  background: var(--amb-color-surface);
  border: 1px solid var(--amb-color-border);
  border-radius: var(--amb-radius-md);
  padding: var(--amb-space-16);
}

.star-rating span::before { color: var(--amb-color-accent); }

/* ---------- Related / upsell / cross-sell ---------- */
.related.products h2,
.upsells.products h2,
.cross-sells h2 {
  font-family: var(--amb-font-base);
  font-size: var(--amb-fs-h2);
  font-weight: 700;
  color: var(--amb-color-text);
}

/* ---------- Notices ---------- */
.woocommerce-message,
.woocommerce-info {
  background: var(--amb-color-info-bg);
  color: #24399C;
  border-top: none;
  border-radius: var(--amb-radius-sm);
  font-family: var(--amb-font-base);
  font-size: var(--amb-fs-caption);
  font-weight: 600;
  padding: var(--amb-space-12) var(--amb-space-16);
}

.woocommerce-error {
  background: var(--amb-color-error-bg);
  color: #A32E2E;
  border-radius: var(--amb-radius-sm);
  font-family: var(--amb-font-base);
  font-size: var(--amb-fs-caption);
  font-weight: 600;
  padding: var(--amb-space-12) var(--amb-space-16);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }

/* ---------- Breadcrumbs ---------- */
.woocommerce-breadcrumb {
  font-family: var(--amb-font-base);
  font-size: var(--amb-fs-caption);
  color: var(--amb-color-text-faint);
}
.woocommerce-breadcrumb a { color: var(--amb-color-text-faint); }
.woocommerce-breadcrumb a:hover { color: var(--amb-color-primary); }

/* ---------- Pagination ---------- */
.woocommerce nav.woocommerce-pagination ul { border: none; gap: var(--amb-space-8); display: flex; }
.woocommerce nav.woocommerce-pagination ul li { border: none; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border-radius: var(--amb-radius-sm);
  font-family: var(--amb-font-base);
  font-weight: 600;
  font-size: var(--amb-fs-caption);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--amb-color-primary-dark);
  color: #fff;
}

/* ---------- Out of stock ---------- */
.woocommerce ul.products li.product.outofstock img { opacity: 0.55; }


/* ----- selection list ---- */
:where(.woocommerce) .select2-container .select2-dropdown, 
:where(.woocommerce) .select2-container .select2-selection {
    border: 1px solid var(--amb-color-border) !important;
    border-radius: var(--amb-radius-sm);
}


/** ----- custom code ----------**/
.b2bking_purchaselist_productpage_wrap{
	display: flex;
	flex-direction: column;
	gap: 12px;
	
	button{
	    width: 100%;
	    margin: 0;
	}
	
	.b2bking_purchaselist_productpage_select{
	    border: 1px solid var(--amb-color-border);
	    margin: 0 !important;
	    background: var(--amb-color-primary-light);
	    border-radius: var(--amb-radius-sm);
	}
}


.single_add_to_cart_button.button.alt {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 52px;
	background-color: #1a1a2e !important;
	color: #ffffff !important;
	border: none;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.single_add_to_cart_button.button.alt:hover {
	background-color: #26263f !important;
}

.single_add_to_cart_button .cart-icon {
	flex-shrink: 0;
}