
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#111;color:#222}
header{background:#000;color:#fff;padding:18px 0}
.container{max-width:1100px;margin:auto;padding:0 20px}
nav a{color:#fff;margin-right:20px;text-decoration:none;font-weight:bold}
.hero{position:relative}
.hero img{width:100%;height:500px;object-fit:cover;filter:brightness(60%)}
.hero-text{position:absolute;bottom:40px;left:40px;color:#fff}
h1{font-size:48px;margin:0}
.btn{display:inline-block;margin-top:15px;padding:12px 18px;background:#8b5a2b;color:#fff;text-decoration:none;border-radius:6px}
section{padding:50px 0;background:#fff}
footer{background:#000;color:#fff;text-align:center;padding:30px 0;margin-top:40px}


/* Events */
.section-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
}
.link{ color:#111; text-decoration:underline; font-weight:600; }
.muted{ opacity:0.75; }

.events-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap:18px;
  margin-top:14px;
}
.event-card{
  border:1px solid #eee;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow: 0 2px 14px rgba(0,0,0,0.04);
}
.event-poster img{
  width:100%;
  height:auto;
  display:block;
  background:#111;
}
.event-body{ padding:14px; }
.event-date{ font-weight:700; letter-spacing:0.2px; opacity:0.85; }
.event-title{ margin:8px 0 2px; }
.event-subtitle{ opacity:0.8; margin-bottom:8px; }
.event-meta{ opacity:0.75; font-size:0.95rem; }
.event-desc{ margin:10px 0 12px; opacity:0.9; }
.event-actions{ display:flex; gap:10px; flex-wrap:wrap; }

.btn.small{ padding:10px 12px; font-size:0.95rem; }
.btn.outline{
  background:transparent;
  border:2px solid #111;
  color:#111;
}
.btn.small.outline{ border-width:2px; }

.event-full{ padding:18px 0; border-top:1px solid #eee; }
.event-full-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:16px;
}
.event-full-poster{
  width:100%;
  max-width:520px;
  border-radius:14px;
  border:1px solid #eee;
  background:#111;
}
@media (min-width: 860px){
  .event-full-grid{ grid-template-columns: 520px 1fr; align-items:start; }
}
.event-date.big{ font-size:1.05rem; }
.event-title.big{ font-size:2rem; margin-top:6px; }
.event-subtitle.big{ font-size:1.1rem; }
.event-meta.big{ font-size:1rem; }


/* Event availability badges */
.availability-badge{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  font-weight:700;
  font-size:0.85rem;
  border:1px solid rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.08);
}
.availability-low{ background: rgba(255, 77, 77, 0.14); border-color: rgba(255, 77, 77, 0.35); }
.availability-medium{ background: rgba(255, 170, 0, 0.14); border-color: rgba(255, 170, 0, 0.35); }
.availability-high{ background: rgba(0, 200, 120, 0.14); border-color: rgba(0, 200, 120, 0.35); }

.event-subtitle{ margin-top:4px; opacity:0.85; font-weight:600; }
.event-availability{ margin-top:10px; }
.featured-subtitle{ margin-top:6px; opacity:0.9; font-weight:700; }
.featured-availability{ margin-top:12px; }
.upcoming-avail .availability-badge{ margin-left:10px; }

