/* Venofins Fish v4.27.4 — single-product page layout, not overlays upon v4.27.2.
   The previous product layout used CSS Grid AND 47/49% child widths, making both
   gallery and summary half-size. Both grid items now fill their own columns. */
body.single-product .nusa-site-shell {
 --vf-pd-line:#E4E9E5;
 --vf-pd-sub:#65736B;
 --vf-pd-surface:#F7F8F7;
 --vf-pd-radius:12px;
}
body.single-product .nusa-site-shell #main,
body.single-product .nusa-site-shell .site-main {
 --theme-content-vertical-spacing:22px;
}
body.single-product .nusa-site-shell #main :is(.ct-container,.ct-woocommerce-container),
body.single-product .nusa-site-shell #main > .ct-container {
 width:min(1480px,calc(100% - 46px)) !important;
 max-width:1480px !important;
 margin-left:auto!important;
 margin-right:auto!important;
}
body.single-product .nusa-site-shell #main .ct-container[data-vertical-spacing] {
 padding-top:20px!important;
}
body.single-product .nusa-site-shell :is(.woocommerce-breadcrumb,.ct-breadcrumbs) {
 margin:0 0 24px!important;
 padding:0!important;
 font:500 13px/1.5 Inter,Arial,sans-serif!important;
 letter-spacing:0!important;
 text-transform:none!important;
 color:#7D8780!important;
}
body.single-product .nusa-site-shell :is(.woocommerce-breadcrumb,.ct-breadcrumbs) a {
 color:#6B786F!important;
}
body.single-product .nusa-site-shell :is(.woocommerce-breadcrumb,.ct-breadcrumbs) a:hover {
 color:var(--vf-green)!important;
}
/* Real Blocksy single product wrapper, full-size two-column layout. */
@media(min-width:981px){
 body.single-product .nusa-site-shell .product-entry-wrapper {
  display:grid!important;
  grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr)!important;
  gap:clamp(24px,2.5vw,44px)!important;
  align-items:start!important;
  width:100%!important;
 }
 body.single-product .nusa-site-shell .ct-woo-single-layout:not(:has(.product-entry-wrapper)) {
  display:grid!important;
  grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr)!important;
  gap:clamp(24px,2.5vw,44px)!important;
  align-items:start!important;
 }
 /* Key fix: fill the existing grid tracks, don't halve the item widths! */
 body.single-product .nusa-site-shell .product-entry-wrapper :is(.woocommerce-product-gallery,.ct-product-gallery-container,.ct-woo-gallery,.entry-summary,.summary),
 body.single-product .nusa-site-shell div.product > :is(.woocommerce-product-gallery,.summary),
 body.single-product .nusa-site-shell div.product .product-entry-wrapper > :is(.woocommerce-product-gallery,.summary) {
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  float:none!important;
 }
}
/* Gallery should occupy the full left column, with discrete thumbs to the left. */
body.single-product .nusa-site-shell :is(.woocommerce-product-gallery,.ct-product-gallery-container,.ct-woo-gallery){
 background:transparent!important;
 border:none!important;
 padding:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 min-width:0!important;
}
body.single-product .nusa-site-shell .woocommerce-product-gallery__wrapper,
body.single-product .nusa-site-shell .woocommerce-product-gallery .flex-viewport{
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 margin:0!important;
 border:1px solid var(--vf-pd-line)!important;
 border-radius:12px!important;
 padding:7px!important;
 background:#fff!important;
 box-shadow:none!important;
 overflow:hidden!important;
}
body.single-product .nusa-site-shell .woocommerce-product-gallery__image,
body.single-product .nusa-site-shell .woocommerce-product-gallery__image a {
 display:block!important;
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 margin:0!important;
 border-radius:9px!important;
 overflow:hidden!important;
 background:#F6F7F6!important;
}
body.single-product .nusa-site-shell .woocommerce-product-gallery__image img,
body.single-product .nusa-site-shell .woocommerce-product-gallery__wrapper img,
body.single-product .nusa-site-shell .ct-product-gallery-container .ct-image-container img,
body.single-product .nusa-site-shell .ct-product-gallery-container img.wp-post-image{
 display:block!important;
 width:100%!important;
 height:auto!important;
 max-width:100%!important;
 max-height:520px!important;
 margin:0 auto!important;
 object-fit:contain!important;
 object-position:center!important;
 border-radius:9px!important;
 box-shadow:none!important;
}
body.single-product .nusa-site-shell .woocommerce-product-gallery .flex-control-thumbs{
 display:flex!important;
 flex-wrap:wrap!important;
 align-content:flex-start!important;
 gap:9px!important;
 list-style:none!important;
 padding:0!important;
 margin:12px 0 0!important;
}
body.single-product .nusa-site-shell .woocommerce-product-gallery .flex-control-thumbs li{
 flex:none!important;
 width:82px!important;
 margin:0!important;
 padding:4px!important;
 border:1px solid var(--vf-pd-line)!important;
 border-radius:9px!important;
 overflow:hidden!important;
 background:#fff!important;
 float:none!important;
}
body.single-product .nusa-site-shell .woocommerce-product-gallery .flex-control-thumbs img{
 display:block!important;
 width:100%!important;
 height:78px!important;
 object-fit:contain!important;
 border-radius:6px!important;
 cursor:pointer;
}
body.single-product .nusa-site-shell .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
body.single-product .nusa-site-shell .woocommerce-product-gallery .flex-control-thumbs img:hover {
 opacity:1!important;
 outline:2px solid var(--vf-green)!important;
 outline-offset:-2px!important;
}
/* Left thumbnail rail, like the reference: NO negative margin or half-width gallery. */
@media(min-width:981px){
 body.single-product .nusa-site-shell .woocommerce-product-gallery:has(.flex-control-thumbs){
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  gap:11px!important;
  align-items:start!important;
 }
 body.single-product .nusa-site-shell .woocommerce-product-gallery:has(.flex-control-thumbs) > :is(.flex-viewport,.woocommerce-product-gallery__wrapper){
  grid-column:2!important;
  grid-row:1!important;
 }
 body.single-product .nusa-site-shell .woocommerce-product-gallery:has(.flex-control-thumbs) > .flex-control-thumbs{
  grid-column:1!important;
  grid-row:1!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  margin:0!important;
 }
 body.single-product .nusa-site-shell .woocommerce-product-gallery:has(.flex-control-thumbs) > .flex-control-thumbs li{width:78px!important}
}
/* Product summary: full-width, airy rhythm; no manual linebreak tricks. */
body.single-product .nusa-site-shell :is(.entry-summary,.summary){
 width:100%!important;
 max-width:none!important;
 min-width:0!important;
 margin:0!important;
 padding:0!important;
 color:#303C35!important;
}
body.single-product .nusa-site-shell :is(.entry-summary,.summary) h1.product_title,
body.single-product .nusa-site-shell :is(.entry-summary,.summary) .product_title {
 display:block!important;
 width:100%!important;
 max-width:none!important;
 margin:0 0 19px!important;
 padding:0!important;
 font:700 clamp(28px,2.4vw,38px)/1.25 Inter,Poppins,Arial,sans-serif!important;
 letter-spacing:-.65px!important;
 word-break:normal!important;
 overflow-wrap:break-word!important;
 color:#273B31!important;
}
body.single-product .nusa-site-shell :is(.entry-summary,.summary) > .price,
body.single-product .nusa-site-shell :is(.entry-summary,.summary) p.price,
body.single-product .nusa-site-shell .woocommerce-variation-price .price{
 margin:0 0 21px!important;
 font:700 clamp(22px,1.7vw,29px)/1.36 Inter,Poppins,sans-serif!important;
 letter-spacing:0!important;
 color:var(--vf-green)!important;
}
body.single-product .nusa-site-shell .price del {color:#909B92!important;font-weight:500!important;font-size:.8em!important}
body.single-product .nusa-site-shell .price ins {text-decoration:none!important;color:var(--vf-green)!important}
body.single-product .nusa-site-shell .woocommerce-product-details__short-description {
 display:block!important;
 width:100%!important;
 max-width:100%!important;
 margin:0 0 22px!important;
 padding:0!important;
 color:var(--vf-pd-sub)!important;
 font:400 15px/1.76 Inter,Poppins,sans-serif!important;
 letter-spacing:0!important;
}
body.single-product .nusa-site-shell .woocommerce-product-details__short-description p,
body.single-product .nusa-site-shell .woocommerce-product-details__short-description li{
 margin:0 0 13px!important;
 line-height:1.76!important;
}
body.single-product .nusa-site-shell .woocommerce-product-details__short-description :is(h2,h3){font-size:17px!important;line-height:1.45!important}
body.single-product .nusa-site-shell .vf-single-shipping-hint {
 display:flex!important;
 align-items:center!important;
 gap:12px!important;
 min-height:64px!important;
 margin:23px 0!important;
 padding:14px 18px!important;
 border:1px dashed #D6E1D8!important;
 border-radius:9px!important;
 background:#FBFCFB!important;
 color:#748077!important;
 font:400 14px/1.5 Inter,Poppins,sans-serif!important;
}
body.single-product .nusa-site-shell .vf-single-shipping-hint strong,
body.single-product .nusa-site-shell .vf-single-shipping-hint b {font-weight:700!important;color:var(--vf-green)!important}
body.single-product .nusa-site-shell .vf-single-shipping-hint .woocommerce-Price-amount{font:inherit!important;color:inherit!important}
body.single-product .nusa-site-shell .vf-single-shipping-icon{display:inline-grid!important;place-items:center!important;flex:none!important;min-width:24px!important;font-size:20px!important;line-height:1!important}
body.single-product .nusa-site-shell :is(.summary,.entry-summary) p.stock,
body.single-product .nusa-site-shell :is(.summary,.entry-summary) .available-on-backorder{
 display:inline-flex!important;
 gap:7px!important;
 align-items:center!important;
 width:auto!important;
 margin:3px 0 14px!important;
 padding:7px 12px!important;
 border:1px solid #CFDFC8!important;
 border-radius:7px!important;
 background:#F5FAF4!important;
 font:600 13px/1.4 Inter,sans-serif!important;
 color:var(--vf-green)!important;
}
body.single-product .nusa-site-shell p.stock.out-of-stock{border-color:#F4D9D0!important;background:#FFF6F2!important;color:#B54B2D!important}
body.single-product .nusa-site-shell :is(form.cart,.variations_form){margin:15px 0 20px!important}
body.single-product .nusa-site-shell .variations {border:0!important;width:100%!important;margin:0 0 16px!important;border-collapse:separate!important;border-spacing:0 7px!important}
body.single-product .nusa-site-shell .variations :is(th,td){border:0!important;text-align:left!important;vertical-align:middle!important;padding:6px 11px 6px 0!important}
body.single-product .nusa-site-shell .variations label{font:650 14px/1.4 Inter,sans-serif!important;color:#405347!important}
body.single-product .nusa-site-shell .variations select{
 width:min(100%,400px)!important;max-width:100%!important;min-height:46px!important;
 border:1px solid #DAE4DB!important;border-radius:8px!important;
 background:#fff!important;color:var(--vf-text)!important;
 font:500 14px/1.4 Inter,sans-serif!important;padding:9px 13px!important;
 box-shadow:none!important;
}
body.single-product .nusa-site-shell .reset_variations{color:var(--vf-green)!important;font:500 12px/1.4 Inter,sans-serif!important}
body.single-product .nusa-site-shell :is(.single_variation_wrap,.woocommerce-variation){margin:10px 0!important}
body.single-product .nusa-site-shell .quantity {
 display:inline-flex!important;
 align-items:center!important;
 min-height:46px!important;
 margin:0 9px 8px 0!important;
 border:1px solid #E0E8E1!important;border-radius:8px!important;
 background:#fff!important;overflow:hidden!important;
}
body.single-product .nusa-site-shell .quantity .qty{
 width:68px!important;min-height:45px!important;height:45px!important;
 padding:5px!important;border:0!important;text-align:center!important;
 font:600 15px Inter,sans-serif!important;background:#fff!important;
}
body.single-product .nusa-site-shell button.single_add_to_cart_button{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 min-height:46px!important;padding:10px 24px!important;
 border:0!important;border-radius:8px!important;
 background:var(--vf-green)!important;color:#fff!important;
 font:700 14px Inter,sans-serif!important;box-shadow:none!important;
}
body.single-product .nusa-site-shell button.single_add_to_cart_button:hover{background:var(--vf-deep)!important}
body.single-product .nusa-site-shell button.single_add_to_cart_button.disabled{opacity:.55!important;cursor:not-allowed!important}
body.single-product .nusa-site-shell .product_meta{
 margin:22px 0 0!important;padding:18px 0 0!important;
 border-top:1px solid #E5ECE6!important;color:#819084!important;
 font:500 12px/1.7 Inter,sans-serif!important;
}
body.single-product .nusa-site-shell .product_meta a{color:var(--vf-green)!important}
body.single-product .nusa-site-shell :is(.woocommerce-tabs,.ct-woo-tabs,.related.products,.up-sells){margin-top:40px!important}
body.single-product .nusa-site-shell :is(.woocommerce-tabs,.related.products,.up-sells) h2{
 font:700 23px/1.35 Inter,Poppins,sans-serif!important;color:var(--vf-deep)!important;
}
/* Tablet: balanced, readable columns. */
@media(min-width:721px) and (max-width:980px){
 body.single-product .nusa-site-shell .product-entry-wrapper{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:22px!important;
 }
 body.single-product .nusa-site-shell .product-entry-wrapper :is(.woocommerce-product-gallery,.ct-product-gallery-container,.ct-woo-gallery,.entry-summary,.summary){
  width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;float:none!important;
 }
 body.single-product .nusa-site-shell :is(.entry-summary,.summary) h1.product_title{font-size:27px!important;line-height:1.3!important}
 body.single-product .nusa-site-shell .woocommerce-product-details__short-description{font-size:14px!important;line-height:1.66!important}
 body.single-product .nusa-site-shell .woocommerce-product-gallery__image img{max-height:540px!important}
}
/* Mobile: image full width, summary underneath. */
@media(max-width:720px){
 body.single-product .nusa-site-shell #main :is(.ct-container,.ct-woocommerce-container){width:calc(100% - 26px)!important;max-width:100%!important}
 body.single-product .nusa-site-shell #main .ct-container[data-vertical-spacing]{padding-top:12px!important}
 body.single-product .nusa-site-shell .product-entry-wrapper{display:block!important}
 body.single-product .nusa-site-shell :is(.woocommerce-product-gallery,.ct-product-gallery-container,.ct-woo-gallery,.entry-summary,.summary),
 body.single-product .nusa-site-shell div.product > :is(.woocommerce-product-gallery,.summary){
  width:100%!important;max-width:100%!important;min-width:0!important;
  margin:0 0 22px!important;float:none!important;
 }
 body.single-product .nusa-site-shell :is(.entry-summary,.summary) h1.product_title{font-size:clamp(24px,6vw,30px)!important;line-height:1.29!important;letter-spacing:-.3px!important}
 body.single-product .nusa-site-shell :is(.entry-summary,.summary) > .price{font-size:23px!important;margin-bottom:18px!important}
 body.single-product .nusa-site-shell .woocommerce-product-details__short-description{font-size:14px!important;line-height:1.73!important}
 body.single-product .nusa-site-shell .woocommerce-product-gallery__image img{max-height:490px!important;width:100%!important}
 body.single-product .nusa-site-shell .vf-single-shipping-hint{padding:12px!important;font-size:12.5px!important;min-height:56px!important}
 body.single-product .nusa-site-shell .variations :is(th,td){display:block!important;width:100%!important;padding:4px 0!important}
 body.single-product .nusa-site-shell .variations select{width:100%!important}
 body.single-product .nusa-site-shell :is(.woocommerce-breadcrumb,.ct-breadcrumbs){font-size:11px!important;margin-bottom:14px!important}
}

/* v4.27.4: well-balanced gallery and vertical thumbnails on the LEFT. */
@media(min-width:981px){
 body.single-product .nusa-site-shell .product-entry-wrapper{
  grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr)!important;
  column-gap:clamp(28px,2.5vw,42px)!important;
 }
 body.single-product .nusa-site-shell :is(.woocommerce-product-gallery,.ct-product-gallery-container,.ct-woo-gallery){
  max-width:575px!important;
 }
 body.single-product .nusa-site-shell .woocommerce-product-gallery:has(.flex-control-thumbs){
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr)!important;
  grid-template-rows:minmax(0,max-content)!important;
  gap:11px!important;
  align-items:start!important;
 }
 body.single-product .nusa-site-shell .woocommerce-product-gallery:has(.flex-control-thumbs) > :is(.flex-viewport,.woocommerce-product-gallery__wrapper){
  grid-column:2!important;grid-row:1!important;
  min-width:0!important;
 }
 body.single-product .nusa-site-shell .woocommerce-product-gallery:has(.flex-control-thumbs) > .flex-control-thumbs{
  grid-column:1!important;grid-row:1!important;
  display:flex!important;flex-flow:column nowrap!important;gap:10px!important;
  align-self:start!important;max-width:78px!important;width:78px!important;
  padding:0!important;margin:0!important;position:relative!important;
 }
 body.single-product .nusa-site-shell .woocommerce-product-gallery:has(.flex-control-thumbs) > .flex-control-thumbs li{
  flex:none!important;width:78px!important;height:78px!important;padding:4px!important;
 }
 body.single-product .nusa-site-shell .woocommerce-product-gallery:has(.flex-control-thumbs) > .flex-control-thumbs li img{
  height:68px!important;object-fit:contain!important;
 }
 body.single-product .nusa-site-shell .woocommerce-product-gallery .woocommerce-product-gallery__trigger{
  position:absolute!important;right:10px!important;top:10px!important;z-index:5!important;
 }
}
@media(min-width:721px) and (max-width:980px){
 body.single-product .nusa-site-shell .product-entry-wrapper{
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)!important;
 }
 body.single-product .nusa-site-shell :is(.woocommerce-product-gallery,.ct-product-gallery-container,.ct-woo-gallery){max-width:500px!important}
}
@media(max-width:720px){
 body.single-product .nusa-site-shell .woocommerce-product-gallery__image img,
 body.single-product .nusa-site-shell .woocommerce-product-gallery__wrapper img{
  max-height:465px!important;
 }
}
