:root {
  --happytea-bg: #FDFBF7;
  --happytea-surface: #FFFFFF;
  --happytea-tone: #4A7C59;
  --happytea-tone-hover: #386644;
  --happytea-ink: #2C3E2E;
  --happytea-gradient: linear-gradient(135deg, #FDFBF7 0%, #E9EFEC 100%);
  --font-display: 'Playfair Display', serif;
  --font-body: 'Inter', sans-serif;
}

body {
  font-family: var(--font-body);
  background-image: var(--happytea-gradient);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}

.happytea-display-head,
.happytea-brand-text {
  font-family: var(--font-display);
}

/* Gallery System (CSS Only) */
.happytea-radio-ctrl {
  display: none;
}

.happytea-slide-visual {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
}

#ht-img1:checked ~ .happytea-main-stage .happytea-slide-1,
#ht-img2:checked ~ .happytea-main-stage .happytea-slide-2,
#ht-img3:checked ~ .happytea-main-stage .happytea-slide-3,
#ht-img4:checked ~ .happytea-main-stage .happytea-slide-4 {
  opacity: 1;
  visibility: visible;
  position: relative;
}

.happytea-main-stage {
  border-radius: 16px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.happytea-thumb-item {
  border-radius: 12px;
  transition: border-color 0.2s ease, opacity 0.2s ease;
  opacity: 0.6;
}

#ht-img1:checked ~ .happytea-thumb-row [for="ht-img1"],
#ht-img2:checked ~ .happytea-thumb-row [for="ht-img2"],
#ht-img3:checked ~ .happytea-thumb-row [for="ht-img3"],
#ht-img4:checked ~ .happytea-thumb-row [for="ht-img4"] {
  border-color: var(--happytea-tone);
  opacity: 1;
}

/* Base structural elements styles */
.happytea-spec-item {
  padding: 1.25rem;
  border-radius: 16px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.happytea-action-trigger {
  border-radius: 999px; /* Pill radius */
  box-shadow: 0 4px 6px -1px rgba(74, 124, 89, 0.3), 0 2px 4px -1px rgba(74, 124, 89, 0.2);
  transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  text-decoration: none;
}

.happytea-action-trigger:hover {
  background-color: var(--happytea-tone-hover) !important;
  box-shadow: 0 10px 15px -3px rgba(74, 124, 89, 0.4), 0 4px 6px -2px rgba(74, 124, 89, 0.2);
}

.happytea-user-note {
  border-radius: 16px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}

.happytea-gallery-sys {
  padding: 1rem;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

/* Image settings for first comment photo block */
.happytea-user-note img.border-2 {
  border-radius: 12px;
}