/* Mobile-first custom styles */
:root{
  --cookie-bg: rgba(0,0,0,0.9);
}
html,body{height:100%;}
body{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
}

/* construction banner sits at top and is full-width */
#construction-banner{
  position:sticky;
  top:0;
  z-index:1030; /* above content but below modals */
}

/* cookie consent fixed bottom on small screens */
.cookie-consent{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:1050;
  align-items:center;
  text-align:center;
  justify-content:center;
}

.cookie-consent .fw-bold{
  font-weight:700 !important;
  font-size:1.1rem;
}

.cookie-consent .small{
  font-weight:500;
}

@media(min-width:768px){
  .cookie-consent{padding:1rem 2rem;}
}

/* keep main content from hiding under fixed cookie bar on small screens */
main{padding-bottom:4.5rem;} /* leave room for cookie bar */

/* small visual tweaks */
.navbar-brand{font-weight:600;}
.card-title{font-weight:600}

/* Calendar styles */
.calendar-container {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
  padding: 1.5rem;
