/* Product merchandising + fast retail ordering directly on each product card. */
/* The Shop catalog is primary content. Never hide/defer it behind shared reveal or content-visibility effects. */
.products-page .commerce-catalog{content-visibility:visible!important;contain-intrinsic-size:none!important}
.products-page .commerce-catalog.reveal,.products-page .commerce-product-card.reveal{opacity:1!important;transform:none!important;transition:none!important}

/* Keep the storefront deterministic across Safari, Chrome and Android WebView.
   Do not depend on :has() support for a usable purchase layout. */
.products-page .commerce-product-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:900px;
  gap:2rem;
}
.commerce-product-card{min-width:0}
.commerce-product-image{
  position:relative;
  display:block!important;
  width:100%;
  aspect-ratio:4/5!important;
  overflow:hidden;
  border-radius:16px!important;
  background:#fff;
  cursor:default!important;
  touch-action:pan-y;
  overscroll-behavior-x:contain;
}
.commerce-product-image .commerce-product-image-primary{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain!important;
  object-position:center;
  user-select:none;
  -webkit-user-drag:none;
  transform:none!important;
  transition:none!important;
}
.commerce-product-image:hover .commerce-product-image-primary{transform:none!important}
.commerce-product-card.image-unavailable .commerce-product-image{display:grid!important;place-items:center;background:#f2efe9}
.commerce-product-card.image-unavailable .commerce-product-image::after{content:'Photo temporarily unavailable';display:block;padding:1rem;color:#716a61;text-align:center;font:750 .75rem/1.4 Inter,system-ui,sans-serif}
.commerce-product-card.image-unavailable .commerce-product-image-primary{display:none!important}
.product-photo-placeholder{width:100%;height:100%;display:grid;place-content:center;gap:.35rem;padding:1.25rem;text-align:center;background:#f2efe9;color:#716a61}
.product-photo-placeholder span{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.product-photo-placeholder strong{color:#27231f;font-size:.9rem}
.commerce-photo-count{position:absolute;right:.65rem;bottom:.65rem;display:inline-flex;align-items:center;min-height:28px;padding:.35rem .58rem;border-radius:999px;background:rgba(255,255,255,.94);color:#171714;box-shadow:0 2px 12px rgba(0,0,0,.08);backdrop-filter:blur(8px);font:800 .66rem/1 Inter,system-ui,sans-serif;pointer-events:none}
.commerce-card-thumbs{display:flex;gap:.48rem;margin:.58rem 0 0;overflow-x:auto;padding:2px 2px .12rem;scrollbar-width:none}
.commerce-card-thumbs::-webkit-scrollbar{display:none}
.commerce-card-thumbs button{flex:0 0 58px;width:58px;height:58px;padding:2px;border:2px solid transparent;border-radius:9px;background:#fff;cursor:pointer}
.commerce-card-thumbs button.active{border-color:#171714}
.commerce-card-thumbs button:focus-visible{outline:3px solid rgba(154,87,44,.2);outline-offset:2px}
.commerce-card-thumbs img{display:block;width:100%;height:100%;object-fit:contain;border-radius:5px;background:#fff}
.commerce-product-info{padding:.85rem .02rem 0!important;gap:.38rem!important}
.commerce-product-title-static{margin:0;color:#171714;font:750 1.05rem/1.28 Inter,system-ui,sans-serif;letter-spacing:-.025em}
.commerce-product-price{margin:.05rem 0!important;font-size:1rem!important;font-weight:800!important}
.commerce-product-note{margin:.05rem 0 .35rem;color:#77716a;font-size:.72rem;line-height:1.4}
.commerce-card-options{display:grid;grid-template-columns:1fr;gap:.6rem;margin:.55rem 0 .25rem}
.commerce-card-option{display:block;min-width:0}
.commerce-card-option>span{display:block;margin:0 0 .32rem;color:#45413c;font:750 .7rem/1 Inter,system-ui,sans-serif}
.commerce-card-option select{display:block;width:100%;min-height:46px;margin:0;padding:.62rem 2rem .62rem .72rem;border:1px solid #d8d3ca;border-radius:10px;background:#fff;color:#171714;box-shadow:none;font:650 .82rem/1.2 Inter,system-ui,sans-serif}
.commerce-card-option select:focus{border-color:#8f887e;outline:3px solid rgba(154,87,44,.10);outline-offset:1px}
.commerce-choose-button{display:flex;align-items:center;justify-content:center;text-align:center;margin-top:.45rem;min-height:48px!important;font-size:.8rem!important}
.commerce-choose-button:disabled{border-color:#d8d3ca!important;background:#ece9e3!important;color:#77716a!important;cursor:not-allowed!important;opacity:1!important}
.commerce-stock-note{display:block;margin:.15rem 0}
.commerce-product-highlight{animation:product-highlight 1.6s ease}
@keyframes product-highlight{0%,100%{filter:none}35%{filter:drop-shadow(0 0 0.6rem rgba(154,87,44,.25))}}

.commerce-cart-toast{display:flex!important;align-items:center;gap:.8rem;padding:.64rem .68rem .64rem .9rem!important;min-width:min(330px,calc(100vw - 24px));justify-content:space-between;pointer-events:none!important;z-index:400!important;isolation:isolate}
.commerce-cart-toast.show{pointer-events:auto!important}
.commerce-cart-toast span{font-weight:800;font-size:.8rem}
.commerce-cart-toast a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.48rem .7rem;border-radius:999px;background:#fff;color:#171714;font-size:.72rem;font-weight:850;text-decoration:none;pointer-events:auto!important;position:relative;z-index:2;touch-action:manipulation}
.commerce-cart-toast a:focus-visible{outline:3px solid rgba(255,255,255,.55);outline-offset:2px}
.shop-loading{min-height:180px;display:grid;place-items:center;text-align:center}

@media(max-width:620px){
  .products-page .commerce-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:100%;gap:.75rem!important}
  .commerce-product-image{border-radius:14px!important}
  .commerce-card-thumbs{gap:.42rem;margin-top:.5rem}
  .commerce-card-thumbs button{flex-basis:54px;width:54px;height:54px}
  .commerce-product-info{padding-top:.72rem!important}
  .commerce-product-title-static{font-size:.88rem;line-height:1.3;overflow-wrap:anywhere}
  .commerce-card-options{gap:.55rem;margin-top:.5rem}
  .commerce-card-option select{min-width:0;min-height:48px;font-size:16px}
  .commerce-choose-button{min-height:50px!important;font-size:.82rem!important}
  .commerce-cart-toast{left:12px!important;right:12px!important;bottom:80px!important;transform:translateY(12px)!important;width:auto!important;min-width:0!important}
  .commerce-cart-toast.show{transform:none!important;pointer-events:auto!important}
}
@media(max-width:390px){.commerce-cart-toast{bottom:74px!important}}
