/*
Theme Name: EFIIS Formation
Author: EFIIS
Version: 1.0
*/
/* Custom utility classes for the theme */
.hero-pattern {
  background-image: radial-gradient(1200px 600px at 10% 10%, rgba(255, 255, 255, 0.12), transparent 60%),
    radial-gradient(800px 500px at 90% 30%, rgba(255, 255, 255, 0.08), transparent 60%);
}

.card-hover {
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
}

.section-fade {
  opacity: 0;
  transform: translateY(16px);
  animation: efiis-fade-up 700ms ease forwards;
}

.hero-content {
  width: min(100%, 76rem);
}

.hero-section {
  padding-top: 8.5rem;
  padding-bottom: 6rem;
}

.hero-title {
  font-size: clamp(3rem, 6vw, 5.75rem);
  line-height: 0.98;
  text-wrap: balance;
}

.hero-copy {
  font-size: clamp(1.125rem, 2.2vw, 2rem);
  max-width: 52rem;
  text-wrap: balance;
}

.hero-actions a {
  min-width: 17rem;
}

.history-highlight {
  line-height: 1.15;
}

.reservation-badge {
  letter-spacing: 0.02em;
}

.nav-cta-primary {
  background-image: linear-gradient(135deg, var(--efiis-primary), #5f92bc);
}

.nav-cta-primary:hover {
  filter: brightness(0.97);
  transform: translateY(-1px);
}

.nav-cta-secondary {
  background: rgba(255, 255, 255, 0.88);
}

.nav-cta-secondary:hover {
  background: #f8fbff;
  transform: translateY(-1px);
}

html {
  scroll-behavior: smooth;
}

@keyframes efiis-fade-up {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

:root {
  --efiis-primary: #4a7ea9;
  --efiis-secondary: #7fa9c8;
  --efiis-accent: #7fa9c8;
  --efiis-warm: #f5faff;
}

.bg-primary {
  background-color: var(--efiis-primary) !important;
}

.text-primary {
  color: var(--efiis-primary) !important;
}

.bg-accent {
  background-color: var(--efiis-accent) !important;
}

.text-accent {
  color: var(--efiis-accent) !important;
}

@media (max-width: 768px) {
  .hero-section {
    padding-top: 7rem;
    padding-bottom: 4rem;
  }

  .hero-title {
    font-size: clamp(2.2rem, 10vw, 3.4rem);
    line-height: 1.04;
  }

  .hero-copy {
    font-size: 1.1rem;
  }

  .hero-actions a {
    min-width: 100%;
  }

  .hero-scroll-indicator {
    display: none;
  }
}

@media (max-height: 760px) {
  .hero-section {
    padding-top: 7.5rem;
    padding-bottom: 3rem;
  }

  .hero-scroll-indicator {
    display: none;
  }
}
