* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Segoe UI", Arial, sans-serif;
}

body {
    line-height: 1.6;
}

/* ---------- HEADER ---------- */
header {
    background: white;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid #ddd;
}

.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 25px;
}

.navbar ul {
    list-style: none;
    display: flex;
    gap: 20px;
}

.navbar a {
    text-decoration: none;
    color: #333;
    font-weight: 600;
}

.navbar li {
    position: relative;
}

.dropdown-content {
    display: none;
    position: absolute;
    background: white;
    min-width: 180px;
    box-shadow: 0 4px 10px rgba(0,0,0,.1);
}

.dropdown-content a {
    display: block;
    padding: 10px;
}

.dropdown:hover .dropdown-content {
    display: block;
}

/* ---------- HOME HERO ---------- */
.hero {
    height: 100vh;
    background: url("../images/slider.jpg") center/cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
    padding-top: 80px;
}

.hero h2 {
    font-size: 3rem;
    margin: 10px 0;
}

.hero h3, .hero h4 {
    margin: 8px 0;
}

.hero-buttons {
    margin-top: 25px;
}

.hero-buttons a {
    background: #2f5d3a;
    color: white;
    padding: 12px 22px;
    margin: 8px;
    text-decoration: none;
    border-radius: 5px;
    display: inline-block;
}

/* ---------- PROGRAM ---------- */
.program-table {
    width:100%;
    border-collapse:collapse;
    margin-top:25px;
}

.program-table td {
    padding:8px;
    vertical-align:top;
}

.program-table tr:nth-child(even) {
    background:#f4f1ec;
}

.program a {
    color:#2f5d3a;
    text-decoration:none;
}

.print-btn {
    margin-top:30px;
    background:#2f5d3a;
    color:white;
    padding:12px 20px;
    border:none;
    border-radius:5px;
    font-weight:600;
}

@media print {
    header, footer, .print-btn {
        display:none;
    }
    body {
        background:white;
    }
}

.family-history-insights,
.preparedness-corner {
    margin-top:40px;
}

.form-row {
    margin-bottom: 15px;
}

.form-row label {
    display: block;
    font-weight: 600;
    margin-bottom: 4px;
}

.form-row input,
.form-row select {
    width: 100%;
    max-width: 420px;
    padding: 6px;
}

.hymn-title {
    font-size: 0.9em;
    margin-top: 4px;
}


/* ---------- CALENDAR ---------- */
.calendar-grid {
    width:100%;
    border-collapse:collapse;
}
.calendar-grid td, .calendar-grid th {
    border:1px solid #ddd;
    padding:6px;
    vertical-align:top;
    height:100px;
}
.calendar-grid .event {
    font-size:0.85em;
    margin-top:5px;
}
.calendar-grid .special {
    background:#8b5a2b;
    color:white;
    padding:3px;
}
.has-event {
    background:#f4f1ec;
}


/* ---------- INNER PAGES ---------- */
.page {
    background: #e8dcc4;
    padding-top: 100px;
    min-height: 100vh;
}

.banner {
    height: 50px;
    background: #8b6b3f;
    vertical-align:middle;
}

.content {
    padding: 40px;
}

h1, h2, h3, h4 {
    color: #8b6b3f;
}

.banner h1 {
    color:white;
    text-align: center;
}

a {
    color: #1f4f2f;
}

/* ---------- FOOTER ---------- */
footer {
    background: black;
    color: white;
    text-align: center;
    padding: 20px;
}

footer small {
    display: block;
    margin-top: 10px;
    font-size: 0.8rem;
}

/* ---------- MOBILE ---------- */
@media(max-width: 768px) {
    .navbar ul {
        flex-wrap: wrap;
        gap: 10px;
    }

    .hero h2 {
        font-size: 2.2rem;
    }
}
