@tailwind base;
@tailwind components;
@tailwind utilities;

body {
  @apply text-stone-700;
}

h1 {
  @apply text-4xl font-bold mb-6 text-stone-900;
}

h2 {
  @apply text-3xl font-semibold mb-5 text-stone-800;
}

h3 {
  @apply text-2xl font-semibold mb-4 text-stone-800;
}

h4 {
  @apply text-xl font-medium mb-3 text-stone-800;
}

h5 {
  @apply text-lg font-medium mb-3 text-stone-800;
}

h6 {
  @apply text-base font-medium mb-2 text-stone-800;
}

.centered-absolutely {
  @apply absolute transform -translate-x-1/2 -translate-y-1/2 left-1/2 top-1/4;
}

.btn-group {
  @apply gap-2 flex;
}

.btn-small-red {
  @apply bg-rose-600 py-1 text-stone-100 px-2 rounded-md hover:cursor-pointer transition-colors border-2 border-rose-600 hover:text-stone-100 hover:underline;
}

.btn-small-disabled {
  @apply bg-stone-400 text-stone-100 px-2 py-1 rounded-md cursor-not-allowed transition-all border border-stone-400;
}

.btn-primary {
  @apply bg-stone-800 hover:bg-rose-600 text-stone-100 text-sm px-4 py-2 rounded-md hover:cursor-pointer transition-colors border border-transparent hover:border-rose-600;
}

.btn-primary-lg {
  @apply bg-stone-700 hover:bg-rose-600 text-stone-100 text-lg px-5 py-2.5 rounded-md hover:cursor-pointer transition-colors border border-transparent hover:border-rose-600;
}

.btn-super {
  @apply bg-rose-600 hover:bg-rose-800 text-stone-100 text-sm px-4 py-2 rounded-md hover:cursor-pointer transition-colors border border-transparent hover:border-rose-800;
}

.btn-super-lg {
  @apply bg-rose-600 hover:bg-rose-800 text-stone-100 text-lg px-5 py-2.5 rounded-md hover:cursor-pointer transition-colors border border-transparent hover:border-rose-800;
}

.btn-disabled {
  @apply bg-stone-300 text-stone-500 text-sm px-4 py-2 rounded-md cursor-not-allowed border border-stone-300;
}

.btn-disabled-lg {
  @apply bg-stone-300 text-stone-500 text-lg px-5 py-2.5 rounded-md cursor-not-allowed border border-stone-300;
}

.btn-secondary {
  @apply bg-white text-sm border-stone-200 px-4 py-2 border border-solid transition-colors hover:border-rose-600 rounded-md text-stone-950 hover:cursor-pointer hover:text-rose-600;
}

.btn-tertiary {
  @apply bg-white border-transparent text-sm -mx-1.5 px-3 py-2 border border-solid rounded-md text-stone-950 hover:underline hover:text-rose-600;
}

.primary-link {
  @apply py-2 text-rose-600 hover:underline hover:cursor-pointer hover:text-rose-700;
}

.link-tertiary {
  @apply border-transparent text-sm -mx-1.5 px-3 py-1 text-stone-700 hover:underline hover:cursor-pointer hover:text-rose-600;
}

.active-link-tertiary {
  @apply border-transparent -mx-1.5 px-3 py-2 text-rose-600;
}

.disabled {
  @apply bg-stone-100 border-stone-200 text-stone-400 hover:cursor-not-allowed hover:border-stone-200 hover:text-stone-400 hover:bg-stone-100;
}

/* Vertical carousel animation */
@keyframes vertical-scroll {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(
      -75%
    ); /* Move 6 images up (6/8 = 75% since we have 8 total) */
  }
}

.vertical-carousel-track {
  animation: vertical-scroll 30s linear infinite;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

/* Pause on hover for better UX - only on devices that can truly hover */
@media (hover: hover) and (pointer: fine) {
  .vertical-carousel-track:hover {
    animation-play-state: paused;
  }
}

/* Respect user preferences for reduced motion */
@media (prefers-reduced-motion: reduce) {
  .vertical-carousel-track {
    animation: none;
    transform: translateY(0);
  }
}
/* Sketch pending state animation */
.sketch-loading-animation path,
.sketch-loading-animation svg path {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 6 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-dasharray: 2000;
  stroke-dashoffset: 2000;
  animation: draw-scribble 3.5s linear infinite;
}

@keyframes draw-scribble {
  0% {
    stroke-dashoffset: 2000;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
