/* ----------------------------------------------------------
   ESTIL GENERAL – Biblioteca.cat
   Minimalisme editorial en blanc i negre
---------------------------------------------------------- */

body {
    font-family: system-ui, sans-serif;
    color: #111;
}

/* ----------------------------------------------------------
   CATÀLEG DE LLIBRES
---------------------------------------------------------- */

.biblio-catalogo {
    max-width: 1100px;
    margin: 3rem auto;
    padding: 0 1rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 2rem;
}

.biblio-item {
    border: 1px solid #e0e0e0;
    padding: 1rem;
    text-align: center;
    background: #fff;
}

.biblio-item img {
    width: 100%;
    height: auto;
    margin-bottom: 1rem;
}

.biblio-item h3 {
    font-size: 1.1rem;
    margin: 0 0 .5rem;
}

.biblio-item a {
    color: #111;
    text-decoration: none;
}

.biblio-item a:hover {
    opacity: .7;
}

/* ----------------------------------------------------------
   BOTONS
---------------------------------------------------------- */

.biblio-btn {
    background: #111;
    color: #fff;
    padding: .6rem 1.2rem;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    display: inline-block;
    margin-top: 1rem;
}

.biblio-btn:hover {
    opacity: .8;
}

.biblio-btn-secondary {
    background: #555;
    color: #fff;
}

.biblio-btn-secondary:hover {
    opacity: .8;
}

/* ----------------------------------------------------------
   FITXA DE LLIBRE (single-libro)
---------------------------------------------------------- */

.llibre-container {
    max-width: 900px;
    margin: 3rem auto;
    padding: 0 1rem;
}

.llibre-titol {
    font-size: 2.2rem;
    margin-bottom: .5rem;
}

.llibre-meta {
    font-size: 1rem;
    margin-bottom: 2rem;
    color: #444;
}

.llibre-meta span {
    margin-right: 1rem;
}

.llibre-descripcio {
    margin-top: 2rem;
    line-height: 1.7;
    font-size: 1.1rem;
}

.no-disponible {
    padding: .6rem 1.2rem;
    background: #ccc;
    color: #111;
    display: inline-block;
    margin-top: 1rem;
}

/* ----------------------------------------------------------
   PANELL D’USUARI
---------------------------------------------------------- */

.panel-usuario {
    max-width: 900px;
    margin: 3rem auto;
    padding: 0 1rem;
}

.panel-usuario h1 {
    font-size: 1.8rem;
    border-bottom: 1px solid #111;
    padding-bottom: .5rem;
}

.biblio-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1rem;
}

.biblio-table th,
.biblio-table td {
    padding: .75rem;
    border-bottom: 1px solid #e0e0e0;
    text-align: left;
}

.biblio-table th {
    font-weight: 600;
}

/* ----------------------------------------------------------
   DASHBOARD D’USUARI I BIBLIOTECARI
---------------------------------------------------------- */

.biblio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.biblio-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    padding: 1.5rem;
}

.biblio-card h2 {
    margin-top: 0;
    font-size: 1.2rem;
    border-bottom: 1px solid #111;
    padding-bottom: .5rem;
}

.stats {
    margin-top: 2rem;
    font-size: 1.1rem;
    line-height: 1.8;
}

/* ----------------------------------------------------------
   MISSATGES DEL SISTEMA
---------------------------------------------------------- */

.biblio-alert {
    padding: 1rem;
    border: 1px solid #111;
    margin-bottom: 2rem;
    background: #fafafa;
}

/* ----------------------------------------------------------
   FORMULARIS
---------------------------------------------------------- */

.biblio-form input,
.biblio-form select {
    width: 100%;
    padding: .6rem;
    border: 1px solid #ccc;
    margin-top: .5rem;
    margin-bottom: 1rem;
}

.biblio-form label {
    font-weight: 600;
}

/* ----------------------------------------------------------
   RESPONSIVE
---------------------------------------------------------- */

@media (max-width: 600px) {
    .llibre-titol {
        font-size: 1.8rem;
    }
    .biblio-grid {
        grid-template-columns: 1fr;
    }
}