/* Custom CSS Styles - El Hormiguero Digital */

/* Global Reset & Base */
body {
  background-color: #0D0D0D;
  color: #ffffff;
  font-family: 'Poppins', sans-serif;
  overflow-x: hidden;
}

/* Custom Premium Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #0D0D0D;
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #aa7c11 0%, #d4af37 50%, #f5e2b3 100%);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #aa7c11 0%, #e5c158 50%, #fef3c7 100%);
}

/* Typography styles */
.font-serif-headline {
  font-family: 'Cinzel', serif;
}

/* Gold Text Gradients */
.text-gold-gradient {
  background: linear-gradient(135deg, #f5e2b3 0%, #d4af37 50%, #aa7c11 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Glassmorphism Cards */
.glassmorphism {
  background: rgba(15, 15, 15, 0.4);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.glassmorphism:hover {
  border-color: rgba(212, 175, 55, 0.25);
  box-shadow: 0 8px 32px 0 rgba(212, 175, 55, 0.03);
}

/* Premium Gold Glow Effects */
.gold-glow {
  box-shadow: 0 0 20px rgba(212, 175, 55, 0.15);
}

.gold-glow-hover:hover {
  box-shadow: 0 0 25px rgba(212, 175, 55, 0.3);
}

/* Custom Layout Tweaks */
/* On desktop, keep the content scrolling without affecting the sticky video */
@media (min-width: 1024px) {
  #main-layout-container {
    min-height: 100vh;
  }
}

/* Service Card Hover Animations */
.service-card {
  position: relative;
  overflow: hidden;
  transition: border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.service-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(350px circle at var(--x, 0) var(--y, 0), rgba(212,175,55,0.06), transparent 80%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none;
}
.service-card:hover::before {
  opacity: 1;
}

/* Input Fields Focus Glow */
input:focus, textarea:focus {
  box-shadow: 0 0 15px rgba(212, 175, 55, 0.15);
}

/* Smooth Scroll Tweaks */
html {
  scroll-behavior: initial;
}
html, body {
  width: 100%;
  min-height: 100%;
}

/* Timeline animations base */
.process-step {
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.process-step:hover {
  transform: translateX(8px);
}
@media (max-width: 1023px) {
  .process-step:hover {
    transform: none;
  }
}

/* Hide default video controls and outline */
video:focus {
  outline: none;
}
