/* Main CSS file for library templates */

/* Material Symbols Outlined */
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Base styles */
body {
    font-family: 'Manrope', sans-serif;
    background-color: #fbf9f5;
    color: #1b1c1a;
}

h1, h2, h3, .serif {
    font-family: 'Noto Serif', serif;
}

/* Utility classes */
.ghost-border {
    border-bottom: 1px solid rgba(212, 195, 190, 0.2);
}

.book-shelf {
    border-bottom: 1px solid rgba(212, 195, 190, 0.2);
}

/* FindBook specific styles */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-clamp: 2;
    -moz-line-clamp: 2;
}

.ghost-border:focus {
    border-bottom: 2px solid var(--md-sys-color-primary);
}

/* Index page specific styles */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
    animation: fadeIn 0.6s ease-out forwards;
}

/* Login page specific styles */
#id_username, #id_password {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--md-sys-color-outline);
    border-radius: 8px;
    background-color: var(--md-sys-color-surface-container-highest);
    color: var(--md-sys-color-on-surface);
    font-size: 16px;
    transition: all 0.2s ease;
}

#id_username:focus, #id_password:focus {
    outline: none;
    border-color: var(--md-sys-color-primary);
    box-shadow: 0 0 0 2px var(--md-sys-color-primary-container);
    background-color: var(--md-sys-color-surface);
}

#id_username::placeholder, #id_password::placeholder {
    color: var(--md-sys-color-on-surface-variant);
}

.errorlist {
    list-style: none;
    padding: 0;
    margin: 0;
}

.errorlist li {
    color: var(--md-sys-color-error);
    font-size: 14px;
    margin-top: 4px;
}

/* User dropdown menu styles */
#userDropdown {
    min-width: 16rem;
    max-width: 20rem;
}

#userDropdown button {
    font-size: 14px;
    font-weight: 500;
}

#userDropdown .material-symbols-outlined {
    font-size: 18px;
}

/* Dropdown animation */
#userDropdown {
    transform-origin: top right;
    transition: all 0.2s ease-out;
}

#userDropdown.hidden {
    opacity: 0;
    transform: scale(0.95);
    pointer-events: none;
}

#userDropdown:not(.hidden) {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
}
