/*
Theme Name: Aluminures
Author: Silas
Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready
Version: 2025
Requires at least: 5.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: aluminures

Aluminures WordPress Theme 2011-2025
Aluminures is distributed under the terms of the GNU GPL
*/

:root {
    --duration: 100ms;
}

body {
    font-family: 'Inter', sans-serif;
    margin: 0 auto 40px;
    max-width: 1080px;
    line-height: 1.6;
    font-size: 16px;
    color: var(--wp--preset--color--foreground);
    background-color: var(--wp--preset--color--background);
    padding: 0 10px
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.2
}

h1 {
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--wp--preset--color--foreground);
    margin: 1.5rem 0 1rem;
}

h2 {
    font-size: 1.2rem;
    color: var(--wp--preset--color--accent);
    margin: 1.5rem 0 0.875rem;
}

h3 {
    font-size: 1.15rem;
    margin: 1.25rem 0 0.75rem;
}

h4 {
    font-size: 1.05rem;
    margin: 1rem 0 0.5rem;
}

h5 {
    font-size: 1rem;
    margin: 1rem 0 0.5rem;
}

h6 {
    font-size: 0.95rem;
    margin: 1rem 0 0.5rem;
}

a {
    color: var(--wp--preset--color--accent);
}

hr,
.wp-block-separator {
    display: block;
    border: 0;
    border-top: 1px solid var(--wp--preset--color--accent);
    height: 0;
    margin: 1.5rem auto;
    padding: 0;
    background: none;
}

/* Remove any default box border styles */
.wp-block-separator.is-style-dots {
    border: 0;
    text-align: center;
}
.wp-block-separator.is-style-dots::before {
    content: '•••';
    letter-spacing: 0.5em;
    color: var(--wp--preset--color--accent);
}

/* Center and size the short separator */
.wp-block-separator:not(.is-style-wide):not(.is-style-dots):not(.alignwide):not(.alignfull) {
    width: 100px;
}

/* Ensure wide/full variants span the content */
.wp-block-separator.is-style-wide,
.wp-block-separator.alignwide,
.wp-block-separator.alignfull {
    width: 100%;
}

/* Classic blockquote look */
blockquote,
.wp-block-quote {
    border-left: 4px solid var(--wp--preset--color--accent);
    margin: 1.5rem 0;
    padding: 0.75rem 1rem;
    font-style: italic;
    background: transparent;
}

.wp-block-quote p {
    margin: 0.5rem 0 0 0;
}

.wp-block-quote cite,
.wp-block-quote__citation {
    display: block;
    margin-top: 0.5rem;
    font-style: normal;
    opacity: 0.75;
}

/* Keep pullquote minimal too */
.wp-block-pullquote {
    border-top: 1px solid var(--wp--preset--color--accent);
    border-bottom: 1px solid var(--wp--preset--color--accent);
    margin: 2rem 0;
    padding: 1rem 0;
    background: transparent;
    text-align: center;
}

.wp-block-pullquote blockquote {
    border: 0;
    margin: 0;
    padding: 0;
}

.wp-block-pullquote cite,
.wp-block-pullquote__citation {
    display: block;
    margin-top: 0.5rem;
    font-style: normal;
    opacity: 0.75;
}


.site-branding {
    text-decoration: none;
    display: inline-block;
    color: var(--wp--preset--color--foreground);
}

.site-title {
    font-size: 1.5rem;
    font-weight: 400;
    margin: 0;
    white-space: nowrap; /* keep the title on one line */
}

.site-description {
    font-size: 0.875rem;
    font-weight: 300;
    margin: 0;

    /* key parts */
    white-space: nowrap; /* single line */
    text-align: justify; /* enable justification */
    text-align-last: justify; /* justify the last (only) line */
}

.site-header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2rem;
    align-items: flex-end;
}

.site-navigation-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.main-menu {
    display: flex;
    gap: 1.25rem;
    list-style-type: none;
    padding: 0;
    margin: 0;
    justify-content: flex-end;
    font-size: 1rem;
    text-transform: uppercase;
}

.menu-item > a {
    color: var(--wp--preset--color--foreground);
    text-decoration: none;
}

.menu-item > a:hover {
    text-decoration: underline;
}

.main-menu > .current-menu-item > a {
    color: var(--wp--preset--color--accent);
}

.main-menu-line {
    color: var(--wp--preset--color--accent);
    margin: 0 0 0.25rem;
    width: 100%;
}

.footer-menu {
    font-size: 0.75rem;
    display: flex;
    gap: 1rem;
    list-style-type: none;
    padding: 0;
    justify-content: center;
    color: var(--wp-preset--color--foreground);
    opacity: 0.4;
}

.footer-menu > .current-menu-item > a {
    text-decoration: underline;
}

.lang-navigation {
    margin: 0 0 1rem 0;
    font-size: 1rem;
}

.lang-menu {
    display: flex;
    gap: 0.75rem;
    list-style-type: none;
    padding: 0;
    margin: 0;
    justify-content: flex-end;
    opacity: 0.6;
}

.lang-menu > .current-lang > a {
    text-decoration: underline;
}

#nav-toggle {
    display: none;
}

label[for="nav-toggle"] {
    display: none;
}

@media (max-width: 800px) {
    .site-header {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .site-branding {
        width: min-content;
        justify-self: center;
    }

    .site-navigation-wrapper {
        flex-direction: column;
        justify-self: center;
        width: 100%;
        align-items: center;
    }

}

@media (max-width: 500px) {
    label[for="nav-toggle"] {
        display: inline-flex;
        cursor: pointer;
        align-items: center;
        justify-content: center;
    }

    label[for="nav-toggle"] > svg {
        stroke: var(--wp--preset--color--accent);
    }

    .bar {
        transition: transform var(--duration) ease, opacity var(--duration) ease;
        transform-origin: center;
        transform-box: fill-box;
    }

    :has(#nav-toggle:not(:checked)) label[for="nav-toggle"] .top {
        transform: translateY(7px) rotate(45deg);
    }

    :has(#nav-toggle:not(:checked)) label[for="nav-toggle"] .middle {
        opacity: 0;
    }

    :has(#nav-toggle:not(:checked)) label[for="nav-toggle"] .bottom {
        transform: translateY(-7px) rotate(-45deg);
    }

    .site-navigation-wrapper {
        flex-direction: column-reverse;
    }

    .site-navigation {
        display: grid;
        grid-template-rows: 0fr;
        overflow: hidden;
        transition: grid-template-rows var(--duration) ease;
    }

    .site-navigation > .main-menu {
        overflow: hidden;
    }

    .main-menu {
        flex-direction: column;
        align-items: center;
        gap: 0.3rem;
    }

    .site-navigation-wrapper:has(#nav-toggle:not(:checked)) .site-navigation {
        grid-template-rows: 1fr;
    }
}

/* Image alignment and text wrap */
.wp-block-image img {
    height: auto;
    max-width: 100%;
}

.alignleft,
.wp-block-image.alignleft {
    float: left;
    margin: 0.25rem 1rem 0.5rem 0;
}

.alignright,
.wp-block-image.alignright {
    float: right;
    margin: 0.25rem 0 0.5rem 1rem;
}

.aligncenter,
.wp-block-image.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.entry-content::after {
    content: "";
    display: table;
    clear: both;
}

/* Classic caption support */
.wp-caption { max-width: 100%; }
.wp-caption .wp-caption-text {
    text-align: center;
    font-size: 0.875rem;
    opacity: 0.8;
}
