﻿.error-bg-img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    max-width: 100vw;
    max-height: 100vh;
}

.error-overlay-img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

.error-content {
    position: relative;
    z-index: 2;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: transparent;
}

    .error-content h1 {
        font-family: "Bree Serif";
        font-size: 2.5rem;
        font-weight: 500;
        margin-bottom: 1rem;
    }

    .error-content .error-desc {
        font-size: 1.2rem;
        margin-bottom: 2rem;
    }

    .error-content .error-btn {
        background: #e60050;
        color: #fff;
        border: none;
        border-radius: 2rem;
        padding: 0.8rem 2.2rem;
        font-size: 1.1rem;
        font-weight: 600;
        cursor: pointer;
        margin-bottom: 0.5rem;
        transition: background 0.2s;
        display: inline-block;
        text-decoration: none;
    }

        .error-content .error-btn:hover {
            background: #b8003a;
        }

    .error-content .error-alt {
        margin-bottom: 1.5rem;
        font-size: 1.1rem;
    }

    .error-content .error-socials {
        position: absolute;
        right: 3vw;
        top: 30%;
        transform: translateY(-50%);
        display: flex;
        flex-direction: column;
        gap: 1.1rem;
        z-index: 3;
        font-size: 1rem;
    }

        .error-content .error-socials a {
            color: #fff;
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            opacity: 0.85;
            transition: opacity 0.2s;
        }

            .error-content .error-socials a:hover {
                opacity: 1;
            }

    .error-content .error-photo-credit {
        position: absolute;
        left: 1vw;
        bottom: 1.2rem;
        color: #fff;
        font-size: 0.85rem;
        opacity: 0.7;
        z-index: 3;
    }

.error-divider-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem; 
}

    .error-divider-row .error-divider {
        width: 100px;
        border: none;
        border-top: 1px solid #fff;
        opacity: 0.5;
        margin: 0;
        margin: 1.5rem auto;
    }

    .error-divider-row span {
        color: #fff; 
        opacity: 0.8;
    }

@media (max-width: 700px) {
    .error-content h1 {
        font-size: 2rem;
    }

    .error-content .error-socials {
        display: none;
    }

    .error-content .error-photo-credit {
        position: static;
        margin-top: 2rem;
    }
}
