
:root{
  --bg:#0a1424;
  --bg-soft:#111f35;
  --panel:#12223b;
  --panel-2:#162a46;
  --text:#edf3ff;
  --muted:#a8b4ca;
  --accent:#d4af37;
  --accent-2:#93c5fd;
  --border:rgba(255,255,255,.08);
}

html,body{background:linear-gradient(180deg,#08111f 0%,#0b1728 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif}
h1,h2,h3,.brand-title{font-family:"Libre Baskerville", Georgia, serif}
a{color:#c4defd}
a:hover{color:#fff}
.py-lg-6{padding-top:5rem!important;padding-bottom:5rem!important}
.site-navbar{backdrop-filter:blur(14px);background:rgba(8,17,31,.82);border-bottom:1px solid var(--border)}
.brand-logo{height:54px;width:auto}
.brand-title{font-size:1.2rem;line-height:1.1}
.brand-subtitle{font-size:.76rem;color:var(--muted)}
.btn-brand{background:linear-gradient(135deg,var(--accent),#f5d979);border:0;color:#111827;font-weight:700}
.btn-brand:hover{color:#111827;filter:brightness(1.03)}
.hero-section{position:relative}
.eyebrow{display:inline-block;letter-spacing:.16em;text-transform:uppercase;font-weight:700;font-size:.75rem;color:var(--accent)}
.lead,.text-secondary{color:var(--muted)!important}
.stat-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.stat-card,.content-card,.lodge-card{background:linear-gradient(180deg,rgba(18,34,59,.94),rgba(11,24,42,.94));border:1px solid var(--border);border-radius:1.25rem;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.stat-card{padding:1.5rem}
.stat-label{color:var(--muted);font-size:.9rem}
.stat-value{font-size:2rem;font-weight:800}
.content-card{padding:1.5rem}
.district-tabs .nav-link{border-radius:999px;border:1px solid var(--border);color:var(--text);background:rgba(255,255,255,.03)}
.district-tabs .nav-link.active{background:var(--accent);color:#101828;border-color:transparent;font-weight:700}
.calendar-shell,.map-frame{background:#fff;border-radius:1rem;overflow:hidden}
.calendar-shell iframe,.map-frame iframe{display:block;max-width:100%}
.filter-bar{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:1rem;padding:1rem}
.lodge-card{padding:1.5rem;position:relative}
.lodge-number{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;height:3rem;padding:0 .9rem;border-radius:999px;background:rgba(212,175,55,.14);border:1px solid rgba(212,175,55,.35);font-weight:800;color:var(--accent)}
.feature-list{margin:0;padding-left:1.2rem}
.feature-list li{margin-bottom:.75rem;color:var(--muted)}
.site-footer{border-top:1px solid var(--border);background:rgba(5,11,20,.5)}
.form-control,.form-select{background:#0d1a2e;border:1px solid rgba(255,255,255,.12);color:var(--text)}
.form-control:focus,.form-select:focus{background:#0d1a2e;color:var(--text);border-color:var(--accent-2);box-shadow:0 0 0 .25rem rgba(147,197,253,.12)}
.form-check-input{background-color:#0d1a2e;border-color:rgba(255,255,255,.2)}
.form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}
.table{--bs-table-bg:transparent;--bs-table-border-color:rgba(255,255,255,.08)}
.alert{border-radius:1rem}
@media (max-width:991.98px){
  .stat-grid{grid-template-columns:1fr}
  .brand-logo{height:46px}
}

/* Google calendar legacy embed compatibility */
.responsive-iframe-container{position:relative;width:100%;overflow:hidden}
.responsive-iframe-container iframe{display:block;width:100%!important;max-width:100%}
.hidden-phone{display:block!important}
.visible-phone{display:none!important}
@media (max-width: 767.98px){
  .hidden-phone{display:none!important}
  .visible-phone{display:block!important}
}

.homepage-hero{
  padding-top: 1.5rem !important;
}

.hero-panel{
  position: relative;
  padding: 2rem 1.25rem 1.25rem;
  border: 1px solid var(--border);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at top center, rgba(147,197,253,.10), transparent 32%),
    linear-gradient(180deg, rgba(18,34,59,.94), rgba(9,19,34,.96));
  box-shadow: 0 22px 50px rgba(0,0,0,.28);
}

.hero-panel__content{
  max-width: 1120px;
  margin: 0 auto;
}

.hero-title{
  font-size: clamp(2.5rem, 5vw, 4.4rem);
  line-height: 1.03;
  letter-spacing: -.02em;
}

.hero-subtitle{
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.hero-intro{
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1rem;
}

.hero-stats{
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
}

.hero-stat{
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  padding: .8rem 1rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(8px);
}

.hero-stat__value{
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--text);
}

.hero-stat__label{
  font-size: .92rem;
  color: var(--muted);
}

.district-tabs{
  gap: .65rem;
}

.district-tabs .nav-link{
  padding: .8rem 1.2rem;
  font-weight: 600;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.district-tabs .nav-link:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

.district-tabs .nav-link.active{
  box-shadow: 0 10px 22px rgba(212,175,55,.22);
}

.hero-calendar{
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}

@media (max-width: 991.98px){
  .hero-panel{
    padding: 1.5rem 1rem 1rem;
    border-radius: 1.25rem;
  }

  .hero-stats{
    justify-content: center;
  }
}

@media (max-width: 767.98px){
  .homepage-hero{
    padding-top: 1rem !important;
  }

  .hero-title{
    font-size: 2.35rem;
  }

  .hero-subtitle{
    font-size: 1.05rem;
  }

  .hero-intro{
    font-size: .98rem;
  }

  .district-tabs{
    gap: .5rem;
  }

  .district-tabs .nav-link{
    padding: .7rem 1rem;
  }
}

.page-hero--compact{
  padding: 1.5rem 1.25rem;
  border: 1px solid var(--border);
  border-radius: 1.25rem;
  background:
    radial-gradient(circle at top center, rgba(147,197,253,.08), transparent 32%),
    linear-gradient(180deg, rgba(18,34,59,.94), rgba(9,19,34,.96));
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
}

.lodge-card{
  transition: transform .18s ease, box-shadow .18s ease;
}

.lodge-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(0,0,0,.18);
}
.lodge-search-panel{
  padding: 1.25rem;
}

.lodge-search-input-wrap .input-group-text{
  background:#0d1a2e;
  border:1px solid rgba(255,255,255,.12);
  color:var(--muted);
}

.lodge-search-input-wrap .btn{
  border-color:rgba(255,255,255,.12);
}

.lodge-search-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

[data-lodge-card]{
  transition:opacity .18s ease, transform .18s ease;
}

@media (max-width: 991.98px){
  .lodge-search-meta{
    justify-content:flex-start;
  }
}

.quick-filter{
  border-radius: 999px;
  padding: .4rem .85rem;
  line-height: 1.2;
}

.quick-filter.is-active{
  background: rgba(212,175,55,.18);
  border-color: rgba(212,175,55,.45);
  color: var(--text);
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}