.product-page{
  --brand:#16a34a;
  --brand-dark:#15803d;
  --brand-soft:#dcfce7;
  --cash:#16a34a;
  --card:#2563eb;
  --sub:#7c3aed;
  --transfer:#0f766e;
}

.product-page{
  padding-top:.75rem;
}

.product-shell{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border-radius:2rem;
  border:1px solid #e5e7eb;
  box-shadow:0 18px 60px rgba(15,23,42,.06);
}

.product-gallery-card,
.product-summary-card,
.product-content-card,
.product-side-card{
  border:1px solid #e5e7eb;
  border-radius:1.6rem;
  background:#fff;
}

.product-gallery-card{
  overflow:hidden;
  box-shadow:0 8px 28px rgba(15,23,42,.04);
}

.product-gallery-stage{
  position:relative;
  aspect-ratio:1/1;
  background:linear-gradient(180deg,#f8fafc 0%,#eef4f8 100%);
  border-radius:1.6rem 1.6rem 0 0;
  overflow:hidden;
}

.product-main-image,
.product-main-image--empty{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}

.product-main-image{
  padding:1.2rem;
  transform:scale(1);
  transition:transform .28s ease;
}

.product-gallery-stage:hover .product-main-image{
  transform:scale(1.03);
}

.product-main-image--empty{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#94a3b8;
  font-weight:800;
}

.product-badges{
  position:absolute;
  top:1rem;
  left:1rem;
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  z-index:2;
}

.product-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.45rem .82rem;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
}

.product-badge--sale{background:#ef4444;color:#fff}
.product-badge--shipping{background:#0ea5e9;color:#fff}
.product-badge--stock{background:#f59e0b;color:#fff}

.product-thumbs-wrap{
  padding:1rem;
  border-top:1px solid #e5e7eb;
}

.product-thumbs{
  display:flex;
  gap:.75rem;
  overflow:auto;
}

.product-thumb{
  width:82px;
  height:82px;
  flex:0 0 auto;
  border-radius:1rem;
  overflow:hidden;
  border:2px solid #e5e7eb;
  background:#f8fafc;
  transition:.2s;
}

.product-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.product-thumb.is-active,
.product-thumb[aria-current="true"]{
  border-color:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.10);
}

.product-summary-card{
  padding:1.35rem;
  box-shadow:0 8px 28px rgba(15,23,42,.04);
}

.product-title{
  font-size:clamp(1.8rem,2.7vw,2.55rem);
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.04em;
  color:#0f172a;
}

.product-chip{
  display:inline-flex;
  align-items:center;
  padding:.48rem .8rem;
  border-radius:999px;
  font-size:.72rem;
  font-weight:900;
}

.product-chip--soft{
  background:#f8fafc;
  color:#475569;
  border:1px solid #e2e8f0;
}

.product-chip--dark{
  background:#0f172a;
  color:#fff;
}

.product-price-box{
  padding:1.2rem 1.2rem;
  border-radius:1.4rem;
  border:1px solid #dcfce7;
  background:linear-gradient(135deg,#ffffff 0%,#f0fdf4 100%);
}

.product-price-main{
  font-size:clamp(2.1rem,3.4vw,3.25rem);
  line-height:1;
  font-weight:900;
  color:#16a34a;
  letter-spacing:-.05em;
}

.product-price-compare{
  text-decoration:line-through;
  color:#94a3b8;
  font-size:1.08rem;
  font-weight:800;
}

.product-price-save{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.42rem .76rem;
  background:#dcfce7;
  color:#166534;
  font-size:.76rem;
  font-weight:900;
}

#price-badge.is-discounted{
  color:#166534;
  font-weight:900;
}

.product-live-box{
  display:flex;
  align-items:center;
  gap:.8rem;
  background:#fff5f5;
  border:1px solid #fecaca;
  padding:.95rem 1rem;
  border-radius:1rem;
}

.product-live-dot-wrap{
  position:relative;
  display:flex;
  height:.9rem;
  width:.9rem;
  flex:0 0 auto;
}

.product-live-dot-ping{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#f87171;
  opacity:.65;
  animation:ping 1.6s cubic-bezier(0,0,.2,1) infinite;
}

.product-live-dot{
  position:relative;
  display:inline-flex;
  height:.9rem;
  width:.9rem;
  border-radius:999px;
  background:#ef4444;
}

@keyframes ping{
  75%,100%{transform:scale(2);opacity:0}
}

.product-payment-methods{
  border-top:1px dashed #dbe4ef;
  padding-top:1.25rem;
}

.product-pay-card{
  position:relative;
}

.product-pay-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.1rem;
  border:2px solid #e5e7eb;
  border-radius:1.2rem;
  background:#fff;
  cursor:pointer;
  transition:.2s;
  box-shadow:0 8px 20px rgba(15,23,42,.03);
}

.product-pay-label:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(15,23,42,.08);
}

