/* ==========================================================================
   Wick Golf Lounge — Main stylesheet
   Cinematic dark luxury · charcoal + fairway green + brushed gold
   ========================================================================== */

:root {
    --bg-deep: #0A1510;
    --bg-dark: #0E1A14;
    --bg-card: #122019;
    --bg-light: #F4F1EA;
    --fairway: #0B3D2E;
    --fairway-soft: #1F4D2C;
    --gold: #C8A24B;
    --gold-soft: #D8B968;
    --orange: #FF6A13;
    --text: #F4F1EA;
    --text-muted: #A9AEB6;
    --text-on-light: #0B3D2E;
    --line: rgba(244, 241, 234, 0.12);
    --line-strong: rgba(244, 241, 234, 0.22);
    --success: #58B368;
    --danger: #D85D5D;

    --font-display: 'Fraunces', 'Times New Roman', serif;
    --font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

    --shadow-sm: 0 4px 16px rgba(0, 0, 0, 0.25);
    --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.45);
    --ease: cubic-bezier(.2,.8,.2,1);

    --container: 1240px;
    --radius-sm: 6px;
    --radius-md: 14px;
    --radius-lg: 22px;
}

* { box-sizing: border-box; }
/* overflow-x: clip (not hidden) prevents horizontal scroll WITHOUT turning the
   element into a scroll container — which would break the sticky site header. */
html { scroll-behavior: smooth; overflow-x: clip; }
body {
    margin: 0;
    overflow-x: clip;
    background: var(--bg-deep);
    color: var(--text);
    font-family: var(--font-body);
    font-weight: 400;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img, video, svg { max-width: 100%; display: block; }
img { height: auto; }
a { color: var(--gold); text-decoration: none; transition: color .2s var(--ease); }
a:hover { color: var(--gold-soft); }

/* Headings */
h1, h2, h3, h4 {
    font-family: var(--font-display);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.01em;
    margin: 0 0 .6em;
}
h1 { font-size: clamp(2.5rem, 6vw, 4.75rem); font-weight: 800; }
h2 { font-size: clamp(2rem, 4.4vw, 3.25rem); }
h3 { font-size: clamp(1.4rem, 2.4vw, 2rem); }
h4 { font-size: 1.15rem; font-family: var(--font-body); font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--gold); }
p { margin: 0 0 1em; }

.container {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}
@media (max-width: 540px) {
    .container { padding: 0 18px; }
}

/* Skip link */
.skip-link {
    position: absolute; left: -9999px; top: 0;
    background: var(--gold); color: #000; padding: 12px 16px; z-index: 9999;
}
.skip-link:focus { left: 12px; top: 12px; }

