:root{
  --bg1:#f6d78b;
  --bg2:#caa24b;
  --panel:#f7e8bf;
  --panel2:#f3deaa;
  --ink:#1e1e1e;
  --muted:#5b5345;
  --line:rgba(0,0,0,.12);
  --shadow:0 12px 30px rgba(0,0,0,.18);
  --radius:18px;
  --radius-sm:12px;
  --cta:#ff8a00;
  --cta2:#ffb24a;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  background:linear-gradient(180deg,#f7b0b6 0%, var(--bg2) 14%, var(--bg1) 55%, #bfe6ff 100%);
}

img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}

.container{max-width:1200px; margin:0 auto; padding:0 18px}

/* Topbar */
.topbar{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.22);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.25);
}
.topbar__inner{
  height:62px;
  display:flex;
  align-items:center;
  gap:12px;
}
.brand{display:flex; align-items:center; gap:10px; min-width:120px}
.brand__logo{height:34px; width:auto}

.topbar__menu{display:none}

.search{
  flex:1;
  display:flex;
  align-items:center;
  gap:10px;
  background:rgba(255,255,255,.6);
  border:1px solid rgba(0,0,0,.10);
  border-radius:999px;
  padding:8px 10px;
  min-width:220px;
}
.search__icon{display:flex; align-items:center; color:rgba(0,0,0,.65)}
.search__input{
  border:0; outline:0; background:transparent;
  width:100%;
  font-size:14px;
}
.search__go{
  border:0;
  background:var(--cta);
  color:#fff;
  width:34px; height:34px;
  border-radius:999px;
  display:grid; place-items:center;
  cursor:pointer;
}

.cta{
  font-weight:700;
  font-size:12px;
  letter-spacing:.4px;
  padding:10px 14px;
  border-radius:10px;
  border:2px solid rgba(255,255,255,.35);
  background:linear-gradient(180deg, rgba(255,138,0,.95), rgba(255,178,74,.95));
  color:#fff;
  text-transform:uppercase;
  box-shadow:0 8px 20px rgba(255,138,0,.25);
  white-space:nowrap;
}

.topbar__icons{display:flex; align-items:center; gap:8px}
.icon-btn{
  border:1px solid rgba(0,0,0,.12);
  background:rgba(255,255,255,.55);
  border-radius:12px;
  width:38px; height:38px;
  display:grid; place-items:center;
  cursor:pointer;
}

.nav{
  border-top:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.18);
}
.nav__inner{
  height:46px;
  display:flex;
  align-items:center;
  gap:18px;
  overflow:auto;
}
.nav__link{
  font-size:13px;
  font-weight:600;
  white-space:nowrap;
  padding:8px 10px;
  border-radius:10px;
  color:rgba(0,0,0,.78);
}
.nav__link:hover{background:rgba(255,255,255,.35)}

.page{padding:18px 0 90px}

.breadcrumb{
  font-size:12px;
  color:rgba(0,0,0,.65);
  margin:10px 0 14px;
}

/* Product layout */
.product{
  display:grid;
  grid-template-columns:76px 1.05fr .95fr;
  gap:18px;
  align-items:start;
}

.thumbs{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-top:6px;
}
.thumb{
  width:64px; height:64px;
  padding:0;
  border-radius:14px;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.55);
  background:rgba(255,255,255,.35);
  cursor:pointer;
}
.thumb.is-active{outline:3px solid rgba(255,138,0,.6)}
.thumb img{width:100%; height:100%; object-fit:cover}

.media{
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.28);
  border-radius:var(--radius);
  padding:12px;
}
.media__frame{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.media__img{width:100%; height:480px; object-fit:cover}
.media__nav{
  position:absolute;
  top:50%; transform:translateY(-50%);
  width:44px; height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.28);
  backdrop-filter:blur(8px);
  display:grid; place-items:center;
  cursor:pointer;
}
.media__nav--left{left:10px}
.media__nav--right{right:10px}

.ratingbar{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:12px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.35);
  border:1px solid rgba(0,0,0,.10);
}
.stars{display:flex; gap:2px; font-size:16px; line-height:1}
.star{color:rgba(0,0,0,.20)}
.star.is-on{color:#f0a000}
.ratingbar__meta{font-size:13px; color:rgba(0,0,0,.70)}

.panel{
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.30);
  border-radius:var(--radius);
  padding:16px 16px 14px;
}
.panel__top{display:flex; align-items:center; justify-content:space-between; gap:12px}
.seller{font-size:12px; font-weight:700; color:rgba(255,80,0,.9)}