.product-pay-main{
  display:flex;
  align-items:center;
  gap:.9rem;
  min-width:0;
}

.product-pay-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#475569;
  flex:0 0 auto;
}

.product-pay-title{
  display:block;
  font-size:.96rem;
  font-weight:900;
  color:#0f172a;
  line-height:1.2;
}

.product-pay-desc{
  display:block;
  font-size:.79rem;
  color:#64748b;
  margin-top:.18rem;
  line-height:1.35;
}

.product-pay-extra{
  display:block;
  font-size:.72rem;
  color:#7c3aed;
  font-weight:900;
  margin-top:.22rem;
}

.product-pay-side{
  text-align:right;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:.34rem;
}

.product-pay-discount{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:.34rem .62rem;
  background:#e0f2fe;
  color:#075985;
  font-size:.72rem;
  font-weight:900;
  white-space:nowrap;
}

.product-pay-discount--muted{
  background:#f1f5f9;
  color:#64748b;
}

.product-pay-saving{
  font-size:.73rem;
  font-weight:900;
  color:#166534;
}

.product-pay-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  border:2px solid #cbd5e1;
  color:transparent;
  transition:.2s;
}

#pay-cash:checked + .product-pay-label,
#pay-card:checked + .product-pay-label,
#pay-sub:checked + .product-pay-label,
#pay-transfer:checked + .product-pay-label{
  box-shadow:0 14px 34px rgba(15,23,42,.08);
}

#pay-cash:checked + .product-pay-label{border-color:rgba(22,163,74,.35);background:linear-gradient(135deg,#fff 0%,#f0fdf4 100%)}
#pay-card:checked + .product-pay-label{border-color:rgba(37,99,235,.35);background:linear-gradient(135deg,#fff 0%,#eff6ff 100%)}
#pay-sub:checked + .product-pay-label{border-color:rgba(124,58,237,.35);background:linear-gradient(135deg,#fff 0%,#f5f3ff 100%)}
#pay-transfer:checked + .product-pay-label{border-color:rgba(15,118,110,.35);background:linear-gradient(135deg,#fff 0%,#f0fdfa 100%)}

#pay-cash:checked + .product-pay-label .product-pay-icon{background:#dcfce7;color:#166534;border-color:#bbf7d0}
#pay-card:checked + .product-pay-label .product-pay-icon{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}
#pay-sub:checked + .product-pay-label .product-pay-icon{background:#ede9fe;color:#6d28d9;border-color:#ddd6fe}
#pay-transfer:checked + .product-pay-label .product-pay-icon{background:#ccfbf1;color:#0f766e;border-color:#99f6e4}

#pay-cash:checked + .product-pay-label .product-pay-check,
#pay-card:checked + .product-pay-label .product-pay-check,
#pay-sub:checked + .product-pay-label .product-pay-check,
#pay-transfer:checked + .product-pay-label .product-pay-check{
  color:#fff;
}

