@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  html {
    scroll-behavior: smooth;
  }

  :root {
    --color-bg: #f3ecff;
    --color-bg-soft: #f8f4ff;
    --color-bg-muted: #e8ddf9;
    --color-bg-card: #ffffff;
    --color-bg-header: rgba(248, 244, 255, 0.95);
    --color-text: #2d1b4e;
    --color-text-muted: #6b5585;
    --header-height: 5rem;
  }

  @media (min-width: 768px) {
    :root {
      --header-height: 7rem;
    }
  }

  body {
    background-color: var(--color-bg);
    color: var(--color-text);
    @apply antialiased;
  }

  ::-webkit-scrollbar {
    width: 8px;
  }

  ::-webkit-scrollbar-track {
    background: var(--color-bg-soft);
  }

  ::-webkit-scrollbar-thumb {
    background: #c4b0e8;
    border-radius: 4px;
  }

  ::-webkit-scrollbar-thumb:hover {
    background: #a78fd4;
  }
}

@layer components {
  .container-main {
    @apply w-full max-w-[1400px] mx-auto px-4 md:px-6;
  }

  .section-title {
    @apply text-2xl md:text-4xl font-black bg-gradient-to-r from-yellow-600 via-yellow-500 to-amber-600 bg-clip-text text-transparent;
  }

  .card-glow {
    @apply rounded-2xl border border-purple-300/40 bg-white/90 overflow-hidden transition-all duration-300 hover:border-yellow-400/50 hover:shadow-[0_0_30px_rgba(140,82,255,0.12)];
  }

  .media-fit {
    @apply object-contain object-center;
  }

  .header-offset {
    padding-top: var(--header-height);
  }

  .bg-page {
    background-color: var(--color-bg);
  }

  .bg-page-soft {
    background-color: var(--color-bg-soft);
  }

  .bg-page-muted {
    background-color: var(--color-bg-muted);
  }

  .text-page {
    color: var(--color-text);
  }

  .text-page-muted {
    color: var(--color-text-muted);
  }

  .aspect-grid {
    aspect-ratio: 4 / 3;
  }

  .aspect-hero {
    aspect-ratio: 21 / 9;
    min-height: 140px;
  }

  @media (min-width: 768px) {
    .aspect-hero {
      min-height: 200px;
    }
  }
}

.y9-hero-slider {
  position: relative;
}

.y9-hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.7s ease;
  pointer-events: none;
}

.y9-hero-slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

.y9-hero-dots {
  position: absolute;
  bottom: 12px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
  z-index: 10;
}

.y9-hero-dot {
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  background: rgba(234, 179, 8, 0.5);
  border: none;
  cursor: pointer;
  padding: 0;
}

.y9-hero-dot.is-active {
  background: rgb(234, 179, 8);
}

details > summary::-webkit-details-marker {
  display: none;
}
