
:root{
  --gold-700:#9E7C12;
  --gold-600:#C9A227;
  --gold-500:#D7B552;
  --bg:#0b0f14;
  --fg:#e8eef5;
  --muted:#9fb1c5;
  --card:#111922;
  --line:rgba(148,163,184,.22);
  --shadow:0 12px 30px rgba(0,0,0,.25);
}
html,body{height:100%}
body{margin:0;font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial;color:var(--fg);background:var(--bg);line-height:1.55}
a{color:var(--gold-500);text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:18px 20px}
header{position:sticky;top:0;z-index:50;background:linear-gradient(0deg,var(--gold-600),var(--gold-700));color:#fff;box-shadow:var(--shadow)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:12px}
.logo-img{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#fff}
.site-title{font-weight:700;letter-spacing:.2px}
.site-sub{font-size:12px;opacity:.95}
.menu{display:flex;align-items:center;gap:18px}
.menu a{color:#fff;opacity:.95;font-weight:500}
.menu a:hover{opacity:1;text-decoration:underline}

/* Carousel */
.hero{margin-top:16px}
.carousel{position:relative;overflow:hidden;border-radius:18px;background:#0b0f14;box-shadow:var(--shadow)}
.track{display:flex;transition:transform .8s ease}
.slide{flex:0 0 100%;height:420px;position:relative}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.85)}
.slide .caption{position:absolute;left:18px;bottom:18px;background:rgba(0,0,0,.5);color:#fff;border:1px solid rgba(255,255,255,.25);padding:10px 14px;border-radius:12px}
.dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px}
.dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.55)}
.dot.active{background:#fff}

/* Sections */
section{margin:40px 0}
h1,h2{margin:0 0 10px}
h2{font-size:26px}
.card{background:var(--card);border:1px solid var(--line);padding:18px;border-radius:16px;box-shadow:var(--shadow)}
.muted{color:var(--muted)}

/* Calendar + News */
.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.calendar-frame{border-radius:12px;overflow:hidden;border:1px solid var(--line);height:420px}
.cal-tall{height:620px} /* taller to fit Google Calendar nicely */
.calendar-frame iframe{width:100%;height:100%;display:block;border:0}

.news-list{display:flex;flex-direction:column;gap:14px}
.news-item{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}
.news-item h3{margin:0 0 6px;font-size:16px}
.news-item .date{font-size:12px;color:var(--muted)}

/* Footer */
footer{margin-top:44px;background:linear-gradient(0deg,var(--gold-700),var(--gold-600));color:#fff}
.foot{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:center}
.foot a{color:#fff;opacity:.95}
.foot a:hover{opacity:1;text-decoration:underline}
.social{display:flex;gap:14px;justify-content:center}
.icon{width:22px;height:22px;display:inline-block}
.legal{text-align:right}

/* Events page */
.events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.event-card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.event-card img{width:100%;height:180px;object-fit:cover}
.event-card .body{padding:12px}
.event-card .meta{font-size:12px;color:var(--muted);margin-bottom:8px}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}
.gallery img{width:100%;height:90px;object-fit:cover;border-radius:8px;cursor:pointer}

/* Lightbox */
.lb{position:fixed;inset:0;background:rgba(0,0,0,.8);display:none;align-items:center;justify-content:center;z-index:80}
.lb img{max-width:90vw;max-height:80vh;border-radius:10px;box-shadow:var(--shadow)}
.lb.show{display:flex}

/* Contact map sizing */
.map-frame{height:460px}

/* Responsive */
@media (max-width: 920px){
  .grid-2{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr; text-align:center}
  .legal{text-align:center}
  .menu{gap:12px;flex-wrap:wrap}
  .events-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 600px){
  .events-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
