/* Shared native product information: quick-view and full product pages. */
.supherb-product-details {
  color:#171717; --color-foreground:23 23 23; --color-heading:23 23 23;
  font-family:"Nunito Sans",sans-serif; font-size:18px; line-height:1.65;
}
.supherb-details-brand { margin:0 0 22px; font-size:18px; }
.supherb-product-details .supherb-details-title {
  color:#171717; font-family:"SUPHERB Product Reference",serif; font-weight:400;
  font-size:clamp(28px,2.7vw,48px); line-height:1.08; letter-spacing:-.025em;
  text-transform:uppercase; margin:0 0 30px; overflow-wrap:anywhere;
}
.supherb-details-price {
  color:rgb(var(--color-base-highlight)); font-family:Platypi,serif; font-weight:700;
  font-size:26px; line-height:1.3; text-align:right; padding:0 0 26px; border-bottom:1px solid #d8d8d8;
}
.supherb-details-price .price { color:inherit; font:inherit; }
.supherb-details-price del { color:#777; font-size:.75em; }
.supherb-details-reviews { display:flex; align-items:center; gap:12px; padding:22px 0 26px; font-size:16px; }
.supherb-details-reviews > span { color:#777; }
.supherb-details-reviews .star-rating { position:relative; display:inline-block; width:5em; height:1em; font:20px/1 Arial,sans-serif; color:#ed8a00; overflow:hidden; }
.supherb-details-reviews .star-rating:before { content:"☆☆☆☆☆"; position:absolute; inset:0; }
.supherb-details-reviews .star-rating span { position:absolute; inset:0 auto 0 0; overflow:hidden; text-indent:-999em; }
.supherb-details-reviews .star-rating span:before { content:"★★★★★"; position:absolute; left:0; top:0; text-indent:0; }
.supherb-details-description p { margin:0 0 18px; }
.supherb-details-formats { margin:26px 0 30px; }
.supherb-details-formats > p { margin-bottom:16px; }
.supherb-details-formats ul { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.supherb-product-details .variations,
.supherb-product-details .variations tbody,
.supherb-product-details .variations tr,
.supherb-product-details .variations th,
.supherb-product-details .variations td { display:block; width:100%; padding:0; border:0; background:transparent; text-align:left; }
.supherb-product-details .variations { margin:0 0 22px; }
.supherb-product-details .variations tr + tr { margin-top:22px; }
.supherb-product-details .variations th { margin-bottom:12px; }
.supherb-product-details .variations label { font:400 18px/1.5 "Nunito Sans",sans-serif; }
.supherb-variation-choices { display:flex; flex-wrap:wrap; gap:14px; }
.supherb-variation-choice { border:1px solid #e5e5e5; border-radius:6px; background:#fff; color:#171717; padding:13px 24px; min-height:52px; font:400 16px/1.4 "Nunito Sans",sans-serif; cursor:pointer; }
.supherb-variation-choice[aria-pressed="true"] { border:2px solid #171717; padding:12px 23px; }
.supherb-variation-choice:disabled { opacity:.4; cursor:not-allowed; text-decoration:line-through; }
.supherb-variation-choice:focus-visible { outline:2px solid #ed8a00; outline-offset:3px; }
.supherb-product-details .variations select.supherb-enhanced-select { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.supherb-product-details .reset_variations { display:inline-block; margin-top:10px; font-size:13px; color:#777; }
.supherb-product-details .stock { display:inline-flex; align-items:center; gap:10px; background:#f5fce7; color:#5b861f; border-radius:999px; padding:10px 18px; font:400 16px/1.4 "Nunito Sans",sans-serif; margin:8px 0 22px; }
.supherb-product-details .stock:before { content:""; width:12px; height:12px; flex:0 0 12px; border-radius:50%; background:#648f23; box-shadow:0 0 0 3px #dfedc1; }
.supherb-product-details .stock.out-of-stock { background:#f7eeee; color:#98453b; }
.supherb-product-details .stock.out-of-stock:before { background:#98453b; box-shadow:none; }
.supherb-product-details form.cart { display:block; margin:0; }
.supherb-product-details .woocommerce-variation { margin:0 0 12px; }
.supherb-product-details .woocommerce-variation-price { display:none; }
.supherb-product-details .woocommerce-variation-add-to-cart { display:flex; align-items:stretch; flex-wrap:wrap; gap:14px; }
.supherb-product-details .quantity { display:inline-flex; width:84px; max-width:84px; }
.supherb-product-details .quantity input.qty { width:100%; min-height:52px; padding:12px; text-align:center; font:inherit; border:1px solid #e5e5e5; border-radius:999px; }
.supherb-product-details button.single_add_to_cart_button { color:white; background:#171717; border:0; border-radius:999px; min-height:52px; padding:16px 30px; font:700 15px/1.3 "SUPHERB Product Reference",serif; text-transform:uppercase; }
.supherb-product-details button.single_add_to_cart_button.disabled { opacity:.45; }
.supherb-native-quickview .quick-view__content { overflow:hidden; }
.supherb-product-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); height:100%; min-height:0; }
.supherb-detail-gallery { position:relative; display:grid; align-content:center; min-width:0; background:#fafafa; padding:clamp(24px,3vw,60px); overflow:hidden; }
.supherb-detail-image { margin:0; min-height:0; }
.supherb-detail-image[hidden] { display:none; }
.supherb-detail-image img { width:100%; max-height:75vh; height:auto; object-fit:contain; }
.supherb-detail-panel { display:grid; grid-template-rows:minmax(0,1fr) auto; min-width:0; min-height:0; background:#fff; }
.supherb-detail-scroll { overflow:auto; padding:56px clamp(28px,3.8vw,68px) 30px; }
.supherb-detail-more { display:flex; justify-content:space-between; gap:20px; border-top:1px solid #eee; padding:20px clamp(28px,3.8vw,68px); background:white; color:#171717; font:400 16px/1.4 "Nunito Sans",sans-serif; }
.supherb-detail-dots { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; gap:10px; padding:10px 18px; border:1px solid #eee; border-radius:999px; background:#fff; }
.supherb-detail-dots button { width:7px; height:7px; border:1px solid #171717; border-radius:50%; background:white; }
.supherb-detail-dots button[aria-pressed="true"] { background:#171717; }
.supherb-native-product { gap:0; align-items:start; }
.supherb-native-product-gallery { background:#fafafa; padding:36px; min-width:0; }
.supherb-native-product .summary { padding:24px 0 24px clamp(28px,3.8vw,68px); gap:20px; min-width:0; }
.supherb-native-product .product_meta { font:13px/1.6 "Nunito Sans",sans-serif; color:#777; }
@media (max-width:767px) {
  .supherb-native-quickview .quick-view__content { overflow:auto; }
  .supherb-product-detail-layout { display:block; height:auto; }
  .supherb-detail-gallery { height:320px; padding:24px; }
  .supherb-detail-image img { max-height:270px; object-fit:contain; }
  .supherb-detail-panel { display:block; }
  .supherb-detail-scroll { overflow:visible; padding:28px 24px; }
  .supherb-detail-more { padding:20px 24px; }
  .supherb-product-details { font-size:16px; }
  .supherb-details-brand { font-size:16px; margin-bottom:18px; }
  .supherb-product-details .supherb-details-title { font-size:28px; margin-bottom:24px; }
  .supherb-details-price { font-size:24px; padding-bottom:20px; }
  .supherb-details-reviews { padding:18px 0 22px; font-size:14px; }
  .supherb-native-product .summary { padding:28px 0; }
  .supherb-native-product-gallery { padding:24px; }
}
.supherb-product-details .variations { box-shadow:none; border-radius:0; }
.supherb-product-details .variations:before,
.supherb-product-details .variations:after { display:none; }
.supherb-native-product { align-items:stretch; }
.supherb-native-product-gallery { display:flex; align-items:center; }
.supherb-native-product-gallery > .woocommerce-product-gallery { width:100%; }
.supherb-native-product-after .woocommerce-tabs { margin-top:48px; font:16px/1.75 "Nunito Sans",sans-serif; }
.supherb-native-product-after .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:22px; list-style:none; padding:0 0 16px; border-bottom:1px solid #eee; margin-bottom:24px; }
.supherb-native-product-after .woocommerce-tabs li.active a { border-bottom:2px solid #171717; padding-bottom:16px; }
.supherb-native-product-after .woocommerce-tabs .panel { max-width:1100px; }
.supherb-native-product-after .woocommerce-tabs h2 { font:400 24px/1.3 "SUPHERB Product Reference",serif; margin-bottom:18px; text-transform:uppercase; }
.supherb-native-product-after .woocommerce-tabs p { margin-bottom:16px; }
/* Keep the visible close control tappable; the source mobile drawer disables it. */
#SupherbQuickView .drawer__close { pointer-events:auto; }
#SupherbQuickView[open] .drawer__close { opacity:1; visibility:visible; }

/* Native related products remain in one horizontal row at every viewport. */
.supherb-native-product-after .related.products { margin-top:48px; min-width:0; }
.supherb-native-product-after .related.products > h2 { margin-bottom:24px; }
.supherb-native-product-after .related.products ul.products {
  display:flex; flex-wrap:nowrap; gap:24px; width:100%; max-width:100%;
  margin:0; padding:0 0 16px; list-style:none; overflow-x:auto;
  scroll-snap-type:x proximity; overscroll-behavior-x:contain;
}
.supherb-native-product-after .related.products ul.products::before,
.supherb-native-product-after .related.products ul.products::after { content:none; }
.supherb-native-product-after .related.products ul.products > li.product {
  flex:0 0 calc((100% - 48px)/3); float:none; clear:none;
  width:auto; min-width:0; max-width:none; margin:0; scroll-snap-align:start;
}
.supherb-native-product-after .related.products li.product img {
  display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain;
}
@media(max-width:1023px) {
  .supherb-native-product-after .related.products ul.products > li.product { flex-basis:calc((100% - 24px)/2); }
}
@media(max-width:767px) {
  .supherb-native-product-after .related.products ul.products { gap:16px; }
  .supherb-native-product-after .related.products ul.products > li.product { flex-basis:80%; }
}
