:root {
  --testo-bg: #f8fafc;
  --testo-surface: #ffffff;
  --testo-tone: #16a34a;
  --testo-tone-hover: #15803d;
  --testo-ink: #0f172a;
  --testo-gradient: linear-gradient(135deg, #22c55e 0%, #15803d 100%);
  --font-display: 'Montserrat', sans-serif;
  --font-body: 'Inter', sans-serif;
}

/* Base resets */
body {
  font-family: var(--font-body);
  background-color: var(--testo-bg);
  color: var(--testo-ink);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}

/* Gallery CSS-only Logic */
.tj-tab-check {
  display: none;
}

.tj-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

#tj-photo-1:checked ~ .tj-stage-frame .tj-slide-1,
#tj-photo-2:checked ~ .tj-stage-frame .tj-slide-2,
#tj-photo-3:checked ~ .tj-stage-frame .tj-slide-3,
#tj-photo-4:checked ~ .tj-stage-frame .tj-slide-4 {
  opacity: 1;
  visibility: visible;
}

/* Active thumbnail indicator */
#tj-photo-1:checked ~ .tj-thumb-strip label[for="tj-photo-1"],
#tj-photo-2:checked ~ .tj-thumb-strip label[for="tj-photo-2"],
#tj-photo-3:checked ~ .tj-thumb-strip label[for="tj-photo-3"],
#tj-photo-4:checked ~ .tj-thumb-strip label[for="tj-photo-4"] {
  border-color: var(--testo-tone);
  box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.2);
}

/* Button hover animation */
.tj-main-btn {
  background: var(--testo-gradient);
  box-shadow: 0 10px 15px -3px rgba(34, 197, 94, 0.3), 0 4px 6px -2px rgba(34, 197, 94, 0.05);
}

.tj-main-btn:hover {
  background: linear-gradient(135deg, #16a34a 0%, #116e32 100%);
}