/* =============================================
   Horner Park Neighbors – Shared Stylesheet
   ============================================= */

/* ---------- Reset & Base ---------- */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #fff;
    color: #000;
    min-width: 320px;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

/* ---------- Site Header ---------- */

.site-header {
    width: 100%;
    background-color: #fff;
    border-bottom: 2px solid #336633;
}

.site-header__inner {
    max-width: 980px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    padding: 12px 16px;
}

/* Logo */
/* Logo image swap on hover/touch */
.site-header__logo {
    display: block;
    position: relative;
}

.site-header__logo img {
    display: block;
    width: 305px;
    height: auto;
    transition: opacity 0.15s ease;
}

.logo-hover {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

.site-header__logo:hover .logo-default,
.site-header__logo:focus-visible .logo-default {
    opacity: 0;
}

.site-header__logo:hover .logo-hover,
.site-header__logo:focus-visible .logo-hover {
    opacity: 1;
}

.is-home .logo-hover {
    display: none !important;
}

.is-home .logo-default {
    opacity: 1 !important;
}

/* Skyline + Nav block */
.site-header__right {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

/* Chicago skyline banner */
.site-header__skyline img {
    width: 100%;
    max-width: 620px;
    height: auto;
}

/* ---------- Navigation ---------- */
.site-nav {
    width: 100%;
    max-width: 620px;
}

.site-nav__list {
    list-style: none;
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    padding: 4px 0;
}

.site-nav__item {
    text-align: center;
}

/* Each nav link */
.site-nav__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1.0rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #000;
    text-decoration: none;
    transition: color 0.15s ease;
}

/* Star icon (SVG inline, coloured via currentColor) */
.site-nav__star {
    width: 75px;
    height: 75px;
    fill: #e4002b; /* Chicago flag red */
    transition: fill 0.15s ease;
}

/* Active page: green star */
.site-nav__item--active .site-nav__star {
    fill: #21D20A;
}

.site-nav__label {
    text-decoration: none;
    transition: text-decoration 0.15s ease;
    color: #336633;
}

/* Hover state */
.site-nav__link:hover .site-nav__star,
.site-nav__link:focus-visible .site-nav__star {
    fill: #21D20A;
}

.site-nav__link:hover .site-nav__label,
.site-nav__link:focus-visible .site-nav__label {
    text-decoration: underline;
    color: #1D0793;
}

/* Active page: blue link */
.site-nav__item--active .site-nav__label {
    text-decoration: underline;
    color: #1D0793;
}

/* ---------- Main Content Wrapper ---------- */
.site-main {
    max-width: 980px;
    margin: 0 auto;
    padding: 24px 16px;
}

/* ---------- Main Headings ---------- */
.main-heading {
    font-size: 2rem;
    color: #336633;
    margin-bottom: 12px;
}


/* ---------- Section Headings ---------- */
.section-heading {
    font-size: 1.5rem;
    color: #336633;
    margin-bottom: 12px;
}

/* ---------- Body Copy ---------- */
.body-copy {
    font-size: 1rem;
    color: #336633;
    line-height: 1.6;
    margin: 12px 0 24px;
}

/* ---------- Content Images ---------- */
.content-image {
    width: 100%;
    border: 1px solid #ccc;
    margin: 0 auto 8px;
}
/* ---------- Content Board Images ---------- */
.board-image {
    width: 90px;
    height: auto;
    border: 1px solid #ccc;
    margin: 0 auto 8px;
}

/* ---------- Divider ---------- */
.section-divider {
    border: none;
    border-top: 1px solid #336633;
    margin: 24px 0;
}

/* ---------- Site Footer ---------- */
.site-footer {
    text-align: center;
    padding: 16px;
    font-size: 0.9rem;
    color: #336633;
    border-top: 2px solid #336633;
    margin-top: 24px;
}

.site-footer a {
    color: #ff00dd;
}

.site-footer a:hover {
    text-decoration: underline;
}

/* ---------- Responsive Breakpoints ---------- */

/* Tablet and below */
@media (max-width: 768px) {
    .site-header__inner {
        flex-direction: column;
        align-items: center;
    }

    .main-heading {
        font-size: 1.6rem;
    }

    .section-heading {
        font-size: 1.6rem;
    }
}

/* Mobile */
@media (max-width: 480px) {
    .site-nav__list {
        gap: 4px;
    }

    .site-nav__star {
        width: 34px;
        height: 34px;
    }

    .site-nav__link {
        font-size: 0.68rem;
    }

    .main-heading {
        font-size: 1.5rem;
    }

    .section-heading {
        font-size: 1.3rem;
    }
}

/* ---------- Event List (activities / events pages) ---------- */
.event-list {
    list-style: none;
    padding: 0;
}

.event-list__item {
    margin-bottom: 20px;
    line-height: 1.6;
    color: #336633;
}

.event-list__date {
    font-weight: bold;
}

.event-list__title {
    font-weight: bold;
}

.event-list__time {
    font-style: italic;
}

.event-list__desc {
    font-style: italic;
}

/* External event links */
.event-link {
    color: #0000cc;
    text-decoration: underline;
}

.event-link:hover {
    color: #0000aa;
}

/* ---------- Board List (background page) ---------- */
.board-list {
    list-style: none;
    padding: 0;
}

.board-list__item {
    display: flex;
    margin-bottom: 20px;
    line-height: 1.6;
    color: #336633;
}

.board-list__photo {
    width: 150px;
    margin: 8px 10px auto;
    object-fit: contain;
    filter: drop-shadow(0 0 1px #000);
}

.board-list__name {
    font-weight: bold;
}

.board-list__title {
    font-weight: bold;
}

.board-list__bio {
    margin-top: 8px;
}

/* External event links */
.board-link {
    color: #0000cc;
    text-decoration: underline;
}

.board-link:hover {
    color: #0000aa;
}

/* ---------- Donate Section (support page) ---------- */
.donate-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
    margin: 24px 0;
}

.donate-grid a {
    flex: 0 1 300px;
}

.donate-grid img {
    width: 100%;
    height: auto;
}