:root {
    /* PALETTE: Sage & Mahogany */
    /* Page background */
    --bg-color: rgba(241, 245,243, 50);
    /* Primary text */
    --text-color: #2A2A28;
    /* Accent (links, highlights, headings) */
    --accent-color: #87ae73;
    /* Soft cream for cards */
    --card-bg: #FFFDF8;
    /* Subtle warm highlight (rules, accents) */
    --highlight: #B66A55;
}

/* RESET & FONTS */
* { box-sizing: border-box; }

body {
    font-family: 'Garamond', 'Georgia', serif;
    background-color: var(--bg-color);
    color: var(--text-color);
    margin: 0;
    padding: 0;
    line-height: 1.8;
    text-align: center;
    background-image: url('/images/bg.png'); /* Replace with your image path */
    background-position: left top; /* Anchors the image to the top-left */
    background-repeat: no-repeat; /* Prevents the image from repeating */
    background-size: 50%, auto;
    min-height: 500px; /* Example height */
    background-attachment: fixed, fixed;
    padding-top: 25px;
}

@media (max-width: 800px) {
    body {
        background-size: 120%, auto;
    }
} 

header {
    position: relative;
    padding: 20px 20px 10px;
    color: var(--text-color);
}

/* LAYOUT CONTAINER */
.wedding-container {
    max-width: 800px;
    margin: 40px auto;
    padding: 20px;
    background: var(--card-bg);
    box-shadow: 0 10px 30px rgba(72, 96, 82, 0.12); /* Soft sage shadow */
    border: 1px solid #E0E5DE; /* Sage-leaning neutral */
}

.wedding-banner {
    margin: 0 0 30px;
    padding: 0px;
    border: 1px solid #E0E5DE;
}

.wedding-banner img {
    width: 100%;
    display: block;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);
}

@media (max-width: 640px) {
    .wedding-banner img {
        max-height: 220px;
        object-fit: cover;
    }
}

/* TYPOGRAPHY */
h1, h2, h3 {
    font-weight: normal;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--accent-color);
    margin-top: 2em;
}

h1 {
    font-size: 3rem;
    margin-top: 0;
    margin-bottom: 0.5em;
    font-style: italic;
    color: var(--text-color);
}

h2 {
    font-size: 1.2rem;
    border-bottom: 1px solid var(--highlight);
    display: inline-block;
    padding-bottom: 10px;
    margin-bottom: 30px;
}

p {
    font-size: 1.2rem;
    margin-bottom: 1.5em;
}

/* NAVIGATION (Simple Links) */
nav {
    margin-bottom: 10px;
}

nav a {
    margin: 0 15px;
    text-decoration: none;
    color: var(--text-color);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-bottom: 1px solid transparent;
    transition: border 0.3s, color 0.3s;
}

nav a:hover {
    border-bottom: 1px solid var(--accent-color);
    color: var(--accent-color);
}

/* BUTTONS (RSVP etc) */
.btn {
    display: inline-block;
    background-color: var(--accent-color);
    color: white;
    padding: 15px 40px;
    text-decoration: none;
    border-radius: 50px;
    font-size: 1rem;
    letter-spacing: 1px;
    margin-top: 20px;
    transition: background 0.3s;
}

.btn:hover {
    background-color: var(--text-color);
}
