

.product-page{
  color:var(--dg-text);
}

.product-page .product-detail,
.product-page .product-layout,
.product-page .product-main,
.product-page .catalog-product{
  gap:24px!important;
  align-items:start!important;
}

.product-page .product-gallery,
.product-page .gallery,
.product-page .product-images{
  background:#fff;
  border:1px solid var(--dg-line);
  border-radius:var(--dg-radius-xl);
  padding:14px;
  box-shadow:var(--dg-shadow-sm);
}
.product-page .product-gallery-main,
.product-page .main-image,
.product-page .product-main-image{
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.product-page .product-gallery-main img,
.product-page .main-image img,
.product-page .product-main-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform:scale(.94);
}
.product-page .thumbnails,
.product-page .product-thumbs,
.product-page .gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:10px;
}
.product-page .thumbnails button,
.product-page .product-thumbs button,
.product-page .gallery-thumbs button,
.product-page .thumbnail{
  aspect-ratio:1/1;
  border:1px solid var(--dg-line)!important;
  border-radius:12px!important;
  overflow:hidden;
  background:#fff!important;
  padding:5px!important;
}
.product-page .thumbnails .active,
.product-page .product-thumbs .active,
.product-page .gallery-thumbs .active,
.product-page .thumbnail.active{
  border-color:var(--dg-primary)!important;
  box-shadow:0 0 0 2px rgba(15,118,110,.08)!important;
}

.product-page .product-info,
.product-page .product-summary,
.product-page .product-detail-info{
  background:#fff;
  border:1px solid var(--dg-line);
  border-radius:var(--dg-radius-xl);
  padding:18px;
  box-shadow:var(--dg-shadow-sm);
}
.product-page .product-brand,
.product-page .brand{
  margin-bottom:5px;
}
.product-page .product-title,
.product-page h1{
  font-size:22px;
  line-height:1.65;
  font-weight:900;
  margin:0 0 8px;
  letter-spacing:-.3px;
}
.product-page .product-short-desc,
.product-page .short-description{
  color:var(--dg-muted);
  font-size:12px;
  line-height:1.85;
  margin-bottom:14px;
}

.product-page .product-price,
.product-page .price-box,
.product-page .price-area{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:7px 10px;
  margin:12px 0;
  padding:12px 14px;
  border-radius:14px;
  background:var(--dg-soft);
}
.product-page .current-price,
.product-page .final-price,
.product-page .price strong{
  font-size:22px!important;
  font-weight:950!important;
  color:var(--dg-text)!important;
}
.product-page .old-price,
.product-page del{
  color:var(--dg-subtle)!important;
  font-size:11px!important;
}
.product-page .discount-badge,
.product-page .sale-badge{
  min-height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:4px 8px;
  font-size:9px;
  font-weight:850;
}

.product-page .stock-status,
.product-page .availability,
.product-page .inventory-status{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  margin:8px 0 12px;
  color:var(--dg-primary);
  font-size:11px;
  font-weight:800;
}

.product-page .product-options,
.product-page .variations,
.product-page .attributes-select{
  border:1px solid var(--dg-line)!important;
  border-radius:var(--dg-radius-lg)!important;
  padding:14px!important;
  background:#fff!important;
  margin:12px 0!important;
}
.product-page .option-group,
.product-page .variation-group{
  margin-bottom:12px;
}
.product-page .option-group:last-child,
.product-page .variation-group:last-child{
  margin-bottom:0;
}
.product-page .option-label,
.product-page .variation-label{
  display:block;
  margin-bottom:7px;
  font-size:11px;
  font-weight:850;
  color:var(--dg-text);
}
.product-page .option-buttons,
.product-page .variation-options{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.product-page .option-buttons button,
.product-page .variation-options button,
.product-page .variant{
  min-height:36px;
  padding:0 12px!important;
  border:1px solid var(--dg-line)!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--dg-text)!important;
  font-size:10px!important;
}
.product-page .option-buttons .active,
.product-page .variation-options .active,
.product-page .variant.active{
  border-color:var(--dg-primary)!important;
  background:var(--dg-primary-soft)!important;
  color:var(--dg-primary)!important;
}

