:root {
  --testojack-bg: #f5f8fa;
  --testojack-surface: #ffffff;
  --testojack-tone: #d96b27;
  --testojack-tone-hover: #b85417;
  --testojack-ink: #1b2733;
  --testojack-muted: #64748b;
  --testojack-line: #e2e8f0;
  --testojack-gradient: linear-gradient(135deg, #e87a2d 0%, #cf5717 100%);
  --font-display: 'Montserrat', sans-serif;
  --font-body: 'Inter', sans-serif;
}

/* Shadows and Radii */
.tj-raised-surface {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* CSS-Only Product Gallery Switching */
.tj-frame {
  display: none;
  width: 100%;
  height: 100%;
}

#tj-slide-1:checked ~ .tj-slide-viewport .tj-frame-1 {
  display: block;
}
#tj-slide-2:checked ~ .tj-slide-viewport .tj-frame-2 {
  display: block;
}
#tj-slide-3:checked ~ .tj-slide-viewport .tj-frame-3 {
  display: block;
}
#tj-slide-4:checked ~ .tj-slide-viewport .tj-frame-4 {
  display: block;
}

/* Thumbnail Active Border */
#tj-slide-1:checked ~ .tj-thumb-reel .tj-token-1,
#tj-slide-2:checked ~ .tj-thumb-reel .tj-token-2,
#tj-slide-3:checked ~ .tj-thumb-reel .tj-token-3,
#tj-slide-4:checked ~ .tj-thumb-reel .tj-token-4 {
  border-color: var(--testojack-tone) !important;
  box-shadow: 0 0 0 2px rgba(217, 107, 39, 0.25);
}

.tj-thumb-token {
  transition: border-color 0.2s ease, transform 0.15s ease;
}

.tj-thumb-token:hover {
  transform: translateY(-2px);
  border-color: var(--testojack-tone) !important;
}

/* CTA Pill Button (Preset A) */
.tj-action-pill {
  box-shadow: 0 4px 16px rgba(217, 107, 39, 0.35);
}

.tj-action-pill:hover {
  box-shadow: 0 8px 24px rgba(217, 107, 39, 0.5);
  transform: translateY(-2px);
  filter: brightness(1.05);
}

.tj-action-pill:active {
  transform: translateY(0);
}

/* Subtle review animation */
.tj-opinion-entry {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tj-opinion-entry:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

/* Thai Font adjustments */
body, h1, h2, h3, p, span, a, label {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}