/* SERANTIO 4.3.18 — commerce polish
   Cleaner cart/checkout hierarchy, click-to-open product imagery, sharper commerce media.
*/

/* Product gallery: image click opens WooCommerce lightbox; no floating zoom button. */
body.single-product .woocommerce-product-gallery__trigger{
  display:none!important;
}
body.single-product .woocommerce-product-gallery__image a,
body.single-product .woocommerce-product-gallery__image img{
  cursor:zoom-in!important;
}
body.single-product .woocommerce-product-gallery__image img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  image-rendering:auto;
}
body.single-product .flex-control-thumbs img{
  object-fit:cover!important;
  image-rendering:auto;
}

/* Keep product media crisp on every commerce surface. */
body.serantio-woocommerce .serantio-shop-card__image,
.serantio-product-card .serantio-product-image img,
body.woocommerce-cart .product-thumbnail img,
.sc-checkout-product__image,
.sc-order-product__image,
.sc-cart-item__image img{
  image-rendering:auto!important;
  backface-visibility:hidden;
  transform:translateZ(0);
}
body.woocommerce-cart .product-thumbnail img,
.sc-checkout-product__image,
.sc-order-product__image,
.sc-cart-item__image img{
  object-fit:contain!important;
  background:#fff!important;
}

/* CART — editorial product list + calm sticky summary. */
body.woocommerce-cart .serantio-page-main{
  padding-bottom:120px!important;
}
body.woocommerce-cart .serantio-page-heading{
  margin-bottom:34px!important;
}
body.woocommerce-cart .serantio-page-heading h1{
  letter-spacing:-.045em!important;
}
body.woocommerce-cart .serantio-page-copy>.woocommerce{
  grid-template-columns:minmax(0,1fr) minmax(360px,420px)!important;
  gap:clamp(36px,5vw,88px)!important;
  align-items:start!important;
}
body.woocommerce-cart table.woocommerce-cart-form__contents{
  border-top:1px solid #d9d7d1!important;
}
body.woocommerce-cart table.woocommerce-cart-form__contents thead th{
  font-size:10px!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:#6b6964!important;
}
body.woocommerce-cart table.woocommerce-cart-form__contents tr.cart_item td{
  padding-top:28px!important;
  padding-bottom:28px!important;
  border-bottom:1px solid #dfddd7!important;
  vertical-align:middle!important;
}
body.woocommerce-cart .product-thumbnail{
  width:132px!important;
}
body.woocommerce-cart .product-thumbnail img{
  width:116px!important;
  height:116px!important;
  border-radius:0!important;
}
body.woocommerce-cart .product-name a{
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:600!important;
  text-decoration:none!important;
}
body.woocommerce-cart .product-price,
body.woocommerce-cart .product-subtotal{
  font-size:14px!important;
}
body.woocommerce-cart .quantity .qty{
  width:64px!important;
  min-height:44px!important;
  border:1px solid #cfcdc7!important;
  background:#fff!important;
}
body.woocommerce-cart .product-remove a.remove{
  border:0!important;
  background:transparent!important;
  color:#111!important;
  font-size:24px!important;
}
body.woocommerce-cart td.actions{
  border:0!important;
}
body.woocommerce-cart td.actions .coupon{
  max-width:520px!important;
}
body.woocommerce-cart td.actions .coupon .input-text{
  min-height:48px!important;
  border:1px solid #cfcdc7!important;
  border-radius:0!important;
  background:#fff!important;
}
body.woocommerce-cart td.actions .coupon .button,
body.woocommerce-cart td.actions>button[name="update_cart"]{
  border-radius:0!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  font-size:10px!important;
}
body.woocommerce-cart .cart-collaterals .cart_totals{
  position:sticky!important;
  top:calc(var(--sc-header-h,68px) + 24px)!important;
  padding:28px!important;
  border:1px solid #d9d7d1!important;
  background:#f8f7f3!important;
  box-shadow:none!important;
}
body.woocommerce-cart .cart_totals h2{
  font-size:24px!important;
  letter-spacing:-.03em!important;
  font-weight:600!important;
}
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td{
  font-size:13px!important;
}
body.woocommerce-cart .cart_totals tr.order-total th,
body.woocommerce-cart .cart_totals tr.order-total td{
  font-size:17px!important;
}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
  min-height:54px!important;
  border-radius:0!important;
  font-size:11px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  background:#111!important;
  color:#fff!important;
}
body.woocommerce-cart .sc-cart-assurance{
  margin-top:18px!important;
  padding-top:16px!important;
  border-top:1px solid #d9d7d1!important;
  font-size:10px!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}

