﻿/* baller-book.css */

body {
    background-color: #f9f7f4; /* Light cream background */
    font-family: 'Merriweather', serif; /* Classic serif font for readability */
    color: #333;
    line-height: 1.7;
    margin: 0;
    padding: 0;
}

.book-container {
    max-width: 800px; /* Optimal reading width */
    margin: 40px auto;
    padding: 40px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); /* Subtle shadow for depth */
    position: relative;
    z-index: 1; /* Ensure content is above any background effects */
}

    /* Page Background/Effect (Optional, for extra dazzle) */
    .book-container::before {
        content: '';
        position: absolute;
        top: 20px;
        left: 20px;
        right: 20px;
        bottom: 20px;
        border: 1px solid rgba(0, 0, 0, 0.05); /* Very light inner border */
        border-radius: 8px;
        z-index: 0;
    }


/* Header Styles */
.book-header {
    margin-bottom: 60px;
    padding-top: 20px; /* Space from top edge */
}

.book-title {
    font-family: 'Playfair Display', serif; /* Distinct font for title */
    font-size: 3.5em;
    font-weight: 700;
    color: #2c3e50; /* Darker tone for emphasis */
    line-height: 1.1;
    margin-bottom: 15px;
    letter-spacing: -0.02em;
}

.book-author {
    font-family: 'Merriweather', serif;
    font-size: 1.5em;
    font-style: italic;
    color: #666;
    margin-bottom: 30px;
}

.book-description {
    font-size: 1.1em;
    color: #555;
    max-width: 600px;
    margin: 0 auto;
}

/* Table of Contents */
.table-of-contents-wrapper {
    margin-bottom: 60px;
    text-align: center;
}

.toc-title {
    font-family: 'Playfair Display', serif;
    font-size: 2em;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 25px;
}

.toc-list {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 400px; /* Keep TOC focused */
}

    .toc-list li {
        margin-bottom: 10px;
    }

    .toc-list a {
        font-size: 1.1em;
        color: #007bff; /* Bootstrap primary color */
        text-decoration: none;
        transition: color 0.2s ease-in-out;
    }

        .toc-list a:hover {
            color: #0056b3;
            text-decoration: underline;
        }

/* Content Area */
.book-content {
    margin-top: 60px;
}

.chapter-block, .front-matter-block, .section-block {
    margin-bottom: 50px;
    padding: 0 10px; /* Small inner padding for text block */
}

/* Chapter Specific Styles */
.chapter-number {
    font-family: 'Playfair Display', serif;
    font-size: 1.5em;
    color: #888;
    margin-bottom: 5px;
    text-align: center;
}

.chapter-title {
    font-family: 'Playfair Display', serif;
    font-size: 2.5em;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 30px;
    text-align: center;
    line-height: 1.2;
}

.chapter-body p, .front-matter-body p, .section-body p {
    font-size: 1.05em;
    line-height: 1.8;
    margin-bottom: 1.5em; /* Standard paragraph spacing */
    text-align: justify; /* Justify text for a book feel */
}

    /* First line indent (optional, for classic look) */
    .chapter-body p + p {
        text-indent: 2em;
        margin-top: 0;
    }

    /* Drop Cap (optional, for extra flair) - requires some JS if first letter isn't span */
    .chapter-body p:first-of-type::first-letter {
        font-family: 'Playfair Display', serif;
        float: left;
        font-size: 4em;
        line-height: 0.8;
        padding-right: 8px;
        padding-top: 8px;
        font-weight: 700;
        color: #2c3e50;
    }


/* Section Separators */
.book-divider {
    border: none;
    border-top: 1px dashed rgba(0, 0, 0, 0.1);
    height: 1px;
    width: 60%;
    margin: 40px auto;
}

.page-break {
    /* Subtle visual separation for long documents */
    height: 40px; /* Space between blocks */
    clear: both; /* Clear floats from drop cap */
}
/* You could add a small decorative element here for page breaks */
/* .page-break::before {
    content: "***";
    display: block;
    text-align: center;
    color: #ccc;
    font-size: 1.5em;
    margin-bottom: 20px;
} */


/* Footer */
.book-footer {
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    margin-top: 60px;
    padding-top: 20px;
    font-size: 0.9em;
    color: #777;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .book-container {
        margin: 20px auto;
        padding: 20px;
        box-shadow: none; /* Less shadow on smaller screens */
    }

        .book-container::before {
            border: none;
        }

    .book-title {
        font-size: 2.5em;
    }

    .book-author {
        font-size: 1.2em;
    }

    .chapter-title {
        font-size: 2em;
    }

    .chapter-body p, .front-matter-body p, .section-body p {
        font-size: 1em;
        text-align: left; /* No justify on small screens */
    }

        .chapter-body p:first-of-type::first-letter {
            font-size: 3em;
        }
}
