:root {
    --club: #007a0e;
    --club-dark: #005c0a;
    --club-light: #2e9a3a;
    --club-text: #2b2b2b;

    --bs-body-color: var(--club-text);
    --bs-link-color: var(--club);
    --bs-link-color-rgb: 0, 122, 14;
    --bs-link-hover-color: var(--club-dark);
    --bs-link-hover-color-rgb: 0, 92, 10;
    --bs-primary: var(--club);
    --bs-primary-rgb: 0, 122, 14;
}

body {
    background-color: #fff;
    color: var(--club-text);
    font-family: "Raleway", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

h1, h2, h3, .h1, .h2, .h3, .display-5, .display-6 { font-weight: 300; }

.bg-club { background-color: var(--club); }

/* Staging test site only (see _Layout) */
.test-site-banner { background-color: #fff3cd; color: #664d03; border-bottom: 1px solid #ffe69c; }
.test-site-banner code { color: inherit; }

/* Header: white bar; main links share the .btn-club look */
.site-nav { background-color: #fff; }
.site-nav .navbar-brand { color: var(--club); }
.site-nav .nav-pills-club .nav-link { margin: .2rem; padding: .375rem .75rem; }
.site-nav .nav-account .nav-link { color: var(--club); }
.site-nav .nav-account .nav-link:hover { color: var(--club-dark); }

/* One button style for the whole site: solid green, square, flat */
.btn-club,
.site-nav .nav-pills-club .nav-link {
    background-color: var(--club);
    border: 1px solid var(--club);
    color: #fff;
    font-weight: 400;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;
}
.btn-club:hover, .btn-club:focus, .btn-club:active,
.site-nav .nav-pills-club .nav-link:hover,
.site-nav .nav-pills-club .nav-link:focus {
    background-color: var(--club-dark);
    border-color: var(--club-dark);
    color: #fff;
    box-shadow: none;
}

.hero {
    background: #fff;
    color: var(--club-text);
    border: 1px solid #333;
    padding: 3rem 2rem;
    text-align: center;
}

.card { border-radius: 0; border-color: #333; }

.leaderboard .rank { width: 3rem; color: #6c757d; }
.leaderboard tr.top-1 td:first-child::before { content: "\1F947 "; }
.leaderboard tr.top-2 td:first-child::before { content: "\1F948 "; }
.leaderboard tr.top-3 td:first-child::before { content: "\1F949 "; }

.plan-card { cursor: pointer; }
.plan-card input:checked + .card { border-color: var(--club); box-shadow: 0 0 0 .2rem rgba(0, 122, 14, .25); }

.form-control:focus, .form-check-input:focus { border-color: var(--club-light); box-shadow: 0 0 0 .2rem rgba(0, 122, 14, .25); }
.form-check-input:checked { background-color: var(--club); border-color: var(--club); }

.btn, .form-control, .form-select, .list-group, .list-group-item { border-radius: 0; }

.plan-img { width: 96px; height: 96px; }
.plan-price { font-size: 3rem; font-weight: 300; line-height: 1; }
.plan-price sup { font-size: 1rem; top: -1.6em; margin-right: .1rem; }
.plan-card .card { transition: border-color .15s; }
.plan-card:hover .card { border-color: var(--club); }

.leaderboard .package, .leaderboard .amount { width: 1%; white-space: nowrap; }
.leaderboard .amount { padding-left: 1rem; }
.member-badge { width: 52px; height: 52px; }

.accordion {
    --bs-accordion-border-radius: 0;
    --bs-accordion-inner-border-radius: 0;
    --bs-accordion-border-color: #333;
    --bs-accordion-active-color: var(--club);
    --bs-accordion-active-bg: #eef7ef;
    --bs-accordion-btn-focus-box-shadow: 0 0 0 .2rem rgba(0, 122, 14, .25);
}

/* Chapters */
.site-nav .navbar-brand .brand-sub { display: block; font-size: .7rem; font-weight: 400; letter-spacing: .05em; text-transform: uppercase; color: var(--club-text); }
.chapter-card { transition: border-color .15s; }
.chapter-card:hover { border-color: var(--club); }
.about-text { white-space: pre-line; }

/* Package editor: built-in graphic picker */
.builtin-choice { cursor: pointer; border: 1px solid #ccc; padding: .25rem; }
.builtin-choice img { width: 48px; height: 48px; display: block; }
.builtin-choice:has(input:checked) { border-color: var(--club); box-shadow: 0 0 0 .2rem rgba(0, 122, 14, .25); }

/* Chapter home page photo (see Pages/Chapters/_HomeHero) */
.hero-caption { white-space: pre-line; }
.hero-img { display: block; width: 100%; height: auto; }
@media (min-width: 768px) {
    .hero-img-small { width: 35%; }
    .hero-img-medium { width: 60%; }
}
.hero-bg {
    background-size: cover;
    background-position: center;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}
/* Darkens the photo so white text reads on any picture. */
.hero-bg::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .5); }
.hero-bg > * { position: relative; }
.hero-bg-small { min-height: 16rem; }
.hero-bg-medium { min-height: 24rem; }
.hero-bg-large { min-height: 34rem; }
.hero-bg .text-muted { color: rgba(255, 255, 255, .85) !important; }
.hero-bg a:not(.btn) { color: #fff; }
.hero-bg .btn-outline-secondary { color: #fff; border-color: #fff; }
.hero-bg .btn-outline-secondary:hover { background-color: #fff; color: var(--club-text); }

/* Privacy policy and terms of use */
.legal h2 { font-size: 1.25rem; margin-top: 2rem; }
.legal h3 { font-size: 1.05rem; font-weight: 600; margin-top: 1.25rem; }
