/* Minimal styling for roster card/table (kept lightweight) */
.lions-roster-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  padding:16px;
  margin:18px 0;
}
.lions-roster-card h3{margin:0 0 12px;}
.lions-roster-table{width:100%;border-collapse:collapse;}
.lions-roster-table th,.lions-roster-table td{border-bottom:1px solid #eee;padding:10px;text-align:left;vertical-align:top;}
.lions-roster-muted{opacity:.75;font-size:13px;}
.lions-roster-input{width:100%;max-width:520px;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.15);}
.lions-roster-select{width:100%;max-width:520px;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.15);background:#fff;}
.lions-roster-btn{display:inline-block;padding:10px 14px;border-radius:12px;border:0;background:#0b5cff;color:#fff !important;text-decoration:none;cursor:pointer;font-weight:800;}
.lions-roster-btn:hover{opacity:.92;}
.lions-roster-btn-sm{display:inline-block;padding:6px 10px;border-radius:10px;border:1px solid #0b5cff;background:#0b5cff;color:#fff !important;text-decoration:none;cursor:pointer;font-weight:700;font-size:13px;}
.lions-roster-danger{background:#dc2626;border-color:#dc2626;}

/* Slot volunteers list */
.lions-roster-vol-ul{margin:0;padding-left:18px;}
.lions-roster-vol-ul li{margin:0 0 4px;}
.lions-roster-open{opacity:.65;font-style:italic;}

@media (max-width: 720px){
  .lions-roster-table thead{display:none;}
  .lions-roster-table, .lions-roster-table tbody, .lions-roster-table tr, .lions-roster-table td{display:block;width:100%;}
  .lions-roster-table tr{border-bottom:1px solid #eee;padding:10px 0;}
  .lions-roster-table td{border:0;padding:6px 10px;}
}


/* ------------------------------------------------------------
 * Public events list + front-end event form
 * ------------------------------------------------------------ */
.lions-events-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  padding:16px;
  margin:18px 0;
}
.lions-events-form label{display:block;margin:0 0 6px;}
.lions-events-textarea{
  width:100%;
  max-width:820px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.15);
}
.lions-events-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:10px;
  margin-top:10px;
  max-width:820px;
}
.lions-events-grid input{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.15);
}
.lions-events-select{
  width:100%;
  max-width:340px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.15);
  background:#fff;
}
.lions-events-hr{
  border:0;
  border-top:1px solid rgba(0,0,0,.10);
  margin:18px 0;
}
.lions-events-notice{
  padding:10px 12px;
  border-radius:12px;
  margin:10px 0 14px;
  font-weight:600;
}
.lions-events-notice.success{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.25);}
.lions-events-notice.error{background:rgba(220,38,38,.10);border:1px solid rgba(220,38,38,.25);}

/* Public events list items */
.lions-events-list{display:flex;flex-direction:column;gap:12px;}
.lions-event-item{
  display:flex;
  gap:12px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:12px;
}
.lions-event-thumb img{border-radius:12px;display:block;max-width:220px;height:auto;}
.lions-event-body{flex:1;min-width:0;}
.lions-event-title{margin:0 0 4px;font-size:18px;line-height:1.2;}
.lions-event-title a{text-decoration:none;}
.lions-event-meta{opacity:.8;font-size:13px;margin:0 0 6px;}
.lions-event-excerpt{opacity:.92;line-height:1.35;}

@media (max-width: 900px){
  .lions-events-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 640px){
  .lions-event-item{flex-direction:column;}
  .lions-event-thumb img{max-width:100%;}
}