/* CHECKOUT — focused two-column flow with always-visible order review on desktop. */
body.woocommerce-checkout .serantio-checkout-main,
body.serantio-checkout-page .serantio-checkout-main{
  padding:calc(var(--sc-header-h,68px) + 52px) 0 120px!important;
}
body.woocommerce-checkout .serantio-checkout-shell,
body.serantio-checkout-page .serantio-checkout-shell{
  width:min(calc(100% - 72px),1440px)!important;
  margin:0 auto!important;
}
@media(min-width:1025px){
  body.woocommerce-checkout form.checkout,
  body.serantio-checkout-page form.checkout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(380px,440px)!important;
    grid-template-areas:
      "customer review-title"
      "customer review"!important;
    column-gap:clamp(48px,6vw,96px)!important;
    align-items:start!important;
  }
  body.woocommerce-checkout form.checkout>#customer_details,
  body.serantio-checkout-page form.checkout>#customer_details{
    grid-area:customer!important;
  }
  body.woocommerce-checkout form.checkout>#order_review_heading,
  body.serantio-checkout-page form.checkout>#order_review_heading{
    grid-area:review-title!important;
  }
  body.woocommerce-checkout form.checkout>#order_review,
  body.serantio-checkout-page form.checkout>#order_review{
    grid-area:review!important;
    position:sticky!important;
    top:calc(var(--sc-header-h,68px) + 24px)!important;
  }
}
body.woocommerce-checkout #customer_details>.col-1,
body.woocommerce-checkout #customer_details>.col-2,
body.serantio-checkout-page #customer_details>.col-1,
body.serantio-checkout-page #customer_details>.col-2{
  width:100%!important;
  float:none!important;
}
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.serantio-checkout-page .woocommerce-billing-fields,
body.serantio-checkout-page .woocommerce-shipping-fields,
body.serantio-checkout-page .woocommerce-additional-fields{
  margin-bottom:34px!important;
}
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.serantio-checkout-page .woocommerce-billing-fields h3,
body.serantio-checkout-page .woocommerce-shipping-fields h3{
  margin:0 0 22px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid #d9d7d1!important;
  font-size:22px!important;
  letter-spacing:-.025em!important;
  font-weight:600!important;
}
body.woocommerce-checkout .form-row label,
body.serantio-checkout-page .form-row label{
  margin-bottom:7px!important;
  font-size:10px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#575550!important;
}
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .select2-container .select2-selection--single,
body.serantio-checkout-page .form-row input.input-text,
body.serantio-checkout-page .form-row textarea,
body.serantio-checkout-page .form-row select,
body.serantio-checkout-page .select2-container .select2-selection--single{
  min-height:52px!important;
  border:1px solid #cfcdc7!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.woocommerce-checkout .form-row textarea,
body.serantio-checkout-page .form-row textarea{
  min-height:110px!important;
}
body.woocommerce-checkout .form-row input:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .select2-container--focus .select2-selection--single,
body.serantio-checkout-page .form-row input:focus,
body.serantio-checkout-page .form-row textarea:focus,
body.serantio-checkout-page .select2-container--focus .select2-selection--single{
  border-color:#111!important;
  outline:1px solid #111!important;
  outline-offset:0!important;
}
body.woocommerce-checkout #order_review_heading,
body.serantio-checkout-page #order_review_heading{
  margin:0!important;
  padding:0 0 14px!important;
  border-bottom:1px solid #111!important;
  font-size:22px!important;
  letter-spacing:-.025em!important;
  font-weight:600!important;
}
body.woocommerce-checkout #order_review,
body.serantio-checkout-page #order_review{
  padding:24px!important;
  border:1px solid #d9d7d1!important;
  border-top:0!important;
  background:#f8f7f3!important;
}
body.woocommerce-checkout #order_review table.shop_table,
body.serantio-checkout-page #order_review table.shop_table{
  border:0!important;
  background:transparent!important;
}
body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td,
body.serantio-checkout-page #order_review table.shop_table th,
body.serantio-checkout-page #order_review table.shop_table td{
  border-color:#dedcd6!important;
  padding:14px 0!important;
}
body.woocommerce-checkout #order_review tr.order-total th,
body.woocommerce-checkout #order_review tr.order-total td,
body.serantio-checkout-page #order_review tr.order-total th,
body.serantio-checkout-page #order_review tr.order-total td{
  font-size:17px!important;
  padding-top:19px!important;
}
body.woocommerce-checkout #payment,
body.serantio-checkout-page #payment{
  margin-top:20px!important;
  border-top:1px solid #d9d7d1!important;
  background:transparent!important;
}
body.woocommerce-checkout #payment ul.payment_methods,
body.serantio-checkout-page #payment ul.payment_methods{
  padding:18px 0 8px!important;
  border:0!important;
}
body.woocommerce-checkout #payment ul.payment_methods>li,
body.serantio-checkout-page #payment ul.payment_methods>li{
  margin:0 0 10px!important;
  padding:14px!important;
  border:1px solid #d9d7d1!important;
  background:#fff!important;
}
body.woocommerce-checkout #payment .payment_box,
body.serantio-checkout-page #payment .payment_box{
  margin:12px 0 0!important;
  padding:12px 0 0!important;
  background:transparent!important;
  color:#575550!important;
  font-size:12px!important;
}
body.woocommerce-checkout #payment .payment_box:before,
body.serantio-checkout-page #payment .payment_box:before{
  display:none!important;
}
body.woocommerce-checkout #place_order,
body.serantio-checkout-page #place_order{
  width:100%!important;
  min-height:56px!important;
  margin-top:18px!important;
  border:1px solid #111!important;
  border-radius:0!important;
  background:#111!important;
  color:#fff!important;
  font-size:11px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
