:root {
  --color-bg: #1a1a1a;
  --color-surface: #242424;
  --color-border: #333;
  --color-accent: #e07b00;
  --color-accent-hover: #ff9a1f;
  --color-text: #f0f0f0;
  --color-text-muted: #aaa;
  --font-main: 'Segoe UI', Arial, sans-serif;
  --max-width: 960px;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { background: var(--color-bg); color: var(--color-text); font-family: var(--font-main); line-height: 1.6; }
a { color: var(--color-accent); text-decoration: none; }
a:hover { color: var(--color-accent-hover); }
.site-header { background: var(--color-surface); border-bottom: 2px solid var(--color-accent); padding: 0 1.5rem; }
.site-header .inner { max-width: var(--max-width); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem; padding: 0.75rem 0; }
.site-header .logo { font-size: 1.4rem; font-weight: 700; color: var(--color-accent); letter-spacing: 0.04em; text-transform: uppercase; }
.site-nav { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.site-nav a { color: var(--color-text); font-size: 0.95rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; padding: 0.25rem 0; border-bottom: 2px solid transparent; transition: border-color 0.15s, color 0.15s; }
.site-nav a:hover, .site-nav a.active { color: var(--color-accent); border-bottom-color: var(--color-accent); }
.site-main { max-width: var(--max-width); margin: 2.5rem auto; padding: 0 1.5rem; }
.page-title { font-size: 2rem; font-weight: 700; color: var(--color-accent); margin-bottom: 1.5rem; text-transform: uppercase; letter-spacing: 0.04em; }
.card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 6px; padding: 1.5rem; margin-bottom: 1.5rem; }
.card h2 { font-size: 1.2rem; color: var(--color-accent); margin-bottom: 0.75rem; text-transform: uppercase; letter-spacing: 0.03em; }
.card p, .card li { color: var(--color-text-muted); margin-bottom: 0.5rem; }
.card ul { padding-left: 1.25rem; }
.faq-item { border-bottom: 1px solid var(--color-border); padding: 1rem 0; }
.faq-item:last-child { border-bottom: none; }
.faq-question { background: none; border: none; color: var(--color-text); font-size: 1rem; font-weight: 600; cursor: pointer; width: 100%; text-align: left; padding: 0; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.faq-question::after { content: '+'; font-size: 1.3rem; color: var(--color-accent); flex-shrink: 0; transition: transform 0.2s; }
.faq-item.open .faq-question::after { transform: rotate(45deg); }
.faq-answer { display: none; color: var(--color-text-muted); padding-top: 0.75rem; line-height: 1.7; }
.faq-item.open .faq-answer { display: block; }
.contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; margin-bottom: 1.5rem; }
.contact-block h3 { color: var(--color-accent); font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.4rem; }
.contact-block p { color: var(--color-text-muted); font-size: 0.95rem; line-height: 1.6; }
.callout-box { background: #2a1a00; border: 1px solid var(--color-accent); border-radius: 6px; padding: 1rem 1.25rem; color: var(--color-text); font-size: 0.95rem; }
.callout-box strong { color: var(--color-accent); }
.community-section { margin-bottom: 2rem; }
.community-section h2 { font-size: 1.1rem; color: var(--color-accent); text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 0.75rem; border-bottom: 1px solid var(--color-border); padding-bottom: 0.4rem; }
.community-section p, .community-section li { color: var(--color-text-muted); margin-bottom: 0.5rem; }
.community-section ul { padding-left: 1.25rem; }
.placeholder-box { text-align: center; padding: 4rem 2rem; color: var(--color-text-muted); border: 2px dashed var(--color-border); border-radius: 8px; }
.placeholder-box p { font-size: 1.1rem; }
.site-footer { border-top: 1px solid var(--color-border); text-align: center; padding: 1.5rem; color: var(--color-text-muted); font-size: 0.85rem; margin-top: 3rem; }

/* === Ridgeline colour-scheme override: hunter green + cream === */
:root {
  --color-bg:           #FFFDD0;
  --color-surface:      #FFFDD0;
  --color-primary:      #355E3B;
  --color-primary-dark: #2a4a2e;
  --color-primary-light:#4a7c52;
  --color-text-on-primary: #FFFDD0;
}

/* Page background */
body {
  background-color: #FFFDD0 !important;
  color: #1a1a1a !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  color: #355E3B !important;
}

/* Site header / navbar */
header, .header, nav, .navbar, .site-header, .top-bar {
  background-color: #355E3B !important;
  color: #FFFDD0 !important;
}
header a, .header a, nav a, .navbar a, .site-header a, .top-bar a {
  color: #FFFDD0 !important;
}

/* Footer */
footer, .footer, .site-footer {
  background-color: #355E3B !important;
  color: #FFFDD0 !important;
}
footer a, .footer a, .site-footer a {
  color: #FFFDD0 !important;
}

/* Buttons */
button, .btn, .button,
input[type="submit"], input[type="button"],
a.btn, a.button {
  background-color: #355E3B !important;
  color: #FFFDD0 !important;
  border-color: #355E3B !important;
}
button:hover, .btn:hover, .button:hover,
input[type="submit"]:hover, input[type="button"]:hover,
a.btn:hover, a.button:hover {
  background-color: #2a4a2e !important;
  border-color: #2a4a2e !important;
}

/* Hero / CTA sections */
.hero, .banner, .section-dark, .section-primary, .cta, .cta-section {
  background-color: #355E3B !important;
  color: #FFFDD0 !important;
}
.hero h1, .hero h2, .banner h1, .banner h2,
.cta h1, .cta h2, .cta-section h1, .cta-section h2 {
  color: #FFFDD0 !important;
}

/* Cards and panels */
.card, .panel, .box, .product-card, .event-card {
  background-color: #FFFDD0 !important;
  border-color: #355E3B !important;
}

/* Links */
a { color: #355E3B !important; }
a:hover { color: #2a4a2e !important; }
/* === end colour-scheme override === */