.product-page .buy-box,
.product-page .purchase-box,
.product-page .add-to-cart-box{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #edf1f5;
}
.product-page .add-to-cart,
.product-page .buy-button,
.product-page .primary-cta{
  width:100%;
  min-height:46px!important;
  border-radius:13px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.product-page .quantity,
.product-page .qty-control{
  min-height:42px;
  border:1px solid var(--dg-line);
  border-radius:12px;
}

.product-page .product-attributes,
.product-page .product-meta,
.product-page .info-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:14px;
}
.product-page .product-attributes > *,
.product-page .product-meta > *,
.product-page .info-strip > *{
  min-height:58px;
  border:1px solid var(--dg-line);
  border-radius:13px;
  background:#fff;
  padding:9px 10px;
}

.product-page .product-tabs,
.product-page .tabs{
  margin-top:28px;
}
.product-page .tab-nav,
.product-page .product-tabs-nav,
.product-page .tabs-nav{
  display:flex;
  gap:6px;
  overflow-x:auto;
  padding-bottom:4px;
  scrollbar-width:none;
}
.product-page .tab-nav::-webkit-scrollbar,
.product-page .product-tabs-nav::-webkit-scrollbar,
.product-page .tabs-nav::-webkit-scrollbar{display:none}
.product-page .tab-nav button,
.product-page .product-tabs-nav button,
.product-page .tabs-nav button{
  flex:0 0 auto;
  min-height:38px;
  padding:0 14px!important;
  border-radius:11px!important;
  border:1px solid var(--dg-line)!important;
  background:#fff!important;
  color:var(--dg-muted)!important;
  font-size:10px!important;
  font-weight:850!important;
}
.product-page .tab-nav .active,
.product-page .product-tabs-nav .active,
.product-page .tabs-nav .active{
  background:var(--dg-primary-soft)!important;
  color:var(--dg-primary)!important;
  border-color:rgba(15,118,110,.28)!important;
}
.product-page .tab-content,
.product-page .product-tab-content{
  margin-top:10px;
  border:1px solid var(--dg-line);
  border-radius:var(--dg-radius-lg);
  background:#fff;
  padding:18px;
  line-height:1.95;
}

.product-page table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid var(--dg-line);
  border-radius:14px;
  font-size:11px;
}
.product-page table th{
  background:var(--dg-soft);
  color:var(--dg-text);
  font-weight:850;
}
.product-page table th,
.product-page table td{
  padding:10px 12px;
  border-bottom:1px solid #edf1f5;
  text-align:right;
}
.product-page table tr:last-child td{border-bottom:0}

.product-page .related-products,
.product-page .recommended-products{
  margin-top:28px;
}

@media(max-width:760px){
  .product-page .product-detail,
  .product-page .product-layout,
  .product-page .product-main,
  .product-page .catalog-product{
    display:block!important;
  }
  .product-page .product-gallery,
  .product-page .gallery,
  .product-page .product-images{
    border-radius:20px;
    padding:10px;
    margin-bottom:12px;
  }
  .product-page .product-info,
  .product-page .product-summary,
  .product-page .product-detail-info{
    border-radius:20px;
    padding:14px;
  }
  .product-page .product-title,
  .product-page h1{
    font-size:17px;
    line-height:1.75;
  }
  .product-page .current-price,
  .product-page .final-price,
  .product-page .price strong{
    font-size:18px!important;
  }
  .product-page .product-attributes,
  .product-page .product-meta,
  .product-page .info-strip{
    grid-template-columns:1fr;
    gap:7px;
  }
  .product-page .add-to-cart,
  .product-page .buy-button,
  .product-page .primary-cta{
    min-height:44px!important;
  }
  .product-page .tab-content,
  .product-page .product-tab-content{
    padding:14px;
    border-radius:16px;
  }
  .product-page table{
    font-size:9.5px;
  }
  .product-page table th,
  .product-page table td{
    padding:8px 9px;
  }
}