body.woocommerce-checkout #place_order:hover,
body.serantio-checkout-page #place_order:hover{
  background:#fff!important;
  color:#111!important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.serantio-checkout-page .woocommerce-form-coupon-toggle{
  margin-bottom:22px!important;
  font-size:12px!important;
  color:#6b6964!important;
}
body.woocommerce-checkout .woocommerce-form-coupon,
body.serantio-checkout-page .woocommerce-form-coupon{
  margin:0 0 28px!important;
  padding:18px!important;
  border:1px solid #d9d7d1!important;
  border-radius:0!important;
}
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
body.serantio-checkout-page .woocommerce-privacy-policy-text,
body.serantio-checkout-page .woocommerce-terms-and-conditions-wrapper{
  font-size:11px!important;
  line-height:1.55!important;
  color:#6b6964!important;
}
.sc-checkout-product{
  align-items:center!important;
}
.sc-checkout-product__image{
  width:68px!important;
  height:68px!important;
  object-fit:contain!important;
  background:#fff!important;
}

/* Responsive commerce: keep the hierarchy, remove sticky behavior on small screens. */
@media(max-width:1024px){
  body.woocommerce-cart .serantio-page-copy>.woocommerce{
    display:block!important;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals,
  body.woocommerce-checkout form.checkout>#order_review,
  body.serantio-checkout-page form.checkout>#order_review{
    position:static!important;
    margin-top:34px!important;
  }
  body.woocommerce-checkout .serantio-checkout-shell,
  body.serantio-checkout-page .serantio-checkout-shell{
    width:calc(100% - 32px)!important;
  }
}
@media(max-width:600px){
  body.home .serantio-section--products{
    border-bottom:0!important;
  }
  body.woocommerce-cart .product-thumbnail img{
    width:96px!important;
    height:96px!important;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals{
    padding:22px!important;
  }
  body.woocommerce-checkout #order_review,
  body.serantio-checkout-page #order_review{
    padding:20px!important;
  }
  .sc-checkout-product__image{
    width:58px!important;
    height:58px!important;
  }
}
