body {
    background-color: #f5f5f5;
}

main {
    margin-top: 60px;
}

.hero {
    padding: 3rem 0;
    text-align: center;
}

.hero-section {
    margin-top: -60px;
    padding-top: calc(60px + 3rem);
}

.card {
    transition: all 0.2s ease;
}

.card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12) !important;
}

a .card:hover {
    border-color: rgba(0, 122, 135, 0.25) !important;
}

.book-grid-card:hover .book-cover-wrapper {
    transform: translateY(-4px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

/* Quill rich-text formatting — needed on public pages (Quill CSS not loaded there) */
.ql-align-center { text-align: center; }
.ql-align-right  { text-align: right; }
.ql-align-justify { text-align: justify; }

.ql-indent-1 { padding-left: 3em; }
.ql-indent-2 { padding-left: 6em; }
.ql-indent-3 { padding-left: 9em; }
.ql-indent-4 { padding-left: 12em; }
.ql-indent-5 { padding-left: 15em; }

@media (max-width: 575.98px) {
    body.page-public .breadcrumb .breadcrumb-item {
        display: none;
    }

    body.page-public .breadcrumb .breadcrumb-item:nth-last-child(-n+2) {
        display: flex;
    }

    body.page-public .breadcrumb .breadcrumb-item:nth-last-child(2)::before {
        display: none;
    }
}