.product-page .product-breadcrumb{
  margin-bottom:14px;
  color:var(--dg-muted);
  font-size:10.5px;
}
.product-page .product-hero.product-hero-custom{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:18px;
  align-items:start;
}
.product-page .product-main-flow{
  min-width:0;
}
.product-page .product-title-card{
  display:grid;
  grid-template-columns:minmax(320px,42%) minmax(0,1fr);
  gap:18px;
  align-items:start;
  background:#fff;
  border:1px solid var(--dg-line);
  border-radius:var(--dg-radius-xl);
  padding:16px;
  box-shadow:var(--dg-shadow-sm);
}
.product-page .product-title-media.product-mini-gallery{
  border:1px solid var(--dg-line);
  border-radius:18px;
  padding:10px;
  background:#fff;
}
.product-page .product-gallery-stage{
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.product-page .product-gallery-main-image{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform:scale(.95);
}
.product-page .product-thumb-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin-top:9px;
}
.product-page .product-thumb{
  min-width:0;
  border:1px solid var(--dg-line)!important;
  border-radius:11px!important;
  background:#fff!important;
  padding:5px!important;
}
.product-page .product-thumb.active{
  border-color:var(--dg-primary)!important;
  box-shadow:0 0 0 2px rgba(15,118,110,.08)!important;
}
.product-page .product-overview{
  min-width:0;
}
.product-page .product-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.product-page .product-labels{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.product-page .label-otc,
.product-page .label-auth{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:3px 8px;
  border-radius:999px;
  font-size:9px;
  font-weight:850;
}
.product-page .product-brand-auth{
  margin-inline-start:auto;
}
.product-page .product-brand{
  color:var(--dg-primary);
  font-size:11px;
  font-weight:850;
}
.product-page .product-highlights{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:10px 0;
}
.product-page .rating-row.product-meta-split{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid var(--dg-line);
  border-radius:12px;
  background:var(--dg-soft);
  font-size:9.5px;
}
.product-page .product-info-link{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  padding:0 12px;
  border-radius:11px;
  border:1px solid var(--dg-line);
  background:#fff;
  color:var(--dg-primary);
  font-weight:850;
}

.product-page .product-options-shell{
  margin-top:14px;
  border:1px solid var(--dg-line);
  border-radius:var(--dg-radius-lg);
  background:#fff;
  overflow:hidden;
}
.product-page .product-options-intro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 15px;
  background:var(--dg-soft);
  border-bottom:1px solid var(--dg-line);
}
.product-page .options-heading-copy h2{
  margin:2px 0 4px;
  font-size:15px;
}
.product-page .options-heading-copy p{
  margin:0;
  color:var(--dg-muted);
  font-size:10px;
  line-height:1.8;
}
.product-page .options-progress{
  display:flex;
  gap:7px;
}
.product-page .options-progress > span{
  min-width:78px;
  padding:7px 8px;
  border:1px solid var(--dg-line);
  border-radius:11px;
  background:#fff;
  text-align:center;
}
.product-page .variant-configurator{
  padding:14px;
}
.product-page .variant-configurator-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}
.product-page .variant-groups{
  display:grid;
  gap:10px;
}
.product-page .selected-variant-summary{
  margin-top:10px;
  padding:10px 11px;
  border-radius:12px;
  background:var(--dg-soft);
  border:1px solid var(--dg-line);
}

.product-page .buy-card{
  position:sticky;
  top:18px;
  background:#fff;
  border:1px solid var(--dg-line);
  border-radius:var(--dg-radius-xl);
  padding:16px;
  box-shadow:var(--dg-shadow-md);
}
.product-page .purchase-card-heading{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:8px;
  margin-bottom:10px;
}
.product-page .purchase-card-heading strong{
  font-size:15px;
}
.product-page .purchase-card-heading small{
  color:var(--dg-muted);
  font-size:9.5px;
}
.product-page .price-block{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px;
  border-radius:14px;
  background:var(--dg-soft);
  margin:10px 0;
}
.product-page .price-block strong{
  font-size:22px;
  font-weight:950;
}
.product-page .price-block del{
  font-size:10px;
  color:var(--dg-subtle);
}
.product-page .price-block span{
  align-self:flex-start;
  min-height:22px;
  display:inline-flex;
  align-items:center;
  padding:3px 7px;
  border-radius:999px;
  background:#fff1f2;
  color:#e11d48;
  font-size:9px;
  font-weight:850;
}
.product-page .add-cart,
.product-page .buy-now{
  width:100%;
  min-height:44px;
  border-radius:12px!important;
  font-size:11px;
  font-weight:900;
}
.product-page .buy-now{
  margin-top:7px;
}
.product-page .product-reminder-btn{
  width:100%;
  min-height:38px;
  margin-top:8px;
  border-radius:11px!important;
  border:1px solid var(--dg-line);
  background:#fff;
}

