/* Themespress 2.0 — product card polish. Loaded last so Woo/plugin defaults cannot flatten it. */
.woocommerce ul.products.tp-product-grid{
  gap:clamp(24px,2.5vw,42px)!important;
  align-items:stretch;
}
.woocommerce ul.products.tp-product-grid li.product{
  display:flex!important;
  flex-direction:column;
  min-width:0;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:translateZ(0);
}
.woocommerce ul.products.tp-product-grid li.product::before{
  content:"SHOP / " counter(tp-product,decimal-leading-zero)!important;
  left:16px!important;
  top:16px!important;
  min-height:31px;
  display:inline-flex!important;
  align-items:center;
  padding:0 11px!important;
  border:1px solid rgba(11,11,12,.12);
  border-radius:999px;
  background:rgba(245,244,239,.92)!important;
  color:var(--tp-ink)!important;
  font-size:12px!important;
  font-weight:750;
  letter-spacing:.1em!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 10px 30px rgba(11,11,12,.08)!important;
}
.woocommerce ul.products.tp-product-grid li.product::after{
  display:none!important;
}
.woocommerce ul.products.tp-product-grid li.product > a.woocommerce-loop-product__link,
.woocommerce ul.products.tp-product-grid li.product > a.woocommerce-LoopProduct-link{
  position:relative;
  display:flex!important;
  flex-direction:column;
  flex:1 1 auto;
  min-width:0;
  padding:12px 12px 24px!important;
  border:1px solid rgba(11,11,12,.11)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.38)!important;
  box-shadow:0 12px 40px rgba(11,11,12,.035)!important;
  overflow:hidden;
  transition:transform .5s var(--tp-ease),border-color .35s ease,background-color .35s ease,box-shadow .45s ease!important;
}
.woocommerce ul.products.tp-product-grid li.product:hover > a.woocommerce-loop-product__link,
.woocommerce ul.products.tp-product-grid li.product:hover > a.woocommerce-LoopProduct-link{
  transform:translateY(-7px);
  border-color:rgba(249,91,38,.48)!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 30px 80px rgba(11,11,12,.105)!important;
}
.woocommerce ul.products.tp-product-grid li.product > a.woocommerce-loop-product__link::after,
.woocommerce ul.products.tp-product-grid li.product > a.woocommerce-LoopProduct-link::after{
  content:"↗"!important;
  right:18px!important;
  top:18px!important;
  width:44px!important;
  height:44px!important;
  opacity:1!important;
  transform:none!important;
  border:1px solid rgba(11,11,12,.12);
  background:var(--tp-ink)!important;
  color:var(--tp-light)!important;
  font-size:18px!important;
  transition:transform .4s var(--tp-ease),background-color .3s ease,color .3s ease!important;
}
.woocommerce ul.products.tp-product-grid li.product:hover > a.woocommerce-loop-product__link::after,
.woocommerce ul.products.tp-product-grid li.product:hover > a.woocommerce-LoopProduct-link::after{
  transform:rotate(45deg)!important;
  background:var(--tp-accent)!important;
  color:#080808!important;
}
.woocommerce ul.products.tp-product-grid li.product a img{
  width:100%!important;
  aspect-ratio:1.12/1!important;
  object-fit:cover!important;
  margin:0 0 clamp(20px,2vw,28px)!important;
  border-radius:14px!important;
  background:#deddd7!important;
  filter:saturate(.88) contrast(.98);
  transform:scale(1.001);
  transition:transform .8s var(--tp-ease),filter .5s ease!important;
}
.woocommerce ul.products.tp-product-grid li.product:hover a img{
  transform:scale(1.035)!important;
  filter:saturate(1.04) contrast(1)!important;
}
.woocommerce ul.products.tp-product-grid li.product .onsale{
  right:70px!important;
  top:18px!important;
  min-width:auto!important;
  min-height:31px!important;
  display:inline-flex!important;
  align-items:center;
  padding:0 11px!important;
  border-radius:999px!important;
  background:var(--tp-accent)!important;
  color:#080808!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase;
}
.woocommerce ul.products.tp-product-grid li.product .woocommerce-loop-product__title{
  max-width:none!important;
  padding:0 6px!important;
  margin:0 0 14px!important;
  font-size:clamp(29px,2.35vw,43px)!important;
  line-height:.96!important;
  letter-spacing:-.05em!important;
  text-wrap:balance;
}
.woocommerce ul.products.tp-product-grid li.product .star-rating{
  order:4;
  margin:0 6px 13px!important;
  font-size:13px!important;
}
.woocommerce ul.products.tp-product-grid li.product .price{
  display:flex!important;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px;
  min-height:31px!important;
  padding:0 6px!important;
  margin:auto 0 0!important;
  font-size:clamp(17px,1.25vw,20px)!important;
  font-weight:780!important;
  letter-spacing:-.02em;
  color:var(--tp-ink)!important;
}
.woocommerce ul.products.tp-product-grid li.product .price ins{
  color:var(--tp-accent)!important;
}
.woocommerce ul.products.tp-product-grid li.product > .button{
  position:relative!important;
  isolation:isolate;
  width:100%!important;
  min-height:62px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px;
  margin:12px 0 0!important;
  padding:16px 20px!important;
  border:1px solid var(--tp-ink)!important;
  border-radius:14px!important;
  background:linear-gradient(90deg,var(--tp-accent) 0 50%,var(--tp-ink) 50% 100%)!important;
  background-size:205% 100%!important;
  background-position:100% 0!important;
  color:var(--tp-light)!important;
  font-size:14px!important;
  font-weight:820!important;
  letter-spacing:.055em!important;
  line-height:1.15!important;
  text-transform:uppercase;
  box-shadow:0 15px 34px rgba(11,11,12,.12);
  transition:background-position .48s var(--tp-ease),color .28s ease,transform .28s ease,box-shadow .35s ease!important;
}
.woocommerce ul.products.tp-product-grid li.product > .button::after{
  content:"→";
  position:static!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  font-size:23px!important;
  font-weight:400!important;
  line-height:1!important;
  transform:translateX(0);
  transition:transform .3s var(--tp-ease)!important;
}
.woocommerce ul.products.tp-product-grid li.product > .button:hover,
.woocommerce ul.products.tp-product-grid li.product > .button:focus-visible{
  background-position:0 0!important;
  color:#080808!important;
  transform:translateY(-2px);
  box-shadow:0 20px 46px rgba(11,11,12,.16);
}
.woocommerce ul.products.tp-product-grid li.product > .button:hover::after,
.woocommerce ul.products.tp-product-grid li.product > .button:focus-visible::after{
  transform:translateX(5px);
}
.woocommerce ul.products.tp-product-grid li.product > .button.loading{
  opacity:.72!important;
  cursor:progress!important;
}
.woocommerce ul.products.tp-product-grid li.product > .button.added{
  background:var(--tp-accent)!important;
  color:#080808!important;
}
.woocommerce ul.products.tp-product-grid li.product > .added_to_cart{
  width:100%!important;
  min-height:52px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  margin:8px 0 0!important;
  padding:12px 16px!important;
  border:1px solid rgba(11,11,12,.16);
  border-radius:14px;
  background:rgba(255,255,255,.55);
  color:var(--tp-ink)!important;
  font-size:14px!important;
  font-weight:760;
}
.tp-product-breadcrumbs{
  padding-top:clamp(24px,3vw,42px);
  margin-bottom:clamp(18px,2vw,30px);
}
@media(max-width:760px){
  .woocommerce ul.products.tp-product-grid li.product > a.woocommerce-loop-product__link,
  .woocommerce ul.products.tp-product-grid li.product > a.woocommerce-LoopProduct-link{border-radius:17px!important}
  .woocommerce ul.products.tp-product-grid li.product > .button{min-height:58px!important;border-radius:12px!important}
}


