/*
  risterio-simple theme stylesheet - NEO-BRUTALIST STYLE
*/

body {
    font-family: 'Arial Black', 'Arial Bold', sans-serif; /* Bold, impactful font */
    margin: 0;
    padding: 0;
    background-color: #FFFFFF; /* Stark white background */
    color: #000000; /* Black text */
    line-height: 1.6;
}

:root {
    --accent-color-yellow: #FFFF00; /* Bright yellow accent */
    --accent-color-cyan: #00FFFF;
    --accent-color-magenta: #FF00FF;
    --accent-color-green: #00FF00;
    --accent-color-red: #FF0000;
    --background-color: #FFFFFF;
    --text-color: #000000;
    --header-bg-color: #000000;
    --header-text-color: #FFFFFF;
    --footer-bg-color: #000000;
    --footer-text-color: #FFFFFF;
    --border-color: #000000;
    --link-color: #0000FF; /* Standard blue for links, can be adjusted */
    --link-hover-bg-color: var(--accent-color-yellow); /* Default hover to yellow */
    --link-hover-text-color: #000000;
}

/* Site wrapper for centering */
.container {
    width: 90%; /* Slightly wider for brutalist feel */
    max-width: 1200px; /* Adjust max-width as needed */
    margin: 0 auto; /* Centers the container */
    background-color: var(--background-color);
    padding: 0; /* Remove padding, handle spacing with margins/borders */
    /* box-shadow: 0 0 10px rgba(0,0,0,0.1); Removed soft shadow */
}

/* Semantic Section Styling */
header, nav, footer, main, aside {
    margin-bottom: 20px;
    padding: 1.5em; /* Uniform padding */
    border: 3px solid var(--border-color); /* Thick, stark borders */
    border-radius: 0; /* No rounded corners */
}

.content-wrapper {
    display: flex;
    gap: 20px; /* Space between main and aside */
    margin-bottom: 20px; /* Keep consistent margin */
}

main {
    flex: 3; /* Takes 3 parts of the space */
    background-color: var(--background-color);
    box-shadow: 10px 10px 0px var(--border-color); /* Hard shadow */
}

article {
    background-color: var(--background-color);
    padding: 1.5em;
    border: 2px solid var(--border-color);
    margin-bottom: 2em;
    box-shadow: 8px 8px 0px #333333; /* Slightly softer hard shadow for articles */
}

article h2 {
    margin-top: 0;
}

article h2 a {
    color: var(--text-color);
    text-decoration: none;
    font-size: 2em;
}

article h2 a:hover {
    color: var(--link-hover-text-color);
    background-color: var(--link-hover-bg-color);
}

.article-info {
    font-size: 0.9em;
    color: #555555; /* Slightly lighter text for info */
    margin-bottom: 1em;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 0.5em;
    text-transform: uppercase;
    border-left: 5px solid var(--accent-color-cyan); /* Cyan accent for article info */
    padding-left: 10px;
}


aside {
    flex: 1; /* Takes 1 part of the space */
    background-color: var(--background-color); /* Consistent background */
    border: 3px solid var(--border-color);
    padding: 1.5em;
    border-left: 5px solid var(--accent-color-magenta); /* Magenta accent for aside */
}

aside h2 {
    margin-top: 0;
    font-size: 1.5em;
    border-bottom: 2px solid var(--border-color);
    padding-bottom: 0.3em;
    text-transform: uppercase;
    color: var(--accent-color-magenta); /* Magenta for aside headings */
}

aside ul {
    list-style-type: none;
    padding: 0;
}

aside ul li a {
    text-decoration: none;
    color: var(--link-color);
    display: block;
    padding: 0.3em 0;
    border-bottom: 1px dashed var(--border-color); /* Dashed border for links in aside */
}
aside ul li:last-child a {
    border-bottom: none;
}

aside ul li a:hover {
    color: var(--link-hover-text-color);
    background-color: var(--accent-color-green); /* Green hover for aside links */
}


header {
    background-color: var(--header-bg-color);
    color: var(--header-text-color);
    padding: 2em 1.5em; /* Generous padding */
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    border-bottom-width: 5px; /* Thicker bottom border for header */
    border-top: 5px solid var(--accent-color-red); /* Red accent for header top */
}

.site-logo {
    max-height: 60px; /* Slightly larger logo */
    margin-right: 20px;
    border: 2px solid var(--accent-color-yellow); /* Yellow accent border for logo */
}

