/* =====================================================================
   OchronaBiologiczna — Product UI 1.7.2
   SINGLE source of product CSS. Remove legacy product CSS from Divi Options.
   Design: typographic rhythm, restrained border use, unified supporting info.
   ===================================================================== */
body.single-product #main-content.ob-product-page {
  --ob-ink:#223d32;
  --ob-copy:#48594e;
  --ob-muted:#708077;
  --ob-green:#2d6a42;
  --ob-line:#e1e9e2;
  --ob-pale:#f5f8f4;
  --ob-warm:#faf7f1;
  --ob-orange:#ed990b;
  --ob-radius:12px;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  padding:36px 0 74px !important;
  margin:0 !important;
  background:#fff;
  color:var(--ob-copy);
  font-size:15px;
  line-height:1.65;
  overflow:visible !important;
  font-family:inherit !important;
  -webkit-font-smoothing:antialiased;
}
body.single-product .ob-product-page *,
body.single-product .ob-product-page *::before,
body.single-product .ob-product-page *::after {box-sizing:border-box;}
/* Divi sets individual header fonts; product area deliberately uses ONE family. */
body.single-product .ob-product-page :is(h1,h2,h3,h4,h5,h6,p,li,label,th,td,button,input,select) {
  font-family:inherit !important;
}
body.single-product .ob-product-page :is(h1,h2,h3,h4,h5,h6) {
  color:var(--ob-ink) !important;
  font-style:normal !important;
  letter-spacing:-.015em;
  text-transform:none;
}
body.single-product #main-content.ob-product-page > .obgp-shell {
  display:block !important;
  width:calc(100% - 64px) !important;
  max-width:1240px !important;
  margin:0 auto !important;
  padding:0 !important;
  float:none !important;
  clear:both;
}
body.single-product #main-content.ob-product-page .obgp-breadcrumb {
  margin:0 0 25px !important;
  color:var(--ob-muted);
  font-size:12.5px;
  line-height:1.6;
}
body.single-product #main-content.ob-product-page .obgp-breadcrumb a {color:var(--ob-muted);text-decoration:none;}
body.single-product #main-content.ob-product-page .obgp-breadcrumb a:hover {color:var(--ob-green);text-decoration:underline;}
body.single-product #main-content.ob-product-page article.obgp-product-root {
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  overflow:visible !important;
}
body.single-product #main-content.ob-product-page .obgp-product-top {
  display:grid !important;
  grid-template-columns:minmax(0,1.02fr) minmax(0,1fr) !important;
  gap:clamp(32px,4.5vw,66px) !important;
  align-items:start !important;
  width:100% !important;
}
body.single-product #main-content.ob-product-page .obgp-media,
body.single-product #main-content.ob-product-page .obgp-details {
  display:block !important;
  position:relative !important;
  float:none !important;
  clear:none !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  visibility:visible !important;
  opacity:1 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
}
body.single-product #main-content.ob-product-page .obgp-media {grid-column:1 !important;grid-row:1 !important;}
body.single-product #main-content.ob-product-page .obgp-details {grid-column:2 !important;grid-row:1 !important;}
/* Gallery: a contained, fixed-height stage for every image proportion.
   The original photo is preserved (contain), never cropped or stretched.
   WooCommerce FlexSlider sets an inline viewport height: our scoped rule
   keeps it compact, including for portrait product photos. */
