/* InSyncPets v3.5.24.27 — single-product rebuild.
   One vertical buying flow: product image, product details, personalisation/options, action.
   This deliberately removes the old split-column product layout. */
:root{
  --isp27-bg:#fffaf2;
  --isp27-surface:#fff;
  --isp27-line:#e5d7c4;
  --isp27-ink:#18120e;
  --isp27-muted:#6d6258;
  --isp27-navy:#0a315d;
  --isp27-gold:#c77810;
}

body.single-product .woocommerce-wrap.insyncpet-commerce{
  background:var(--isp27-bg)!important;
}
body.single-product .isp27-single-product-flow{
  width:min(920px,calc(100% - 40px))!important;
  max-width:920px!important;
  margin:0 auto!important;
  padding:34px 0 64px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.single-product .isp27-single-product-flow > .woocommerce{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.single-product .woocommerce div.product{
  width:100%!important;
  max-width:860px!important;
  margin:0 auto!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:22px!important;
  align-items:stretch!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Product image/gallery is always the first visible element. */
body.single-product .woocommerce div.product div.images{
  order:1!important;
  float:none!important;
  position:static!important;
  width:100%!important;
  max-width:560px!important;
  margin:0 auto!important;
  padding:0!important;
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper{
  margin:0!important;
  padding:18px!important;
  border:1px solid var(--isp27-line)!important;
  border-radius:18px!important;
  background:#fffdf8!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a{
  display:block!important;
  width:100%!important;
  margin:0!important;
}
body.single-product .woocommerce div.product div.images img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:500px!important;
  max-height:390px!important;
  margin:0 auto!important;
  object-fit:contain!important;
  border:0!important;
  border-radius:12px!important;
  background:#fffdf8!important;
  box-shadow:none!important;
}
body.single-product .woocommerce div.product .woocommerce-product-gallery__trigger{
  top:12px!important;
  right:12px!important;
}

/* Summary is one readable column under the image. */
body.single-product .woocommerce div.product div.summary{
  order:2!important;
  float:none!important;
  width:100%!important;
  max-width:760px!important;
  margin:0 auto!important;
  padding:0!important;
  display:block!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.single-product .woocommerce div.product .product_title{
  margin:0 0 8px!important;
  font-size:clamp(34px,4.4vw,50px)!important;
  line-height:1.02!important;
  letter-spacing:-.05em!important;
  color:var(--isp27-ink)!important;
}
body.single-product .woocommerce div.product .summary .price{
  margin:0 0 14px!important;
  color:#9b5810!important;
  font-size:28px!important;
  line-height:1.2!important;
  font-weight:950!important;
}
body.single-product .woocommerce-product-details__short-description{
  max-width:680px!important;
  margin:0 0 20px!important;
  color:var(--isp27-muted)!important;
  font-size:16px!important;
  line-height:1.62!important;
}
body.single-product .woocommerce div.product .product_meta{
  display:none!important;
}

/* One purchase form, no inner columns and no nested card effect. */
body.single-product .woocommerce div.product form.cart{
  width:100%!important;
  max-width:none!important;
  margin:20px 0 0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  border:0!important;
  border-top:1px solid var(--isp27-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.single-product .woocommerce div.product form.cart > *,
body.single-product .woocommerce div.product form.cart .wc-pao-addons-container,
body.single-product .woocommerce div.product form.cart .wc-pao-addon,
body.single-product .woocommerce div.product form.cart .product-addon,
body.single-product .woocommerce div.product form.cart .product-addons,
body.single-product .woocommerce div.product form.cart .insyncpet-personalisation,
body.single-product .woocommerce div.product form.cart .insyncpet-personalization,
body.single-product .woocommerce div.product form.cart .insyncpet-personalisation-details,
body.single-product .woocommerce div.product form.cart .isp-personalisation,
body.single-product .woocommerce div.product form.cart .personalisation-details,
body.single-product .woocommerce div.product form.cart fieldset,
body.single-product .woocommerce div.product form.cart .isp22-tag-details-panel,
body.single-product .woocommerce div.product form.cart .isp22-personalisation{
  order:initial!important;
  flex:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:18px 0!important;
  border:0!important;
  border-bottom:1px solid var(--isp27-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.single-product .woocommerce div.product form.cart fieldset:last-of-type,
body.single-product .woocommerce div.product form.cart .isp22-tag-details-panel:last-of-type{
  border-bottom:1px solid var(--isp27-line)!important;
}
body.single-product .woocommerce div.product form.cart label{
  color:var(--isp27-ink)!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:850!important;
}
body.single-product .woocommerce div.product form.cart :is(input[type="text"],input[type="email"],input[type="tel"],select,textarea){
  width:100%!important;
  max-width:none!important;
  min-height:50px!important;
  margin-top:7px!important;
  padding:11px 13px!important;
  border:1px solid #d8c8b4!important;
  border-radius:10px!important;
  background:#fff!important;
  font-size:16px!important;
  box-shadow:none!important;
}
body.single-product .woocommerce div.product form.cart input[type="checkbox"]{
  width:20px!important;
  height:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
}
body.single-product .isp22-blank-choice{
  margin-top:10px!important;
  padding:11px 12px!important;
  border:1px solid var(--isp27-line)!important;
  border-radius:10px!important;
  background:#fffdf8!important;
}

/* Quantity + main button are one final row, not another box. */
body.single-product form.cart .insyncpet-buy-row,
body.single-product .woocommerce div.product form.cart .insyncpet-buy-row{
  order:100!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:20px 0 0!important;
  display:grid!important;
  grid-template-columns:120px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:stretch!important;
  border:0!important;
  background:transparent!important;
}
body.single-product form.cart .insyncpet-buy-row .quantity,
body.single-product .woocommerce div.product form.cart .insyncpet-buy-row .quantity{
  width:120px!important;
  max-width:120px!important;
  margin:0!important;
}
body.single-product form.cart .insyncpet-buy-row .quantity .qty{
  width:100%!important;
  min-height:54px!important;
  margin:0!important;
  text-align:center!important;
}
body.single-product form.cart .insyncpet-buy-row .single_add_to_cart_button,
body.single-product .woocommerce div.product form.cart .insyncpet-buy-row .single_add_to_cart_button{
  width:100%!important;
  min-width:0!important;
  min-height:54px!important;
  margin:0!important;
  padding:13px 18px!important;
  border:0!important;
  border-radius:11px!important;
  background:linear-gradient(135deg,#ad6113,#d98b15)!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:950!important;
  box-shadow:none!important;
}

/* Description / reviews sit below as a normal content section, not side columns. */
body.single-product .woocommerce div.product .woocommerce-tabs{
  order:3!important;
  width:100%!important;
  max-width:760px!important;
  margin:24px auto 0!important;
  padding:24px 0 0!important;
  border:0!important;
  border-top:1px solid var(--isp27-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0 0 18px!important;
  padding:0!important;
  border:0!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs:before,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li:before,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none!important}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#f2e7d6!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block!important;
  padding:9px 13px!important;
  color:#5f4b37!important;
  font-size:12px!important;
  font-weight:850!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background:var(--isp27-navy)!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
body.single-product .woocommerce div.product .woocommerce-tabs .panel{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  color:var(--isp27-muted)!important;
  font-size:15px!important;
  line-height:1.65!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs .shop_attributes{
  width:100%!important;
  border-collapse:collapse!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs .shop_attributes th,
body.single-product .woocommerce div.product .woocommerce-tabs .shop_attributes td{
  display:block!important;
  width:100%!important;
  padding:8px 0!important;
  border:0!important;
  border-bottom:1px solid var(--isp27-line)!important;
  background:transparent!important;
  text-align:left!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs .shop_attributes th{padding-bottom:2px!important;color:var(--isp27-ink)!important}

body.single-product .related.products,
body.single-product .upsells.products{
  order:4!important;
  width:100%!important;
  max-width:860px!important;
  margin:34px auto 0!important;
  padding-top:28px!important;
  border-top:1px solid var(--isp27-line)!important;
}
body.single-product .related.products ul.products,
body.single-product .upsells.products ul.products{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}

@media(max-width:760px){
  body.single-product .isp27-single-product-flow{width:calc(100% - 24px)!important;padding:22px 0 48px!important}
  body.single-product .woocommerce div.product{gap:18px!important}
  body.single-product .woocommerce div.product div.images{max-width:100%!important}
  body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper{padding:12px!important;border-radius:14px!important}
  body.single-product .woocommerce div.product div.images img{max-height:300px!important}
  body.single-product .woocommerce div.product .product_title{font-size:36px!important}
  body.single-product .woocommerce div.product .summary .price{font-size:25px!important}
  body.single-product .woocommerce-product-details__short-description{font-size:15px!important}
  body.single-product form.cart .insyncpet-buy-row,
  body.single-product .woocommerce div.product form.cart .insyncpet-buy-row{grid-template-columns:1fr!important}
  body.single-product form.cart .insyncpet-buy-row .quantity,
  body.single-product .woocommerce div.product form.cart .insyncpet-buy-row .quantity{width:100%!important;max-width:none!important}
  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products{grid-template-columns:1fr!important}
}
