
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --gold:#C9A84C;--gold-light:#E2C26A;--gold-dark:#8B6914;
  --crimson:#7A0000;--dark:#0a0a0a;--dark2:#0f0505;--dark3:#140808;
  --text:#F0E6CC;--muted:#9A8060;--subtle:#6B5A40;
  --border:rgba(201,168,76,0.15);
  --c-worship:#C9A84C;--c-bible:#4A90D9;--c-youth:#5DBD75;
  --c-outreach:#E8923A;--c-special:#9B7ED4;--c-prayer:#4ABFBE;--c-other:#9A8060;
}
html{scroll-behavior:smooth;}
body{font-family:'Lato',sans-serif;background:var(--dark);color:var(--text);overflow-x:hidden;min-height:100vh;}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:#0a0a0a;}
::-webkit-scrollbar-thumb{background:var(--gold-dark);border-radius:3px;}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:100;height:80px;display:flex;align-items:center;padding:0 40px;justify-content:space-between;background:rgba(8,0,0,0.95);backdrop-filter:blur(18px);border-bottom:1px solid rgba(201,168,76,0.2);}
.logo-wrap{display:flex;align-items:center;gap:12px;text-decoration:none;}
.logo-text p:first-child{font-family:'Cinzel',serif;font-size:13px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-light);line-height:1.3;}
.logo-text p:last-child{font-family:'Cinzel',serif;font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);line-height:1.3;}
nav{display:flex;align-items:center;gap:28px;}
.nav-link{font-family:'Cinzel',serif;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--text);text-decoration:none;transition:color 0.3s;position:relative;}
.nav-link::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.3s;}
.nav-link:hover,.nav-link.active{color:var(--gold-light);}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1);}
.btn-contact{padding:8px 18px;background:var(--crimson);color:var(--gold-light);font-family:'Cinzel',serif;font-size:10px;letter-spacing:0.18em;text-transform:uppercase;border:1px solid var(--gold);border-radius:2px;text-decoration:none;transition:all 0.3s;}
.btn-contact:hover{background:var(--gold);color:var(--crimson);}
.hamburger{display:none;width:36px;height:36px;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text);font-size:20px;}

/* HERO */
.page-hero{padding-top:80px;min-height:200px;display:flex;align-items:center;background:linear-gradient(135deg,#0f0505 0%,#1a0800 25%,#140808 60%,#08080f 100%);position:relative;overflow:hidden;}
.hero-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(201,168,76,0.04) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(122,0,0,0.06) 0%,transparent 40%);}
.hero-line{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,rgba(201,168,76,0.4),transparent);}
.hero-content{position:relative;z-index:2;padding:40px 0 44px;width:100%;}
.container{max-width:1240px;margin:0 auto;padding:0 32px;}
.breadcrumb{display:flex;align-items:center;gap:8px;font-family:'Cinzel',serif;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;margin-bottom:16px;}
.breadcrumb a{color:var(--muted);text-decoration:none;transition:color 0.2s;}
.breadcrumb a:hover{color:var(--gold-light);}
.breadcrumb .sep{color:var(--subtle);}
.breadcrumb .cur{color:var(--gold-light);}
.page-title{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,5vw,64px);font-weight:300;color:var(--text);line-height:1.05;}
.page-title em{font-style:italic;color:var(--gold-light);}
.page-sub{font-family:'Cormorant Garamond',serif;font-size:17px;font-style:italic;color:rgba(240,230,204,0.6);margin-top:8px;}

/* FILTER PILLS */
.filter-bar{position:sticky;top:80px;z-index:50;background:rgba(10,2,2,0.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:12px 0;}
.filter-inner{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:0 32px;max-width:1240px;margin:0 auto;scrollbar-width:none;}
.filter-inner::-webkit-scrollbar{display:none;}
.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:rgba(201,168,76,0.04);color:var(--muted);font-family:'Cinzel',serif;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;transition:all 0.2s;white-space:nowrap;flex-shrink:0;}
.pill:hover{border-color:var(--gold);color:var(--gold-light);}
.pill.active{background:var(--crimson);border-color:var(--gold);color:var(--gold-light);}
.pill-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}

/* LAYOUT */
.events-wrap{max-width:1240px;margin:0 auto;padding:0 32px;}
.events-layout{display:grid;grid-template-columns:280px 1fr;gap:0;min-height:60vh;}

/* SIDEBAR */
.sidebar{padding:28px 24px 28px 0;position:sticky;top:calc(80px + 57px);height:calc(100vh - 140px);overflow-y:auto;border-right:1px solid var(--border);}
.sidebar::-webkit-scrollbar{width:3px;}
.sidebar::-webkit-scrollbar-thumb{background:var(--subtle);}
.section-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:block;}