.product-page .product-trust-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-top:12px;
}
.product-page .product-trust-strip article{
  min-height:68px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px;
  border:1px solid var(--dg-line);
  border-radius:13px;
  background:#fff;
}

.product-page .catalog-shell{
  margin-top:26px;
  border:1px solid var(--dg-line);
  border-radius:var(--dg-radius-xl);
  background:#fff;
  overflow:hidden;
}
.product-page .catalog-heading{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 18px;
  border-bottom:1px solid var(--dg-line);
  background:var(--dg-soft);
}
.product-page .catalog-heading h2{
  margin:2px 0 3px;
  font-size:17px;
}
.product-page .catalog-heading p{
  margin:0;
  color:var(--dg-muted);
  font-size:10px;
}
.product-page .catalog-nav{
  display:flex;
  gap:6px;
  overflow-x:auto;
  padding:10px 12px;
  border-bottom:1px solid var(--dg-line);
  scrollbar-width:none;
}
.product-page .catalog-nav::-webkit-scrollbar{display:none}
.product-page .catalog-nav button{
  flex:0 0 auto;
  min-height:36px;
  padding:0 12px!important;
  border-radius:10px!important;
  border:1px solid var(--dg-line)!important;
  background:#fff!important;
  color:var(--dg-muted)!important;
  font-size:9.5px!important;
  font-weight:850!important;
}
.product-page .catalog-nav button.active,
.product-page .catalog-nav button[aria-selected="true"]{
  background:var(--dg-primary-soft)!important;
  color:var(--dg-primary)!important;
  border-color:rgba(15,118,110,.25)!important;
}
.product-page .catalog-content{
  padding:16px 18px;
}
.product-page .catalog-panel h2{
  font-size:15px;
  margin:0 0 10px;
}
.product-page .info-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-top:12px;
}
.product-page .info-grid > div{
  min-height:58px;
  padding:9px 10px;
  border:1px solid var(--dg-line);
  border-radius:12px;
  background:#fff;
}
.product-page .medical-note{
  border-radius:13px;
  padding:11px 12px;
  margin:10px 0;
}
.product-page .catalog-panel details{
  border:1px solid var(--dg-line);
  border-radius:12px;
  padding:10px 11px;
  margin-bottom:8px;
  background:#fff;
}

.product-page .mobile-product-bar{
  border-top:1px solid var(--dg-line);
  box-shadow:0 -10px 26px rgba(15,23,42,.08);
}

@media(max-width:980px){
  .product-page .product-hero.product-hero-custom{
    grid-template-columns:1fr;
  }
  .product-page .buy-card{
    position:static;
  }
}
@media(max-width:760px){
  .product-page .product-title-card{
    grid-template-columns:1fr;
    gap:12px;
    padding:10px;
    border-radius:20px;
  }
  .product-page .product-title-media.product-mini-gallery{
    border-radius:16px;
  }
  .product-page .product-topline{
    align-items:flex-start;
  }
  .product-page .rating-row.product-meta-split{
    align-items:flex-start;
    flex-direction:column;
  }
  .product-page .product-options-intro{
    align-items:flex-start;
    flex-direction:column;
  }
  .product-page .options-progress{
    width:100%;
    overflow-x:auto;
  }
  .product-page .options-progress > span{
    flex:0 0 auto;
    min-width:82px;
  }
  .product-page .product-trust-strip{
    grid-template-columns:1fr;
  }
  .product-page .catalog-shell{
    border-radius:18px;
  }
  .product-page .catalog-heading{
    padding:13px 14px;
  }
  .product-page .catalog-content{
    padding:13px 14px;
  }
  .product-page .info-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .product-page .buy-card{
    border-radius:18px;
    padding:13px;
    margin-top:12px;
  }
}
