/* ----------------------------------

   BASE STYLES & TYPOGRAPHY

---------------------------------- */

body {

    font-family: 'Poppins', sans-serif; /* Clean body font */

    margin: 0;

    padding: 0;

    background-color: #F5F5DC; /* Stone/Cream background */

    color: #333333;

    line-height: 1.6;

}



.container {

    width: 90%;

    max-width: 1200px;

    margin: 0 auto;

    padding: 20px 0;

}



h1, h2, h3 {

    font-family: 'Lora', serif; /* Elegant heading font */

    color: #A84535; /* Terracotta Red */

}



a {

    text-decoration: none;

    color: #A84535;

    transition: color 0.3s;

}



a:hover {

    color: #556B2F; /* Olive Green hover */

}



/* ----------------------------------

   AGE GATE STYLES (NEW)

---------------------------------- */

.age-gate {

    position: fixed;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    background-color: rgba(0, 0, 0, 0.85); /* Dimming effect */

    z-index: 1000; /* Ensures it sits on top of everything */

    display: flex;

    justify-content: center;

    align-items: center;

    flex-direction: column;

    text-align: center;

}



.gate-content {

    background-color: #fff;

    padding: 40px 50px;

    border-radius: 10px;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);

    max-width: 400px;

    color: #333;

    border-top: 5px solid #A84535;

}



.gate-content h2 {

    font-size: 2em;

    margin-bottom: 15px;

    color: #A84535;

}



.disclaimer {

    font-size: 0.85em;

    color: #777;

    margin-top: 20px;

    border-top: 1px solid #eee;

    padding-top: 10px;

}





/* ----------------------------------

   HEADER & NAVIGATION

---------------------------------- */

/* Existing styles follow... (omitted for brevity but remain the same) */

header {

    background-color: #556B2F; /* Olive Green header */

    color: #F5F5DC;

    padding: 15px 0;

    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);

}



header .container {

    display: flex;

    justify-content: space-between;

    align-items: center;

}



.logo {

    font-size: 1.8em;

    margin: 0;

    color: white;

}



nav ul {

    list-style: none;

    padding: 0;

    margin: 0;

    display: flex;

}



nav ul li a {

    color: white;

    padding: 10px 15px;

    display: block;

    font-weight: 600;

}



nav ul li a:hover {

    color: #F5F5DC;

}





/* ----------------------------------

   HERO SECTION

---------------------------------- */

.hero {

    /* Ensure you replace this path with your chosen image */

    background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('path/to/subtle_italian_landscape.jpg') center center/cover;

    height: 60vh; 

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

}



.hero-content h2 {

    font-size: 3.5em;

    margin-bottom: 10px;

    color: white;

}



.hero-content p {

    font-size: 1.2em;

    margin-bottom: 30px;

    color: #F5F5DC;

}



/* ----------------------------------

   BUTTON STYLING

---------------------------------- */

.btn-primary, .btn-secondary {

    padding: 12px 25px;

    border-radius: 5px;

    text-transform: uppercase;

    font-weight: bold;

    transition: background-color 0.3s;

    display: inline-block;

    border: none;

    cursor: pointer;

}



.btn-primary {

    background-color: #A84535; /* Terracotta */

    color: white;

}

.btn-primary:hover {

    background-color: #8B3A2E;

}



.btn-secondary {

    background-color: transparent;

    border: 2px solid #A84535;

    color: #A84535;

}

.btn-secondary:hover {

    background-color: #A84535;

    color: white;

}



/* ----------------------------------

   ACTIVITIES SECTION

---------------------------------- */

.section-activities, .section-about, .section-join {

    padding: 60px 0;

    text-align: center;

}



.section-activities .container {

    text-align: center;

}



.section-title {

    font-size: 2.5em;

    margin-bottom: 10px;

}



.activity-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));

    gap: 30px;

    margin-top: 40px;

}



.activity-card {

    background-color: #fff;

    padding: 30px;

    border-radius: 8px;

    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);

    transition: transform 0.3s;

    border-top: 5px solid #556B2F; /* Olive accent */

}



.activity-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);

}



.activity-card h3 {

    font-size: 1.8em;

    margin-top: 0;

}



.activity-card .details {

    font-style: italic;

    color: #A84535;

    margin-top: 15px;

}



/* ----------------------------------

   ABOUT & JOIN SECTIONS

---------------------------------- */

.section-about {

    background-color: #eee; 

}



.section-about .about-content {

    max-width: 800px;

    margin: 0 auto;

    text-align: left;

}



.section-join {

    background-color: #A84535; /* Terracotta background for CTA */

    color: white;

    padding: 80px 0;

}

.section-join h2, .section-join p {

    color: white;

}



/* ----------------------------------

   FOOTER

---------------------------------- */

footer {

    background-color: #333;

    color: #bbb;

    text-align: center;

    padding: 20px 0;

    font-size: 0.9em;

}

footer a {

    color: #A84535;

    margin: 0 5px;

}