:root {
 --font-main_book_bibliotecayic: 'Inter', sans-serif;
 --bg-color_book_bibliotecayic: #f8f9fa;
 --card-bg_book_bibliotecayic: #ffffff;
 --text-primary_book_bibliotecayic: #111827;
 --text-secondary_book_bibliotecayic: #7c7c7c;
 --border-color_book_bibliotecayic: #e5e7eb;
 --radius-card_book_bibliotecayic: 16px;
 --radius-img_book_bibliotecayic: 12px;
 --shadow-sm_book_bibliotecayic: 0 1px 3px rgba(0, 0, 0, 0.02);
 --shadow-hover_book_bibliotecayic: 0 10px 20px -5px rgba(0, 0, 0, 0.08);
 --transition_book_bibliotecayic: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);

 --font-main_book_bibliotecayic_small: 'Inter', sans-serif;
 --radius-card_book_bibliotecayic_small: 16px;
 --radius-img_book_bibliotecayic_small: 12px;
}

/* ====================== BASE GRID & CARD (large) ========================= */

html, body {
  overflow-x: hidden !important;
  max-width: 100vw;
}

/* Grid libri biblioteca yic */
.grid_book_bibliotecayic {
 display: grid;
 grid-template-columns: repeat(1, 1fr); /* Mobile: 1 col */
 gap: 1.5rem;
 margin: 0 auto;
 max-width: 100%;
 width: 100%;
 box-sizing: border-box;
 overflow-x: hidden !important;
}
@media (min-width: 500px) {
 .grid_book_bibliotecayic { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 800px) {
 .grid_book_bibliotecayic { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1100px) {
 .grid_book_bibliotecayic { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1500px) {
 .grid_book_bibliotecayic { grid-template-columns: repeat(6, 1fr); }
}

/* Card libro biblioteca yic */
.card_book_bibliotecayic {
 display: flex;
 flex-direction: column;
 background: var(--card-bg_book_bibliotecayic);
 border: 1px solid var(--border-color_book_bibliotecayic);
 border-radius: var(--radius-card_book_bibliotecayic);
 padding: 1rem;
 text-decoration: none;
 color: inherit;
 box-shadow: var(--shadow-sm_book_bibliotecayic);
 transition: var(--transition_book_bibliotecayic);
 overflow: hidden;
 min-width: 0;
 max-width: 100%;
 box-sizing: border-box;
}
.card_book_bibliotecayic:hover {
 transform: translateY(-4px);
 box-shadow: var(--shadow-hover_book_bibliotecayic);
 border-color: #d1d5db;
}
.card-cover_book_bibliotecayic {
 width: 100%;
 aspect-ratio: 2/3;
 border-radius: var(--radius-img_book_bibliotecayic);
 overflow: hidden;
 background-color: #f3f4f6;
 margin-bottom: 1rem;
 position: relative;
 min-width: 0;
 max-width: 100%;
 box-sizing: border-box;
}
.card-cover_book_bibliotecayic img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.4s ease;
 max-width: 100%;
}
.card_book_bibliotecayic:hover .card-cover_book_bibliotecayic img {
 transform: scale(1.05);
}
.card-info_book_bibliotecayic {
 display: flex;
 flex-direction: column;
 gap: 0.25rem;
 min-width: 0;
}
.card-title_book_bibliotecayic {
 font-size: 1.05rem;
 font-weight: 600;
 color: var(--text-primary_book_bibliotecayic);
 line-height: 1.4;
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
 display: block;
 width: 100%;
 min-width: 0;
 box-sizing: border-box;
 padding-bottom: 0px;
}
.card-author_book_bibliotecayic {
 font-size: 0.9rem;
 font-weight: 500;
 color: var(--text-secondary_book_bibliotecayic);
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
 min-width: 0;
}

/* Prevent layout breaking with long content in any card */
.grid_book_bibliotecayic, .card_book_bibliotecayic, .card-cover_book_bibliotecayic, .card-cover_book_bibliotecayic img, .card-info_book_bibliotecayic, .card-title_book_bibliotecayic, .card-author_book_bibliotecayic {
 max-width: 100%;
 min-width: 0;
 box-sizing: border-box;
 overflow-x: hidden !important;
}

/* ===================== SMALL VARIANT _small ===================== */

/* Grid .grid_book_bibliotecayic_small speculare ma 5 col da desktop */
.grid_book_bibliotecayic_small {
 display: grid;
 grid-template-columns: repeat(1, 1fr); /* Mobile: 1 col */
 gap: 1.2rem;
 margin: 0 auto;
 max-width: 100%;
 width: 100%;
 box-sizing: border-box;
 overflow-x: hidden !important;
}
@media (min-width: 500px) {
 .grid_book_bibliotecayic_small { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 800px) {
 .grid_book_bibliotecayic_small { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1100px) {
 .grid_book_bibliotecayic_small { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1500px) {
 .grid_book_bibliotecayic_small { grid-template-columns: repeat(5, 1fr); }
}

/* Card _small */
.card_book_bibliotecayic_small {
 display: flex;
 flex-direction: column;
 background: var(--card-bg_book_bibliotecayic);
 border: 1px solid var(--border-color_book_bibliotecayic);
 border-radius: var(--radius-card_book_bibliotecayic_small, 16px);
 padding: 0.7rem 0.6rem;
 text-decoration: none;
 color: inherit;
 box-shadow: var(--shadow-sm_book_bibliotecayic);
 transition: var(--transition_book_bibliotecayic);
 overflow: hidden;
 min-width: 0;
 max-width: 100%;
 box-sizing: border-box;
}
.card_book_bibliotecayic_small:hover {
 transform: translateY(-3px);
 box-shadow: var(--shadow-hover_book_bibliotecayic);
 border-color: #d1d5db;
}
.card-cover_book_bibliotecayic_small {
 width: 100%;
 aspect-ratio: 2/3;
 border-radius: var(--radius-img_book_bibliotecayic_small, 12px);
 overflow: hidden;
 background-color: #f3f4f6;
 margin-bottom: 0.6rem;
 position: relative;
 min-width: 0;
 max-width: 100%;
 box-sizing: border-box;

}
.card-cover_book_bibliotecayic_small img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.4s ease;
 max-width: 100%;
}
.card_book_bibliotecayic_small:hover .card-cover_book_bibliotecayic_small img {
 transform: scale(1.04);
}
.card-info_book_bibliotecayic_small {
 display: flex;
 flex-direction: column;
 gap: 0.18rem;
 min-width: 0;
}
.card-title_book_bibliotecayic_small {
 font-size: 0.98rem;
 font-weight: 600;
 color: var(--text-primary_book_bibliotecayic);
 line-height: 1.33;
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
 display: block;
 width: 100%;
 min-width: 0;
 box-sizing: border-box;
 padding-bottom: 0;
}
.card-author_book_bibliotecayic_small {
 font-size: 0.78rem;
 font-weight: 500;
 color: var(--text-secondary_book_bibliotecayic);
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
 min-width: 0;
}

/* Prevent layout breaking with long content in any _small card */
.grid_book_bibliotecayic_small, .card_book_bibliotecayic_small, .card-cover_book_bibliotecayic_small, .card-cover_book_bibliotecayic_small img, .card-info_book_bibliotecayic_small, .card-title_book_bibliotecayic_small, .card-author_book_bibliotecayic_small {
 max-width: 100%;
 min-width: 0;
 box-sizing: border-box;
 overflow-x: hidden !important;
}