/* EKOTEKS v12.8 | Unified product detail page.
   Scoped exclusively to the WooCommerce single-product template.
   No checkout, payment, shipping, prices or cart calculation overrides. */

body.single-product #ek-main.ek-commerce > .container{
  max-width:1320px;
}
body.single-product #ek-main .breadcrumb{
  margin:17px 0 19px;
  gap:9px;
  font-size:11px;
  color:#658071;
  line-height:1.5;
  overflow-wrap:anywhere;
}
body.single-product #ek-main .breadcrumb b{font-weight:650;color:#305945}
body.single-product .ek-wc-main.ek-is-product{min-width:0;}
body.single-product .ek-wc-main.ek-is-product > div.product{
  display:grid!important;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
  align-items:start!important;
  column-gap:clamp(17px,2.2vw,30px)!important;
  row-gap:23px!important;
  margin:2px auto 34px!important;
  padding:0!important;
  max-width:1270px;
  min-width:0;
  background:transparent;
}
body.single-product .ek-wc-main.ek-is-product > div.product::before,
body.single-product .ek-wc-main.ek-is-product > div.product::after{display:none!important;}

/* Single-item photo gallery, with genuine WooCommerce thumbnails when present. */
body.single-product .ek-wc-main.ek-is-product div.product > .woocommerce-product-gallery{
  grid-column:1!important;grid-row:1!important;
  float:none!important;width:100%!important;min-width:0!important;
  margin:0!important;padding:clamp(11px,1.5vw,20px)!important;
  display:grid!important;grid-template-columns:61px minmax(0,1fr)!important;
  gap:11px!important;align-items:start;
  border:1px solid #e1e9de;
  border-radius:25px;
  background:linear-gradient(145deg,#fffefa 0%,#fffdf9 67%,#f0f5ec 100%);
  box-shadow:0 12px 30px rgba(25,60,42,.047);
  overflow:visible;
}
body.single-product .ek-wc-main.ek-is-product div.product > .woocommerce-product-gallery:not(:has(.flex-control-nav)){
  grid-template-columns:minmax(0,1fr)!important;
}
body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .flex-viewport,
body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper{
  grid-column:2;grid-row:1;min-width:0!important;
  border:0!important;border-radius:20px!important;
  background:#fff!important;
  max-height:485px!important;
  overflow:hidden!important;
}
body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery:not(:has(.flex-control-nav)) .flex-viewport,
body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery:not(:has(.flex-control-nav)) > .woocommerce-product-gallery__wrapper{
  grid-column:1!important;
}
body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .woocommerce-product-gallery__image{
  width:100%;min-width:0;
}
body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .woocommerce-product-gallery__image img{
  display:block!important;
  width:100%!important;height:clamp(320px,31vw,454px)!important;
  max-height:454px!important;object-fit:contain!important;
  padding:clamp(10px,1.3vw,21px)!important;
  border:0!important;margin:0!important;
  background:#fff!important;
}
body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .flex-control-nav{
  grid-column:1;grid-row:1;
  display:flex!important;flex-direction:column!important;
  width:61px!important;max-width:61px!important;
  gap:9px!important;margin:0!important;padding:0!important;
  list-style:none!important;overflow:visible;
}
body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .flex-control-nav li{
  width:61px!important;max-width:61px!important;height:65px!important;
  overflow:hidden;border:1px solid #e0e8dd!important;
  border-radius:12px!important;background:#fff!important;
  margin:0!important;padding:4px!important;
}
body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .flex-control-nav img{
  width:100%!important;height:100%!important;
  display:block!important;object-fit:contain!important;
  opacity:.78;
}
body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .flex-control-nav img.flex-active{
  opacity:1;outline:2px solid #83a95a;outline-offset:-2px;
  border-radius:8px;
}
body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery > .woocommerce-product-gallery__trigger{
  position:absolute!important;z-index:6;
  top:27px!important;right:27px!important;left:auto!important;
  width:42px!important;height:42px!important;
  display:grid!important;place-items:center!important;
  border-radius:99px!important;
  background:rgba(255,255,253,.97)!important;
  border:1px solid #dfe9dc!important;
  box-shadow:0 4px 16px rgba(23,60,39,.10)!important;
}
body.single-product .ek-wc-main.ek-is-product div.product > span.onsale{
  position:absolute!important;z-index:8;
  top:14px!important;left:14px!important;
  border-radius:99px!important;
  padding:5px 11px!important;min-height:0!important;
  font-size:12px!important;background:#5c9436!important;
}

/* Compact editorial purchase panel. */
body.single-product .ek-wc-main.ek-is-product div.product > .summary{
  grid-column:2!important;grid-row:1!important;
  float:none!important;width:100%!important;min-width:0!important;
  margin:0!important;padding:clamp(20px,2.4vw,32px)!important;
  background:linear-gradient(155deg,#fffefa 0%,#fffdf9 71%,#f3f7ed 100%);
  border:1px solid #e1e9df;
  border-radius:25px;
  box-shadow:0 12px 30px rgba(25,60,42,.043);
}
body.single-product .ek-wc-main.ek-is-product .ek-pdp-brand{
  display:inline-flex;align-items:center;gap:9px;
  margin:0 0 11px;color:#4a7846;
  font-size:10px;line-height:1.35;letter-spacing:.16em;
  text-transform:uppercase;font-weight:850;
}
body.single-product .ek-wc-main.ek-is-product .ek-pdp-brand .ek-pdp-dot{
  width:7px;height:7px;flex:none;border-radius:100%;background:#8fb664;
  box-shadow:0 0 0 4px #eaf3df;
}
body.single-product .ek-wc-main.ek-is-product .ek-pdp-brand a:hover{text-decoration:underline;text-underline-offset:3px}
body.single-product .ek-wc-main.ek-is-product div.product .summary .product_title{
  margin:0 0 13px!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-weight:500!important;letter-spacing:-.044em!important;
  font-size:clamp(29px,2.55vw,39px)!important;
  line-height:1.13!important;
  color:#17442f!important;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
body.single-product .ek-wc-main.ek-is-product div.product .summary .woocommerce-product-rating{
  margin:2px 0 12px!important;display:flex;align-items:center;gap:11px;
  font-size:12px;
}
body.single-product .ek-wc-main.ek-is-product div.product .summary p.price,
body.single-product .ek-wc-main.ek-is-product div.product .summary .woocommerce-variation-price .price{
  margin:9px 0 14px!important;
  font-size:clamp(27px,2.25vw,33px)!important;
  font-weight:820!important;line-height:1.15!important;
  color:#132d22!important;letter-spacing:-.025em!important;
}
body.single-product .ek-wc-main.ek-is-product div.product .summary .price del{
  font-size:.58em!important;font-weight:500;letter-spacing:0;color:#7f9685;
}
body.single-product .ek-wc-main.ek-is-product div.product .summary .price ins{
  text-decoration:none;
}
body.single-product .ek-wc-main.ek-is-product div.product .summary .woocommerce-product-details__short-description{
  margin:0 0 16px!important;padding-top:12px;
  border-top:1px solid #e8eee6;
  font-size:13px!important;line-height:1.62!important;
  color:#587261!important;
  overflow-wrap:anywhere;
}
body.single-product .ek-wc-main.ek-is-product .summary .woocommerce-product-details__short-description p{
  margin:0 0 9px!important;
}
body.single-product .ek-wc-main.ek-is-product .summary .woocommerce-product-details__short-description p:last-child{margin-bottom:0!important;}
body.single-product .ek-wc-main.ek-is-product div.product form.cart:not(.variations_form):not(.grouped_form){
  display:flex!important;align-items:center!important;gap:10px!important;
  flex-wrap:wrap!important;
  margin:14px 0!important;padding:9px!important;
  border:1px solid #e1eadb;
  border-radius:17px;
  background:#f1f6e9;
}
body.single-product .ek-wc-main.ek-is-product div.product .summary .quantity{
  flex:0 0 auto!important;margin:0!important;
}
body.single-product .ek-wc-main.ek-is-product div.product .summary .quantity .qty{
  width:67px!important;min-width:54px!important;height:44px!important;
  min-height:44px!important;padding:8px 6px!important;
  border:1px solid #cadaC8!important;border-radius:13px!important;
  background:#fffefa!important;color:#143e2c!important;
  text-align:center;font-size:14px!important;
}
body.single-product .ek-wc-main.ek-is-product div.product form.cart button.single_add_to_cart_button{
  display:inline-flex!important;justify-content:center;align-items:center!important;
  flex:1 1 170px!important;min-width:150px!important;
  min-height:44px!important;margin:0!important;padding:10px 20px!important;
  background:#174d38!important;color:#fff!important;
  border:none!important;border-radius:13px!important;
  box-shadow:0 7px 16px rgba(19,74,53,.13);
  font-family:inherit!important;font-size:13px!important;font-weight:780!important;
  line-height:1.4!important;white-space:normal;
}
body.single-product .ek-wc-main.ek-is-product div.product form.cart button.single_add_to_cart_button:not(:disabled):hover{
  background:#2d6850!important;transform:translateY(-1px);
}
body.single-product .ek-wc-main.ek-is-product div.product form.cart button.single_add_to_cart_button:disabled{
  opacity:.55;cursor:not-allowed;box-shadow:none;
}
/* Variations, external, grouped and subscriptions remain native WooCommerce forms. */
body.single-product .ek-wc-main.ek-is-product div.product form.cart.variations_form,
body.single-product .ek-wc-main.ek-is-product div.product form.cart.grouped_form{
  display:block!important;margin:13px 0 16px!important;
  border:0!important;background:transparent!important;padding:0!important;
}
body.single-product .ek-wc-main.ek-is-product div.product form.cart .variations,
body.single-product .ek-wc-main.ek-is-product div.product form.cart .group_table{
  width:100%!important;max-width:100%!important;
  border-collapse:separate;border-spacing:0 8px;margin:0 0 11px!important;
}
body.single-product .ek-wc-main.ek-is-product div.product form.cart .variations th,
body.single-product .ek-wc-main.ek-is-product div.product form.cart .variations td{
  padding:5px 8px 5px 0!important;vertical-align:middle;
}
body.single-product .ek-wc-main.ek-is-product div.product form.cart .variations label{
  color:#305741;font-size:12px;font-weight:750;
}
body.single-product .ek-wc-main.ek-is-product div.product form.cart .variations select{
  width:100%!important;max-width:100%;min-height:42px;
  padding:9px 12px;border-radius:12px;border:1px solid #ccdbc9;
  background:#fffefa;color:#244b38;
}
body.single-product .ek-wc-main.ek-is-product div.product form.cart .single_variation_wrap{min-width:0}
body.single-product .ek-wc-main.ek-is-product div.product form.cart .woocommerce-variation-add-to-cart{
  display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:9px!important;
  margin:13px 0 0;padding:9px;
  background:#f1f6e9;border:1px solid #e1eadb;border-radius:17px;
}
body.single-product .ek-wc-main.ek-is-product div.product form.cart .group_table td{padding:7px 5px!important;}
body.single-product .ek-wc-main.ek-is-product div.product .summary .ek-delivery-strip{
  margin:16px 0 11px!important;gap:0;
  border:1px solid #e2ebdf;border-radius:16px;
  background:#f2f6ed;
  overflow:hidden;
}
body.single-product .ek-wc-main.ek-is-product div.product .summary .ek-delivery-strip > div{
  min-width:0;gap:6px!important;padding:12px 8px!important;
}
body.single-product .ek-wc-main.ek-is-product div.product .summary .ek-delivery-strip > div + div{
  border-left:1px solid #d1dfce!important;
}
body.single-product .ek-wc-main.ek-is-product div.product .summary .ek-delivery-strip svg{
  width:21px!important;height:21px!important;flex-shrink:0;color:#508847;
}
body.single-product .ek-wc-main.ek-is-product div.product .summary .ek-delivery-strip b{
  font-size:10px!important;font-weight:760!important;line-height:1.18!important;
}
body.single-product .ek-wc-main.ek-is-product div.product .summary .ek-delivery-strip small{
  font-size:9px!important;line-height:1.33!important;
}
body.single-product .ek-wc-main.ek-is-product div.product .summary .product_meta{
  border-top:1px solid #e8eee6;
  margin:13px 0 0!important;padding-top:11px;
  font-size:11px!important;line-height:1.7!important;
  color:#647e6b;
  overflow-wrap:anywhere;
}
body.single-product .ek-wc-main.ek-is-product div.product .summary .product_meta a{
  color:#416c4d;text-decoration:none;border-bottom:1px solid #b8ceb4;
}

/* Clean, editorial content and related-product sections. */
body.single-product .ek-wc-main.ek-is-product div.product > .woocommerce-tabs{
  grid-column:1/-1!important;grid-row:2!important;
  min-width:0!important;margin:0!important;
  padding:22px clamp(18px,2.5vw,33px)!important;
  border:1px solid #e1e9df!important;
  border-radius:23px!important;
  background:#fffdf9!important;
  box-shadow:0 10px 26px rgba(25,60,42,.037);
}
body.single-product .ek-wc-main.ek-is-product div.product .woocommerce-tabs ul.tabs{
  display:flex!important;flex-wrap:wrap!important;gap:8px!important;
  border:0!important;margin:0 0 16px!important;padding:0 0 14px!important;
  border-bottom:1px solid #e9eee6!important;
}
body.single-product .ek-wc-main.ek-is-product div.product .woocommerce-tabs ul.tabs li,
body.single-product .ek-wc-main.ek-is-product div.product .woocommerce-tabs ul.tabs li.active{
  margin:0!important;border:1px solid #d0e0cb!important;border-radius:99px!important;
  padding:0!important;background:#fff!important;box-shadow:none!important;
}
body.single-product .ek-wc-main.ek-is-product div.product .woocommerce-tabs ul.tabs li.active{
  background:#194b38!important;border-color:#194b38!important;
}
body.single-product .ek-wc-main.ek-is-product div.product .woocommerce-tabs ul.tabs li a{
  display:block;padding:8px 17px!important;font-size:12px!important;
  font-weight:700!important;color:#284f3a!important;
}
body.single-product .ek-wc-main.ek-is-product div.product .woocommerce-tabs ul.tabs li.active a{color:white!important;}
body.single-product .ek-wc-main.ek-is-product div.product .woocommerce-tabs .panel{
  margin:0!important;padding:0!important;
  font-size:13px!important;line-height:1.77!important;color:#4d6c57!important;
  overflow-wrap:anywhere;
}
body.single-product .ek-wc-main.ek-is-product div.product .woocommerce-tabs #tab-description > h2:first-child{
  display:none!important; /* Same label already appears in its tab. */
}
body.single-product .ek-wc-main.ek-is-product div.product .woocommerce-tabs .panel h2,
body.single-product .ek-wc-main.ek-is-product div.product .woocommerce-tabs .panel h3{
  font-family:Georgia,'Times New Roman',serif!important;
  font-weight:500!important;line-height:1.2!important;color:#17442f!important;
}
body.single-product .ek-wc-main.ek-is-product div.product > .related.products,
body.single-product .ek-wc-main.ek-is-product div.product > .up-sells{
  grid-column:1/-1!important;grid-row:auto!important;
  margin:9px 0 5px!important;padding:0!important;min-width:0;
}
body.single-product .ek-wc-main.ek-is-product div.product > .related.products > h2,
body.single-product .ek-wc-main.ek-is-product div.product > .up-sells > h2{
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(27px,2.8vw,36px)!important;
  font-weight:500!important;letter-spacing:-.038em!important;
  line-height:1.15!important;color:#17442f!important;
  margin:0 0 16px!important;
}
body.single-product .ek-wc-main.ek-is-product div.product .woocommerce-tabs .panel table{
  max-width:100%;display:block;overflow-x:auto;
}
body.single-product .ek-wc-main.ek-is-product div.product :is(a,button,input,select):focus-visible{
  outline:2px solid #7ea95a!important;outline-offset:3px;
}

@media (max-width:1050px){
  body.single-product .ek-wc-main.ek-is-product div.product > .woocommerce-product-gallery{
    padding:12px!important;grid-template-columns:52px minmax(0,1fr)!important;gap:8px!important;
  }
  body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery:not(:has(.flex-control-nav)){
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .flex-control-nav,
  body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .flex-control-nav li{
    width:52px!important;max-width:52px!important;
  }
  body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .flex-control-nav li{height:57px!important;}
  body.single-product .ek-wc-main.ek-is-product div.product > .summary{padding:20px!important;}
  body.single-product .ek-wc-main.ek-is-product .summary .product_title{font-size:clamp(27px,2.8vw,36px)!important;}
  body.single-product .ek-wc-main.ek-is-product .summary .ek-delivery-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:900px){
  body.single-product .ek-wc-main.ek-is-product > div.product{
    grid-template-columns:minmax(0,1fr)!important;row-gap:15px!important;
    max-width:660px!important;margin-inline:auto!important;
  }
  body.single-product .ek-wc-main.ek-is-product div.product > .woocommerce-product-gallery,
  body.single-product .ek-wc-main.ek-is-product div.product > .summary,
  body.single-product .ek-wc-main.ek-is-product div.product > .woocommerce-tabs,
  body.single-product .ek-wc-main.ek-is-product div.product > .related.products,
  body.single-product .ek-wc-main.ek-is-product div.product > .up-sells{
    grid-column:1!important;grid-row:auto!important;min-width:0;width:100%!important;
  }
  body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .woocommerce-product-gallery__image img{
    height:clamp(295px,57vw,435px)!important;max-height:435px!important;
  }
}
@media (max-width:600px){
  body.single-product #ek-main.ek-commerce > .container{max-width:100%;}
  body.single-product .ek-wc-main.ek-is-product > div.product{gap:13px!important;}
  body.single-product .ek-wc-main.ek-is-product div.product > .woocommerce-product-gallery{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    gap:11px!important;padding:11px!important;
    border-radius:19px!important;
  }
  body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .flex-viewport,
  body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper{
    grid-column:1!important;grid-row:1!important;border-radius:14px!important;
  }
  body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .woocommerce-product-gallery__image img{
    height:clamp(245px,76vw,360px)!important;max-height:360px!important;padding:12px!important;
  }
  body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .flex-control-nav{
    grid-column:1!important;grid-row:2!important;
    flex-direction:row!important;width:100%!important;max-width:100%!important;
    overflow-x:auto!important;gap:7px!important;
  }
  body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery .flex-control-nav li{
    width:58px!important;min-width:58px!important;max-width:58px!important;height:60px!important;
  }
  body.single-product .ek-wc-main.ek-is-product .woocommerce-product-gallery > .woocommerce-product-gallery__trigger{
    top:19px!important;right:19px!important;width:38px!important;height:38px!important;
  }
  body.single-product .ek-wc-main.ek-is-product div.product > .summary{
    padding:clamp(17px,4vw,25px)!important;border-radius:19px!important;
  }
  body.single-product .ek-wc-main.ek-is-product div.product .summary .product_title{
    font-size:clamp(27px,7vw,35px)!important;line-height:1.14!important;
  }
  body.single-product .ek-wc-main.ek-is-product div.product .summary .woocommerce-product-details__short-description{
    font-size:12.5px!important;
  }
  body.single-product .ek-wc-main.ek-is-product div.product .summary .ek-delivery-strip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body.single-product .ek-wc-main.ek-is-product div.product .summary .ek-delivery-strip > div{
    flex-direction:column!important;align-items:flex-start!important;gap:4px!important;
    padding:10px 6px!important;
  }
  body.single-product .ek-wc-main.ek-is-product div.product .summary .ek-delivery-strip svg{
    width:19px!important;height:19px!important;
  }
  body.single-product .ek-wc-main.ek-is-product div.product .summary .ek-delivery-strip b{
    font-size:9.4px!important;
  }
  body.single-product .ek-wc-main.ek-is-product div.product .summary .ek-delivery-strip small{
    font-size:8.6px!important;
  }
  body.single-product .ek-wc-main.ek-is-product div.product > .woocommerce-tabs{
    padding:15px!important;border-radius:18px!important;
  }
  body.single-product .ek-wc-main.ek-is-product .woocommerce-tabs ul.tabs li a{
    padding:8px 12px!important;font-size:11.5px!important;
  }
  body.single-product .ek-wc-main.ek-is-product div.product > .related.products,
  body.single-product .ek-wc-main.ek-is-product div.product > .up-sells{margin-top:6px!important;}
}
@media (max-width:350px){
  body.single-product .ek-wc-main.ek-is-product div.product .summary .product_title{
    font-size:26px!important;
  }
  body.single-product .ek-wc-main.ek-is-product div.product form.cart:not(.variations_form):not(.grouped_form){
    align-items:stretch!important;
  }
  body.single-product .ek-wc-main.ek-is-product div.product form.cart button.single_add_to_cart_button{
    flex-basis:100%!important;
  }
  body.single-product .ek-wc-main.ek-is-product div.product .summary .ek-delivery-strip b{
    font-size:9px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.single-product .ek-wc-main.ek-is-product div.product form.cart button.single_add_to_cart_button{transition:none!important;}
}
