:root {
  --thorne-bg: #f0f7f7;
  --thorne-surface: #ffffff;
  --thorne-tone: #0e7490;
  --thorne-tone-hover: #155e75;
  --thorne-ink: #1e293b;
  --thorne-gradient: linear-gradient(135deg, #0e7490 0%, #0284c7 100%);
  --font-display: 'Raleway', sans-serif;
  --font-body: 'Inter', sans-serif;
}

/* Base resets & typography */
body {
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}

/* Gallery logic without JS */
.th-slide-item {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  pointer-events: none;
  z-index: 1;
}

.th-radio-1:checked ~ .th-slide-container .th-slide-1,
.th-radio-2:checked ~ .th-slide-container .th-slide-2,
.th-radio-3:checked ~ .th-slide-container .th-slide-3,
.th-radio-4:checked ~ .th-slide-container .th-slide-4 {
  opacity: 1;
  pointer-events: auto;
  z-index: 10;
}

/* Thumbnail interaction for Preset C (opacity 0.5 when inactive) */
.th-thumb-label {
  opacity: 0.5;
  transition: opacity 0.2s ease, border-color 0.2s ease;
  cursor: pointer;
  border-color: #cbd5e1;
}

.th-thumb-label:hover {
  opacity: 0.8;
}

.th-radio-1:checked ~ .th-thumbs label[for="photo-1"],
.th-radio-2:checked ~ .th-thumbs label[for="photo-2"],
.th-radio-3:checked ~ .th-thumbs label[for="photo-3"],
.th-radio-4:checked ~ .th-thumbs label[for="photo-4"] {
  opacity: 1;
  border-color: var(--thorne-tone);
}

/* Button state */
.th-cta-btn:hover {
  background-color: var(--thorne-tone-hover) !important;
}