
/* =================================
   AMULET® GLOBAL DESIGN SYSTEM
================================= */

:root {
    --background: #0a0a0a;
    --surface: #111111;
    --surface-light: #191919;

    --text-primary: #f1f0ec;
    --text-secondary: #888888;

    --accent: #8b1717;
    --border: #292929;

    --font-main: Arial, Helvetica, sans-serif;

    --page-padding: 6%;
}

/* RESET */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--background);
    color: var(--text-primary);
    font-family: var(--font-main);
    line-height: 1.5;
    overflow-x: hidden;
}

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

button {
    font: inherit;
}

img {
    display: block;
    max-width: 100%;
}

/* HEADER */

.site-header {
    width: 100%;
    min-height: 82px;
    padding: 0 var(--page-padding);

    display: flex;
    align-items: center;
    justify-content: space-between;

    background: var(--background);
    border-bottom: 1px solid var(--border);

    position: relative;
    z-index: 100;
}

.wordmark {
    font-size: 25px;
    font-weight: 900;
    letter-spacing: -1.5px;
}

.wordmark span {
    font-size: 10px;
    vertical-align: top;
    margin-left: 2px;
}

/* NAVIGATION */

.main-nav {
    display: flex;
    align-items: center;
    gap: 38px;
}

.main-nav a,
.cart-link {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    transition: color 0.2s ease;
}

.main-nav a:hover,
.cart-link:hover {
    color: var(--text-secondary);
}

.cart-count {
    color: var(--text-secondary);
    margin-left: 4px;
}

/* MOBILE MENU */

.menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    width: 30px;
}

.menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--text-primary);
    margin: 6px 0;
}

/* BUTTONS */

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 52px;
    padding: 0 28px;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;

    transition: all 0.25s ease;
}

.button-primary {
    background: var(--text-primary);
    color: var(--background);
    border: 1px solid var(--text-primary);
}

.button-primary:hover {
    background: transparent;
    color: var(--text-primary);
}

/* TEXT LINKS */

.text-link {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    border-bottom: 1px solid var(--text-secondary);
    padding-bottom: 5px;
}

/* EYEBROWS */

.eyebrow {
    color: var(--text-secondary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* FOOTER */

.site-footer {
    min-height: 150px;
    padding: 40px var(--page-padding);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    border-top: 1px solid var(--border);
}

.site-footer p {
    color: var(--text-secondary);
    font-size: 9px;
    letter-spacing: 1px;
}

/* RESPONSIVE */

@media (max-width: 768px) {

    :root {
        --page-padding: 6%;
    }

    .site-header {
        min-height: 70px;
    }

    .wordmark {
        font-size: 21px;
    }

    .menu-toggle {
        display: block;
        order: 3;
    }

    .main-nav {
        display: none;
        position: absolute;
        top: 70px;
        left: 0;
        width: 100%;

        background: var(--background);
        border-bottom: 1px solid var(--border);

        padding: 25px 6%;
        flex-direction: column;
        align-items: flex-start;
        gap: 25px;
    }

    .main-nav.is-open {
        display: flex;
    }

    .cart-link {
        margin-left: auto;
        margin-right: 22px;
    }

    .site-footer {
        flex-direction: column;
        align-items: flex-start;
    }
}
