/* Base structural CSS — loaded on all themes */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

body { min-height: 100vh; display: flex; flex-direction: column; }

a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
img { max-width: 100%; display: block; }
main { flex: 1; }
hr { border: none; height: 1px; }
.hero-title { white-space: nowrap !important; font-size: clamp(18px, 5vw, 140px) !important; }
.hero-suffix { display: inline !important; }

/* Cookie consent base */
.cookie-consent { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999; }
.cookie-consent-inner { max-width: 960px; margin: 0 auto; padding: 16px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.cookie-consent-text { margin: 0; flex: 1; min-width: 200px; font-size: 14px; }

/* Copy button */
.copyable { position: relative; }
.copy-btn {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    opacity: 0.4;
    padding: 2px 4px;
    margin-left: 4px;
    vertical-align: middle;
    transition: opacity 0.2s;
    color: inherit;
}
.copy-btn:hover { opacity: 1; }
.copy-btn.copied { opacity: 1; color: #34d8ac; }

.nav-checkbox { display: none; }

.container { max-width: 960px; margin: 0 auto; padding: 0 24px; }
@media (min-width: 768px) { .container { padding: 0 48px; } }
