/* === FONT DEFINITIONS === */
/* 'UnifrakturCook': For the main masthead title */
/* 'Playfair Display': For all the big headlines */
/* 'Lora': For all the body text, very readable */

/* === NEW CLEAN BACKGROUND === */
body {
    font-family: 'Lora', serif;
    background-color: #f4f1eb; /* Classic, soft "newsprint" off-white */
    color: #333;
    line-height: 1.6;
    padding: 10px;
    overflow-x: hidden; /* Prevents AOS from causing a horizontal scrollbar */
}

.newspaper-container {
    position: relative; 
    max-width: 1200px;
    margin: 30px auto;
    padding: 30px;
    background-color: #fdfdfa; /* A "premium paper" off-white */
    box-shadow: 0 10px 30px rgba(0,0,0,0.15); /* Softer shadow */
    border: 1px solid #ddd;
}

/* === SECTION 1: THE MASTHEAD === */
.masthead {
    text-align: center;
    border-bottom: 4px double #333;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.dateline {
    font-family: 'Lora', serif;
    font-size: 0.9rem;
    color: #666;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    border-bottom: 1px solid #ccc;
    border-top: 1px solid #ccc;
    padding: 5px 0;
}

.paper-title {
    font-family: 'UnifrakturCook', cursive;
    font-size: 4.5rem;
    color: #222;
    margin: 10px 0;
    line-height: 1;
}

.tagline {
    font-family: 'Playfair Display', serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #555;
    font-style: regular;
}

/* === SECTION 2: THE LEAD STORY === */
.lead-story {
    text-align: center;
    border-bottom: 2px solid #eee;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.headline {
    font-family: 'Playfair Display', serif;
    font-weight: 900;
    font-size: 2.8rem;
    color: #111;
    margin-bottom: 10px;
}

.sub-headline {
    font-family: 'Lora', serif;
    font-size: 1.3rem;
    font-weight: 600;
    color: #444;
    margin-bottom: 20px;
}

.lead-photo img {
    width: 100%;
    max-width: 800px;
    height: auto;
    border: 1px solid #ccc;
    padding: 4px;
}

.lead-photo figcaption {
    font-size: 0.9rem;
    font-style: italic;
    color: #555;
    margin-top: 5px;
}

/* === SECTION 3: THE FEATURE ARTICLE (Poem) === */
.feature-article {
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.article-title {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 5px;
}

.byline {
    font-family: 'Lora', serif;
    font-style: italic;
    font-weight: 600;
    text-align: center;
    font-size: 1.1rem;
    color: #444;
    margin-bottom: 20px;
}

.article-body {
    column-count: 3;
    column-gap: 30px;
    font-size: 1.1rem;
    line-height: 1.7;
    text-align: justify;
}

.article-body p {
    margin-bottom: 15px;
}

.drop-cap {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 4rem;
    float: left;
    line-height: 1;
    margin-right: 10px;
    margin-top: 5px;
    color: #e91e63;
}

/* === SECTION 4: THE SIDEBAR EXTRAS === */
.sidebar {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
}

.sidebar-box {
    font-family: 'Lora', serif;
    border: 1px dashed #aaa;
    padding: 15px;
    background: #fafafa;
    flex: 1;
    min-width: 300px; /* Boxes will try to fit, then wrap */
    
    /* === ADDED THIS TO FIX BOX SIZING === */
    box-sizing: border-box; 
}

.box-title {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 1.2rem;
    text-align: center;
    border-bottom: 2px solid #eee;
    padding-bottom: 5px;
    margin-bottom: 10px;
}

.sidebar-box p {
    font-size: 0.9rem;
}
.sidebar-box p strong {
    font-weight: 700;
    color: #333;
    font-style: italic;
    font-size: 0.95rem;
}


/* === RESPONSIVE DESIGN (For Mobile) === */
@media (max-width: 900px) {
    .article-body {
        column-count: 2; /* 2 columns for tablets */
    }
}

@media (max-width: 768px) {
    /* === THIS IS THE FIX === */
    .sidebar {
        flex-direction: column; /* Stacks all boxes vertically */
        align-items: center;    /* Centers them horizontally */
    }
    
    .sidebar-box {
        min-width: 0;      /* Resets the minimum width */
        width: 95%;        /* Makes boxes 95% wide, not 100% */
    }
    /* === END OF FIX === */
}

@media (max-width: 600px) {
    .newspaper-container {
        padding: 15px; /* Less padding on small phones */
    }
    
    .dateline {
        flex-direction: column;
        align-items: center;
        gap: 5px;
    }
    
    .paper-title {
        font-size: 3rem;
    }
    
    .headline {
        font-size: 2rem;
    }
    
    .sub-headline {
        font-size: 1rem;
    }
    
    .article-body {
        column-count: 1; /* Single column for phones */
    }
}