/* MINI CALENDAR */
.mini-cal{margin-bottom:30px;}
.cal-nav-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.cal-nav-btn{background:none;border:1px solid var(--border);border-radius:2px;color:var(--muted);width:28px;height:28px;cursor:pointer;font-size:14px;transition:all 0.2s;display:flex;align-items:center;justify-content:center;}
.cal-nav-btn:hover{border-color:var(--gold);color:var(--gold-light);}
.cal-month-label{font-family:'Cinzel',serif;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.cal-day-hdr{font-family:'Cinzel',serif;font-size:9px;letter-spacing:0.1em;color:var(--subtle);text-align:center;padding:4px 0;}
.cal-day{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12px;color:rgba(240,230,204,0.45);border-radius:2px;transition:all 0.15s;}
.cal-day.has-event{color:var(--text);cursor:pointer;}
.cal-day.has-event:hover{background:rgba(201,168,76,0.1);}
.cal-day.today{background:rgba(122,0,0,0.45);color:var(--gold-light);font-weight:700;}
.cal-day.selected{background:var(--crimson);color:var(--gold-light);}
.cal-day.past{opacity:0.3;}
.event-dot{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:4px;height:4px;background:var(--gold);border-radius:50%;}

/* QUICK LIST */
.quick-list{display:flex;flex-direction:column;gap:8px;}
.quick-item{padding:10px 12px;background:rgba(201,168,76,0.03);border:1px solid var(--border);border-radius:2px;cursor:pointer;transition:all 0.2s;}
.quick-item:hover{border-color:rgba(201,168,76,0.35);}
.quick-date{font-family:'Cinzel',serif;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:3px;}
.quick-title{font-family:'Lato',sans-serif;font-size:12px;color:var(--text);line-height:1.4;}

/* MAIN AREA */
.events-main{padding:28px 0 28px 28px;}
.results-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.results-count{font-family:'Cinzel',serif;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);}
.results-count span{color:var(--gold-light);}
.view-btns{display:flex;gap:4px;}
.view-btn{width:32px;height:32px;background:rgba(201,168,76,0.04);border:1px solid var(--border);border-radius:2px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);font-size:14px;transition:all 0.2s;}
.view-btn.active,.view-btn:hover{background:var(--crimson);border-color:var(--gold);color:var(--gold-light);}

/* MONTH DIVIDER */
.month-divider{display:flex;align-items:center;gap:12px;margin:24px 0 14px;font-family:'Cinzel',serif;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);}
.month-divider::after{content:'';flex:1;height:1px;background:linear-gradient(to right,rgba(201,168,76,0.3),transparent);}

/* EVENT GRID CARDS */
.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;}
.event-card{background:rgba(201,168,76,0.03);border:1px solid var(--border);border-radius:2px;overflow:hidden;transition:all 0.3s;cursor:pointer;}
.event-card:hover{border-color:rgba(201,168,76,0.35);background:rgba(201,168,76,0.06);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.4);}
.card-accent{height:3px;width:100%;}
.card-body{padding:16px;}
.card-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:20px;font-family:'Cinzel',serif;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:8px;border:1px solid;}
.card-date{font-family:'Cinzel',serif;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:5px;}
.card-title{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;color:var(--text);line-height:1.25;margin-bottom:7px;}
.card-desc{font-family:'Lato',sans-serif;font-size:13px;color:rgba(240,230,204,0.6);line-height:1.55;margin-bottom:12px;}
.card-meta{display:flex;flex-direction:column;gap:3px;font-family:'Lato',sans-serif;font-size:12px;color:var(--muted);}
.card-footer{padding:10px 16px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.btn-details{font-family:'Cinzel',serif;font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);background:none;border:none;cursor:pointer;transition:color 0.2s;}
.btn-details:hover{color:var(--gold-light);}
.featured-tag{font-family:'Cinzel',serif;font-size:8px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-dark);background:rgba(201,168,76,0.1);border:1px solid rgba(201,168,76,0.2);padding:2px 7px;border-radius:10px;}

/* EVENT LIST */
.event-list{display:flex;flex-direction:column;gap:8px;}
.event-list-item{display:flex;align-items:stretch;background:rgba(201,168,76,0.03);border:1px solid var(--border);border-radius:2px;overflow:hidden;transition:all 0.25s;cursor:pointer;}
.event-list-item:hover{border-color:rgba(201,168,76,0.35);background:rgba(201,168,76,0.05);}
.list-accent{width:4px;flex-shrink:0;}
.list-date-col{width:68px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 6px;border-right:1px solid var(--border);}
.list-day{font-family:'Cinzel',serif;font-size:22px;font-weight:600;color:var(--gold-light);line-height:1;}
.list-month{font-family:'Cinzel',serif;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin-top:2px;}
.list-body{flex:1;padding:12px 14px;}
.list-title{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--text);line-height:1.2;margin-bottom:4px;}
.list-meta{display:flex;align-items:center;gap:12px;font-family:'Lato',sans-serif;font-size:12px;color:var(--muted);flex-wrap:wrap;}
.list-right{display:flex;align-items:center;padding:12px 14px 12px 0;}
.list-badge{font-family:'Cinzel',serif;font-size:8px;letter-spacing:0.12em;text-transform:uppercase;padding:3px 8px;border-radius:10px;border:1px solid;white-space:nowrap;}

