html { scroll-behavior: smooth; }
*:focus-visible { outline: 1px solid #111; outline-offset: 3px; }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: #fff; }
::-webkit-scrollbar-thumb { background: #ddd; border-radius: 2px; }

/* Book covers */
.book-cover { aspect-ratio: 2/3; object-fit: cover; object-position: center; }
.carousel-main { aspect-ratio: 2/3; object-fit: contain; background: #f7f7f5; }

/* Book card */
.book-card { transition: opacity .15s ease; }
.book-card:hover { opacity: .8; }

/* Author label style — uppercase small caps */
.book-author {
    font-size: .6875rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #555;
    font-weight: 500;
}

/* Section heading */
.section-heading {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #111;
}

/* Nav link */
.nav-link {
    font-size: .8125rem;
    letter-spacing: .04em;
    color: #444;
    text-decoration: none;
    transition: color .12s;
}
.nav-link:hover { color: #111; }

/* Condition badges */
.badge-NUEVO     { background:#f0fdf4; color:#166534; }
.badge-EXCELENTE { background:#eff6ff; color:#1e40af; }
.badge-MUY_BUENO { background:#f5f3ff; color:#4c1d95; }
.badge-BUENO     { background:#fffbeb; color:#92400e; }
.badge-ACEPTABLE { background:#fef2f2; color:#991b1b; }

/* Fade */
@keyframes fadeIn { from{opacity:0;transform:translateY(4px)} to{opacity:1;transform:none} }
.fade-in { animation: fadeIn .2s ease both; }

/* Thin divider */
.divider { border:none; border-top: 1px solid #e8e8e8; margin: 0; }

/* Category pill */
.cat-pill {
    font-size: .75rem;
    letter-spacing: .05em;
    border: 1px solid #ddd;
    padding: .3rem .9rem;
    border-radius: 2px;
    color: #444;
    text-decoration: none;
    transition: border-color .12s, color .12s;
    text-transform: uppercase;
}
.cat-pill:hover { border-color: #111; color: #111; }
.cat-pill-active { border-color: #111; color: #111; }

@media print {
    nav,header,footer,.no-print { display:none !important; }
    body { background:#fff; color:#000; }
}
