@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,700;1,400&family=Inter:wght@400;600&display=swap');

body {
    font-family: 'Inter', sans-serif;
    background-color: #fffaf0;
}

h1 {
    font-family: 'Crimson Pro', serif;
}

.header-pattern {
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 20.5V18l-6-1V12.5l2-1.5 4 .5 4-.5 2 1.5v4.5l-6 1z' fill='%23ef4444' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.book-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.book-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

.cover-placeholder {
    background: linear-gradient(135deg, #fce7f3 0%, #fbcfe8 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1rem;
    aspect-ratio: 2/3;
}

.loading-spinner {
    border: 4px solid rgba(0, 0, 0, 0.1);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border-left-color: #ef4444;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.rose-border {
    border-bottom: 4px solid #ef4444;
    position: relative;
}

.rose-border::after {
    content: '🌹';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: #fffaf0;
    padding: 0 10px;
    font-size: 1.2rem;
}
