:root{
  --green:#0f9d6b;
  --green-dark:#0b7e56;
  --ink:#17242b;
  --ink-soft:#5b6b72;
  --line:#e7ebe9;
  --cream:#faf9f6;
  --save-pink:#fdeceb;
  --save-red:#e2574c;
  --radius:10px;
  --font-display:'Poppins',sans-serif;
  --font-body:'Inter',sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;}

/* ---------- Announcement bar ---------- */
.announce-bar{
  background:var(--green);
  color:#fff;
  text-align:center;
  font-size:13.5px;
  font-weight:600;
  padding:9px 16px;
  letter-spacing:.2px;
}

/* ---------- Header ---------- */
.site-header{
  border-bottom:1px solid transparent;
  position:sticky;
  top:0;
  background:transparent;
  z-index:50;
  transition:background .3s ease, border-color .3s ease, backdrop-filter .3s ease, box-shadow .3s ease;
}
.site-header.scrolled{
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  border-bottom:1px solid rgba(231,235,233,.8);
  box-shadow:0 4px 24px rgba(17,36,43,.05);
}
.header-inner{
  max-width:1240px;
  margin:0 auto;
  padding:18px 24px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:21px;
  color:var(--ink);
  flex-shrink:0;
}

/* ---------- Breadcrumb ---------- */
.breadcrumb-wrap{max-width:1240px;margin:0 auto;padding:22px 24px 0;}
.breadcrumb{font-size:13.5px;color:var(--ink-soft);}
.breadcrumb a{color:var(--ink-soft);}
.breadcrumb span{color:var(--ink);font-weight:600;}

/* ---------- Product section ---------- */
.product-section{
  max-width:1240px;
  margin:0 auto;
  padding:20px 24px 60px;
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:56px;
}

.gallery-main{
  position:relative;
  background:var(--cream);
  border-radius:16px;
  overflow:hidden;
  aspect-ratio:1/1;
}
.gallery-main img{width:100%;height:100%;object-fit:contain;padding:24px;}
.save-badge{
  position:absolute;
  top:16px;
  left:16px;
  background:var(--save-red);
  color:#fff;
  font-size:12.5px;
  font-weight:700;
  padding:5px 12px;
  border-radius:20px;
}

.gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin-top:12px;
}
.thumb{
  border:1.5px solid var(--line);
  border-radius:10px;
  background:var(--cream);
  padding:0;
  overflow:hidden;
  aspect-ratio:1/1;
}
.thumb img{width:100%;height:100%;object-fit:contain;padding:8px;}
.thumb.active{border-color:var(--green);box-shadow:0 0 0 2px rgba(15,157,107,.15);}

.product-info h1{
  font-family:var(--font-display);
  font-size:34px;
  font-weight:700;
  margin:6px 0 18px;
  line-height:1.2;
}

.price-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px;}
.price-now{font-size:26px;font-weight:700;color:var(--green-dark);font-family:var(--font-display);}
.price-old{font-size:17px;color:#9aa5a9;text-decoration:line-through;}
.save-pill{background:var(--save-pink);color:var(--save-red);font-size:13px;font-weight:700;padding:4px 12px;border-radius:20px;}

.short-desc{
  color:var(--ink-soft);
  font-size:15.5px;
  line-height:1.75;
  margin-bottom:28px;
  max-width:52ch;
}

.buy-row{display:flex;gap:14px;align-items:center;margin-bottom:16px;flex-wrap:wrap;}

.qty-selector{
  display:flex;
  align-items:center;
  border:1.5px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  height:52px;
}
.qty-selector button{
  width:44px;
  height:100%;
  border:none;
  background:#fff;
  font-size:18px;
  color:var(--ink);
  transition:background .15s;
}
.qty-selector button:hover{background:var(--cream);}
.qty-selector input{
  width:44px;
  height:100%;
  border:none;
  border-left:1.5px solid var(--line);
  border-right:1.5px solid var(--line);
  text-align:center;
  font-size:15px;
  font-weight:600;
  color:var(--ink);
}

.shop-now-btn{
  flex:1;
  min-width:200px;
  height:52px;
  background:var(--green);
  color:#fff;
  border:none;
  border-radius:8px;
  font-size:15.5px;
  font-weight:700;
  letter-spacing:.3px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  transition:background .18s, transform .12s;
}
.shop-now-btn:hover{background:var(--green-dark);}
.shop-now-btn:active{transform:scale(.98);}

.free-ship-note{font-size:14px;color:var(--ink-soft);margin:6px 0 22px;}
.free-ship-note strong{color:var(--ink);}

.total-note{
  font-size:14.5px;
  font-weight:600;
  color:var(--green-dark);
  margin:0 0 10px;
  display:none;
}
.total-note.visible{display:block;}

.meta-row{
  border-top:1px solid var(--line);
  padding-top:18px;
  display:flex;
  gap:32px;
  font-size:14px;
  color:var(--ink-soft);
}
.meta-row strong{color:var(--ink);}

/* ---------- Tabs ---------- */
.tabs-section{max-width:1240px;margin:0 auto;padding:0 24px 90px;}
.tabs-nav{
  display:flex;
  justify-content:center;
  gap:36px;
  border-bottom:1px solid var(--line);
  margin-bottom:28px;
  overflow-x:auto;
}
.tab-btn{
  background:none;
  border:none;
  padding:14px 2px;
  font-size:15px;
  font-weight:600;
  color:var(--ink-soft);
  white-space:nowrap;
  border-bottom:2px solid transparent;
  transition:color .15s, border-color .15s;
}
.tab-btn.active{color:var(--green-dark);border-color:var(--green);}
.tab-btn:hover{color:var(--green-dark);}

.tab-panel{display:none;color:var(--ink-soft);font-size:15.5px;line-height:1.8;width:100%;}
.tab-panel.active{display:block;}
.tab-panel strong{color:var(--ink);}
.tab-panel ul{padding-left:20px;}
.tab-panel li{margin-bottom:6px;}

/* ---------- Footer ---------- */
.site-footer{background:var(--cream);border-top:1px solid var(--line);}
.footer-bottom{
  text-align:center;
  padding:22px 24px;
  font-size:13.5px;
  color:var(--ink-soft);
}

/* ---------- Sticky mobile bar ---------- */
.sticky-bar{
  display:none;
  position:fixed;
  bottom:0;left:0;right:0;
  background:#fff;
  border-top:1px solid var(--line);
  padding:12px 16px;
  align-items:center;
  gap:14px;
  z-index:60;
  box-shadow:0 -4px 16px rgba(0,0,0,.06);
}
.sticky-price{display:flex;flex-direction:column;line-height:1.2;}
.sticky-price .price-now{font-size:17px;}
.sticky-price .price-old{font-size:12.5px;}
.sticky-bar .shop-now-btn{flex:1;height:46px;font-size:14.5px;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .product-section{grid-template-columns:1fr;gap:32px;}
}

@media (max-width:600px){
  .product-info h1{font-size:26px;}
  .gallery-thumbs{grid-template-columns:repeat(5,1fr);}
  .sticky-bar{display:flex;}
  main{padding-bottom:74px;}
  .buy-row .shop-now-btn{min-width:0;}
}