/* BioVerra — single product page. Loaded only by the Elementor single-product template (95). */
.bvx-pdp{padding:0 0 24px;background:linear-gradient(180deg,var(--bvx-teal-xl) 0,#fff 420px)}
.bvx-pdp .bvx-crumb{padding-top:28px;margin-bottom:22px}
.bvx-pdp .bvx-crumb span{color:var(--bvx-navy)}

/* Two-column product area (Elementor inner section) */
.bvx-pdp__grid > .elementor-container{max-width:calc(var(--bvx-max) + var(--bvx-gutter)*2)!important;margin:0 auto;padding-inline:var(--bvx-gutter);display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:start}
.bvx-pdp__grid .elementor-column{width:auto!important;max-width:none!important}
.bvx-pdp__grid .elementor-widget-wrap{padding:0!important;align-content:flex-start}
.bvx-pdp__media{position:sticky;top:120px}
.admin-bar .bvx-pdp__media{top:152px}

/* Gallery */
.bvx-pdp .woocommerce-product-gallery{position:relative;width:100%!important;float:none!important;margin:0!important;background:#fff;border:1px solid var(--bvx-line);border-radius:28px;padding:34px;box-shadow:var(--bvx-shadow);opacity:1!important}
.bvx-pdp .woocommerce-product-gallery__image img,.bvx-pdp .woocommerce-product-gallery img.wp-post-image{width:100%!important;height:auto!important;aspect-ratio:4/5;object-fit:contain;background:#fff;border-radius:12px}
.bvx-pdp .woocommerce-product-gallery__trigger{position:absolute;top:18px;right:18px;z-index:5;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--bvx-line);display:grid;place-items:center;font-size:0!important;text-indent:0!important}
.bvx-pdp .woocommerce-product-gallery__trigger::before{content:"";width:16px;height:16px;border:2px solid var(--bvx-navy);border-radius:50%;margin:-3px 0 0 -3px}
.bvx-pdp .woocommerce-product-gallery__trigger::after{content:"";position:absolute;width:7px;height:2px;background:var(--bvx-navy);transform:rotate(45deg);right:11px;bottom:12px}
.bvx-pdp .woocommerce-product-gallery__trigger img{display:none!important}
.bvx-pdp .flex-control-thumbs{display:flex!important;gap:10px;margin:16px 0 0!important;padding:0!important}
.bvx-pdp .flex-control-thumbs li{width:72px!important;list-style:none;border:1px solid var(--bvx-line);border-radius:10px;overflow:hidden;cursor:pointer}
.bvx-pdp .flex-control-thumbs img{opacity:.6;transition:opacity .2s}
.bvx-pdp .flex-control-thumbs img.flex-active,.bvx-pdp .flex-control-thumbs img:hover{opacity:1}
.bvx-pdp .onsale{top:22px!important;left:22px!important;right:auto!important;margin:0!important;min-height:0!important;min-width:0!important;line-height:1!important;padding:8px 12px!important;border-radius:999px!important;background:var(--bvx-navy)!important;font:600 12px/1 Inter,sans-serif!important;z-index:6}

/* Info column */
.bvx-fmt--inline{position:static!important;display:inline-flex;align-self:flex-start}
.bvx-pdp__info .elementor-widget-html:first-child{margin-bottom:14px!important}
.bvx-pdp .product_title,.bvx-pdp .elementor-widget-woocommerce-product-title .elementor-heading-title{font:500 clamp(30px,3.4vw,46px)/1.08 Jost,Inter,sans-serif!important;color:var(--bvx-navy)!important;letter-spacing:-.015em;margin:0 0 14px!important}
.bvx-pdp .elementor-widget-woocommerce-product-price .price,.bvx-pdp p.price{font:600 28px/1.2 Inter,sans-serif!important;color:var(--bvx-ink)!important;margin:0!important}
.bvx-pdp p.price del{opacity:.5;font-weight:400;font-size:.75em;margin-right:8px}
.bvx-pdp p.price ins{text-decoration:none}
.bvx-pdp__sub{font-size:13.5px;color:var(--bvx-muted);margin-top:8px}

/* Add to cart */
.bvx-pdp form.cart{display:flex!important;flex-wrap:wrap;gap:12px;align-items:stretch;margin:26px 0 0!important}
.bvx-pdp form.cart .quantity{margin:0!important;display:flex}
.bvx-pdp form.cart .quantity input.qty{height:56px!important;width:92px!important;border:1px solid var(--bvx-line)!important;border-radius:999px!important;text-align:center;font:600 16px Inter,sans-serif!important;color:var(--bvx-ink)!important;background:#fff!important;padding:0 10px!important}
.bvx-pdp .single_add_to_cart_button,.bvx-pdp .single_add_to_cart_button:hover,.bvx-pdp .single_add_to_cart_button:focus,.bvx-pdp .single_add_to_cart_button:active{flex:1;min-width:200px;height:56px!important;border:0!important;border-radius:999px!important;background:var(--bvx-teal)!important;color:#fff!important;font:600 16px/1 Inter,sans-serif!important;padding:0 28px!important;cursor:pointer;transition:background .3s,transform .3s,box-shadow .3s!important}
.bvx-pdp .single_add_to_cart_button:hover{background:var(--bvx-teal-d)!important;transform:translateY(-1px);box-shadow:0 10px 24px rgba(45,143,134,.28)}
.bvx-pdp .single_add_to_cart_button.disabled{opacity:.5;cursor:not-allowed}
.bvx-pdp .variations_form{display:block!important}
.bvx-pdp table.variations{width:100%;margin:22px 0 4px!important;border:0}
.bvx-pdp table.variations th,.bvx-pdp table.variations td{display:block;padding:0!important;border:0!important;background:none!important;text-align:left}
.bvx-pdp table.variations th label{font:600 13px/1 Inter,sans-serif;color:var(--bvx-navy);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;display:block}
.bvx-pdp table.variations select{width:100%;height:52px;border:1px solid var(--bvx-line);border-radius:12px;padding:0 14px;font:500 16px Inter,sans-serif;color:var(--bvx-ink);background:#fff}
.bvx-pdp .reset_variations{font-size:13px;color:var(--bvx-teal);margin-top:8px;display:inline-block}
.bvx-pdp .woocommerce-variation-price .price{font:600 22px Inter,sans-serif;color:var(--bvx-ink)}
.bvx-pdp .stock{font:600 14px Inter,sans-serif;margin:14px 0 0!important}
.bvx-pdp .stock.in-stock{color:var(--bvx-teal-d)}
.bvx-pdp .stock.out-of-stock{color:#B42318;background:#FEF3F2;border:1px solid #FECDCA;display:inline-block;padding:8px 14px;border-radius:999px}
.bvx-pdp .product_meta{display:none}

/* COA card + spec table */
.bvx-pdp__details{margin-top:26px;display:grid;gap:16px}
.bvx-coa{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid #cfe5e2;background:var(--bvx-teal-xl);border-radius:16px;color:var(--bvx-navy);transition:border-color .3s,box-shadow .3s,transform .3s}
.bvx-coa:hover{border-color:var(--bvx-teal);box-shadow:var(--bvx-shadow);transform:translateY(-2px)}
.bvx-coa .bvx-trust__ic{width:44px;height:44px;border-radius:12px;background:#fff;color:var(--bvx-teal-d);display:grid;place-items:center;flex:none}
.bvx-coa .bvx-trust__ic svg{width:22px;height:22px}
.bvx-coa b{display:block;font:500 17px/1.2 Jost,sans-serif;color:var(--bvx-navy)}
.bvx-coa small{display:block;font-size:13px;color:var(--bvx-muted);margin-top:3px}
.bvx-coa__go{width:20px;height:20px;margin-left:auto;color:var(--bvx-teal);flex:none;transition:transform .3s}
.bvx-coa:hover .bvx-coa__go{transform:translate(2px,-2px)}
.bvx-spec{margin:0;border:1px solid var(--bvx-line);border-radius:16px;overflow:hidden;background:#fff}
.bvx-spec__row{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:14px 18px;border-bottom:1px solid var(--bvx-line);font-size:15px}
.bvx-spec__row:last-child{border-bottom:0}
.bvx-spec dt{font-weight:600;color:var(--bvx-navy)}
.bvx-spec dd{margin:0;color:#2A3B4C}
.bvx-spec dd a{color:var(--bvx-teal);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.bvx-spec:empty{min-height:250px;background:linear-gradient(90deg,#f3f7f7 25%,#fafcfc 50%,#f3f7f7 75%);background-size:200% 100%;animation:bvxShimmer 1.2s linear infinite}
@keyframes bvxShimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.bvx-pdp .bvx-notice{font-size:13.5px}

/* Below the fold */
.bvx-pdp__more{margin-top:72px}
.bvx-pdp__more .bvx-trust{border-top:1px solid var(--bvx-line)}
.bvx-pdp-related{padding:72px 0 16px}
.bvx-pdp-related .bvx-head{margin-bottom:28px}
.bvx-pdp .related.products > h2,.bvx-pdp .upsells > h2{display:none}
.bvx-pdp .related.products,.bvx-pdp .elementor-widget-woocommerce-product-related{max-width:calc(var(--bvx-max) + var(--bvx-gutter)*2);margin:0 auto;padding-inline:var(--bvx-gutter)}
.bvx-pdp .elementor-widget-woocommerce-product-related .related.products{padding:0;max-width:none}

/* Notices (added to cart, errors) */
.bvx-pdp .woocommerce-notices-wrapper:not(:empty){max-width:calc(var(--bvx-max) + var(--bvx-gutter)*2);margin:20px auto 0;padding-inline:var(--bvx-gutter)}
.bvx-pdp .woocommerce-message,.bvx-pdp .woocommerce-error,.bvx-pdp .woocommerce-info{border:1px solid #cfe5e2!important;border-top:3px solid var(--bvx-teal)!important;background:var(--bvx-teal-xl)!important;border-radius:14px;color:var(--bvx-navy);font-size:15px;margin:0 0 10px!important}
.bvx-pdp .woocommerce-message .button{background:var(--bvx-teal)!important;color:#fff!important;border-radius:999px!important;padding:10px 18px!important}

@media (max-width:900px){
  .bvx-pdp__grid > .elementor-container{grid-template-columns:1fr;gap:30px}
  .bvx-pdp__media{position:static}
  .bvx-pdp .woocommerce-product-gallery{padding:20px;border-radius:22px}
}
@media (max-width:600px){
  .bvx-spec__row{grid-template-columns:1fr;gap:2px}
  .bvx-pdp form.cart .quantity input.qty{width:80px!important}
  .bvx-pdp .single_add_to_cart_button{min-width:0}
  .bvx-pdp__more{margin-top:48px}
}
@media (prefers-reduced-motion:reduce){.bvx-spec:empty{animation:none}}
/* v2 — variable products: dropdown on its own row, qty + button side by side */
.bvx-pdp form.cart.variations_form{display:block!important}
.bvx-pdp .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.bvx-pdp .single_variation_wrap .woocommerce-variation{margin-top:14px}
/* Trust strip: centered icon + text (theme pages load an older site-wide sheet) */
.bvx-pdp .bvx-trust li{flex-direction:column;align-items:center;text-align:center;gap:12px;padding:30px 22px}
.bvx-pdp .bvx-trust li > div{display:flex;flex-direction:column;align-items:center}
.bvx-pdp .bvx-trust span{max-width:260px}
.bvx-pdp .bvx-trust .bvx-trust__ic{display:grid;place-items:center;max-width:none;line-height:0}
/* Related products: same cards as the shop (Elementor's widget has no .woocommerce wrapper) */
.bvx-pdp ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important;margin:0!important;padding:0!important;list-style:none}
.bvx-pdp ul.products::before,.bvx-pdp ul.products::after{display:none!important}
.bvx-pdp ul.products li.product{width:auto!important;margin:0!important;float:none!important;padding:0!important;background:#fff;border:1px solid var(--bvx-line);border-radius:var(--bvx-radius);overflow:hidden;display:flex!important;flex-direction:column;position:relative;text-align:left!important;transition:border-color .3s var(--bvx-ease),box-shadow .3s var(--bvx-ease),transform .3s var(--bvx-ease)}
.bvx-pdp ul.products li.product:hover{border-color:#b9d9d5;box-shadow:var(--bvx-shadow);transform:translateY(-2px)}
.bvx-pdp ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none}
.bvx-pdp ul.products li.product a img{width:100%!important;aspect-ratio:4/5!important;height:auto!important;object-fit:contain!important;background:#fff;margin:0!important;padding:18px;border-bottom:1px solid var(--bvx-line);border-radius:0!important;transition:transform .5s var(--bvx-ease)}
.bvx-pdp ul.products li.product:hover a img{transform:scale(1.04)}
.bvx-pdp ul.products li.product .woocommerce-loop-product__title{font:500 16.5px/1.3 Jost,sans-serif!important;color:var(--bvx-navy)!important;padding:16px 18px 4px!important;margin:0!important}
.bvx-pdp ul.products li.product .price{display:block;padding:4px 18px 0;margin:0 0 auto!important;color:var(--bvx-ink)!important;font:600 16px/1.3 Inter,sans-serif!important}
.bvx-pdp ul.products li.product .button,.bvx-pdp ul.products li.product .button:focus,.bvx-pdp ul.products li.product .added_to_cart{margin:14px 18px 18px!important;display:flex!important;align-items:center;justify-content:center;height:44px;border-radius:999px!important;background:var(--bvx-teal)!important;color:#fff!important;font:600 14px/1 Inter,sans-serif!important;padding:0 16px!important;border:0!important}
.bvx-pdp ul.products li.product .button:hover{background:var(--bvx-teal-d)!important}
.bvx-pdp ul.products li.product .button.added{display:none!important}
.bvx-pdp ul.products li.product.outofstock .button{background:var(--bvx-bg)!important;color:var(--bvx-muted)!important}
.bvx-pdp ul.products li.product .onsale{top:12px!important;left:12px!important;right:auto!important;margin:0!important;min-height:0!important;min-width:0!important;line-height:1!important;padding:7px 10px!important;border-radius:999px!important;background:var(--bvx-navy)!important;font:600 11.5px/1 Inter,sans-serif!important}
@media (max-width:1100px){.bvx-pdp ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:600px){
  .bvx-pdp ul.products{gap:14px!important}
  .bvx-pdp ul.products li.product .woocommerce-loop-product__title{font-size:15px!important;padding:12px 12px 2px!important}
  .bvx-pdp ul.products li.product .price{padding:2px 12px 0;font-size:14.5px!important}
  .bvx-pdp ul.products li.product .button{margin:10px 12px 12px!important;height:40px;font-size:13px!important}
  .bvx-pdp ul.products li.product a img{padding:10px}
}
/* v3 — Elementor's `.elementor-products-grid ul.products.elementor-grid li.product` sets flex-direction via a var and out-specifies us */
.bvx-pdp ul.products li.product{flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important}
.bvx-pdp ul.products li.product a.woocommerce-LoopProduct-link{width:100%!important}
/* v4 — mobile sticky add-to-cart bar (hidden on desktop; slides in after the main button scrolls away) */
.bvx-sticky{display:none}
@media (max-width:768px){
  .bvx-sticky{display:flex;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:9000;align-items:center;gap:10px;padding:7px 7px 7px 8px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border:1px solid var(--bvx-line);border-radius:18px;box-shadow:0 10px 30px rgba(13,39,67,.16);transform:translateY(calc(100% + 24px));opacity:0;visibility:hidden;transition:transform .45s var(--bvx-ease,ease),opacity .3s ease,visibility 0s .45s;font-family:Inter,sans-serif}
  .bvx-sticky.is-shown{transform:none;opacity:1;visibility:visible;transition:transform .45s var(--bvx-ease,ease),opacity .3s ease,visibility 0s 0s}
  .bvx-sticky__img{width:38px;height:46px;flex:none;border-radius:9px;background:#fff;border:1px solid var(--bvx-line);display:grid;place-items:center;overflow:hidden}
  .bvx-sticky__img img{width:100%;height:100%;object-fit:contain;padding:3px}
  .bvx-sticky__txt{min-width:0;flex:1;display:grid;line-height:1.25}
  .bvx-sticky__txt b{font:500 14px/1.25 Jost,Inter,sans-serif;color:var(--bvx-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bvx-sticky__txt span{font:600 13px Inter,sans-serif;color:var(--bvx-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bvx-sticky__txt span del{opacity:.5;font-weight:400}
  .bvx-sticky__btn,.bvx-sticky__btn:hover,.bvx-sticky__btn:focus,.bvx-sticky__btn:active{flex:none;height:44px;padding:0 18px;border:0;border-radius:999px;background:var(--bvx-teal);color:#fff;font:600 14px/1 Inter,sans-serif;cursor:pointer;white-space:nowrap}
  .bvx-sticky__btn:active{background:var(--bvx-teal-d)}
  .bvx-pdp{padding-bottom:84px}
}
@media (prefers-reduced-motion:reduce){.bvx-sticky{transition:none!important}}