#pay-cash:checked + .product-pay-label .product-pay-check{background:var(--cash);border-color:var(--cash)}
#pay-card:checked + .product-pay-label .product-pay-check{background:var(--card);border-color:var(--card)}
#pay-sub:checked + .product-pay-label .product-pay-check{background:var(--sub);border-color:var(--sub)}
#pay-transfer:checked + .product-pay-label .product-pay-check{background:var(--transfer);border-color:var(--transfer)}

.product-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.85rem;
}

.product-meta-card{
  border:1px solid #e5e7eb;
  background:#f8fafc;
  padding:1rem;
  border-radius:1.15rem;
}

.product-meta-label,
.product-input-label,
.product-side-label{
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#94a3b8;
}

.product-meta-value{
  margin-top:.4rem;
  font-size:1rem;
  font-weight:900;
}

.product-meta-note{
  margin-top:.35rem;
  font-size:.8rem;
  font-weight:700;
}

.product-actions-box{
  padding:1rem;
  border:1px solid #d1fae5;
  border-radius:1.4rem;
  background:linear-gradient(135deg,#ffffff 0%,#f8fafc 65%,#ecfdf5 100%);
}

.product-qty-box{
  display:flex;
  align-items:center;
  gap:.45rem;
}

.product-qty-btn{
  height:50px;
  width:50px;
  border-radius:1rem;
  border:1px solid #cbd5e1;
  background:#fff;
  font-size:1.35rem;
  font-weight:900;
  color:#334155;
  transition:.2s;
}

.product-qty-btn:hover{
  border-color:#86efac;
  color:#166534;
  background:#f0fdf4;
}

.product-qty-input{
  height:50px;
  flex:1;
  min-width:0;
  border-radius:1rem;
  border:1px solid #cbd5e1;
  background:#fff;
  padding:0 .9rem;
  text-align:center;
  font-weight:900;
  color:#0f172a;
  outline:none;
}

.product-qty-input:focus{
  border-color:#4ade80;
  box-shadow:0 0 0 4px rgba(34,197,94,.12);
}

.product-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.9rem;
  border-radius:1.2rem;
  padding:1rem 1.1rem;
  font-weight:900;
  transition:.2s;
  text-decoration:none;
}

.product-cta[disabled]{
  opacity:.55;
  cursor:not-allowed;
}

.product-cta--primary{
  background:linear-gradient(135deg,#16a34a 0%,#22c55e 100%);
  color:#fff;
  box-shadow:0 16px 36px rgba(34,197,94,.22);
}

.product-cta--primary:hover{
  transform:translateY(-1px);
  background:linear-gradient(135deg,#15803d 0%,#16a34a 100%);
}

.product-cta--secondary{
  background:#fff;
  border:1px solid #cbd5e1;
  color:#0f172a;
}

.product-cta--secondary:hover{
  border-color:#86efac;
  background:#f0fdf4;
}

.product-cta-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:1rem;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.18);
  flex:0 0 auto;
}

.product-cta-icon--soft{
  background:#dcfce7;
  border-color:#bbf7d0;
  color:#166534;
}

.product-cta-top{
  display:block;
  font-size:.66rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:.75;
}

.product-cta-main{
  display:block;
  font-size:1rem;
  line-height:1.2;
}

.product-delivery-card{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:1rem;
  border:1px solid #e5e7eb;
  border-radius:1.2rem;
  background:#fff;
}

.product-delivery-logo{
  width:52px;
  height:52px;
  border-radius:1rem;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  overflow:hidden;
}

.product-delivery-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.product-trust-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
}

.product-trust-item{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.9rem;
  border:1px solid #e5e7eb;
  border-radius:1rem;
  background:#f8fafc;
  font-size:.82rem;
  font-weight:800;
  color:#334155;
  text-align:center;
}

.product-content-card,
.product-side-card{
  padding:1.35rem;
}

.product-side-card h3{
  font-size:1.1rem;
  font-weight:900;
  color:#0f172a;
}

.product-side-card p{
  margin-top:.45rem;
  color:#475569;
  line-height:1.65;
  font-size:.94rem;
}