/* 8.13.3 — Natural-height product cards.
   Never stretch a short product to the height of a taller neighbour. */
.woocommerce ul.products.tp-product-grid{
  align-items:start!important;
  grid-auto-rows:auto!important;
}
.woocommerce ul.products.tp-product-grid li.product{
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
  display:block!important;
}
.woocommerce ul.products.tp-product-grid li.product > a.woocommerce-loop-product__link,
.woocommerce ul.products.tp-product-grid li.product > a.woocommerce-LoopProduct-link{
  display:block!important;
  flex:none!important;
  height:auto!important;
  min-height:0!important;
}
.woocommerce ul.products.tp-product-grid li.product .woocommerce-loop-product__title{
  min-height:0!important;
}
.woocommerce ul.products.tp-product-grid li.product .price{
  margin:0!important;
  min-height:0!important;
}
.woocommerce ul.products.tp-product-grid li.product .star-rating{
  margin:10px 6px 12px!important;
}
.woocommerce ul.products.tp-product-grid li.product > .button{
  margin-top:12px!important;
}

/* The old editorial 8/4 span becomes awkward as soon as a filter/sidebar
   changes the available width. Keep a responsive, dense catalogue grid. */
.woocommerce ul.products.tp-product-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))!important;
  gap:clamp(26px,3vw,48px) clamp(18px,2vw,30px)!important;
}
.woocommerce ul.products.tp-product-grid li.product,
.woocommerce ul.products.tp-product-grid li.product:nth-child(6n+1){
  grid-column:auto!important;
}
.woocommerce ul.products.tp-product-grid li.product:nth-child(6n+1) a img{
  aspect-ratio:1.12/1!important;
}
.woocommerce ul.products.tp-product-grid li.product:nth-child(6n+1) .woocommerce-loop-product__title{
  max-width:none!important;
  font-size:clamp(29px,2.35vw,43px)!important;
}


/* AJAX product pagination — the native Woo links remain usable without JS. */
.tp-commerce .woocommerce[data-tp-products-busy="1"]{
  cursor:progress;
}
.tp-commerce .woocommerce[data-tp-products-busy="1"] nav.woocommerce-pagination{
  pointer-events:none;
  opacity:.55;
}
.tp-commerce .woocommerce[data-tp-products-busy="1"] ul.products.tp-product-grid{
  pointer-events:none;
}
.tp-shop-explosion{
  position:fixed;
  inset:0;
  z-index:9997;
  overflow:hidden;
  pointer-events:none;
}
.tp-shop-explosion > span{
  position:absolute;
  width:clamp(7px,.75vw,12px);
  aspect-ratio:1;
  border-radius:2px;
  background:var(--tp-accent);
  box-shadow:0 0 0 1px rgba(11,11,12,.06);
  transform:translate(-50%,-50%);
}
.tp-shop-explosion > span.is-ink{
  background:var(--tp-ink);
}
@media (prefers-reduced-motion:reduce){
  .tp-shop-explosion{display:none!important}
}
.tp-commerce [data-tp-shop-live]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
