:root {
  /* Core Minimalist Palette */
  --bg-body: #ffffff;
  --bg-surface: #ffffff;
  --bg-subtle: #f8fafc;
  --border-color: #e2e8f0;
  
  --text-main: #0f172a;
  --text-muted: #64748b;
  
  /* Brand Accents */
  --arbor-green: #1a4644;      /* RGB (26, 70, 68) */
  --arbor-green-light: #f0f7f6;
  --warm-gold: #e09926;        /* RGB (224, 153, 38) */
  --warm-gold-light: #fef7ed;
  
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

body {
  font-family: var(--font-sans);
  background-color: var(--bg-body);
  color: var(--text-main);
  margin: 0;
  padding: 0;
}

.bg-arbor {
  background-color: var(--arbor-green);
}
.text-arbor {
  color: var(--arbor-green);
}
.border-arbor {
  border-color: var(--arbor-green);
}

.bg-gold {
  background-color: var(--warm-gold);
}
.text-gold {
  color: var(--warm-gold);
}
.border-gold {
  border-color: var(--warm-gold);
}

/* Custom scrollbar for Birthday Reminder */
.custom-bday-scroll::-webkit-scrollbar {
  width: 5px;
}
.custom-bday-scroll::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 9999px;
}
.custom-bday-scroll::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 9999px;
}
.custom-bday-scroll::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Fast smooth fade transition for Birthday Card List */
.bday-fade-in {
  animation: bdayFadeIn 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes bdayFadeIn {
  from {
    opacity: 0.2;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Menu Active Highlight: Warm Gold Honey (#e09926) */
.active-menu-gold,
.active-nav-gold {
  color: var(--warm-gold) !important;
  background-color: rgba(224, 153, 38, 0.12) !important;
}

/* Mobile Bottom Navigation Height & Safe Area */
.mobile-bottom-nav {
  padding-bottom: max(0.875rem, env(safe-area-inset-bottom, 0.875rem)) !important;
  min-height: calc(3.75rem + env(safe-area-inset-bottom, 0px));
}

/* Content padding bottom for mobile so content is not blocked by taller bottom nav */
@media (max-width: 767px) {
  body {
    padding-bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* Prevent accidental mobile zoom & maintain crisp UI framing */
html, body {
  touch-action: pan-x pan-y;
}

/* iOS Safari auto-zooms if input font-size is below 16px */
@media (max-width: 767px) {
  input, select, textarea {
    font-size: 16px !important;
  }
}