.price{display:flex; align-items:baseline; gap:10px; margin-top:10px}
.price__now{font-size:26px; font-weight:800; color:#1d7a3d}
.price__badge{font-size:12px; font-weight:800; padding:4px 10px; border-radius:999px; background:rgba(0,0,0,.10)}
.countdown{font-size:12px; color:rgba(0,0,0,.65); margin-top:2px}

.title{font-size:28px; line-height:1.15; margin:12px 0 10px}
.desc{margin:0 0 10px; color:rgba(0,0,0,.70); font-size:14px; line-height:1.55}

.spec{
  margin:14px 0 12px;
  background:rgba(255,255,255,.35);
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  overflow:hidden;
}
.spec__row{display:grid; grid-template-columns:150px 1fr; gap:12px; padding:10px 12px; border-top:1px solid rgba(0,0,0,.08)}
.spec__row:first-child{border-top:0}
.spec__k{font-weight:700; font-size:12px; color:rgba(0,0,0,.70)}
.spec__v{font-weight:600; font-size:12px; color:rgba(0,0,0,.85)}

.form{display:grid; gap:10px; margin:10px 0 6px}
.field{display:grid; gap:6px}
.field__label{font-size:12px; font-weight:700; color:rgba(0,0,0,.70)}
.field__control{
  width:100%;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.14);
  background:rgba(255,255,255,.50);
  padding:10px 12px;
  outline:0;
}
.btn-primary{
  display:flex; align-items:center; justify-content:center;
  height:46px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.6px;
  background:#111;
  color:#fff;
  border:0;
  cursor:pointer;
  text-transform:uppercase;
}

.details{margin-top:10px; border-top:1px solid rgba(0,0,0,.10); padding-top:10px}
.details summary{cursor:pointer; font-weight:800; color:rgba(0,0,0,.80)}
.details__body{padding:10px 0 2px; color:rgba(0,0,0,.72); font-size:14px}
.details__body ul{margin:8px 0 0 18px}
.details__body li{margin:6px 0}

/* Reviews */
.reviews{margin-top:18px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.28); border-radius:var(--radius); padding:16px}
.reviews__head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap}
.reviews h2{margin:0; font-size:20px}
.pill-row{display:flex; flex-wrap:wrap; gap:8px}
.pill{font-size:12px; font-weight:700; padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.40); border:1px solid rgba(0,0,0,.10)}

.review{padding:14px 0; border-top:1px solid rgba(0,0,0,.10)}
.review:first-of-type{border-top:0}
.review__stars{color:#f0a000; font-weight:900; letter-spacing:1px}
.review__text{margin-top:6px; color:rgba(0,0,0,.72); font-size:14px; line-height:1.5}
.review__meta{margin-top:8px; display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.tag{font-size:12px; font-weight:800; padding:4px 8px; border-radius:999px; background:rgba(0,0,0,.08)}
.tag--ok{background:rgba(29,122,61,.14); color:#1d7a3d}
.who{font-size:12px; color:rgba(0,0,0,.60)}

/* Seller card */
.seller-card{margin:18px 0 0; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.28); border-radius:var(--radius); overflow:hidden}
.seller-card__header{padding:16px}
.seller-card__brand{font-size:22px; font-weight:900; letter-spacing:.3px}
.seller-card__meta{margin-top:4px; font-size:12px; color:rgba(0,0,0,.65)}
.seller-card__stats{margin-top:8px; font-size:12px; color:rgba(0,0,0,.70); font-weight:700}
.seller-card__actions{display:flex; gap:10px; margin-top:12px; flex-wrap:wrap}
.btn{height:40px; padding:0 14px; border-radius:999px; border:1px solid rgba(0,0,0,.14); background:rgba(255,255,255,.45); font-weight:800; cursor:pointer}
.seller-card__badges{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:14px 16px 18px; border-top:1px solid rgba(0,0,0,.10)}
.badge{background:rgba(255,255,255,.35); border:1px solid rgba(0,0,0,.10); border-radius:16px; padding:12px}
.badge b{display:block; margin-bottom:6px}
.badge span{display:block; font-size:12px; color:rgba(0,0,0,.65); line-height:1.4}

/* Dock */
.dock{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  height:62px;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(10px);
  border-top:1px solid rgba(255,255,255,.12);
  display:grid;
  grid-template-columns:repeat(5,1fr);
}
.dock__item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:rgba(255,255,255,.90);
  font-weight:800;
  font-size:10px;
  letter-spacing:.6px;
  text-transform:uppercase;
  border-right:1px solid rgba(255,255,255,.10);
}
.dock__item:last-child{border-right:0}
.dock__icon{font-size:16px; line-height:1}
.dock__item.is-active{
  background:linear-gradient(180deg, rgba(255,205,86,.95), rgba(255,160,0,.95));
  color:#1c1c1c;
}

/* Responsive */
@media (max-width: 1100px){
  .product{grid-template-columns:76px 1fr;}
  .panel{grid-column:1 / -1}
  .media__img{height:440px}
}

@media (max-width: 820px){
  .topbar__icons{display:none}
  .cta{display:none}
  .topbar__menu{display:grid}
  .search{min-width:0}

  .nav{display:none}
  .nav.is-open{display:block}
  .nav__inner{height:auto; padding:10px 18px; flex-wrap:wrap}

  .product{grid-template-columns:1fr;}
  .thumbs{display:none}
  .media__img{height:360px}
  .title{font-size:22px}
  .spec__row{grid-template-columns:120px 1fr}
  .seller-card__badges{grid-template-columns:1fr}
}

@media (max-width: 420px){
  .media__img{height:300px}
  .container{padding:0 14px}
  .ratingbar{flex-direction:column; align-items:flex-start}
}
