/* Global Scroll Behavior */
html {
  scroll-behavior: smooth;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: #FAF9F6; /* stone-50 */
}
::-webkit-scrollbar-thumb {
  background: #D6CDBE; /* stone-300 */
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: #C5A464; /* gold-500 */
}

/* Selection Color */
::selection {
  background: #E9D9B1; /* gold-200 */
  color: #292524; /* stone-800 */
}

/* Reveal Animation Utility Classes */
.reveal-element {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.reveal-element.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Initial Hero Animations - Delays */
.animate-delay-100 { animation-delay: 100ms; }
.animate-delay-200 { animation-delay: 200ms; }
.animate-delay-300 { animation-delay: 300ms; }
.animate-delay-500 { animation-delay: 500ms; }
.animate-delay-800 { animation-delay: 800ms; }
.animate-delay-1100 { animation-delay: 1100ms; }
.animate-delay-1400 { animation-delay: 1400ms; }
.animate-delay-2000 { animation-delay: 2000ms; }

/* Mobile Menu Transition */
#mobile-menu {
  transition: transform 0.5s ease-in-out;
}

/* Subtle Zoom Animation */
@keyframes subtleZoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}

.animate-subtle-zoom {
  animation: subtleZoom 20s infinite alternate ease-in-out;
}

/* Cookies */
.aviso-cookies,
.fondo-aviso-cookies {
    display: none;
}

.aviso-cookies.activo,
.fondo-aviso-cookies.activo {
    display: block;
}

.aviso-cookies {
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    max-width: 400px;
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
    z-index: 9999;
}

@media (min-width: 768px) {
    .aviso-cookies {
        left: 20px;
        right: auto;
    }
}

.fondo-aviso-cookies {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 9998;
}

.aviso-cookies .galleta {
    width: 60px;
    margin: 0 auto 15px;
    display: block;
}

.aviso-cookies .titulo {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 10px;
    text-align: center;
    font-family: 'Playfair Display', serif;
}

.aviso-cookies .parrafo {
    font-size: 0.9rem;
    margin: 0 0 15px;
    text-align: center;
    line-height: 1.5;
    color: #333;
}

.aviso-cookies .boton {
    background: #C5A464;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 0.9rem;
    margin: 5px;
    transition: background 0.3s;
    display: inline-block;
}

.aviso-cookies .boton:hover {
    background: #A38446;
}

.aviso-cookies .enlace {
    display: block;
    text-align: center;
    margin-top: 10px;
    font-size: 0.85rem;
    color: #666;
    text-decoration: underline;
}