.product-section-tabs{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  padding-bottom:1rem;
  border-bottom:1px solid #e5e7eb;
  margin-bottom:1rem;
}

.product-tab{
  border:1px solid #e5e7eb;
  background:#fff;
  color:#64748b;
  border-radius:999px;
  padding:.72rem 1rem;
  font-size:.82rem;
  font-weight:900;
  transition:.2s;
}

.product-tab.is-active{
  background:#16a34a;
  color:#fff;
  border-color:#16a34a;
  box-shadow:0 10px 24px rgba(34,197,94,.18);
}

.product-tab-panel{
  display:none;
}

.product-tab-panel.is-active{
  display:block;
}

.product-copy-block + .product-copy-block{
  margin-top:1.4rem;
}

.product-copy-block h2{
  font-size:1rem;
  font-weight:900;
  color:#0f172a;
  margin-bottom:.55rem;
}

.product-copy-block p{
  color:#475569;
  line-height:1.82;
  font-size:.96rem;
}

.product-spec-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.9rem;
}

.product-spec-item{
  padding:1rem;
  border:1px solid #e5e7eb;
  border-radius:1rem;
  background:#f8fafc;
}

.product-spec-item span{
  display:block;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#94a3b8;
  margin-bottom:.45rem;
}

.product-spec-item strong{
  font-size:.92rem;
  line-height:1.55;
  color:#0f172a;
}

.product-pay-brand{
  display:block;
  margin-top:.55rem;
}

.product-pay-brand img{
  height:32px;
  width:auto;
  display:block;
  object-fit:contain;
}

.product-mobile-actions{
  position:absolute;
  top:1rem;
  left:0;
  right:0;
  z-index:3;
  display:flex;
  justify-content:space-between;
  padding:0 1rem;
}

.product-mobile-action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#111827;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.product-mobile-sheet{
  display:none;
}

.product-mobile-handle{
  width:56px;
  height:6px;
  border-radius:999px;
  background:#d8dce3;
  margin:0 auto 1.2rem;
}

.product-mobile-head{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  justify-content:space-between;
}

.product-mobile-title{
  font-size:1.75rem;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.04em;
  color:#0f172a;
  flex:1;
  min-width:0;
}

.product-mobile-price{
  font-size:1.75rem;
  line-height:1;
  font-weight:900;
  color:#059669;
  letter-spacing:-.04em;
  white-space:nowrap;
}

.product-mobile-review-row{
  display:flex;
  align-items:center;
  gap:.75rem;
  margin-top:1rem;
  flex-wrap:wrap;
}

.product-mobile-rating-pill{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.4rem .78rem;
  border-radius:.85rem;
  background:#fff7d6;
  border:1px solid #f4ddb3;
  color:#b58105;
  font-size:.92rem;
  font-weight:900;
}

.product-mobile-divider{
  color:#94a3b8;
  font-weight:700;
}

.product-mobile-review-link{
  font-size:.92rem;
  font-weight:800;
  color:#475569;
  text-decoration:underline;
}

.product-mobile-copy{
  margin-top:1.35rem;
  padding-top:1.15rem;
  border-top:1px solid #edf2f7;
}

.product-mobile-copy h2,
.product-mobile-variants-label{
  font-size:1rem;
  font-weight:900;
  color:#0f172a;
}

.product-mobile-copy p{
  margin-top:.75rem;
  color:#475569;
  line-height:1.75;
  font-size:.96rem;
}

.product-mobile-variants{
  margin-top:1.35rem;
}

.product-mobile-variant-row{
  display:flex;
  gap:.8rem;
  margin-top:.8rem;
}

.product-mobile-variant{
  width:54px;
  height:54px;
  border-radius:999px;
  border:2px solid transparent;
  overflow:hidden;
  background:#e2e8f0;
  box-shadow:0 6px 18px rgba(15,23,42,.08);
}

