/*
Theme Name: Horgoi Studio
Theme URI: https://horgoistudio.com/
Author: Horgoi
Author URI: https://horgoistudio.com/
Description: Tema personalizado para Horgoi Studio
Version: 1.0.0
Text Domain: horgoi
*/
/* Custom Styles for Horgoi Studio Landing Page */

/* Base & Typography */
body {
  background-color: #121212; /* Deep dark bg */
  color: #ffffff;
  overflow-x: hidden;
  scroll-behavior: auto; /* Handled natively by Tailwind smooth-scroll, but we might tweak */
}

::selection {
  background: #f1e6d6;
  color: #121212;
}

/* Cinematic Grain */
.grain-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.04;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
}

/* Instrument Spotlight Card (Bento effect) */
.instrument-card {
  position: relative;
  background: #1a1a1a;
  border: 1px solid rgba(255, 255, 255, 0.03);
  overflow: hidden;
  border-radius: 4px;
}

.instrument-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(600px circle at var(--mouse-x) var(--mouse-y), rgba(241, 230, 214, 0.06), transparent 40%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none;
  z-index: 0;
}

.instrument-card:hover::before {
  opacity: 1;
}

.card-content {
  position: relative;
  z-index: 1;
}

/* Magnetic Button */
.magnetic-btn {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.magnetic-btn-text {
  position: relative;
  z-index: 2;
  transition:
    color 0.4s ease,
    transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.magnetic-btn-bg {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  transition: top 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  border-radius: inherit;
  background-color: #f1e6d6;
}

.magnetic-btn:hover .magnetic-btn-bg {
  top: 0;
}
.magnetic-btn:hover .magnetic-btn-text {
  color: #121212;
}

/* Image Reveal Masking */
.reveal-img-container {
  overflow: hidden;
  position: relative;
}

.reveal-img {
  transform: scale(1.15);
  transform-origin: center;
  will-change: transform;
}

/* Utilities */
.mono-tag {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  letter-spacing: 0.05em;
}

/* Grid lines for instrument feel */
.grid-lines {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
  z-index: 0;
  opacity: 0.5;
}

/* Stacked cards: normal flow on mobile (static, so inline top offsets are ignored), sticky overlap effect from md breakpoint up */
.stacked-card {
  position: static;
}

@media (min-width: 768px) {
  .stacked-card {
    position: sticky;
    top: 100px; /* Accounts for 80px nav + 20px gap */
  }
}

