/*
 * annahd.net — shared styles (header, typography, simple pages).
 * Plain CSS with native nesting, no build step.
 * Breakpoints: 768px (tablet/desktop), 1200px (large desktop).
 */

@layer base, components, pages;

@layer base {
    *, *::before, *::after {
        box-sizing: border-box;
    }

    body {
        font-family: Helvetica, Arial, sans-serif;
        padding: 0;
        margin: 0;
        line-height: 1.4;
    }

    strong, b {
        font-weight: normal;
    }

    a {
        color: black;
        text-decoration: none;
    }

    img {
        display: block;
        width: 100%;
        height: auto;
    }

    button {
        font: inherit;
        color: inherit;
    }

    input::placeholder {
        color: #999;
    }

    .non-breaking {
        white-space: nowrap;
    }
}

@layer components {
    .site-header {
        padding: 8px;
        margin-bottom: 2em;

        h1 {
            font-size: 1em;
            font-weight: normal;
            margin: 0;
        }

        #logotype {
            text-align: center;
            margin: 0.3em 0 0.6em;

            address {
                font-style: normal;
            }
        }

        nav ul {
            display: block;
            margin: 0;
            padding: 0;
            text-align: center;

            li {
                display: inline-block;
                padding: 0;
                margin: 0 1.5em 0 0;

                &:last-child {
                    margin-right: 0;
                }
            }
        }

        @media (min-width: 768px) {
            font-size: 1rem;
            position: absolute;
            width: 100%;
            top: 40px;
            margin: 0;
            padding: 0;
            line-height: 1.2;

            #logotype {
                position: absolute;
                left: 24px;
                top: 0;
                margin: 0;
                text-align: left;
            }

            nav {
                position: absolute;
                top: 0;
                left: 50%;
                transform: translate(-50%, 0);
            }
        }

        @media (min-width: 1200px) {
            font-size: 1.4em;

            #logotype {
                left: 60px;
            }
        }
    }
}

@layer pages {
    body.privacy .content {
        padding-top: 8em;
    }

    #privacy {
        font-size: 0.8em;
        width: 96%;
        max-width: 900px;
        margin: 3em 0 5em 60px;

        h1, h2, h3 {
            margin: 0 0 1em;
            font-weight: normal;
        }
    }

    /* django.contrib.flatpages */
    body.contact {
        .content {
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        address {
            font-style: normal;
        }
    }
}
