/* ==========================================================================
   BIO-PRIME — PRODUCT PAGES (append to the end of homepage.css)
   Shop catalog + single product detail. Reuses .bp-* tokens.
   ========================================================================== */

/* Shared bits ------------------------------------------------------------ */
.bp-h1{font-size:56px;line-height:1.05;letter-spacing:-.02em;font-weight:700;color:var(--bp-ink);margin:8px 0 12px;display:inline-block;}
.bp-crumb{font-size:13px;color:var(--bp-meta);margin-bottom:16px;}
.bp-crumb a{color:var(--bp-meta);text-decoration:none;}
.bp-crumb a:hover{color:var(--bp-primary);}
.bp-crumb span{margin:0 6px;opacity:.5;}
.bp-mut{color:var(--bp-meta);font-weight:500;}

/* Shop hero -------------------------------------------------------------- */
.bp-shophero{position:relative;overflow:hidden;padding-top:56px;padding-bottom:8px;}
.bp-shophero__lead{color:var(--bp-body);font-size:18px;max-width:44rem;margin:8px 0 0;}

/* Filter chips ----------------------------------------------------------- */
.bp-filters{display:flex;flex-wrap:wrap;gap:10px;padding:28px 0 40px;}
.bp-chip{display:inline-flex;align-items:center;padding:9px 20px;border-radius:9999px;font-size:13px;font-weight:600;text-decoration:none;color:var(--bp-body);background:#fff;border:1px solid var(--bp-hair);transition:all .2s ease;}
.bp-chip:hover{border-color:var(--bp-primary);color:var(--bp-primary);}
.bp-chip.is-active{background:var(--bp-primary);border-color:var(--bp-primary);color:#fff;}

/* 4-col grid variant + sale tag ------------------------------------------ */
.bp-products__grid--4{grid-template-columns:repeat(4,1fr);}
.bp-shopgrid{padding-bottom:72px;}
.bp-card__media{position:relative;}
.bp-card__tag{position:absolute;top:12px;left:12px;background:var(--bp-primary);color:#fff;font-size:10px;font-weight:700;letter-spacing:.05em;padding:4px 10px;border-radius:9999px;z-index:2;}

/* CTA band --------------------------------------------------------------- */
.bp-ctaband{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;background:var(--bp-mint);border-radius:24px;padding:48px 56px;margin:0 0 72px;}
.bp-ctaband p{color:var(--bp-body);margin:8px 0 0;}

/* ==========================================================================
   SINGLE PRODUCT DETAIL
   ========================================================================== */
.bp-pd-top{padding-top:32px;}
.bp-pd{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;padding-top:16px;padding-bottom:48px;position:relative;overflow:hidden;}

.bp-pd__media{position:relative;}
.bp-pd__mainimg{background:var(--bp-pale);border-radius:24px;overflow:hidden;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;}
.bp-pd__mainimg img,.bp-pd__img{width:100%;height:100%;object-fit:cover;display:block;}
.bp-pd__thumbs{display:flex;gap:12px;margin-top:16px;}
.bp-pd__thumb{width:76px;height:76px;border-radius:14px;overflow:hidden;border:2px solid transparent;background:var(--bp-pale);cursor:pointer;transition:border-color .2s;}
.bp-pd__thumb:hover{border-color:var(--bp-primary);}
.bp-pd__thumb img{width:100%;height:100%;object-fit:cover;}

.bp-pd__info{padding-top:8px;}
.bp-pd__title{font-size:44px;line-height:1.08;letter-spacing:-.02em;font-weight:700;margin:10px 0 16px;display:inline-block;}
.bp-pd__badges{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px;}
.bp-pill{background:var(--bp-mint);color:var(--bp-primary-dark);font-size:12px;font-weight:700;padding:6px 14px;border-radius:9999px;}
.bp-stock{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--bp-primary-dark);}
.bp-stock__dot{width:8px;height:8px;border-radius:9999px;background:var(--bp-primary);display:inline-block;}
.bp-stock--out{color:#b0413c;}
.bp-pd__sku{font-size:13px;color:var(--bp-meta);}
.bp-pd__price{font-size:38px;font-weight:700;color:var(--bp-ink);margin-bottom:20px;}
.bp-pd__price del{color:var(--bp-meta);font-weight:400;font-size:22px;margin-right:10px;}
.bp-pd__price ins{text-decoration:none;}
.bp-pd__desc{color:var(--bp-body);font-size:16px;line-height:1.7;margin-bottom:28px;}

/* WooCommerce add-to-cart form, restyled to match --------------------- */
.bp-pd__cart .quantity{display:inline-flex;margin-right:12px;}
.bp-pd__cart .quantity input.qty{width:72px;padding:12px;border:1px solid var(--bp-hair);border-radius:12px;text-align:center;font-family:inherit;font-size:15px;background:var(--bp-pale);}
.bp-pd__cart button.single_add_to_cart_button{background:var(--bp-primary);color:#fff;border:0;padding:15px 40px;border-radius:16px;font-weight:700;font-family:inherit;font-size:16px;cursor:pointer;box-shadow:0 8px 20px rgba(18,176,168,.18);transition:filter .2s;}
.bp-pd__cart button.single_add_to_cart_button:hover{filter:brightness(1.08);}
.bp-pd__cart .variations{margin-bottom:16px;width:100%;}
.bp-pd__cart .variations td,.bp-pd__cart .variations th{padding:6px 8px 6px 0;text-align:left;}
.bp-pd__cart select{padding:12px 14px;border:1px solid var(--bp-hair);border-radius:12px;font-family:inherit;background:var(--bp-pale);}

.bp-pd__trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:24px;padding-top:24px;border-top:1px solid var(--bp-hair);font-size:13px;color:var(--bp-body);}
.bp-pd__trust span{display:inline-flex;align-items:center;gap:6px;}

/* Spec strip ------------------------------------------------------------- */
.bp-pd-specs{background:var(--bp-mint-soft);border-top:1px solid rgba(18,176,168,.12);border-bottom:1px solid rgba(18,176,168,.12);padding:22px 0;}
.bp-pd-specs__row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.bp-pd-specs__row div{display:flex;flex-direction:column;gap:2px;padding-left:20px;border-left:2px solid rgba(18,176,168,.25);}
.bp-pd-specs__row strong{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--bp-meta);}
.bp-pd-specs__row span{font-size:15px;font-weight:600;color:var(--bp-ink);}

/* About + quick facts ---------------------------------------------------- */
.bp-pd-about{display:grid;grid-template-columns:1.6fr 1fr;gap:56px;align-items:start;padding-top:64px;padding-bottom:64px;}
.bp-pd-about__body{color:var(--bp-body);font-size:16px;line-height:1.75;}
.bp-pd-about__body p{margin:0 0 16px;}
.bp-pd-about__facts{margin-top:52px;}

/* Responsive ------------------------------------------------------------- */
@media (max-width:1024px){
  .bp-products__grid--4{grid-template-columns:repeat(2,1fr);}
  .bp-pd{grid-template-columns:1fr;gap:40px;}
  .bp-pd-about{grid-template-columns:1fr;gap:32px;}
  .bp-pd-about__facts{margin-top:0;}
}
@media (max-width:768px){
  .bp-h1{font-size:40px;}
  .bp-pd__title{font-size:34px;}
  .bp-pd__price{font-size:30px;}
  .bp-products__grid--4{grid-template-columns:1fr;}
  .bp-pd-specs__row{grid-template-columns:1fr 1fr;gap:18px 24px;}
  .bp-ctaband{padding:32px;}
}

/* Product detail polish -------------------------------------------------- */
.single-product .bp-main{
  background:linear-gradient(180deg,#fff 0%,#f7fbfb 48%,#fff 100%);
}

.single-product .bp-pd-top{
  padding-top:48px;
}

.single-product .bp-crumb{
  color:#6c7a78;
  font-size:15px;
  margin-bottom:24px;
}

.single-product .bp-crumb a{
  color:#506260;
  font-weight:600;
}

.single-product .bp-crumb a:hover{
  color:var(--bp-primary);
}

.single-product .bp-pd{
  grid-template-columns:minmax(420px,1fr) minmax(420px,.95fr);
  gap:70px;
  padding-top:0;
  padding-bottom:72px;
  overflow:visible;
}

.single-product .bp-pd__media{
  position:sticky;
  top:128px;
}

.single-product .bp-pd__mainimg{
  border-radius:30px;
  background:linear-gradient(145deg,#fff 0%,#f5fbfb 100%);
  border:1px solid rgba(187,201,199,.35);
  box-shadow:0 24px 58px rgba(17,21,23,.08),0 12px 30px rgba(18,176,168,.08);
}

.single-product .bp-pd__mainimg img,
.single-product .bp-pd__img{
  object-fit:cover;
  transition:transform .55s ease;
}

.single-product .bp-pd__mainimg:hover img,
.single-product .bp-pd__mainimg:hover .bp-pd__img{
  transform:scale(1.035);
}

.single-product .bp-pd__thumb{
  border-radius:16px;
  border-color:rgba(187,201,199,.45);
  box-shadow:0 8px 18px rgba(17,21,23,.05);
}

.single-product .bp-pd__thumb:hover{
  border-color:var(--bp-primary);
  box-shadow:0 10px 24px rgba(18,176,168,.16);
}

.single-product .bp-pd__info{
  padding:34px 0 0;
}

.single-product .bp-eyebrow{
  color:var(--bp-primary);
  font-size:14px;
  font-weight:800;
  letter-spacing:.08em;
}

.single-product .bp-pd__title{
  display:block;
  margin:18px 0 20px;
  color:var(--bp-ink);
  font-size:56px;
  line-height:1.05;
  letter-spacing:0;
  font-weight:800;
  -webkit-text-fill-color:initial;
  background:none;
  animation:none;
}

.single-product .bp-pd__badges{
  gap:12px;
  margin-bottom:28px;
}

.single-product .bp-pill,
.single-product .bp-stock{
  min-height:38px;
  padding:9px 17px;
  border-radius:9999px;
  background:#dff3f1;
  color:var(--bp-primary-dark);
  font-size:15px;
  font-weight:800;
}

.single-product .bp-stock{
  background:#fff;
}

.single-product .bp-stock__dot{
  width:10px;
  height:10px;
  background:var(--bp-primary);
}

.single-product .bp-pd__sku{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:9px 14px;
  border-radius:9999px;
  background:#f4f9f9;
  color:#506260;
  font-size:13px;
  font-weight:700;
}

.single-product .bp-pd__price{
  color:var(--bp-ink);
  font-size:48px;
  font-weight:800;
  line-height:1.1;
  margin-bottom:28px;
}

.single-product .bp-pd__desc{
  max-width:720px;
  color:#263332;
  font-size:18px;
  line-height:1.75;
  margin-bottom:34px;
}

.single-product .bp-pd__cart form.cart{
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}

.single-product .bp-pd__cart form.variations_form{
  align-items:flex-start;
}

.single-product .bp-pd__cart table.variations{
  display:block;
  width:100%;
  margin:0 0 20px;
  border:0;
  border-collapse:separate;
  border-spacing:0;
  background:transparent;
}

.single-product .bp-pd__cart table.variations tbody,
.single-product .bp-pd__cart table.variations tr,
.single-product .bp-pd__cart table.variations th,
.single-product .bp-pd__cart table.variations td{
  display:block;
  width:100%;
  border:0;
  padding:0;
  background:transparent;
  box-shadow:none;
}

.single-product .bp-pd__cart table.variations tr{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  align-items:center;
  gap:18px;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.single-product .bp-pd__cart table.variations th.label{
  align-self:stretch;
  display:flex;
  align-items:center;
  padding:0;
  background:transparent;
  border-right:0;
}

.single-product .bp-pd__cart table.variations th.label label{
  margin:0;
  color:var(--bp-ink);
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.single-product .bp-pd__cart table.variations td.value{
  position:relative;
  padding:0;
}

.single-product .bp-pd__cart table.variations td.value::after{
  content:"";
  position:absolute;
  top:50%;
  right:26px;
  width:9px;
  height:9px;
  border-right:2px solid var(--bp-primary-dark);
  border-bottom:2px solid var(--bp-primary-dark);
  pointer-events:none;
  transform:translateY(-68%) rotate(45deg);
}

.single-product .bp-pd__cart table.variations select{
  width:100%;
  min-height:58px;
  padding:14px 48px 14px 18px;
  border:1.5px solid rgba(18,176,168,.2);
  border-radius:14px;
  appearance:none;
  background:#f8fdfd;
  color:var(--bp-ink);
  font-family:inherit;
  font-size:18px;
  font-weight:600;
  line-height:1.3;
  outline:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.85);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.single-product .bp-pd__cart table.variations select:focus{
  border-color:var(--bp-primary);
  background:#fff;
  box-shadow:0 0 0 4px rgba(18,176,168,.14);
}

.single-product .bp-pd__cart table.variations .reset_variations{
  display:none;
}

.single-product .bp-pd__cart .single_variation_wrap{
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  width:100%;
}

.single-product .bp-pd__cart .quantity{
  margin-right:0;
}

.single-product .bp-pd__cart .quantity input.qty{
  width:90px;
  min-height:62px;
  padding:12px;
  border:1px solid rgba(187,201,199,.45);
  border-radius:16px;
  background:#f6fbfb;
  color:var(--bp-ink);
  font-size:18px;
  font-weight:700;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.8);
}

.single-product .bp-pd__cart button.single_add_to_cart_button,
.single-product .bp-pd__cart .single_add_to_cart_button.button,
.single-product .bp-pd__cart .single_add_to_cart_button.button.alt{
  min-width:230px;
  min-height:62px;
  padding:17px 42px !important;
  border:0 !important;
  border-radius:30px !important;
  background:var(--bp-primary) !important;
  color:#fff !important;
  font-family:inherit !important;
  font-size:20px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-transform:none !important;
  box-shadow:0 12px 28px rgba(18,176,168,.28),0 0 0 1px rgba(53,224,212,.18) !important;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease !important;
  margin-left: 32px;
}s

.single-product .bp-pd__cart button.single_add_to_cart_button:hover,
.single-product .bp-pd__cart .single_add_to_cart_button.button:hover,
.single-product .bp-pd__cart .single_add_to_cart_button.button.alt:hover{
  background:#0e8f88 !important;
  color:#fff !important;
  transform:translateY(-2px);
  box-shadow:0 16px 38px rgba(18,176,168,.36),0 0 28px rgba(53,224,212,.24) !important;
}

.single-product .bp-pd__trust{
  gap:18px;
  margin-top:30px;
  padding-top:30px;
  border-top:1px solid rgba(187,201,199,.35);
  color:#3c4948;
  font-size:15px;
  font-weight:600;
}

.single-product .bp-pd-specs{
  background:#eefbf9;
  padding:30px 0;
}

.single-product .bp-pd-specs__row div{
  min-height:72px;
  justify-content:center;
  border-left-color:rgba(18,176,168,.35);
}

.single-product .bp-pd-specs__row strong{
  color:#506260;
  letter-spacing:0;
  font-size:12px;
}

.single-product .bp-pd-specs__row span{
  color:var(--bp-ink);
  font-size:17px;
}

.single-product .bp-pd-about{
  align-items:start;
  padding-top:45px;
  padding-bottom:60px;
  min-height:0;
  margin-bottom:0;
}

.single-product .bp-pd-about__body{
  color:#263332;
  font-size:17px;
}

.single-product .bp-pd-about__body p:last-child{
  margin-bottom:0;
}

.single-product .bp-pd-about__body hr{
  margin:20px 0 0;
}

.single-product .bp-pd-about__facts{
  position:relative;
  top:auto;
  align-self:start;
  margin-top:0;
}

.single-product .bp-pd-about__facts .bp-protocol{
  border:1px solid rgba(18,176,168,.18);
  background:rgba(238,251,249,.92);
  box-shadow:0 18px 42px rgba(10,31,26,.08);
  backdrop-filter:blur(14px);
}

.single-product .bp-products{
  margin-top:0;
  padding-top:38px;
}

@media (max-width:1024px){
  .single-product .bp-pd{
    grid-template-columns:1fr;
    gap:42px;
  }

  .single-product .bp-pd__media{
    position:relative;
    top:auto;
  }

  .single-product .bp-pd-about{
    padding-top:36px;
    padding-bottom:0;
  }

  .single-product .bp-pd-about__facts{
    position:relative;
    top:auto;
    margin-top:0;
  }
}

@media (max-width:768px){
  .single-product .bp-pd-top{
    padding-top:34px;
  }

  .single-product .bp-pd__title{
    font-size:38px;
  }

  .single-product .bp-pd__price{
    font-size:38px;
  }

  .single-product .bp-pd__desc{
    font-size:16px;
  }

  .single-product .bp-pd__cart form.cart{
    align-items:stretch;
    flex-direction:column;
  }

  .single-product .bp-pd__cart table.variations tr{
    grid-template-columns:1fr;
    gap:8px;
  }

  .single-product .bp-pd__cart table.variations th.label{
    min-height:0;
    border-right:0;
    border-bottom:0;
  }

  .single-product .bp-pd__cart table.variations select{
    min-height:54px;
    font-size:16px;
  }

  .single-product .bp-pd__cart .single_variation_wrap{
    align-items:stretch;
    flex-direction:column;
  }

  .single-product .bp-pd__cart .quantity input.qty,
  .single-product .bp-pd__cart button.single_add_to_cart_button,
  .single-product .bp-pd__cart .single_add_to_cart_button.button,
  .single-product .bp-pd__cart .single_add_to_cart_button.button.alt{
    width:100%;
  }
}
