/* Wiph Publishers — supplementary styles (Tailwind handles the rest via CDN) */

::selection { background: #E8A33D; color: #1B2A4A; }

html { scroll-behavior: smooth; }

body { -webkit-font-smoothing: antialiased; }

/* Visible keyboard focus ring everywhere */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid #E8A33D;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

/* Generated "book spine" cover placeholder used when a title has no uploaded image */
.spine-cover {
  position: relative;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.14) 0 3px, transparent 3px 100%),
    linear-gradient(160deg, var(--spine-a, #1B2A4A), var(--spine-b, #2B3B63));
  background-size: 100% 100%;
}
.spine-cover::after {
  content: "";
  position: absolute; inset: 0;
  background-image: repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 14px);
}

/* Hero bookshelf silhouette animation (very subtle, decorative) */
@keyframes float-slow {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
.animate-float { animation: float-slow 6s ease-in-out infinite; }

/* Line clamp utility fallback (Tailwind CDN includes line-clamp plugin, but keep a safe fallback) */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Custom scrollbar for horizontally scrolling shelves */
.shelf-scroll::-webkit-scrollbar { height: 8px; }
.shelf-scroll::-webkit-scrollbar-track { background: transparent; }
.shelf-scroll::-webkit-scrollbar-thumb { background: #D8DEEC; border-radius: 999px; }
