/* 404 Page Styles */
/* 
   Pattern follows news-article.css structure:
   - .no-content-404-page is the main wrapper (like .news-article-page)
   - No .all-content-container inheritance
*/

.no-content-404-page {
    /* Fill remaining space and push footer down */
    flex: 1 0 auto;
    width: 100%;
    min-height: 80vh;

    /* Position above the isometric grid */
    position: relative;
    z-index: 20;

    /* Background Image */
    background: url('/images/404.png') no-repeat center bottom;
    background-size: cover;

    /* Flexbox for centering content */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;

    /* Spacing from header */
    padding-top: 15vh;
    padding-bottom: 60px;
    box-sizing: border-box;
}

/* Content wrapper box */
.four-oh-four-content {
    background: rgba(255, 255, 255, 0.92);
    padding: 50px 70px;
    border-radius: 12px;
    box-shadow: 0 15px 40px rgba(0, 70, 100, 0.15);
    text-align: center;
    max-width: 800px;
    width: 90%;
    backdrop-filter: blur(8px);
}

h1 {
    font-size: var(--font-h1-size);
    color: #186AA5;
    font-weight: 800;
    line-height: 1;
    margin: 0 0 15px 0;
}

p {
    font-family: var(--font-family-base);
    font-size: var(--font-h1-size);
    font-weight: 700;
    color: #00A6DD;
    line-height: var(--font-h1-height);
    margin: 0;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .no-content-404-page {
        padding-top: 15vh;
        min-height: 70vh;
    }

    .four-oh-four-content {
        padding: 30px 20px;
        width: 85%;
    }

    h1 {
        font-size: var(--font-h1-size);
    }

    p {
        font-size: var(--font-h4-size);
    }
}