/* ---------- GENERAL ---------- */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:Arial,Helvetica,sans-serif;

    background:#f5f5f5;

    color:#333;

}

/* ---------- HEADER ---------- */

.site-header {
    background: #b30000;
    color: white;
    text-align: center;
    padding: 30px 20px;
}

.header-content {
    display: flex;
    flex-direction: column;      /* Stack logo and text */
    align-items: center;         /* Center everything */
    justify-content: center;
}

.logo {
    width: 150px;
    margin-bottom: 15px;
}

.site-header h1 {
    font-size: 3.5rem;
    text-shadow: 2px 2px 5px rgba(0,0,0,.4);
}

.site-header p {
    font-size: 1.5rem;
    color: #f5f5f5;
}

/* ---------- NAVIGATION ---------- */

nav{

    background:#222;

}

nav ul{

    list-style:none;

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

}

nav li{

    margin:0;

}

nav a{

    display:block;

    color:white;

    text-decoration:none;

    padding:16px 22px;

    transition:.3s;

}

nav a:hover{

    background:#b30000;

}

.login{

    margin-left:auto;

}

/* ---------- PAGE ---------- */

.container{

    width:90%;

    max-width:1100px;

    margin:40px auto;

}

/* ---------- INDEX ---------- */

.welcome-image {
    display: block;
    width: 250px; 
    max-width: 200;     
    height: auto;      
    margin: 20px auto;
}

/* ----- Photo Gallery ----- */

.gallery {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 30px;
}

.gallery-image {
    width: 250px;
    height: 180px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,.2);
    transition: transform 0.3s ease;
}

.gallery-image:hover {
    transform: scale(1.05);
}


/* ------- CALDENDER --------- */

.calendar {
    max-width: 900px;
    margin: 30px auto;
}

.calendar iframe {
    width: 100%;
    height: 700px;
    border: none;
}

/* ---------- CARDS ---------- */

.card{

    background:white;

    border-radius:10px;

    padding:30px;

    margin-bottom:30px;

    box-shadow:0 4px 12px rgba(0,0,0,.15);

}

.card h2{

    color:#b30000;

    border-bottom:3px solid #b30000;

    padding-bottom:10px;

    margin-bottom:20px;

}

.grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:25px;

}

/* ---------- NEWSLETTERS ---------- */

.newsletter{
    background:#fff;
    padding:20px;
    margin-bottom:20px;
    border-left:6px solid #b30000;
    border-radius:8px;
    box-shadow:0 3px 10px rgba(0,0,0,.15);
}

.newsletter h3{
    margin-top:0;
    color:#b30000;
}

.newsletter p{
    margin:10px 0 15px;
}

/* ---------- BUTTONS ---------- */

.button{

    display:inline-block;

    background:#b30000;

    color:white;

    text-decoration:none;

    padding:12px 22px;

    border-radius:6px;

    font-weight:bold;

    transition:.3s;

}

.button:hover{

    background:#880000;

}

/* ---------- TABLES ---------- */

table{

    width:100%;

    border-collapse:collapse;

}

th{

    background:#b30000;

    color:white;

}

th,
td{

    border:1px solid #ddd;

    padding:12px;

}

/* ---------- FOOTER ---------- */

footer{

    margin-top:40px;

    background:#222;

    color:white;

    text-align:center;

    padding:20px;

}

/* ---------- MOBILE ---------- */

@media (max-width:700px){

header{

    flex-direction:column;

}

.logo{

    width:100px;

}

nav ul{

    flex-direction:column;

}

.login{

    margin-left:0;

}

}