header h1 {
    margin: 0;
    font-size: 3em; /* Large, bold title */
    font-weight: bold;
}

header h1 a {
    color: var(--header-text-color);
    text-decoration: none;
}

header h1 a:hover {
    color: var(--accent-color-yellow); /* Yellow accent color on hover */
}

header .subtitle {
    color: #CCCCCC; /* Lighter subtitle */
    font-size: 1em;
    margin-top: 0.2em;
    margin-left: 5px;
    flex-basis: 100%;
    font-family: monospace; /* Monospace for subtitle for a raw feel */
    border-left: 3px solid var(--accent-color-green); /* Green accent for subtitle */
    padding-left: 10px;
}


nav {
    background-color: var(--background-color); /* Stark background for nav */
    padding: 0; /* Padding handled by ul/li */
    border-bottom-width: 3px;
    border-top: 3px solid var(--accent-color-cyan); /* Cyan border top for nav */
}

nav ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center; /* Center nav items */
}

nav ul li {
    margin-right: 0; /* Remove margin, use borders for separation */
}

nav ul li a {
    color: var(--text-color);
    text-decoration: none;
    padding: 1em 2em; /* Generous padding */
    display: block;
    font-weight: bold;
    text-transform: uppercase;
    border-right: 3px solid var(--border-color);
}
nav ul li:last-child a {
    border-right: none;
}

nav ul li a:hover, nav ul li.active a {
    background-color: var(--accent-color-yellow); /* Yellow hover for nav items */
    color: var(--text-color);
}

footer {
    text-align: center;
    font-size: 1em; /* Slightly larger footer text */
    background-color: var(--footer-bg-color);
    color: var(--footer-text-color);
    padding: 2em 1.5em;
    border-top-width: 5px; /* Thicker top border for footer */
    border-bottom: 5px solid var(--accent-color-magenta); /* Magenta border bottom for footer */
}

footer a {
    color: var(--accent-color-yellow); /* Yellow accent color for links in footer */
    text-decoration: underline;
}
footer a:hover {
    background-color: var(--accent-color-yellow);
    color: var(--text-color);
    text-decoration: none;
}

/* General links */
/* Using a class for more targeted link coloring if needed, e.g., for specific sections */
.link-cyan { color: var(--accent-color-cyan); }
.link-magenta { color: var(--accent-color-magenta); }
.link-green { color: var(--accent-color-green); }
.link-red { color: var(--accent-color-red); }

.link-cyan:hover { background-color: var(--accent-color-cyan); color: var(--text-color); }
.link-magenta:hover { background-color: var(--accent-color-magenta); color: var(--text-color); }
.link-green:hover { background-color: var(--accent-color-green); color: var(--text-color); }
.link-red:hover { background-color: var(--accent-color-red); color: var(--text-color); }


a {
    color: var(--link-color);
    text-decoration: underline;
    font-weight: bold;
}

a:hover {
    color: var(--link-hover-text-color);
    background-color: var(--link-hover-bg-color);
    text-decoration: none;
}


/* Responsive Design Adjustments */
@media (max-width: 768px) {
    .container {
        width: 95%;
    }

    header {
        flex-direction: column;
        align-items: center; /* Center header items on mobile */
        text-align: center;
    }

    .site-logo {
        margin-bottom: 10px;
        margin-right: 0;
    }

    header h1 {
        font-size: 2.5em;
    }

    header .subtitle {
        margin-left: 0;
        text-align: center;
    }

    nav ul {
        flex-direction: column;
        align-items: stretch; /* Stretch nav items */
    }

    nav ul li a {
        border-right: none;
        border-bottom: 3px solid var(--border-color);
        text-align: center;
    }

    nav ul li:last-child a {
        border-bottom: none;
    }

    .content-wrapper {
        flex-direction: column;
    }

    main, aside {
        flex: 1;
        width: auto; /* Let flexbox handle width */
        margin-left: 0;
        margin-right: 0;
        box-shadow: 5px 5px 0px var(--border-color); /* Smaller shadow */
    }

    article {
        box-shadow: 5px 5px 0px #333333;
    }
}

@media (max-width: 480px) {
    header h1 {
        font-size: 2em;
    }
    header .subtitle {
        font-size: 0.9em;
    }
    article h2 a {
        font-size: 1.5em;
    }
    main, header, nav, footer, aside, article {
        padding: 1em;
    }
}
