/* Venofins Fish 4.28.7 — CLEAN desktop product composition.
 * Supersedes 4.28.5 and 4.28.6 (neither is enqueued).
 * Uses native WooCommerce variation/quantity/stock workflows unchanged.
 */
@media (min-width: 981px) {
  /* The product starts directly below the site navigation. The Blocksy outer
     breadcrumb row is removed by the companion script, not given its own gap. */
  body.single-product .nusa-site-shell :is(#main,.site-main){
    --theme-content-vertical-spacing:0px!important;
    --theme-content-spacing:0px!important;
    margin-block-start:0!important;
    padding-block-start:0!important;
  }
  body.single-product .nusa-site-shell #main > .ct-container,
  body.single-product .nusa-site-shell #main .ct-container[data-vertical-spacing],
  body.single-product .nusa-site-shell .site-main > .ct-container,
  body.single-product .nusa-site-shell #main .ct-woocommerce-container,
  body.single-product .nusa-site-shell .site-main > .ct-woocommerce-container{
    --theme-content-vertical-spacing:0px!important;
    margin-block-start:0!important;
    padding-block-start:26px!important;
  }
  body.single-product .nusa-site-shell :is(#main,.site-main) :is(.product,.type-product,.product-entry-wrapper,.ct-woo-single-layout){
    margin-block-start:0!important;
  }
  /* The sole product breadcrumb is in .summary. Hide every outer Blocksy/WC
     breadcrumb even before JS removes its otherwise empty row. */
  body.single-product .nusa-site-shell :is(.woocommerce-breadcrumb,.ct-breadcrumbs){
    display:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  body.single-product .nusa-site-shell :is(.summary,.entry-summary) > :is(.woocommerce-breadcrumb,.ct-breadcrumbs){
    display:block!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 16px!important;
    padding:0!important;
    max-width:100%!important;
    color:#64746D!important;
    font:500 15px/1.5 Manrope,Inter,Arial,sans-serif!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }
  body.single-product .nusa-site-shell :is(.summary,.entry-summary) > :is(.woocommerce-breadcrumb,.ct-breadcrumbs) a{
    color:#586D63!important;
    text-decoration:none!important;
  }
  body.single-product .nusa-site-shell :is(.summary,.entry-summary) > :is(.woocommerce-breadcrumb,.ct-breadcrumbs) a:hover{color:#3B7059!important;}
  body.single-product .nusa-site-shell .product-entry-wrapper,
  body.single-product .nusa-site-shell .ct-woo-single-layout {
    display: grid !important;
    grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr) !important;
    column-gap: clamp(24px, 2vw, 34px) !important;
    align-items: start !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  body.single-product .nusa-site-shell .product-entry-wrapper > :is(.woocommerce-product-gallery,.ct-product-gallery-container,.ct-woo-gallery,.summary,.entry-summary),
  body.single-product .nusa-site-shell .ct-woo-single-layout > :is(.woocommerce-product-gallery,.ct-product-gallery-container,.ct-woo-gallery,.summary,.entry-summary) {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    float: none !important;
  }
  /* Gallery retains left side thumbnails and enough size without taking extra height. */
  body.single-product .nusa-site-shell :is(.woocommerce-product-gallery,.ct-product-gallery-container,.ct-woo-gallery) {
    max-width: 615px !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 img.wp-post-image {
    max-height: 510px !important;
    object-fit: contain !important;
  }
  /* Right-column breadcrumb typography is defined once above. */
  body.single-product .nusa-site-shell :is(.entry-summary,.summary) h1.product_title {
    margin: 0 0 8px !important;
    font: 750 clamp(25px, 1.88vw, 31px)/1.16 Manrope,Inter,Arial,sans-serif !important;
    letter-spacing: -.6px !important;
  }
  body.single-product .nusa-site-shell :is(.entry-summary,.summary) > :is(p.price,.price) {
    margin: 0 0 10px !important;
    font: 750 clamp(22px, 1.55vw, 26px)/1.15 Manrope,Inter,Arial,sans-serif !important;
  }
  body.single-product .nusa-site-shell .woocommerce-product-details__short-description {
    margin: 0 0 4px !important;
    padding: 0 !important;
    font: 400 13.5px/1.43 Inter,Arial,sans-serif !important;
  }
  body.single-product .nusa-site-shell .woocommerce-product-details__short-description :is(p,ul,ol) {
    margin: 0 0 4px !important;
    line-height: 1.43 !important;
  }
  body.single-product .nusa-site-shell .woocommerce-product-details__short-description.vf-compact-excerpt:not(.vf-compact-expanded) {
    max-height: 43px !important;
    overflow: hidden !important;
    mask-image: linear-gradient(to bottom,#000 65%,transparent) !important;
  }
  body.single-product .nusa-site-shell .vf-compact-more {
    display: inline-block !important;
    background: transparent !important;
    color: #35684e !important;
    border: 0 !important;
    padding: 3px 0 !important;
    margin: 0 0 6px !important;
    font: 700 12px/1.35 Manrope,Arial,sans-serif !important;
    cursor: pointer !important;
  }
  body.single-product .nusa-site-shell .vf-single-shipping-hint {
    min-height: 38px !important;
    margin: 5px 0 8px !important;
    padding: 6px 11px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  /* Reset the WHOLE WooCommerce variation table. 4.28.6 styled a <tr> as
     flex within a native table, which allowed Blocksy table sizing to add
     >200px empty space between label and select. */
  body.single-product .nusa-site-shell form.variations_form,
  body.single-product .nusa-site-shell form.cart {
    margin: 4px 0 6px !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
  }
  body.single-product .nusa-site-shell form.variations_form table.variations,
  body.single-product .nusa-site-shell form.variations_form table.variations tbody {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    table-layout: auto !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    border: 0 !important;
    border-spacing: 0 !important;
    background: transparent !important;
  }
  body.single-product .nusa-site-shell form.variations_form table.variations tr {
    display: grid !important;
    grid-template-columns: 88px minmax(0,1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }
  body.single-product .nusa-site-shell form.variations_form table.variations :is(th,td),
  body.single-product .nusa-site-shell form.variations_form table.variations :is(th.label,td.value) {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
    text-align: left !important;
    vertical-align: middle !important;
    align-self: center !important;
  }
  body.single-product .nusa-site-shell form.variations_form table.variations label {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    font: 750 13px/1.35 Manrope,Inter,Arial,sans-serif !important;
  }
  body.single-product .nusa-site-shell form.variations_form table.variations td.value {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  body.single-product .nusa-site-shell form.variations_form table.variations select {
    width: min(100%,360px) !important;
    max-width: 360px !important;
    min-width: 150px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 7px 12px !important;
    flex: 1 1 auto !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    box-shadow: none !important;
  }
  body.single-product .nusa-site-shell form.variations_form .reset_variations {
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    font-size: 12px !important;
  }
  /* Native variation content is allowed to decide visibility (do not force display). */
  body.single-product .nusa-site-shell form.variations_form .single_variation_wrap,
  body.single-product .nusa-site-shell form.variations_form .single_variation,
  body.single-product .nusa-site-shell form.variations_form .woocommerce-variation {
    margin: 3px 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
  }
  body.single-product .nusa-site-shell .woocommerce-variation-price :is(.price,p.price) {
    font-size: 20px !important;
    line-height: 1.18 !important;
    margin: 1px 0 3px !important;
  }
  body.single-product .nusa-site-shell :is(.single_variation_wrap,.woocommerce-variation-availability,.summary) p.stock {
    margin: 2px 0 5px !important;
    padding: 4px 8px !important;
  }
  body.single-product .nusa-site-shell .woocommerce-variation-add-to-cart {
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    margin: 4px 0 !important;
    min-height: 0 !important;
  }
  body.single-product .nusa-site-shell .vf-single-list-actions {
    margin: 5px 0 10px !important;
    padding: 0 !important;
  }
  /* Collapse long variation-specific prose in an optional disclosure below buy buttons. */
  body.single-product.vf-compact-ready .nusa-site-shell form.variations_form .woocommerce-variation-description {
    display: none !important;
  }
  body.single-product .nusa-site-shell .vf-variation-more {
    margin: 3px 0 14px !important;
    padding: 0 !important;
    font: 400 12.5px/1.5 Inter,Arial,sans-serif !important;
  }
  body.single-product .nusa-site-shell .vf-variation-more summary {
    cursor: pointer !important;
    color: #35684e !important;
    font-weight: 750 !important;
    padding: 3px 0 !important;
  }
  body.single-product .nusa-site-shell .vf-variation-more[open] {
    padding: 9px 12px !important;
    border: 1px solid #DFE8E0 !important;
    border-radius: 9px !important;
  }
}
@media (min-width:981px) and (max-width:1160px) {
  body.single-product .nusa-site-shell .product-entry-wrapper {
    grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr) !important;
  }
  body.single-product .nusa-site-shell form.variations_form table.variations tr {
    grid-template-columns: 72px minmax(0,1fr) !important;
    gap: 8px !important;
  }
}
