/* BBOX 5.5.0 MOBILE ISOLATION — migrated from former shared base.css. */
/* product-card — base presentation. */
.woocommerce ul.products::before,.woocommerce ul.products::after {
  display: none;
}

.woocommerce ul.products li.product,.woocommerce ul.products[class*="columns-"] li.product,ul.products li.bbox-product-card {
  position: relative;
  float: none;
  width: auto;
  margin: 0;
  padding: var(--bbox-space-4);
  min-width: 0;
  background: var(--bbox-surface);
  color: var(--bbox-text);
  border: 1px solid var(--bbox-border);
  border-radius: var(--bbox-radius-lg);
  box-shadow: var(--bbox-shadow);
}

.product-media {
  position: relative;
  aspect-ratio: var(--bbox-product-image-ratio);
  display: grid;
  place-items: center;
}

.woocommerce ul.products li.product .product-media img,.product-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  margin: 0;
}

.product-card-copy {
  padding-block: var(--bbox-space-3);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: var(--bbox-text-sm);
  line-height: 1.9;
  padding: 0;
  margin-bottom: var(--bbox-space-3);
}

.woocommerce ul.products li.product .price {
  color: var(--bbox-gold-deep);
  font-weight: 700;
}

.woocommerce ul.products li.product .button {
  width: 100%;
  margin-top: var(--bbox-space-3);
}

.woocommerce span.onsale {
  min-width: 0;
  min-height: 0;
  padding: var(--bbox-space-1) var(--bbox-space-3);
  border-radius: var(--bbox-radius-pill);
  background: var(--bbox-gold);
  color: var(--bbox-dark);
  line-height: 1.8;
  top: var(--bbox-space-2);
  left: auto;
  inset-inline-start: var(--bbox-space-2);
}

.bbox-card-ratio-square .product-media {
  aspect-ratio: 1;
}

.bbox-card-ratio-portrait .product-media {
  aspect-ratio: 3/4;
}

:root {
  --bbox-desktop-card-columns: var(--bbox-setting-columns,3);
}

:root {
  --bbox-mobile-card-columns: var(--bbox-setting-mobile-columns,2);
}

:root {
  --bbox-product-image-ratio: 1 / 1.08;
}

/* BBOX 5.2.0 canonical luxury card finish */
.woocommerce ul.products li.product,.product-card{border-color:var(--bbox-border);box-shadow:var(--bbox-shadow-soft);transition:transform var(--bbox-transition),box-shadow var(--bbox-transition),border-color var(--bbox-transition);}
.woocommerce ul.products li.product:hover,.product-card:hover{transform:translateY(-3px);border-color:var(--bbox-gold-line);box-shadow:var(--bbox-shadow-gold);}
.product-media img,.woocommerce ul.products li.product img{transition:transform 320ms cubic-bezier(.2,.7,.2,1);}
.woocommerce ul.products li.product:hover .product-media img,.product-card:hover .product-media img{transform:scale(1.018);}


/* BBOX 5.3.0 canonical deterministic product-card geometry. */
.woocommerce ul.products li.product.bbox-product-card,
ul.products li.bbox-product-card{
  display:grid;
  grid-template-rows:auto 1fr auto;
  align-content:stretch;
  overflow:hidden;
}
.bbox-product-card .product-media{
  overflow:hidden;
  border-radius:calc(var(--bbox-radius-md) - .15rem);
  background:linear-gradient(180deg,#fff 0%,#fbfaf7 100%);
}
.bbox-product-card .product-card-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding-block:12px 6px;
}
.bbox-product-card .woocommerce-loop-product__title{
  display:-webkit-box;
  min-height:3.8em;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
}
.bbox-product-card .price{
  margin-top:auto;
  min-height:2.1em;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 7px;
}
.bbox-product-card > .button,
.bbox-product-card > a.button{
  align-self:end;
  margin-top:10px;
}

/* product-card — mobile presentation. */
:root {
  --bbox-card-columns: var(--bbox-mobile-card-columns);
}

.woocommerce ul.products,ul.products.bbox-home438-product-grid {
  display: grid;
  gap: var(--bbox-space-4);
  padding: 0;
  margin: 0;
  list-style: none;
  grid-template-columns: repeat(var(--bbox-mobile-card-columns),minmax(0,1fr));
}


/* BBOX 5.3.0 mobile card density. */
.woocommerce ul.products,ul.products.bbox-home438-product-grid{gap:12px;}
.bbox-product-card{padding:10px!important;border-radius:14px!important;}
.bbox-product-card .product-media{aspect-ratio:1/1.05;}
.bbox-product-card .woocommerce-loop-product__title{font-size:.74rem!important;line-height:1.8!important;min-height:3.6em;}
.bbox-product-card .price{font-size:.72rem;line-height:1.65;}
.bbox-product-card > .button,.bbox-product-card > a.button{min-height:42px;padding:7px 8px;font-size:.72rem;}
