/* Seren Theme CSS */

/* Global Theme Colors - Warm Cream + Gold */
:root {
  /* Warm cream backgrounds */
  --color-cream: #FFFDF7;
  --color-cream-dark: #FFF9EE;
  --color-cream-border: #E8DBC8;

  /* Text colors for light theme */
  --color-text-primary: #2C2417;
  --color-text-secondary: #6B5D4D;
  --color-text-muted: #A99B85;
  --color-text-card: #4A3F2F;

  /* Legacy navy (kept for any remaining dark elements) */
  --color-navy-light: #2B3A4A;
  --color-navy: #1C2A3A;
  --color-navy-dark: #121E2D;

  /* Golden - primary accent */
  --color-golden-light: #FFE14D;
  --color-golden: #FFD700;
  --color-golden-dark: #F5C800;

  /* Legacy blues/purples (may remove later) */
  --color-seren-blue-light: #4A9EFF;
  --color-seren-blue: #1F85FF;
  --color-seren-blue-dark: #0064E5;

  --color-seren-purple-light: #9672ED;
  --color-seren-purple: #7C50E6;
  --color-seren-purple-dark: #5C30C0;
}

/* Base Theme Elements - Warm Cream */
body {
  font-family: 'Quicksand', sans-serif;
  background: var(--color-cream);
  color: var(--color-text-primary);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow-x: hidden;
}

/* Subtle warm gradient overlay */
body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:
    radial-gradient(circle at 75% 10%, rgba(240,184,90,0.08), transparent 50%),
    radial-gradient(circle at 20% 80%, rgba(240,184,90,0.05), transparent 50%);
  pointer-events: none;
  z-index: 0;
}

/* Mobile-specific background */
@media (max-width: 768px) {
  body::before {
    background:
      radial-gradient(circle at 80% 5%, rgba(240,184,90,0.1), transparent 45%),
      radial-gradient(circle at 15% 90%, rgba(240,184,90,0.06), transparent 40%);
  }
}

/* Background Elements */
.seren-background-gradient {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 70% 15%, rgba(240,184,90,0.06), transparent 50%),
    radial-gradient(circle at 30% 85%, rgba(240,184,90,0.04), transparent 50%);
  z-index: 1;
  pointer-events: none;
}

/* Mobile-specific gradient enhancement */
@media (max-width: 768px) {
  .seren-background-gradient {
    background:
      radial-gradient(circle at 75% 10%, rgba(240,184,90,0.08), transparent 45%),
      radial-gradient(circle at 25% 90%, rgba(240,184,90,0.05), transparent 40%);
  }
}

/* Text Colors and Typography */
.seren-title {
  color: var(--color-text-primary);
  font-weight: 700;
  font-family: 'Lato', sans-serif;
}

.seren-subtitle {
  color: var(--color-text-secondary);
  font-weight: 500;
  font-family: 'Lato', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Lato', sans-serif;
  color: var(--color-text-primary);
}

/* Containers */
.seren-card {
  background-color: var(--color-cream-dark);
  border: 1px solid var(--color-cream-border);
  border-radius: 0.75rem;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

/* Content area styling */
.prose {
  position: relative;
  z-index: 2;
  color: var(--color-text-secondary);
}

/* For long content pages (like Terms and Privacy) */
.content-page {
  position: relative;
  background-color: var(--color-cream-dark);
  border: 1px solid var(--color-cream-border);
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

/* Logo Elements */
.seren-logo {
  animation: glow 4s ease-in-out infinite;
}

.seren-logo-container {
  margin-left: auto;
  margin-right: auto;
}

/* Links and Buttons */
.seren-link {
  color: var(--color-text-secondary);
  transition-property: color;
  transition-duration: 300ms;
  transition-timing-function: ease-in-out;
}

.seren-link:hover {
  color: var(--color-golden-dark);
}

.seren-link-separator {
  color: var(--color-text-muted);
  opacity: 0.5;
}

.seren-download-button {
  transition-property: all;
  transition-duration: 300ms;
  border-radius: 0.5rem;
}

.seren-download-button:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(224, 159, 56, 0.25);
}

/* Footer */
.seren-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1rem;
  background-color: var(--color-cream-dark);
  border-top: 1px solid var(--color-cream-border);
  text-align: center;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.04);
  z-index: 50;
}

/* Animations */
@keyframes glow {
  0%, 100% { filter: brightness(100%); }
  50% { filter: brightness(120%); }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.animate-glow {
  animation: glow 4s ease-in-out infinite;
}

.animate-float {
  animation: float 240s ease-in-out infinite;
}

/* Crisp image rendering */
.image-rendering-crisp {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-font-smoothing: subpixel-antialiased;
}

/* Icon glow effect - subtle on light background */
.icon-glow {
  filter: drop-shadow(0 0 6px rgba(224, 159, 56, 0.35));
}

/* Radial gradient for button backgrounds */
.bg-gradient-radial {
  background: radial-gradient(ellipse at center, var(--tw-gradient-stops));
}