/* EMPTY STATE */
.empty-state{text-align:center;padding:60px 32px;}
.empty-icon{font-size:36px;margin-bottom:12px;opacity:0.35;}
.empty-title{font-family:'Cinzel',serif;font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.empty-text{font-family:'Lato',sans-serif;font-size:13px;color:var(--subtle);}

/* MODAL */
.modal-backdrop{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,0.82);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity 0.3s;}
.modal-backdrop.open{opacity:1;pointer-events:auto;}
.modal{background:#0f0505;border:1px solid rgba(201,168,76,0.3);border-radius:4px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,0.7);}
.modal-top{padding:0 24px 0;}
.modal-close-row{display:flex;justify-content:flex-end;padding:16px 0 8px;}
.modal-close{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;transition:color 0.2s;line-height:1;padding:4px;}
.modal-close:hover{color:var(--gold-light);}
.modal-accent-bar{height:3px;margin-bottom:18px;}
.modal-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-family:'Cinzel',serif;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:10px;border:1px solid;}
.modal-title{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;color:var(--text);line-height:1.2;margin-bottom:20px;}
.modal-body{padding:0 24px 24px;}
.modal-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;padding:14px;background:rgba(201,168,76,0.03);border:1px solid var(--border);border-radius:2px;}
.modal-meta-item strong{display:block;font-family:'Cinzel',serif;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);font-weight:400;margin-bottom:3px;}
.modal-meta-item span{font-family:'Lato',sans-serif;font-size:13px;color:var(--muted);}
.modal-desc{font-family:'Lato',sans-serif;font-size:14px;color:rgba(240,230,204,0.72);line-height:1.65;margin-bottom:20px;}
.modal-photos{margin-bottom:20px;}
.modal-photos-head{font-family:'Cinzel',serif;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.modal-photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;}
.modal-photo{display:block;aspect-ratio:1;overflow:hidden;border-radius:2px;background:rgba(201,168,76,0.06);}
.modal-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.modal-photo:hover img{transform:scale(1.06);}
.modal-actions{display:flex;gap:10px;}
.btn-join-zoom{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;background:var(--crimson);border:1px solid var(--gold);border-radius:2px;color:var(--gold-light);font-family:'Cinzel',serif;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all 0.3s;}
.btn-join-zoom:hover{background:var(--gold);color:var(--crimson);}
.btn-share{padding:11px 16px;background:transparent;border:1px solid var(--border);border-radius:2px;color:var(--muted);font-family:'Cinzel',serif;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;cursor:pointer;transition:all 0.3s;}
.btn-share:hover{border-color:var(--gold);color:var(--gold);}

/* FOOTER */
footer{background:#080000;border-top:1px solid rgba(201,168,76,0.18);padding:26px 0;}
.footer-inner{max-width:1240px;margin:0 auto;padding:0 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;}
.footer-info{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.footer-sep{color:rgba(201,168,76,0.25);}
.footer-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);margin-right:6px;}
.footer-value{font-family:'Lato',sans-serif;font-size:13px;color:#D4C4A0;}
.footer-value a{color:#D4C4A0;text-decoration:none;}
.footer-value a:hover{color:var(--gold-light);}
.footer-copy{font-family:'Cinzel',serif;font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:var(--subtle);}

@media(max-width:900px){
  header{padding:0 20px;}
  header nav{display:none;}
  .hamburger{display:flex;}
  .events-wrap{padding:0 16px;}
  .events-layout{grid-template-columns:1fr;}
  .sidebar{position:static;height:auto;padding:20px 0;border-right:none;border-bottom:1px solid var(--border);}
  .events-main{padding:20px 0;}
  .container{padding:0 20px;}
  .filter-inner{padding:0 16px;}
  .events-grid{grid-template-columns:1fr;}
  .footer-inner{padding:0 20px;}
}
@media(max-width:600px){
  .modal-meta{grid-template-columns:1fr;}
}
#logoCanvas{width:64px;height:64px;filter:drop-shadow(0 0 8px rgba(201,168,76,0.4));transition:transform 0.3s;}
.logo-wrap:hover #logoCanvas{transform:scale(1.05);}
