/* PAAEP - Custom Styles */

:root {
  --radius: 0.75rem;
  --background: oklch(0.99 0.005 220);
  --foreground: oklch(0.18 0.04 240);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.18 0.04 240);
  --primary: oklch(0.55 0.14 220);
  --primary-foreground: oklch(0.99 0.005 220);
  --secondary: oklch(0.95 0.02 210);
  --secondary-foreground: oklch(0.22 0.05 240);
  --muted: oklch(0.96 0.01 220);
  --muted-foreground: oklch(0.48 0.03 235);
  --accent: oklch(0.72 0.13 195);
  --accent-foreground: oklch(0.15 0.04 240);
  --deep: oklch(0.22 0.07 245);
  --deep-foreground: oklch(0.98 0.01 220);
  --gold: oklch(0.78 0.13 75);
  --destructive: oklch(0.58 0.22 27);
  --destructive-foreground: oklch(0.99 0 0);
  --border: oklch(0.9 0.01 220);
  --input: oklch(0.92 0.01 220);
  --ring: oklch(0.55 0.14 220);
}

* { border-color: var(--border); }

body {
  background-color: var(--background);
  color: var(--foreground);
  font-family: 'Inter', system-ui, sans-serif;
  font-feature-settings: "ss01", "cv11";
}

h1, h2, h3, h4 { font-family: 'Fraunces', Georgia, serif; letter-spacing: -0.02em; }

.font-display { font-family: 'Fraunces', Georgia, serif; letter-spacing: -0.02em; }

.bg-gradient-deep {
  background-image: linear-gradient(135deg, oklch(0.22 0.07 245) 0%, oklch(0.32 0.11 230) 60%, oklch(0.45 0.13 210) 100%);
}

.bg-gradient-water {
  background-image: linear-gradient(180deg, oklch(0.97 0.015 220) 0%, oklch(0.92 0.04 210) 100%);
}

.text-gradient-water {
  background: linear-gradient(135deg, oklch(0.55 0.14 220), oklch(0.72 0.13 195));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.ring-water {
  box-shadow: 0 20px 60px -20px oklch(0.45 0.14 220 / 0.35);
}

.text-gold { color: var(--gold); }
.bg-gold { background-color: var(--gold); }
.bg-deep { background-color: var(--deep); }
.text-deep { color: var(--deep); }
.text-deep-foreground { color: var(--deep-foreground); }
.bg-primary { background-color: var(--primary); }
.text-primary { color: var(--primary); }
.bg-accent { background-color: var(--accent); }
.text-accent { color: var(--accent); }
.text-foreground { color: var(--foreground); }
.text-muted-foreground { color: var(--muted-foreground); }
.text-destructive { color: var(--destructive); }
.bg-destructive { background-color: var(--destructive); }
.bg-card { background-color: var(--card); }
.border-border { border-color: var(--border); }
.bg-background { background-color: var(--background); }
.bg-secondary { background-color: var(--secondary); }
.text-secondary-foreground { color: var(--secondary-foreground); }
.bg-destructive\/10 { background-color: oklch(0.58 0.22 27 / 0.1); }
.text-destructive { color: var(--destructive); }
.bg-primary\/10 { background-color: oklch(0.55 0.14 220 / 0.1); }
.bg-accent\/15 { background-color: oklch(0.72 0.13 195 / 0.15); }
.bg-accent\/30 { background-color: oklch(0.72 0.13 195 / 0.3); }
.text-accent-foreground { color: var(--accent-foreground); }
.bg-gold\/15 { background-color: oklch(0.78 0.13 75 / 0.15); }
.text-gold { color: var(--gold); }
.ring-accent\/30 { --tw-ring-color: oklch(0.72 0.13 195 / 0.3); }

/* Header */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  padding-top: 1.5rem;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.site-header.scrolled {
  padding-top: 0.75rem;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,0.1);
  padding: 0.625rem 1rem;
  backdrop-filter: blur(24px);
  transition: all 0.3s;
}

.header-inner.scrolled {
  background: oklch(0.22 0.07 245 / 0.7);
  box-shadow: 0 10px 40px -10px rgba(0,0,0,0.5);
}

.header-inner:not(.scrolled) {
  background: rgba(255,255,255,0.05);
}

.site-header.header-hidden {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

/* Footer */
.site-footer {
  background-color: var(--deep);
  color: white;
  position: relative;
  overflow: hidden;
}

/* Page hero */
.page-hero {
  position: relative;
  background-image: linear-gradient(135deg, oklch(0.22 0.07 245) 0%, oklch(0.32 0.11 230) 60%, oklch(0.45 0.13 210) 100%);
  color: white;
  overflow: hidden;
}

/* Animations */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
  animation: fadeIn 0.3s ease-out;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Carousel */
.carousel-slide {
  transition: opacity 1200ms ease-in-out;
}

/* Accordion */
.accordion-content {
  overflow: hidden;
  transition: max-height 0.3s ease;
}

/* Gallery lightbox */
.lightbox-open { overflow: hidden; }

/* Tabular nums */
.tabular-nums { font-variant-numeric: tabular-nums; }

/* Gradient text */
.bg-clip-text { -webkit-background-clip: text; background-clip: text; }

/* Line clamp */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
