:root{
  --vg-primary: #0d6efd;
  --vg-primary-600: #0b5ed7;
  --vg-accent: #20c997;
  --vg-warn: #f5c542;
  --vg-muted: #6c757d;
}

body { font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans Thai", "Noto Sans", "Liberation Sans", sans-serif; }

/* Chips */
.chip{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.25rem .6rem; border:1px solid rgba(0,0,0,.08);
  border-radius: 999px; background:#fff; color: var(--vg-muted);
}
.chip-warn{ background: #fff8e1; border-color: #ffe58f; color:#8d6b00; }

/* Media wrapper */
.media-main-wrapper{
  position: relative; overflow: hidden; border-radius: .9rem; background: #f8f9fa; cursor:pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}
.media-main-wrapper img, .media-main-wrapper video{
  width:100%; height:100%; object-fit: cover;
}
.media-overlay-chip{
  position:absolute; top:.5rem; left:.5rem;
  background: rgba(0,0,0,.55); color:#fff;
  padding:.3rem .55rem; border-radius:.45rem; font-size:.85rem;
}

/* Thumb strip */
.thumb-strip{
  display:flex; gap:.5rem; overflow:auto; padding:.25rem .25rem;
}
.thumb-item{
  background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:.5rem;
  padding:.15rem; width:72px; height:56px; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
  transition:.15s ease; cursor:pointer;
}
.thumb-item:hover{ transform: translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.08); }
.thumb-item img{ width:100%; height:100%; object-fit:cover; border-radius:.35rem; }

/* Sidebar sticky spacing for large screens */
.sidebar-sticky{ top: 6.5rem; }

/* Price card */
.price-card .price-main{
  font-size: clamp(20px, 3.2vw, 32px);
  font-weight: 700; color: var(--vg-primary);
  line-height: 1;
}
.discount-badge{
  background: linear-gradient(90deg, #ff6a3d, #ff3d3d);
  color:#fff;
}

/* Highlight preview fade */
.highlight-preview{ position:relative; overflow:hidden; max-height: 140px; }
.highlight-fade{
  position:absolute; left:0; right:0; bottom:0; height:48px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 65%);
  pointer-events:none;
}

/* Accordion styling */
.accordion-button{ font-weight:600; }
.accordion-button:not(.collapsed){ color: var(--vg-primary); background: rgba(13,110,253,.06); }
.accordion-item{ border-color: rgba(0,0,0,.06); }
.accordion-body{ line-height: 1.7; }

/* Subtle card hover */
.card{ border-color: rgba(0,0,0,.06); }
.card:hover{ box-shadow:0 10px 28px rgba(0,0,0,.08); transition: box-shadow .2s ease; }

/* Buttons */
.btn-primary{
  background: var(--vg-primary);
  border-color: var(--vg-primary);
}
.btn-primary:hover{ background: var(--vg-primary-600); border-color: var(--vg-primary-600); }

/* Stars */
.stars i{ margin-right: 2px; }