/* =========================================================
   JOHN IAN — EXPRESS BUILD 3
   Product Experience Polish
   ========================================================= */
.single-product .ji-commerce-single{padding-top:84px}
.single-product .ji-commerce-single__shell{max-width:1480px}
.single-product .ji-product-stage{align-items:start;gap:clamp(32px,5vw,78px)}
.single-product .ji-product-stage__media{min-width:0}
.single-product .ji-product-purchase{max-width:470px;padding-top:2px}
.single-product .ji-product-purchase .woocommerce-product-rating{margin-bottom:14px}
.single-product .ji-product-purchase .woocommerce-variation-price{margin-bottom:10px}
.single-product .ji-product-purchase .reset_variations{font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.single-product .ji-product-purchase .stock{margin:10px 0 0;color:rgba(17,19,15,.62);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.single-product .ji-product-purchase .woocommerce-variation-availability{margin-top:7px}
.single-product .ji-product-purchase .wc-stripe-product-checkout-container,
.single-product .ji-product-purchase .wcpay-payment-request-wrapper,
.single-product .ji-product-purchase .ppc-button-wrapper{margin-top:12px!important}
.single-product .ji-product-purchase .product_meta>span{display:block}

.single-product .woocommerce-product-gallery{margin:0!important}
.single-product .woocommerce-product-gallery__wrapper{display:grid;gap:16px}
.single-product .woocommerce-product-gallery__image{overflow:hidden;background:#ebe4d9}
.single-product .woocommerce-product-gallery__image a{display:block;cursor:zoom-in}
.single-product .woocommerce-product-gallery__image img{width:100%;height:auto;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.single-product .woocommerce-product-gallery__image:hover img{transform:scale(1.012)}
.single-product .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px!important}
.single-product .flex-control-thumbs li{float:none!important;width:auto!important;margin:0!important;background:#ebe4d9}
.single-product .flex-control-thumbs img{opacity:.62;transition:opacity .2s ease}
.single-product .flex-control-thumbs img.flex-active,.single-product .flex-control-thumbs img:hover{opacity:1}

.ji-product-reassurance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:22px 0 0;border-top:1px solid var(--ji-commerce-line);border-bottom:1px solid var(--ji-commerce-line)}
.ji-product-reassurance__item{padding:14px 14px 14px 0}
.ji-product-reassurance__item+.ji-product-reassurance__item{padding-left:14px;border-left:1px solid var(--ji-commerce-line)}
.ji-product-reassurance__item strong{display:block;margin-bottom:4px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.ji-product-reassurance__item span{display:block;color:rgba(17,19,15,.62);font-size:11px;line-height:1.45}

.ji-product-lightbox{position:fixed;z-index:999999;inset:0;display:none;background:rgba(7,9,7,.97);color:#fff}
.ji-product-lightbox.is-open{display:grid;place-items:center}
.ji-product-lightbox__stage{display:grid;width:100%;height:100%;place-items:center;padding:72px clamp(18px,4vw,70px)}
.ji-product-lightbox__image{display:block;max-width:100%;max-height:calc(100svh - 130px);object-fit:contain}
.ji-product-lightbox__close,.ji-product-lightbox__prev,.ji-product-lightbox__next{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.18);color:#fff;cursor:pointer}
.ji-product-lightbox__close{top:18px;right:18px;font-size:24px}
.ji-product-lightbox__prev,.ji-product-lightbox__next{top:50%;transform:translateY(-50%);font-size:24px}
.ji-product-lightbox__prev{left:18px}.ji-product-lightbox__next{right:18px}
.ji-product-lightbox__counter{position:absolute;right:0;bottom:22px;left:0;text-align:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase}

.ji-mobile-purchase{position:fixed;z-index:9990;right:0;bottom:0;left:0;display:none;align-items:center;gap:14px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid rgba(17,19,15,.14);background:rgba(247,243,235,.96);backdrop-filter:blur(14px);box-shadow:0 -10px 30px rgba(0,0,0,.08)}
.ji-mobile-purchase__summary{min-width:0;flex:1}
.ji-mobile-purchase__title{display:block;overflow:hidden;font-family:var(--serif);font-size:16px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
.ji-mobile-purchase__price{display:block;margin-top:3px;font-size:12px}
.ji-mobile-purchase__button{min-width:132px;min-height:46px;padding:0 18px;border:1px solid var(--green);background:var(--green);color:#fff;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ji-mobile-purchase[hidden]{display:none!important}

@media(max-width:820px){
  .single-product .ji-commerce-single{padding-top:78px;padding-bottom:96px}
  .single-product .ji-product-purchase{max-width:none}
  .single-product .ji-product-stage{gap:28px}
  .ji-mobile-purchase.is-visible{display:flex}
}
@media(max-width:620px){
  .single-product .flex-control-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ji-product-reassurance{grid-template-columns:1fr}
  .ji-product-reassurance__item,.ji-product-reassurance__item+.ji-product-reassurance__item{padding:12px 0;border-left:0;border-top:1px solid var(--ji-commerce-line)}
  .ji-product-reassurance__item:first-child{border-top:0}
  .ji-product-lightbox__prev{left:8px}.ji-product-lightbox__next{right:8px}
}
@media(prefers-reduced-motion:reduce){
  .single-product .woocommerce-product-gallery__image img{transition:none}
}