body.single-product .ob-product-page .obgp-media {
  --ob-gallery-height:480px;
  --ob-gallery-image-height:390px;
}
body.single-product .ob-product-page .obgp-media .woocommerce-product-gallery {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  margin:0 0 14px !important;
  position:relative !important;
}
body.single-product .ob-product-page .obgp-media .woocommerce-product-gallery .flex-viewport,
body.single-product .ob-product-page .obgp-media .woocommerce-product-gallery__wrapper {
  height:var(--ob-gallery-height) !important;
  max-height:var(--ob-gallery-height) !important;
  min-height:0 !important;
  overflow:hidden !important;
  border-radius:13px;
  background:var(--ob-pale);
}
body.single-product .ob-product-page .obgp-media .woocommerce-product-gallery__image {
  height:var(--ob-gallery-height) !important;
  max-height:var(--ob-gallery-height) !important;
  overflow:hidden !important;
  text-align:center;
}
body.single-product .ob-product-page .obgp-media .woocommerce-product-gallery__image > a {
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:auto !important;
  padding:26px !important;
  text-align:center;
}
body.single-product .ob-product-page .obgp-media .woocommerce-product-gallery__image > a > img:not(.zoomImg) {
  display:block !important;
  flex:0 1 auto !important;
  width:auto !important;
  height:auto !important;
  max-width:min(100%, 450px) !important;
  max-height:var(--ob-gallery-image-height) !important;
  margin:auto !important;
  border-radius:9px;
  object-fit:contain !important;
  object-position:center;
}
body.single-product .ob-product-page .woocommerce-product-gallery .flex-control-thumbs {
  display:flex !important;
  flex-wrap:wrap;
  gap:9px;
  padding:0 !important;
  margin:10px 0 0 !important;
  list-style:none;
}
body.single-product .ob-product-page .woocommerce-product-gallery .flex-control-thumbs li {
  width:75px !important;
  max-width:calc((100% - 36px)/5);
  margin:0 !important;
  float:none !important;
  border:1px solid var(--ob-line);
  border-radius:9px;
  overflow:hidden;
}
body.single-product .ob-product-page .woocommerce-product-gallery .flex-control-thumbs li img {width:100% !important;height:auto;border-radius:8px;}
body.single-product .ob-product-page .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  top:16px !important;right:16px !important;
  border-radius:100%;
  z-index:5;
}
/* A single purchase region with consistent hierarchy. */
body.single-product .ob-product-page .obgp-purchase {margin:0 0 17px;}
body.single-product .ob-product-page .obgp-details .product_title {
  display:block !important;
  margin:0 0 14px !important;
  padding:0 !important;
  color:var(--ob-ink) !important;
  font-size:clamp(29px,2.65vw,36px) !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  letter-spacing:-.029em !important;
}
body.single-product .ob-product-page .obgp-details p.price,
body.single-product .ob-product-page .obgp-details > .obgp-purchase > .price {
  display:block;
  margin:0 0 19px !important;
  color:#273e33 !important;
  font-size:27px !important;
  font-weight:650 !important;
  line-height:1.22 !important;
}
body.single-product .ob-product-page .obgp-details .woocommerce-product-details__short-description {
  margin:0 0 20px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  color:var(--ob-copy) !important;
  font-size:14px;
  line-height:1.7;
}
body.single-product .ob-product-page .obgp-details .woocommerce-product-details__short-description p {margin:0 0 10px;}
body.single-product .ob-product-page .obgp-details form.cart {
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  float:none !important;
}
body.single-product .ob-product-page .obgp-details form.cart:not(.variations_form):not(.grouped_form),
body.single-product .ob-product-page .obgp-details .woocommerce-variation-add-to-cart {
  display:grid !important;
  grid-template-columns:80px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:stretch !important;
}
body.single-product .ob-product-page .obgp-details form.cart.variations_form,
body.single-product .ob-product-page .obgp-details form.cart.grouped_form {display:block !important;}
body.single-product .ob-product-page .obgp-details form.cart .quantity {
  width:80px !important;
  margin:0 !important;
  float:none !important;
  grid-column:1;
}
body.single-product .ob-product-page .obgp-details form.cart .quantity input.qty {
  width:80px !important;
  max-width:80px !important;
  min-height:50px !important;
  height:50px !important;
  padding:0 6px !important;
  border:1px solid #d9e2d9 !important;
  border-radius:9px !important;
  background:#fff !important;
  box-shadow:none !important;
  color:var(--ob-ink) !important;
  font-size:16px !important;
  text-align:center !important;
}
body.single-product .ob-product-page .obgp-details form.cart button.single_add_to_cart_button {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  grid-column:2;
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:50px !important;
  height:auto !important;
  margin:0 !important;
  padding:11px 18px !important;
  border:0 !important;
  border-radius:9px !important;
  background:var(--ob-orange) !important;
  color:#fff !important;
  box-shadow:none !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  text-align:center !important;
  white-space:normal !important;
  transition:background .16s ease;
}
body.single-product .ob-product-page .obgp-details form.cart button.single_add_to_cart_button::before,
body.single-product .ob-product-page .obgp-details form.cart button.single_add_to_cart_button::after {
  content:none !important;display:none !important;
}
body.single-product .ob-product-page .obgp-details form.cart button.single_add_to_cart_button:not(.disabled):not(:disabled):hover {
  background:#d98a06 !important;color:#fff !important;
}
body.single-product .ob-product-page .obgp-details form.cart button.single_add_to_cart_button.disabled,
body.single-product .ob-product-page .obgp-details form.cart button.single_add_to_cart_button:disabled {
  cursor:not-allowed;opacity:.58;box-shadow:none !important;
}
body.single-product .ob-product-page .obgp-details form.cart .variations {
  width:100% !important;
  margin:0 0 14px !important;
  border:0 !important;
  table-layout:auto !important;
}
body.single-product .ob-product-page .obgp-details form.cart .variations tr {
  display:grid !important;
  grid-template-columns:minmax(100px,1fr) minmax(0,2fr) !important;
  gap:12px !important;
  align-items:center;
  margin:0 0 12px;
  border:0 !important;
}
body.single-product .ob-product-page .obgp-details form.cart .variations :is(th,td) {
  display:block !important;
  width:auto !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
}
body.single-product .ob-product-page .obgp-details form.cart .variations th label {
  color:var(--ob-ink);
  font-size:13px !important;
  font-weight:650 !important;
}
body.single-product .ob-product-page .obgp-details form.cart .variations select {
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  min-height:46px;
  padding:9px 12px !important;
  margin:0 !important;
  color:var(--ob-ink);
  background:#fff !important;
  border:1px solid #d9e2d9 !important;
  border-radius:8px !important;
  font-size:14px !important;
}
body.single-product .ob-product-page .obgp-details .reset_variations {
  display:inline-block;
  margin:8px 0 0 !important;
  color:var(--ob-muted);
  font-size:12px;
}
body.single-product .ob-product-page .obgp-details .single_variation_wrap,
body.single-product .ob-product-page .obgp-details .woocommerce-variation-add-to-cart {
  width:100% !important;max-width:100% !important;min-width:0 !important;
}
body.single-product .ob-product-page .obgp-details .single_variation {margin:0 0 12px;}
body.single-product .ob-product-page .obgp-details .woocommerce-variation-price .price {
  margin:0 !important;
  color:var(--ob-ink) !important;
  font-size:21px !important;
  font-weight:650 !important;
}
/* Prominent but compact fulfillment notice */
body.single-product .ob-product-page .obgp-details .bio-delivery-box {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:16px !important;
  width:100% !important;
  margin:18px 0 17px !important;
  padding:16px 18px !important;
  background:#f3f8f3 !important;
  border:1px solid #dbe7dc !important;
  border-radius:12px !important;
  box-shadow:none !important;
}
body.single-product .ob-product-page .obgp-details .bio-delivery-header {
  display:flex !important;
  align-items:flex-start !important;
  gap:0 !important;
  min-width:0 !important;
}
body.single-product .ob-product-page .obgp-details .bio-icon {display:none !important;}
body.single-product .ob-product-page .obgp-details .bio-title {
  margin:0 !important;
  color:#295b3b !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  letter-spacing:-.005em;
}
body.single-product .ob-product-page .obgp-details .bio-subtitle {
  margin:5px 0 0 !important;
  color:#5d7164 !important;
  font-size:12.5px !important;
  font-weight:400 !important;
  line-height:1.5 !important;
}
body.single-product .ob-product-page .obgp-details .bio-count-section {
  min-width:140px !important;
  text-align:right;
}
body.single-product .ob-product-page .obgp-details .bio-count-label {
  margin:0 0 5px !important;
  padding:0 !important;
  color:#7b8c7e !important;
  font-size:10px !important;
  font-weight:600 !important;
  letter-spacing:.07em;
  text-transform:uppercase;
}
body.single-product .ob-product-page .obgp-details .bio-countdown {
  display:inline-block !important;
  min-width:140px !important;
  width:auto !important;
  margin:0 !important;
  padding:7px 10px !important;
  color:#285b3b !important;
  background:#fff !important;
  border:1px solid #dce9de !important;
  border-radius:8px !important;
  font-size:15px !important;
  font-weight:650 !important;
  line-height:1.4 !important;
  font-variant-numeric:tabular-nums;
  text-align:center;
  white-space:nowrap;
}
/* Supporting details are ONE visual group, not four competing cards. */
body.single-product .ob-product-page .obgp-product-notes {
  margin:0 0 11px;
  padding:0 18px;
  border:1px solid var(--ob-line);
  border-radius:12px;
  background:#fff;
}
body.single-product .ob-product-page .obgp-product-notes > :is(.obgp-courier,.obgp-live-notice,.obgp-live-guide,.obgp-bumblebee-note) {
  display:block !important;
  position:static !important;
  width:100% !important;
  margin:0 !important;
  padding:16px 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.single-product .ob-product-page .obgp-product-notes > :is(.obgp-live-notice,.obgp-live-guide,.obgp-bumblebee-note) {
  border-top:1px solid var(--ob-line) !important;
}
body.single-product .ob-product-page .obgp-product-notes :is(h2,h3) {
  margin:0 0 8px !important;
  padding:0 !important;
  color:var(--ob-ink) !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  letter-spacing:0 !important;
}
body.single-product .ob-product-page .obgp-product-notes p,
body.single-product .ob-product-page .obgp-product-notes li {
  margin:0;
  color:#627168 !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.6 !important;
}
body.single-product .ob-product-page .obgp-courier ul {margin:0 !important;padding:0 !important;list-style:none !important;}
body.single-product .ob-product-page .obgp-courier li {
  display:flex !important;
  align-items:baseline !important;
  gap:8px !important;
  margin:3px 0 !important;
  padding:0 !important;
}
body.single-product .ob-product-page .obgp-courier li::before {content:'✓';flex:0 0 12px;color:var(--ob-green);font-weight:700;}
body.single-product .ob-product-page .obgp-live-notice__mark {display:none !important;}
body.single-product .ob-product-page .obgp-live-notice__body {width:100% !important;min-width:0 !important;}
body.single-product .ob-product-page .obgp-product-notes .obgp-live-notice h2 {color:#775936 !important;}
body.single-product .ob-product-page .obgp-live-notice .obgp-live-notice__body > p {margin:0 !important;}
body.single-product .ob-product-page .obgp-live-guide__icon {display:none !important;}
body.single-product .ob-product-page .obgp-live-guide__content {width:100% !important;min-width:0 !important;}
body.single-product .ob-product-page .obgp-live-guide h2 {color:#2d6041 !important;letter-spacing:0 !important;text-transform:none !important;}
body.single-product .ob-product-page .obgp-live-guide p {margin:0 0 4px !important;}
body.single-product .ob-product-page .obgp-live-guide__link {
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  color:#286940 !important;
  font-size:13px !important;
  font-weight:650 !important;
  line-height:1.6 !important;
  text-decoration:none !important;
}
body.single-product .ob-product-page .obgp-live-guide__link:hover {text-decoration:underline !important;}
body.single-product .ob-product-page .obgp-bumblebee-note h2 {color:#775936 !important;}
/* Keep the two safety paragraphs visually separated, within the existing unified information panel. */
body.single-product .ob-product-page .obgp-bumblebee-note p + p {margin-top:9px !important;}

body.single-product .ob-product-page .obgp-details .product_meta {
  margin:11px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  color:var(--ob-muted) !important;
  font-size:12px !important;
  line-height:1.6 !important;
}
body.single-product .ob-product-page .obgp-details .product_meta :is(span,a) {color:var(--ob-muted) !important;font-size:12px !important;}
body.single-product .ob-product-page .obgp-details .product_meta a:hover {color:var(--ob-green) !important;text-decoration:underline;}
/* Description and specification: no duplicate panel wrappers. */
body.single-product .ob-product-page .obgp-after-product {
  display:block !important;
  clear:both !important;
  width:100% !important;
  max-width:100% !important;
  margin-top:62px !important;
}
body.single-product .ob-product-page .obgp-after-product .woocommerce-tabs {
  float:none !important;
  width:100% !important;
  max-width:1050px !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.single-product .ob-product-page .woocommerce-tabs > ul.tabs {
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:26px !important;
  width:100% !important;
  margin:0 0 23px !important;
  padding:0 !important;
  min-height:44px !important;
  border:0 !important;
  border-bottom:1px solid var(--ob-line) !important;
  background:transparent !important;
}
body.single-product .ob-product-page .woocommerce-tabs > ul.tabs::before,
body.single-product .ob-product-page .woocommerce-tabs > ul.tabs::after,
body.single-product .ob-product-page .woocommerce-tabs > ul.tabs > li::before,
body.single-product .ob-product-page .woocommerce-tabs > ul.tabs > li::after {display:none !important;content:none !important;}
body.single-product .ob-product-page .woocommerce-tabs > ul.tabs > li {
  float:none !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.single-product .ob-product-page .woocommerce-tabs > ul.tabs > li > a {
  display:inline-flex !important;
  align-items:center !important;
  min-height:43px !important;
  padding:9px 0 10px !important;
  margin:0 !important;
  border:0 !important;
  border-bottom:2px solid transparent !important;
  background:transparent !important;
  color:#65746a !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.5 !important;
  text-decoration:none !important;
}
body.single-product .ob-product-page .woocommerce-tabs > ul.tabs > li.active > a,
body.single-product .ob-product-page .woocommerce-tabs > ul.tabs > li > a:hover {
  color:var(--ob-green) !important;
  border-bottom-color:var(--ob-green) !important;
}
body.single-product .ob-product-page .woocommerce-tabs .woocommerce-Tabs-panel,
body.single-product .ob-product-page .woocommerce-tabs .panel {
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--ob-copy) !important;
  overflow:visible !important;
}
/* H2 duplicates tab label and is visually redundant but stays semantic for accessibility. */
body.single-product .ob-product-page :is(.woocommerce-Tabs-panel--description,.woocommerce-Tabs-panel--additional_information) > h2:first-child {
  position:absolute !important;
  width:1px !important;height:1px !important;
  margin:-1px !important;padding:0 !important;
  border:0 !important;overflow:hidden !important;
  white-space:nowrap !important;clip-path:inset(50%) !important;
}
body.single-product .ob-product-page .woocommerce-Tabs-panel--description > :is(p,ul,ol,blockquote) {max-width:78ch;}
body.single-product .ob-product-page .woocommerce-tabs .woocommerce-Tabs-panel :is(p,li) {
  margin:0 0 15px !important;
  color:var(--ob-copy) !important;
  font-size:15px !important;
  font-weight:400 !important;
  font-style:normal;
  line-height:1.78 !important;
}
body.single-product .ob-product-page .woocommerce-tabs .woocommerce-Tabs-panel :is(h2,h3,h4) {
  margin:24px 0 11px !important;
  padding:0 !important;
  color:var(--ob-ink) !important;
  font-weight:650 !important;
  line-height:1.36 !important;
}
body.single-product .ob-product-page .woocommerce-tabs .woocommerce-Tabs-panel h2 {font-size:23px !important;}
body.single-product .ob-product-page .woocommerce-tabs .woocommerce-Tabs-panel h3 {font-size:19px !important;}
body.single-product .ob-product-page .woocommerce-tabs .woocommerce-Tabs-panel a:not(.button) {color:var(--ob-green) !important;text-underline-offset:3px;}
body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes {
  display:table !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-collapse:collapse !important;
  border-spacing:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes :is(tbody,tr) {
  background:transparent !important;
  border:0 !important;
}
body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes :is(th,td) {
  display:table-cell !important;
  vertical-align:top !important;
  padding:15px 12px !important;
  border:0 !important;
  border-bottom:1px solid var(--ob-line) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-style:normal !important;
  font-size:14px !important;
  line-height:1.75 !important;
  overflow-wrap:anywhere;
}
/* No top line on the first attributes row: tabs already have a divider. */
body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes th {
  width:205px !important;
  min-width:145px !important;
  padding-left:0 !important;
  color:var(--ob-ink) !important;
  font-weight:650 !important;
  text-align:left !important;
}
body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes td {
  padding-right:0 !important;
  color:var(--ob-copy) !important;
  font-weight:400 !important;
}
body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes td p {
  margin:0 0 9px !important;
  color:inherit !important;
  font-size:14px !important;
  line-height:1.75 !important;
  font-style:normal !important;
}
body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes td p:last-child {margin-bottom:0 !important;}
/* One recommendation section, understated consistent cards. */
body.single-product .ob-product-page .obgp-recommendations {
  margin:60px 0 0 !important;
  padding:34px 0 0 !important;
  border:0 !important;
  border-top:1px solid var(--ob-line) !important;
}
body.single-product .ob-product-page .obgp-recommendations__header {
  display:flex !important;
  justify-content:space-between !important;
  align-items:baseline !important;
  gap:18px !important;
  margin:0 0 23px !important;
}
body.single-product .ob-product-page .obgp-recommendations__header h2 {
  margin:0 !important;
  padding:0 !important;
  color:var(--ob-ink) !important;
  font-size:21px !important;
  font-weight:600 !important;
  line-height:1.35 !important;
}
body.single-product .ob-product-page .obgp-recommendations__header p {
  margin:0 !important;
  color:var(--ob-muted) !important;
  font-size:12px !important;
  line-height:1.5 !important;
}
body.single-product .ob-product-page .obgp-recommendations__grid {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:17px !important;
}
body.single-product .ob-product-page .obgp-rec-card {
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  background:#fff !important;
  border:1px solid var(--ob-line) !important;
  border-radius:12px !important;
  overflow:hidden;
  box-shadow:none !important;
  transition:border-color .16s ease;
}
body.single-product .ob-product-page .obgp-rec-card:hover {border-color:#bacfbe !important;}
body.single-product .ob-product-page .obgp-rec-card__media {
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  aspect-ratio:1 / 1;
  padding:12px !important;
  background:#f8faf7 !important;
  overflow:hidden !important;
}
body.single-product .ob-product-page .obgp-rec-card__img {
  display:block !important;
  max-width:100% !important;
  max-height:100% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  margin:auto !important;
}
body.single-product .ob-product-page .obgp-rec-card__content {
  display:flex !important;
  flex:1 1 auto !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  padding:15px 15px 17px !important;
}
body.single-product .ob-product-page .obgp-rec-card__title {
  display:-webkit-box !important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
  margin:0 0 10px !important;
  color:var(--ob-ink) !important;
  font-size:14px !important;
  font-weight:650 !important;
  line-height:1.48 !important;
  letter-spacing:0 !important;
}
body.single-product .ob-product-page .obgp-rec-card__title a {color:inherit !important;text-decoration:none !important;}
body.single-product .ob-product-page .obgp-rec-card__title a:hover {color:var(--ob-green) !important;text-decoration:underline !important;}
body.single-product .ob-product-page .obgp-rec-card__price,
body.single-product .ob-product-page .obgp-rec-card__price :is(.price,.amount) {
  margin:0 0 14px !important;
  color:#637366 !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1.5 !important;
}
body.single-product .ob-product-page .obgp-rec-card__link {
  display:inline-flex !important;
  align-items:center;
  gap:5px;
  margin-top:auto !important;
  color:var(--ob-green) !important;
  font-size:13px !important;
  font-weight:650 !important;
  line-height:1.4 !important;
  text-decoration:none !important;
}
body.single-product .ob-product-page .obgp-rec-card__link:hover {text-decoration:underline !important;}
/* Focus and reduced motion */
body.single-product .ob-product-page :is(button,input,select,a):focus-visible {outline:2px solid var(--ob-green);outline-offset:3px;}
@media(max-width:1060px) {
  body.single-product .ob-product-page .obgp-recommendations__grid {grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:920px) {
  body.single-product .ob-product-page .obgp-media {
    --ob-gallery-height:420px;
    --ob-gallery-image-height:340px;
  }
  body.single-product #main-content.ob-product-page {padding:28px 0 56px !important;}
  body.single-product #main-content.ob-product-page > .obgp-shell {width:calc(100% - 44px) !important;}
  body.single-product #main-content.ob-product-page .obgp-product-top {grid-template-columns:minmax(0,1fr) !important;gap:26px !important;}
  body.single-product #main-content.ob-product-page .obgp-media,
  body.single-product #main-content.ob-product-page .obgp-details {grid-column:1 !important;grid-row:auto !important;}
  body.single-product #main-content.ob-product-page .obgp-media {max-width:650px !important;margin:0 auto !important;}
  body.single-product #main-content.ob-product-page .obgp-recommendations__grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:560px) {
  body.single-product .ob-product-page .obgp-media {
    --ob-gallery-height:330px;
    --ob-gallery-image-height:270px;
  }
  body.single-product .ob-product-page .obgp-media .woocommerce-product-gallery__image > a {
    padding:18px !important;
  }
  body.single-product #main-content.ob-product-page {padding:18px 0 44px !important;}
  body.single-product #main-content.ob-product-page > .obgp-shell {width:calc(100% - 30px) !important;}
  body.single-product .ob-product-page .obgp-breadcrumb {font-size:12px !important;margin-bottom:17px !important;}
  body.single-product .ob-product-page .obgp-details .product_title {font-size:27px !important;}
  body.single-product .ob-product-page .obgp-details p.price {font-size:25px !important;}
  body.single-product .ob-product-page .obgp-details .bio-delivery-box {grid-template-columns:minmax(0,1fr) !important;gap:10px !important;}
  body.single-product .ob-product-page .obgp-details .bio-count-section {text-align:left;}
  body.single-product .ob-product-page .obgp-details .bio-countdown {min-width:0 !important;}
  body.single-product .ob-product-page .obgp-product-notes {padding:0 14px;}
  body.single-product .ob-product-page .obgp-details form.cart .variations tr {grid-template-columns:minmax(0,1fr) !important;gap:5px !important;}
  body.single-product .ob-product-page .obgp-details form.cart .quantity,
  body.single-product .ob-product-page .obgp-details form.cart .quantity input.qty {width:70px !important;max-width:70px !important;}
  body.single-product .ob-product-page .obgp-details form.cart:not(.variations_form):not(.grouped_form),
  body.single-product .ob-product-page .obgp-details .woocommerce-variation-add-to-cart {grid-template-columns:70px minmax(0,1fr) !important;gap:9px !important;}
  body.single-product .ob-product-page .obgp-after-product {margin-top:43px !important;}
  body.single-product .ob-product-page .woocommerce-tabs > ul.tabs {gap:17px !important;}
  body.single-product .ob-product-page .woocommerce-tabs > ul.tabs > li > a {font-size:13px !important;}
  body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes,
  body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes tbody,
  body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes tr,
  body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes :is(th,td) {
    display:block !important;width:100% !important;min-width:0 !important;
  }
  body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes tr {padding:14px 0 15px;border-bottom:1px solid var(--ob-line) !important;}
  /* No duplicate top border above first parameter on mobile either. */
  body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes :is(th,td) {border:0 !important;padding:0 !important;}
  body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes th {font-size:13px !important;padding-bottom:5px !important;}
  body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes td,
  body.single-product .ob-product-page .woocommerce-tabs table.shop_attributes td p {font-size:14px !important;line-height:1.7 !important;}
  body.single-product .ob-product-page .obgp-recommendations {margin-top:40px !important;padding-top:26px !important;}
  body.single-product .ob-product-page .obgp-recommendations__header {display:block !important;margin-bottom:16px !important;}
  body.single-product .ob-product-page .obgp-recommendations__header h2 {font-size:20px !important;}
  body.single-product .ob-product-page .obgp-recommendations__header p {margin-top:4px !important;}
  body.single-product .ob-product-page .obgp-recommendations__grid {gap:10px !important;}
  body.single-product .ob-product-page .obgp-rec-card__content {padding:11px !important;}
  body.single-product .ob-product-page .obgp-rec-card__title {font-size:12.5px !important;}
  body.single-product .ob-product-page .obgp-rec-card__price,
  body.single-product .ob-product-page .obgp-rec-card__price :is(.price,.amount) {font-size:12px !important;}
  body.single-product .ob-product-page .obgp-rec-card__link {font-size:12px !important;}
}
@media(prefers-reduced-motion:reduce) {
  body.single-product .ob-product-page .obgp-rec-card,
  body.single-product .ob-product-page .obgp-details form.cart button.single_add_to_cart_button {transition:none !important;}
}
