/* CatMe AI — custom styles beyond Tailwind utilities */
:root {
  --cream: #fff9f5;
  --orange: #f97316;
  --orange-dark: #ea580c;
  --card: #ffffff;
  --text: #1f2937;
  --muted: #6b7280;
}

/* Tailwind CDN may skip custom cat-orange utilities — always apply brand colors */
.bg-cat-orange {
  background-color: var(--orange) !important;
}

.text-cat-orange {
  color: var(--orange) !important;
}

.border-cat-orange {
  border-color: var(--orange) !important;
}

.hover\:text-cat-orange:hover {
  color: var(--orange) !important;
}

.hover\:border-cat-orange:hover {
  border-color: var(--orange) !important;
}

.upload-zone:hover {
  border-color: var(--orange);
}

body {
  background: var(--cream);
  color: var(--text);
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
}

.section-title::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 1.1em;
  background: var(--orange);
  border-radius: 999px;
  margin-right: 0.6rem;
  vertical-align: middle;
}

.upload-zone.dragover {
  border-color: var(--orange);
  background: #fff7ed;
}

.spinner {
  border: 3px solid rgba(249, 115, 22, 0.2);
  border-top-color: var(--orange);
  border-radius: 50%;
  width: 1.25rem;
  height: 1.25rem;
  animation: spin 0.8s linear infinite;
}

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

.toast {
  animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
  from { transform: translateY(1rem); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

.breed-card.selected {
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.2);
}

.style-card.selected {
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.2);
  background: #fff7ed;
}

.breed-card.locked,
.style-card.locked {
  opacity: 0.85;
}

.modal-backdrop {
  backdrop-filter: blur(4px);
}

.compare-slider img {
  object-fit: cover;
}

img.img-error {
  opacity: 0.5;
}

.quota-bar-fill {
  transition: width 0.4s ease;
}
