/* ==========================================================================
   Econur single product page v5, loaded on product pages only (is_product()).
   Mobile-first; tokens below. Overrides the older v4 product rules in style.css.
   ========================================================================== */
body.single-product{
  --pd-bg:#FFFFFF; --pd-ivory:#F7F4ED; --pd-beige:#F3EFE6; --pd-ink:#22251F; --pd-muted:#5F6159;
  --pd-line:#E5E1D8; --pd-teal:var(--ecn-teal,#0D585F); --pd-teal-dark:var(--ecn-teal-dark,#0A474D);
  --pd-soft:var(--ecn-teal-soft,#E7F1F1); --pd-r:12px; --pd-gap:12px;
  background:var(--pd-bg);
}
body.single-product .ast-woocommerce-container, body.single-product .site-content{ background:var(--pd-bg); }
body.single-product div.product{ color:var(--pd-ink); }

/* ---------- gallery ---------- */
body.single-product div.product .woocommerce-product-gallery{ position:relative; }
@media (max-width:921px){
  body.single-product div.product .woocommerce-product-gallery{ margin:0 0 20px !important; width:100% !important; max-width:none !important; }
}
body.single-product .woocommerce-product-gallery .flex-viewport,
body.single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper{
  border-radius:14px; overflow:hidden; background:var(--pd-ivory);
}
body.single-product .woocommerce-product-gallery__image img{ display:block; width:100%; height:auto; }
body.single-product .woocommerce-product-gallery .flex-control-paging{ display:none !important; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs{
  display:flex !important; gap:10px; margin:12px 0 0 !important; padding:0 0 4px !important; list-style:none;
  overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; -webkit-overflow-scrolling:touch;
}
body.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar{ display:none; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs li{
  flex:0 0 70px !important; width:70px !important; margin:0 !important; float:none !important; scroll-snap-align:start;
}
body.single-product .woocommerce-product-gallery .flex-control-thumbs li img{
  display:block; width:70px; height:70px; object-fit:cover; border-radius:10px; opacity:1 !important;
  border:1.5px solid var(--pd-line); background:var(--pd-ivory); cursor:pointer; transition:border-color .2s ease;
}
body.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active{ border-color:var(--pd-teal); box-shadow:0 0 0 1px var(--pd-teal); }
body.single-product .ecn-gal-count{
  position:absolute; right:12px; top:12px; z-index:2; padding:4px 10px; border-radius:999px;
  background:rgba(255,255,255,.92); color:var(--pd-ink); font-size:12px; font-weight:600; line-height:1.4; pointer-events:none;
}

/* ---------- title block ---------- */
body.single-product .product .summary{ padding-top:0 !important; }
body.single-product .single-product-category{ display:block !important; margin:0 0 8px !important; font-size:12px !important; letter-spacing:.14em; text-transform:uppercase; font-weight:600; }
body.single-product .single-product-category a{ color:var(--pd-teal) !important; text-decoration:none !important; }
body.single-product .product .summary .product_title{
  font-family:var(--ecn-font-head) !important; font-weight:500 !important; font-size:32px !important; line-height:1.08 !important;
  letter-spacing:-.018em; color:var(--pd-ink) !important; margin:0 0 8px !important; overflow-wrap:anywhere;
}
body.single-product .ecn-pd-meta{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin:0 0 14px; }
body.single-product .ecn-pd-fit{ margin:0; font-size:15px; line-height:1.4; font-weight:500; color:var(--pd-muted); }
body.single-product .ecn-pd-rating{ display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--pd-muted) !important; text-decoration:none !important; }
body.single-product .ecn-pd-stars{
  position:relative; display:inline-block; font-size:14px; letter-spacing:2px; line-height:1; color:#DCD7CB;
}
body.single-product .ecn-pd-stars::after{
  content:"\2605\2605\2605\2605\2605"; position:absolute; left:0; top:0; width:var(--r,0%); overflow:hidden; white-space:nowrap; color:#B98A2E;
}

/* ---------- price + short description ---------- */
body.single-product .product .summary p.price{
  display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; margin:0 0 12px !important;
  font-family:var(--ecn-font-body) !important; font-size:28px !important; font-weight:700 !important; line-height:1.15;
  color:var(--pd-teal) !important;
}
body.single-product .product .summary p.price ins{ text-decoration:none; order:1; }
body.single-product .product .summary p.price del{ order:2; font-size:16px; font-weight:400; color:var(--pd-muted); opacity:1; }
body.single-product .ecn-pd-off{
  order:3; align-self:center; font-size:12px; font-weight:600; padding:4px 10px; border-radius:999px;
  background:var(--pd-soft); color:var(--pd-teal);
}
body.single-product .ecn-pd-promise{ font-size:15px; line-height:1.6; color:#45473F; margin:0 0 20px; max-width:52ch; }
body.single-product .ecn-pd-promise p{ margin:0; }

/* ---------- size selector ---------- */
body.single-product table.variations{ margin:0 0 16px !important; border:0 !important; width:100%; }
body.single-product table.variations th.label{ padding:0 0 10px !important; }
body.single-product table.variations th.label label{ font-size:12px !important; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--pd-ink); }
body.single-product .ecn-pd-sizes{ display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px; border-radius:12px; transition:box-shadow .2s ease; }
body.single-product .ecn-pd-sz{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  min-height:52px; min-width:0; padding:8px 14px; border-radius:10px !important;
  border:1.5px solid var(--pd-line) !important; background:#fff !important; color:var(--pd-ink) !important;
  font-family:var(--ecn-font-body); font-size:15px; font-weight:600; line-height:1.2; text-align:center; cursor:pointer;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
body.single-product .ecn-pd-sz:hover{ border-color:var(--pd-teal) !important; }
body.single-product .ecn-pd-sz.is-on, body.single-product .ecn-pd-sz.is-on:hover{
  background:var(--pd-teal) !important; border-color:var(--pd-teal) !important; color:#fff !important;
}
body.single-product .ecn-pd-sz .ecn-sz-p{ font-size:13px; font-weight:500; color:var(--pd-muted); }
body.single-product .ecn-pd-sz.is-on .ecn-sz-p{ color:rgba(255,255,255,.85); }
body.single-product .ecn-pd-sz:focus-visible{ outline:2px solid var(--pd-teal); outline-offset:2px; }
body.single-product .ecn-pd-sizes.ecn-flag{ box-shadow:0 0 0 3px rgba(184,116,75,.45); }

/* ---------- quantity + buttons ---------- */
body.single-product form.cart{ margin:0 0 16px !important; }
body.single-product form.cart .woocommerce-variation-add-to-cart,
body.single-product form.cart:not(.variations_form){
  display:grid !important; grid-template-columns:124px minmax(0,1fr) !important; grid-template-areas:"qty add" "buy buy" !important;
  gap:10px !important; align-items:stretch;
}
body.single-product form.cart .woocommerce-variation-add-to-cart-disabled{ opacity:1; }
body.single-product form.cart .quantity{ grid-area:qty; margin:0 !important; }
body.single-product form.cart .ecn-qty{
  display:flex; align-items:center; height:54px; min-height:54px; border:1.5px solid var(--pd-line); border-radius:12px; background:#fff; overflow:hidden;
}
body.single-product form.cart .ecn-qty .qty{ height:52px; min-height:52px; font-size:16px; font-weight:600; color:var(--pd-ink); }
body.single-product .ecn-qty-btn{ width:40px; height:52px; font-size:20px; color:var(--pd-ink); }
body.single-product .ecn-qty-btn:focus-visible{ outline:2px solid var(--pd-teal); outline-offset:-2px; }
body.single-product form.cart .single_add_to_cart_button{
  grid-area:add; width:100%; height:54px !important; min-height:54px !important; margin:0 !important; padding:0 16px !important;
  border-radius:12px !important; background:var(--pd-teal) !important; background-color:var(--pd-teal) !important;
  border:1.5px solid var(--pd-teal) !important; color:#fff !important;
  font-family:var(--ecn-font-body) !important; font-size:16px !important; font-weight:600 !important; letter-spacing:.01em; line-height:1 !important;
}
body.single-product form.cart .single_add_to_cart_button:hover{ background:var(--pd-teal-dark) !important; background-color:var(--pd-teal-dark) !important; border-color:var(--pd-teal-dark) !important; color:#fff !important; }
body.single-product form.cart .single_add_to_cart_button.disabled{ opacity:.55 !important; cursor:not-allowed; }
body.single-product form.cart .ecn-buy-now{
  grid-area:buy; display:block !important; width:100%; height:54px !important; min-height:54px !important; margin:0 !important; padding:0 16px;
  border-radius:12px !important; background:#fff !important; border:1.5px solid var(--pd-teal) !important; color:var(--pd-teal) !important;
  font-family:var(--ecn-font-body); font-size:16px; font-weight:600; line-height:1; cursor:pointer;
}
body.single-product form.cart .ecn-buy-now:hover, body.single-product form.cart .ecn-buy-now:focus{ background:var(--pd-soft) !important; color:var(--pd-teal) !important; }
body.single-product form.cart .single_add_to_cart_button:focus-visible,
body.single-product form.cart .ecn-buy-now:focus-visible{ outline:2px solid var(--pd-teal); outline-offset:3px; }
body.single-product .ecn-pd-nudge{ display:none; }

/* ---------- trust grid ---------- */
body.single-product .ecn-pd-trust{
  list-style:none; margin:4px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:1px;
  background:var(--pd-line); border:1px solid var(--pd-line); border-radius:12px; overflow:hidden;
}
body.single-product .ecn-pd-trust li{ display:flex; align-items:flex-start; gap:10px; padding:14px 12px; background:var(--pd-ivory); }
body.single-product .ecn-pd-trust li > svg{ flex:none; width:22px; height:22px; color:var(--pd-teal); margin-top:1px; }
body.single-product .ecn-pd-trust b{ display:block; font-size:13px; font-weight:600; line-height:1.3; color:var(--pd-ink); }
body.single-product .ecn-pd-trust small{ display:block; font-size:12px; line-height:1.45; color:var(--pd-muted); margin-top:2px; }
body.single-product .ecn-pd-trust li.is-low b{ color:var(--ecn-clay,#B8744B); }
body.single-product .ecn-pd-trust li.is-out b{ color:var(--pd-muted); }
body.single-product .ecn-pd-trust li:only-child{ grid-column:1 / -1; }
body.single-product .ecn-pd-coming{ display:flex !important; flex-direction:column; gap:10px; border:1px solid var(--pd-line); border-radius:12px; padding:16px; margin:0 0 16px; font-size:15px; line-height:1.5; background:var(--pd-ivory); }
body.single-product .ecn-pd-coming b{ display:block; font-family:var(--ecn-font-head); font-weight:500; font-size:20px; }
body.single-product .ecn-pd-btn-outline{ display:flex; align-items:center; justify-content:center; min-height:50px; border-radius:12px; border:1.5px solid var(--pd-teal); color:var(--pd-teal) !important; background:#fff; font-weight:600; text-decoration:none !important; }

/* old v4 rows/sheets are no longer output */
body.single-product .ecn-pd-rows, body.single-product .ecn-pd-status{ display:none !important; }

/* ==========================================================================
   Lower sections (v5.1): Why You'll Love It, ingredients, how to use,
   details accordion, customer reviews, You May Also Love.
   Spacing: mobile 44px, tablet 52px, desktop 68px between sections.
   ========================================================================== */
body.single-product div.product .ecn-pdx{ clear:both; width:100%; float:none; padding-top:4px; }
body.single-product .ecn-pdx-sec{ margin:44px 0 0; }
body.single-product .ecn-pdx > .ecn-pdx-sec:first-child{ margin-top:48px; }
body.single-product .ecn-pdx-h, body.single-product .ecn-aml-head .ecn-pdx-h{
  font-family:var(--ecn-font-head) !important; font-weight:500 !important; font-size:26px !important; line-height:1.15 !important;
  letter-spacing:-.012em; color:var(--pd-ink) !important; margin:0 0 20px !important;
}
body.single-product .ecn-pdx h3{ font-family:var(--ecn-font-body); letter-spacing:0; }
body.single-product .ecn-pdx-link{ display:inline-flex; align-items:center; gap:6px; margin-top:18px; font-size:14px; font-weight:600; color:var(--pd-teal) !important; text-decoration:none !important; }
body.single-product .ecn-pdx-link svg{ width:16px; height:16px; transition:transform .2s ease; }
body.single-product .ecn-pdx-link:hover svg{ transform:translateX(3px); }

/* why you'll love it: max 4, 2x2 on phones and tablets, 4 across on desktop */
body.single-product .ecn-love{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
body.single-product .ecn-love.ecn-n1{ grid-template-columns:1fr; }
body.single-product .ecn-love.ecn-n3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
body.single-product .ecn-love.ecn-n3 li:last-child{ grid-column:1 / -1; }
body.single-product .ecn-love li{ display:flex; flex-direction:column; gap:10px; padding:20px 16px; margin:0; border-radius:12px; background:var(--pd-ivory); }
body.single-product .ecn-love-ico{ display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#fff; color:var(--pd-teal); }
body.single-product .ecn-love-ico svg{ width:20px; height:20px; }
body.single-product .ecn-love-t{ margin:4px 0 0 !important; font-size:16px !important; font-weight:600 !important; line-height:1.3 !important; color:var(--pd-ink) !important; }
body.single-product .ecn-love-p{ margin:0; font-size:14px; line-height:1.55; color:var(--pd-muted); }

/* ingredients: text-led cards (no stock icons) */
body.single-product .ecn-kin{ list-style:none; margin:0 !important; padding:0 !important; background:none !important; border:0 !important; display:grid; grid-template-columns:1fr; gap:12px; counter-reset:none; }
body.single-product .ecn-kin-card{ position:relative; margin:0; padding:22px 20px 22px; border-radius:12px; background:var(--pd-ivory); border:1px solid var(--pd-line); display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:16px; align-items:baseline; }
body.single-product .ecn-kin-no{ grid-row:1 / span 2; font-family:var(--ecn-font-head); font-size:15px; line-height:1; color:var(--pd-teal); padding-top:6px; }
body.single-product .ecn-kin-n{ margin:0 !important; font-family:var(--ecn-font-head) !important; font-size:22px !important; font-weight:500 !important; line-height:1.2 !important; color:var(--pd-ink) !important; }
body.single-product .ecn-kin-p{ grid-column:2; margin:8px 0 0; font-size:14.5px; line-height:1.6; color:var(--pd-muted); }

/* how to use */
body.single-product .ecn-how{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:0; border-top:1px solid var(--pd-line); }
body.single-product .ecn-how li{ display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:14px; row-gap:4px; padding:18px 0; margin:0; border-bottom:1px solid var(--pd-line); }
body.single-product .ecn-how-n{ grid-row:1 / span 2; font-family:var(--ecn-font-head); font-size:22px; line-height:1.1; color:var(--pd-teal); }
body.single-product .ecn-how-t{ margin:0 !important; font-size:16px !important; font-weight:600 !important; line-height:1.3 !important; color:var(--pd-ink) !important; }
body.single-product .ecn-how p{ margin:0; font-size:14.5px; line-height:1.6; color:var(--pd-muted); }
body.single-product .ecn-how-note{ margin:16px 0 0; padding:12px 14px; border-radius:10px; background:var(--pd-ivory); font-size:14px; line-height:1.55; color:#45473F; }

/* product details accordion */
body.single-product .ecn-pdx-acc{ max-width:880px; }
body.single-product .ecn-acc{ border-top:1px solid var(--pd-line); }
body.single-product .ecn-acc-item, body.single-product .ecn-acc-link{ border-bottom:1px solid var(--pd-line); }
body.single-product .ecn-acc-row{
  display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:58px; padding:0 6px;
  list-style:none; cursor:pointer; font-size:16px; font-weight:600; color:var(--pd-ink) !important; text-decoration:none !important;
  transition:color .2s ease;
}
body.single-product .ecn-acc-row:hover{ color:var(--pd-teal) !important; }
body.single-product .ecn-acc-row::-webkit-details-marker{ display:none; }
body.single-product .ecn-acc-row::marker{ content:""; }
body.single-product .ecn-acc-row:focus-visible{ outline:2px solid var(--pd-teal); outline-offset:2px; border-radius:6px; }
body.single-product .ecn-acc-pm, body.single-product .ecn-acc-go{ position:relative; flex:none; width:28px; height:28px; border-radius:50%; border:1px solid var(--pd-line); background:#fff; display:grid; place-items:center; }
body.single-product .ecn-acc-pm::before, body.single-product .ecn-acc-pm::after{ content:""; position:absolute; left:50%; top:50%; width:11px; height:1.5px; margin:-.75px 0 0 -5.5px; background:var(--pd-ink); border-radius:1px; transition:transform .25s ease, opacity .25s ease; }
body.single-product .ecn-acc-pm::after{ transform:rotate(90deg); }
body.single-product .ecn-acc-item[open]:not(.is-anim) .ecn-acc-pm::after,
body.single-product .ecn-acc-item.is-anim[open] .ecn-acc-pm::after{ transform:rotate(0); opacity:0; }
body.single-product .ecn-acc-go svg{ width:14px; height:14px; color:var(--pd-ink); }
body.single-product .ecn-acc-body{ overflow:hidden; transition:height .28s ease; }
body.single-product .ecn-acc-in{ padding:2px 6px 22px; font-size:15px; line-height:1.65; color:#45473F; }
body.single-product .ecn-acc-in p{ margin:0 0 12px; }
body.single-product .ecn-acc-in p:last-child{ margin-bottom:0; }
body.single-product .ecn-acc-kv b{ color:var(--pd-ink); font-weight:600; }

/* customer reviews */
body.single-product .ecn-rev-grid{ display:grid; grid-template-columns:1fr; gap:20px; }
body.single-product .ecn-rev-intro .ecn-pdx-h{ margin-bottom:10px !important; }
body.single-product .ecn-rev-empty{ margin:0; font-family:var(--ecn-font-head); font-size:19px; line-height:1.3; color:var(--pd-ink); }
body.single-product .ecn-rev-sub{ margin:4px 0 0; font-size:15px; line-height:1.55; color:var(--pd-muted); }
body.single-product .ecn-rev-avg{ margin:0; display:flex; align-items:center; gap:12px; }
body.single-product .ecn-rev-num{ font-family:var(--ecn-font-head); font-size:40px; line-height:1; color:var(--pd-ink); }
body.single-product .ecn-rev-avg .ecn-pd-stars{ font-size:18px; }
body.single-product .ecn-pdx-rev #reviews{ margin:0; }
body.single-product .ecn-pdx-rev .woocommerce-Reviews-title{ display:none; }
body.single-product .ecn-pdx-rev #comments{ margin:0; }
body.single-product .ecn-pdx-rev.no-reviews #comments{ display:none; }
body.single-product .ecn-pdx-rev ol.commentlist{ margin:0 0 20px !important; padding:0 !important; list-style:none; }
body.single-product .ecn-pdx-rev ol.commentlist li.review{ margin:0 !important; padding:18px 0 !important; border-bottom:1px solid var(--pd-line); }
body.single-product .ecn-pdx-rev ol.commentlist li .comment_container{ display:flex; gap:12px; }
body.single-product .ecn-pdx-rev ol.commentlist li img.avatar{ position:static !important; width:40px !important; height:40px; border-radius:50%; border:0 !important; padding:0 !important; }
body.single-product .ecn-pdx-rev ol.commentlist li .comment-text{ margin:0 !important; padding:0 !important; border:0 !important; flex:1; }
body.single-product .ecn-pdx-rev .comment-text .description p{ font-size:15px; line-height:1.6; color:#45473F; }
body.single-product .ecn-pdx-rev .woocommerce-review__author{ font-weight:600; color:var(--pd-ink); }
body.single-product .ecn-pdx-rev .woocommerce-review__verified{ color:var(--pd-teal); font-style:normal; }
body.single-product .ecn-pdx-rev .star-rating{ color:#B98A2E; }
body.single-product .ecn-pdx-rev #review_form_wrapper{ margin:0; padding:24px 20px; border-radius:14px; background:var(--pd-ivory); border:1px solid var(--pd-line); }
body.single-product .ecn-pdx-rev #review_form, body.single-product .ecn-pdx-rev #respond{ margin:0 !important; padding:0 !important; border:0 !important; background:none !important; }
body.single-product .ecn-pdx-rev .comment-reply-title{ display:block; font-family:var(--ecn-font-head) !important; font-size:20px !important; font-weight:500; line-height:1.3; color:var(--pd-ink); margin:0 0 4px; }
body.single-product .ecn-pdx-rev .comment-notes{ margin:0 0 4px !important; font-size:13px; color:var(--pd-muted); }
body.single-product .ecn-pdx-rev .comment-form{ display:grid; gap:16px; margin:0; }
body.single-product .ecn-pdx-rev .comment-form p{ margin:0 !important; width:100% !important; float:none !important; padding:0 !important; }
body.single-product .ecn-pdx-rev .comment-form label{ display:block; margin:0 0 8px; font-size:14px; font-weight:600; line-height:1.3; color:var(--pd-ink); }
body.single-product .ecn-pdx-rev .comment-form .required{ color:var(--ecn-clay,#B8744B); }
body.single-product .ecn-pdx-rev .comment-form input[type=text],
body.single-product .ecn-pdx-rev .comment-form input[type=email],
body.single-product .ecn-pdx-rev .comment-form textarea{
  display:block; width:100% !important; min-height:50px; padding:12px 14px; border:1px solid var(--pd-line) !important; border-radius:10px !important;
  background:#fff; font-size:16px; line-height:1.4; color:var(--pd-ink); box-shadow:none !important;
}
body.single-product .ecn-pdx-rev .comment-form textarea{ min-height:150px; resize:vertical; }
body.single-product .ecn-pdx-rev .comment-form input:focus, body.single-product .ecn-pdx-rev .comment-form textarea:focus{ border-color:var(--pd-teal) !important; box-shadow:0 0 0 3px rgba(13,88,95,.12) !important; outline:none; }
body.single-product .ecn-pdx-rev .comment-form-rating{ display:block; }
body.single-product .ecn-pdx-rev p.stars{ margin:0 !important; line-height:1; }
body.single-product .ecn-pdx-rev p.stars a{ font-size:26px; margin-right:8px; color:#B98A2E !important; text-decoration:none !important; }
body.single-product .ecn-pdx-rev .comment-form-cookies-consent{ display:flex !important; gap:10px; align-items:flex-start; font-size:13px; line-height:1.45; }
body.single-product .ecn-pdx-rev .comment-form-cookies-consent input{ margin-top:2px; width:18px; height:18px; flex:none; accent-color:var(--pd-teal); }
body.single-product .ecn-pdx-rev .comment-form-cookies-consent label{ font-weight:400; font-size:13px; margin:0; color:var(--pd-muted); }
body.single-product .ecn-pdx-rev .form-submit input#submit, body.single-product .ecn-pdx-rev #respond input#submit{
  width:100%; min-height:54px; margin:4px 0 0; padding:0 28px !important; border-radius:12px !important; background:var(--pd-teal) !important; border:1.5px solid var(--pd-teal) !important;
  color:#fff !important; font-size:16px !important; font-weight:600 !important; line-height:1 !important; cursor:pointer;
}
body.single-product .ecn-pdx-rev .form-submit input#submit:hover{ background:var(--pd-teal-dark) !important; border-color:var(--pd-teal-dark) !important; }

/* you may also love: 2 per row on phones, 4 on desktop */
body.single-product div.product .ecn-aml{ clear:both; float:none; width:100%; margin:44px 0 8px; padding:0; overflow:visible; }
body.single-product .ecn-aml-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:0 0 20px; }
body.single-product .ecn-aml-head .ecn-pdx-h{ margin:0 !important; }
body.single-product .ecn-aml-all{ flex:none; font-size:14px; font-weight:600; color:var(--pd-teal) !important; text-decoration:none !important; }
body.single-product .ecn-aml-track{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; overflow:visible !important; margin:0 !important; padding:0 !important; position:relative; }
body.single-product .ecn-aml-card{ position:relative; min-width:0; display:flex; flex-direction:column; border:1px solid var(--pd-line); border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 1px 2px rgba(34,37,31,.04); transition:box-shadow .2s ease, transform .2s ease; }
body.single-product .ecn-aml-card:hover{ box-shadow:0 8px 22px rgba(34,37,31,.08); transform:translateY(-2px); }
body.single-product .ecn-aml-img{ display:block; background:var(--pd-ivory); }
body.single-product .ecn-aml-img img{ display:block; width:100% !important; height:auto; aspect-ratio:4/5; object-fit:cover; margin:0 !important; }
body.single-product .ecn-aml-body{ flex:1; display:flex; flex-direction:column; gap:10px; padding:14px; }
body.single-product .ecn-aml-name{ font-family:var(--ecn-font-head); font-size:16px; line-height:1.25; color:var(--pd-ink) !important; text-decoration:none !important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.5em; }
body.single-product .ecn-aml-foot{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:8px; }
body.single-product .ecn-aml-price{ min-width:0; font-size:15px; font-weight:700; color:var(--pd-teal); line-height:1.3; }
body.single-product .ecn-aml-price del{ display:block; font-size:12px; font-weight:400; color:var(--pd-muted); }
body.single-product .ecn-aml-price ins{ text-decoration:none; }
body.single-product .ecn-aml-add{ flex:none; width:40px; height:40px; padding:0; border-radius:50%; border:0; background:var(--pd-teal) !important; color:#fff !important; display:grid; place-items:center; cursor:pointer; text-decoration:none !important; }
body.single-product .ecn-aml-add:hover{ background:var(--pd-teal-dark) !important; }
body.single-product .ecn-aml-add svg{ width:18px; height:18px; }
body.single-product .ecn-aml-add:focus-visible{ outline:2px solid var(--pd-teal); outline-offset:2px; }

/* ---------- sticky add to cart (phones) ---------- */
@media (max-width:921px){
  body.single-product .ecn-buybar{
    display:flex !important; transform:translateY(110%); visibility:hidden; transition:transform .25s ease, visibility 0s linear .25s;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom)) !important; gap:10px; box-shadow:0 -6px 20px rgba(34,37,31,.06);
  }
  body.single-product .ecn-buybar.is-on{ transform:none; visibility:visible; transition:transform .25s ease, visibility 0s; }
  body.single-product .ecn-buybar-wa{ width:50px; height:50px; }
  body.single-product .ecn-buybar-btn{ min-height:50px; border-radius:12px !important; background:var(--pd-teal) !important; border-color:var(--pd-teal) !important; font-size:16px; }
  body.single-product .ecn-buybar-btn b:empty{ display:none; }
}
@media (prefers-reduced-motion: reduce){
  body.single-product .ecn-buybar, body.single-product .ecn-acc-body, body.single-product .ecn-acc-pm::after,
  body.single-product .ecn-aml-card, body.single-product .ecn-pdx-link svg{ transition:none !important; animation:none !important; }
  body.single-product .ecn-aml-card:hover{ transform:none; }
}

/* ---------- small phones ---------- */
@media (max-width:374px){
  body.single-product .product .summary .product_title{ font-size:30px !important; }
  body.single-product form.cart .woocommerce-variation-add-to-cart,
  body.single-product form.cart:not(.variations_form){ grid-template-columns:112px minmax(0,1fr) !important; }
  body.single-product .ecn-pd-trust li{ padding:12px 10px; }
  body.single-product .ecn-love li{ padding:18px 14px; }
  body.single-product .ecn-aml-body{ padding:12px; }
  body.single-product .ecn-aml-name{ font-size:15px; }
}

/* ---------- tablet ---------- */
@media (min-width:600px){
  body.single-product .ecn-pdx-sec, body.single-product div.product .ecn-aml{ margin-top:52px; }
  body.single-product .ecn-pdx > .ecn-pdx-sec:first-child{ margin-top:56px; }
  body.single-product .ecn-pdx-h, body.single-product .ecn-aml-head .ecn-pdx-h{ font-size:29px !important; margin-bottom:24px !important; }
  body.single-product .ecn-love{ gap:16px; }
  body.single-product .ecn-love li{ padding:24px 22px; }
  body.single-product .ecn-kin.ecn-n2, body.single-product .ecn-kin.ecn-n3{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
  body.single-product .ecn-kin.ecn-n2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.single-product .ecn-kin-card{ display:flex; flex-direction:column; gap:10px; padding:24px 20px; }
  body.single-product .ecn-kin-no{ padding:0; }
  body.single-product .ecn-kin-p{ margin:0; }
  body.single-product .ecn-how{ grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px; border-top:0; }
  body.single-product .ecn-how.ecn-n1{ grid-template-columns:1fr; }
  body.single-product .ecn-how.ecn-n3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.single-product .ecn-how li{ border-top:1px solid var(--pd-line); border-bottom:0; padding:20px 0 4px; }
  body.single-product .ecn-rev-grid{ gap:24px; }
  body.single-product .ecn-pdx-rev #review_form_wrapper{ padding:32px; }
  body.single-product .ecn-aml-track.ecn-n3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.single-product .ecn-aml-track{ gap:16px; }
}

/* ---------- desktop ---------- */
@media (min-width:922px){
  body.single-product div.product .woocommerce-product-gallery{ margin-bottom:0 !important; }
  body.single-product .product .summary .product_title{ font-size:40px !important; }
  body.single-product .product .summary p.price{ font-size:30px !important; }
  body.single-product .ecn-pdx-sec, body.single-product div.product .ecn-aml{ margin-top:68px; }
  body.single-product .ecn-pdx > .ecn-pdx-sec:first-child{ margin-top:64px; }
  body.single-product .ecn-pdx-h, body.single-product .ecn-aml-head .ecn-pdx-h{ font-size:32px !important; margin-bottom:28px !important; }
  body.single-product .ecn-love.ecn-n4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  body.single-product .ecn-love.ecn-n3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.single-product .ecn-love.ecn-n3 li:last-child{ grid-column:auto; }
  body.single-product .ecn-love.ecn-n2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.single-product .ecn-love{ gap:20px; }
  body.single-product .ecn-love li{ padding:28px 24px; gap:12px; }
  body.single-product .ecn-love-ico{ width:46px; height:46px; }
  body.single-product .ecn-love-ico svg{ width:22px; height:22px; }
  body.single-product .ecn-love-t{ font-size:17px !important; }
  body.single-product .ecn-love-p{ font-size:14.5px; }
  body.single-product .ecn-kin.ecn-n3{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  body.single-product .ecn-kin-card{ padding:32px 28px; min-height:200px; }
  body.single-product .ecn-kin-n{ font-size:26px !important; }
  body.single-product .ecn-kin-p{ font-size:15px; }
  body.single-product .ecn-how.ecn-n4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  body.single-product .ecn-how.ecn-n3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.single-product .ecn-how li{ padding:22px 0 0; }
  body.single-product .ecn-how-n{ font-size:28px; }
  body.single-product .ecn-how-t{ font-size:17px !important; }
  body.single-product .ecn-how-note{ display:inline-block; margin-top:24px; }
  body.single-product .ecn-rev-grid{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:64px; align-items:start; }
  body.single-product .ecn-rev-intro{ position:sticky; top:120px; }
  body.single-product .ecn-pdx-rev .form-submit input#submit, body.single-product .ecn-pdx-rev #respond input#submit{ width:auto; min-width:220px; }
  body.single-product .ecn-aml-track, body.single-product .ecn-aml-track.ecn-n3{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
  body.single-product .ecn-aml-body{ padding:16px 16px 18px; }
  body.single-product .ecn-aml-name{ font-size:17px; }
  body.single-product .ecn-aml-price{ font-size:16px; }
}

/* v5.1.1 review form padding + rating label */
body.single-product .ecn-pdx-rev #review_form_wrapper{ padding:0 !important; overflow:hidden; }
body.single-product .ecn-pdx-rev #review_form_wrapper #review_form{ padding:22px 18px !important; }
body.single-product .ecn-pdx-rev .comment-form-rating label{ display:block !important; margin:0 0 8px !important; }
body.single-product .ecn-pdx-rev .comment-form-rating p.stars{ display:block; }
@media (min-width:600px){ body.single-product .ecn-pdx-rev #review_form_wrapper #review_form{ padding:32px !important; } }
/* v5.1.2 polish */
body.single-product .ecn-pdx-rev .comment-form-rating{ display:block !important; }
body.single-product .ecn-pdx-rev .comment-form-rating label{ display:block !important; width:auto !important; float:none !important; }
body.single-product .ecn-kin-card{ grid-template-columns:28px minmax(0,1fr); }
body.single-product .ecn-acc-rich + .ecn-acc-kv{ margin-top:12px !important; }
@media (max-width:599px){ body.single-product .ecn-aml-price{ font-size:13.5px; white-space:nowrap; letter-spacing:-.01em; } body.single-product .ecn-aml-add{ width:36px; height:36px; } body.single-product .ecn-aml-body{ padding:12px; } }
