/* ===== Base ===== */
:root {
  color-scheme: dark;
}

body {
  font-family: 'Anton', sans-serif;
  background-color: #050505;
}

/* ===== Tipografía ===== */
.opens-sans {
  font-family: 'Open Sans', sans-serif;
}

/* ===== Accesibilidad ===== */
:focus-visible {
  outline: 2px solid #dc2626;
  outline-offset: 2px;
}

/* ===== Componentes ===== */
.image-hover {
  transition: transform .35s ease, filter .35s ease;
}

.image-hover:hover {
  transform: translateY(-6px) scale(1.01);
  filter: grayscale(0%);
}

.nav-link {
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}

.nav-link:hover {
  transform: translateY(-1px);
}

.footer-link {
  transition: color .25s ease;
}

.footer-link:hover {
  color: #ffffff;
}

.btn-cta {
  transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

@media (hover: hover) {
  .btn-cta:hover {
    transform: scale(1.08);
    box-shadow: 0 10px 25px rgba(220, 38, 38, 0.4);
  }
}

/* ===== Footer ===== */
.footer-bg {
  background-image: url('https://cms.larriaparties.com/wp-content/uploads/2026/04/LARRIA_FOOTER.JPEG');
  background-size: cover;
  background-position: center 40%;
  background-repeat: no-repeat;
  position: relative;
}

.footer-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(5, 5, 5, 0.78);
  pointer-events: none;
}

.footer-bg > * {
  position: relative;
}

/* ===== Contacto ===== */
.input-focus:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.16);
}

.contact-bg {
  background-position: center;
}

@keyframes fadeSlideUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.anim-fade-up {
  opacity: 0;
  animation: fadeSlideUp 0.7s ease forwards;
}

.anim-delay-1 { animation-delay: 0.1s; }
.anim-delay-2 { animation-delay: 0.3s; }

@media (min-width: 1024px) {
  .contact-bg {
    background-position: center 45%;
  }
}

.footer-left-block {
  transform: translateY(-1rem);
}

.footer-right-block {
  transform: translateY(5rem);
}

.footer-bottom-row {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

@media (min-width: 768px) {
  .footer-bottom-row {
    flex-direction: row;
  }
}

@media (min-width: 1024px) {
  .footer-left-block {
    transform: translateY(0.75rem);
  }

  .footer-right-block {
    transform: translateY(0);
    margin-left: auto;
  }
}

/* ===== Animaciones ===== */
@keyframes scrollReveal {
  from { opacity: 0; transform: translateY(40px); }
  to   { opacity: 1; transform: translateY(0); }
}

.scroll-reveal {
  opacity: 0;
}

.scroll-reveal.visible {
  animation: scrollReveal 0.8s ease forwards;
}

/* ===== Reducción de movimiento (accesibilidad) ===== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
