:root{--color-navy: #007890;--color-blue: #009fe3;--color-green: #004155;--color-light-green: #8cc63f;--color-orange: #f37021}body{background-color:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.navbar-custom{background-color:#fff;box-shadow:0 2px 10px #0000001a}.btn-primary-custom{background-color:var(--color-navy);border-color:var(--color-navy);color:#fff;transition:all .3s ease}.btn-primary-custom:hover{background-color:#151e30;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn-login{background-color:var(--color-orange);color:#fff;font-weight:700;transition:all .3s ease}.btn-login:hover{background-color:#d65c15;color:#fff;transform:scale(1.05)}.hero-search{background:linear-gradient(135deg,var(--color-navy) 0%,#151e30 100%);padding:50px 0;color:#fff;border-bottom:5px solid var(--color-green)}.hero-search input{border-radius:50px 0 0 50px;border-right:none}.hero-search button{border-radius:0 50px 50px 0}.book-card{transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;height:100%;border:none;border-radius:10px;overflow:hidden}.book-card:hover{transform:translateY(-10px);box-shadow:0 15px 30px #0003}.book-card .card-body{padding:1rem;display:flex;flex-direction:column}.book-card .card-title{font-size:.95rem;font-weight:600;margin-bottom:.5rem}.book-card .card-subtitle{font-size:.85rem;margin-bottom:.75rem}.book-cover{height:250px;object-fit:contain;border-bottom:1px solid #eee;transition:transform .3s ease}.book-card:hover .book-cover{transform:scale(1.1)}.badge-digital{background-color:var(--color-blue);font-size:.75rem;padding:.35rem .65rem;border-radius:20px}.badge-fisico{background-color:var(--color-green);font-size:.75rem;padding:.35rem .65rem;border-radius:20px}.badge-popular{background-color:var(--color-orange);position:absolute;top:10px;right:10px;z-index:10;font-size:.75rem;padding:.35rem .65rem;border-radius:20px}.badge{font-size:.7rem;padding:.3rem .5rem;border-radius:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;display:inline-block}.badge i{font-size:.65rem;margin-right:2px}.badge.bg-secondary{background-color:#6c757d!important;color:#fff!important}.badge.bg-info{background-color:#0dcaf0!important;color:#000!important}.badge.bg-warning{background-color:#ffc107!important;color:#000!important}.badge:hover{transform:scale(1.05);transition:transform .2s ease;cursor:default;max-width:none;white-space:normal;z-index:100;position:relative}.filter-header{background-color:var(--color-navy);color:#fff;padding:10px 15px;border-radius:5px 5px 0 0;font-weight:700}.accordion-button{font-size:.95rem;padding:.75rem 1rem}.accordion-button:not(.collapsed){background-color:#f8f9fa;color:var(--color-navy)}.accordion-body{max-height:300px;overflow-y:auto}.accordion-body::-webkit-scrollbar{width:6px}.accordion-body::-webkit-scrollbar-track{background:#f1f1f1}.accordion-body::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.accordion-body::-webkit-scrollbar-thumb:hover{background:#555}.form-check{padding:.5rem 0;border-bottom:1px solid #f0f0f0;padding-left:1.6em}.form-check:last-child{border-bottom:none}.form-check-label{cursor:pointer;font-size:.9rem;width:100%}.form-check-input:checked{background-color:var(--color-navy);border-color:var(--color-navy)}.selected-tags{display:flex;flex-wrap:wrap;gap:.5rem;min-height:30px;margin-top:.5rem}.filter-tag{display:inline-flex;align-items:center;background-color:var(--color-navy);color:#fff;padding:.4rem .75rem;border-radius:20px;font-size:.75rem;gap:.5rem;transition:all .2s ease;animation:slideIn .3s ease}.filter-tag:hover{background-color:#151e30;transform:translateY(-2px);box-shadow:0 2px 8px #00000026}.filter-tag .remove-tag{cursor:pointer;font-weight:700;font-size:1.2rem;line-height:1;opacity:.8;transition:opacity .2s;padding:0 .2rem}.filter-tag .remove-tag:hover{opacity:1;color:#ff6b6b}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.form-select-sm{border-radius:8px;border:1px solid #dee2e6;transition:border-color .2s}.form-select-sm:focus{border-color:var(--color-navy);box-shadow:0 0 0 .2rem #22324f26}.select2-container--bootstrap-5 .select2-selection{min-height:31px!important;font-size:.875rem;border-radius:.375rem;border:1px solid #dee2e6}.select2-container--bootstrap-5 .select2-selection:focus,.select2-container--bootstrap-5.select2-container--focus .select2-selection{border-color:var(--color-navy);box-shadow:0 0 0 .2rem #22324f26}.select2-container--bootstrap-5 .select2-dropdown{border-radius:.375rem;border-color:#dee2e6;box-shadow:0 4px 12px #00000026}.select2-container--bootstrap-5 .select2-search--dropdown .select2-search__field{font-size:.875rem;padding:.5rem .75rem;border-radius:.375rem;border:1px solid #dee2e6}.select2-container--bootstrap-5 .select2-search--dropdown .select2-search__field:focus{border-color:var(--color-navy);box-shadow:0 0 0 .2rem #22324f26}.select2-container--bootstrap-5 .select2-results__option{font-size:.875rem;padding:.5rem .75rem}.select2-container--bootstrap-5 .select2-results__option--highlighted,.select2-container--bootstrap-5 .select2-results__option--selected{background-color:var(--color-navy)!important;color:#fff!important}.select2-container--bootstrap-5 .select2-results__option:hover{background-color:#22324f1a}.accordion-body .select2-container{width:100%!important}.select2-container--bootstrap-5 .select2-selection--single .select2-selection__placeholder{color:#6c757d;font-size:.875rem}.select2-container--bootstrap-5 .select2-selection__rendered{line-height:1.5;padding-left:.75rem}.select2-container--bootstrap-5 .select2-selection__arrow{height:29px}.accordion-button .badge{font-size:.65rem;padding:.25rem .5rem}.pagination{margin-top:2rem}.page-link{color:var(--color-navy);border-radius:5px;margin:0 3px}.page-item.active .page-link{background-color:var(--color-navy);border-color:var(--color-navy)}.page-link:hover{background-color:var(--color-green);border-color:var(--color-green);color:#fff}.spinner-border{width:3rem;height:3rem}@media (max-width: 768px){.hero-search{padding:30px 0}.book-cover{height:200px}.filter-header{font-size:.9rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.book-card{animation:fadeIn .5s ease-in-out}[title]{position:relative}.text-success i{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pdf-viewer-container{width:100%;height:600px;border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#525659}.pdf-viewer-container iframe{width:100%;height:100%;border:none}.book-detail-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 8px #0000001a}.info-item{padding:10px 0;border-bottom:1px solid #eee}.info-item:last-child{border-bottom:none}.info-label{font-weight:600;color:#495057;margin-right:8px}.ejemplar-card{border:1px solid #dee2e6;border-radius:8px;padding:15px;margin-bottom:15px;transition:all .3s}.ejemplar-card:hover{box-shadow:0 4px 12px #0000001a}.ejemplar-disponible{background-color:#d4edda;border-color:#c3e6cb}.ejemplar-prestado{background-color:#fff3cd;border-color:#ffeaa7}.ejemplar-no-prestable{background-color:#f8d7da;border-color:#f5c6cb}.badge-estado{font-size:.85rem;padding:.4em .8em}.back-button{background-color:#6c757d;border-color:#6c757d;color:#fff}.back-button:hover{background-color:#5a6268;border-color:#545b62;color:#fff}@media (max-width: 768px){.pdf-viewer-container{height:400px}.book-detail-image{max-width:80%;margin:0 auto;display:block}}.login-card{border:none;border-radius:15px;box-shadow:0 10px 30px #0000001a;overflow:hidden}.login-header{background-color:var(--color-navy);color:#fff;padding:30px 20px;text-align:center;border-bottom:5px solid var(--color-orange)}
