/* ============================================
   STYLE.CSS - PUNKROCK GADGETS
   ============================================ */

/* ==== RESET ==== */

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

/* ==== BASE / GLOBAL STYLES ==== */

body {
    font-family: var(--font-base);
    background: var(--dark);
    color: var(--text-primary);
    line-height: 1.5;
}

h1,
h2,
.logo {
    font-family: var(--font-heading);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

h2 {
    font-size: 4rem;
    padding: 1.2rem 0 1.5rem;
}

h3 {
    text-transform: uppercase;
    font-family: var(--font-mono);
    color: var(--accent-secondary);
    padding: 0.5rem 1rem;
    letter-spacing: 0.08em;
}

h4 {
    font-size: 1.8rem;
    letter-spacing: 1px;
    font-weight: 400;
}

blockquote {
    padding: 4rem 0 1rem;
    font-family: var(--font-heading);
    font-size: 2.2rem;
}

cite {
    color: var(--text-muted)
}

/* ==== ACCESSIBILITY ==== */

::selection {
    background-color: var(--accent-tertiary);
    color: var(--bg-primary);
}

:focus-visible {
    color: var(--accent-primary);
    outline: 2px solid var(--accent-tertiary);
    outline-offset: 4px;
}

/* ==== SMOOTH SCROLLING ENHANCEMENT ==== */
@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}

/* RESPECT USER's MOTION PREFERENCES */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}