.product-mobile-variant img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.product-mobile-variant.is-active,
.product-mobile-variant[aria-current="true"]{
  border-color:#16a34a;
  box-shadow:0 0 0 4px rgba(34,197,94,.10);
}

.product-buybar{
  left:0;
  right:0;
  bottom:0;
}

.product-mobile-buywrap{
  margin:0 auto;
  max-width:430px;
  border-radius:1.5rem 1.5rem 0 0;
  background:rgba(255,255,255,.97);
  padding:.8rem 1rem calc(env(safe-area-inset-bottom) + .8rem);
  box-shadow:0 -16px 40px rgba(15,23,42,.16);
  border-top:1px solid #e5e7eb;
}

.product-mobile-buyrow{
  display:grid;
  grid-template-columns:1fr auto;
  gap:.85rem;
  align-items:center;
}

.product-mobile-total{
  min-width:0;
}

.product-mobile-total small{
  display:block;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#94a3b8;
}

.product-mobile-total strong{
  display:block;
  margin-top:.2rem;
  font-size:1.25rem;
  line-height:1.1;
  font-weight:900;
  color:#0f172a;
}

.product-mobile-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  min-width:190px;
  min-height:56px;
  padding:0 1.2rem;
  border-radius:1rem;
  background:linear-gradient(135deg,#16a34a 0%,#22c55e 100%);
  color:#fff;
  font-size:1rem;
  font-weight:900;
  box-shadow:0 16px 34px rgba(34,197,94,.22);
}

.product-mobile-cta[disabled]{
  opacity:.55;
}

@media (max-width:1024px){
  .product-buybar{
    left:.75rem;
    right:.75rem;
  }
}

@media (max-width:768px){
  .product-meta-grid,
  .product-trust-grid,
  .product-spec-grid{
    grid-template-columns:1fr;
  }

  .product-content-card,
  .product-side-card{
    padding:1rem;
  }

  .product-title{
    font-size:1.65rem;
  }

  .product-price-main{
    font-size:2.2rem;
  }

  .product-delivery-card{
    padding:.9rem;
  }

  .product-pay-label{
    align-items:flex-start;
  }

  .product-pay-side{
    min-width:72px;
  }
}

@media (max-width: 1023px){
  .product-page{
    padding:0 0 7.5rem !important;
  }

  .product-shell{
    padding:0;
    background:transparent;
    border:none;
    box-shadow:none;
    border-radius:0;
  }

  .product-gallery-card,
  .product-summary-card{
    border:none;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .product-gallery-stage{
    aspect-ratio:unset;
    height:min(55vh,430px);
    border-radius:0;
    background:linear-gradient(180deg,#f8fafc 0%,#eef4f8 100%);
  }

  .product-main-image,
  .product-main-image--empty{
    object-fit:cover;
    padding:0;
  }

  .product-badges{
    top:4.2rem;
    left:1rem;
    right:1rem;
  }

  .product-thumbs-wrap{
    display:none;
  }

  .product-mobile-sheet{
    display:block;
    background:#fff;
    border-radius:1.8rem 1.8rem 0 0;
    margin-top:-1.35rem;
    padding:1rem 1.15rem 1.3rem;
    position:relative;
    z-index:4;
    box-shadow:0 -10px 30px rgba(15,23,42,.08);
  }

  .product-summary-card{
    margin-top:0;
  }

  .product-buybar .product-cta,
  .product-buybar .product-cta-icon,
  .product-buybar .product-cta-top{
    display:none !important;
  }
}
.product-banner-card{
  border:1px solid #e2e8f0;
  border-radius:28px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 16px 40px rgba(15,23,42,.06);
}

.product-banner-image{
  width:100%;
  height:auto;
  display:block;
}

.product-banner-body{
  padding:14px 16px 16px;
}

.product-banner-title{
  font-size:14px;
  line-height:1.2;
  font-weight:800;
  color:#0f172a;
}

.product-banner-desc{
  margin-top:6px;
  font-size:13px;
  line-height:1.45;
  color:#64748b;
}
