/*
 * Gift Wall - Custom Styles
 * Minimalistic black and white design system
 */

/* Hide scrollbar for date/time carousels */
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

/* Smooth scroll behavior */
.snap-x {
  scroll-snap-type: x mandatory;
}

.snap-start {
  scroll-snap-align: start;
}

/* Line clamp utilities */
.line-clamp-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Focus ring styles */
input:focus,
textarea:focus,
select:focus {
  outline: none;
}

/* Transition defaults */
.transition-colors {
  transition-property: color, background-color, border-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

/* Button disabled state */
button:disabled {
  cursor: not-allowed;
}

/* Form field sizing for textarea auto-resize */
textarea {
  field-sizing: content;
}

/* Prose styling adjustments */
.prose {
  max-width: none;
}

.prose p {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

/* Infinite scroll loading spinner */
.infinite-scroll-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid #e5e7eb;
  border-top-color: #111827;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
