.event-main { margin-top: 2rem; }
.event-heading-row,.event-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem; }
.event-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:1.5rem; }
.event-card { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 10px 30px rgba(0,40,140,.09); }
.event-card-body { padding:1.25rem; }
.event-card h2 { margin-bottom:.7rem; color:var(--blue); line-height:1.25; }
.event-card h2 a { color:inherit; }
.event-list-image { display:block; width:100%; height:190px; object-fit:cover; }
.event-logo { max-width:150px; max-height:64px; object-fit:contain; object-position:left center; margin-bottom:.8rem; }
.event-hero-image { display:block; width:100%; max-height:420px; object-fit:cover; border-radius:10px; margin-bottom:1.5rem; }
.event-detail-logo { max-width:210px; max-height:100px; object-fit:contain; }
.event-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:.75rem; margin:0 0 1.5rem; }
.event-facts div { padding:.85rem 1rem; background:#f8fbfc; border-left:4px solid var(--turquoise); border-radius:7px; }
.event-facts dt { color:var(--muted); font-size:.86rem; font-weight:700; }
.event-facts dd { margin:0; color:var(--navy); font-weight:700; }
.event-description { margin:1.5rem 0; overflow-wrap:anywhere; }
.event-description a { word-break:break-word; }
.event-contact,.event-registration { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--line); }
.event-contact h2,.event-registration h2 { color:var(--blue); }
.empty-state { padding:1rem; background:#f8fbfc; border-radius:7px; }
.table-scroll { overflow-x:auto; }
.admin-events table { width:100%; border-collapse:collapse; }
.admin-events th,.admin-events td { padding:.75rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.admin-events th { color:#fff; background:var(--navy); }
.admin-image-preview { display:block; width:auto; max-width:220px; max-height:120px; margin:.4rem 0; object-fit:contain; }
@media(max-width:720px){.event-heading-row,.event-title-row{display:block}.event-heading-row .button{margin-bottom:1rem}.event-detail-logo{margin-bottom:1rem}.admin-events th,.admin-events td{min-width:140px}}

.event-registration h2 { overflow-wrap:anywhere; }

/* Compact public event cards: keep the 190px list image and use the width below it. */
.event-grid { grid-template-columns:minmax(0,1fr); }
.event-card-body { padding:.75rem .9rem; }
.event-card-heading { display:flex; align-items:center; justify-content:space-between; gap:.75rem; min-width:0; }
.event-card-heading h2 { min-width:0; margin:0; font-size:1.08rem; line-height:1.2; }
.event-card-heading h2 a { overflow-wrap:anywhere; }
.event-card-heading .status-badge { flex:0 0 auto; min-height:1.8rem; padding:.25rem .55rem; font-size:.76rem; }
.event-card-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.25rem .9rem; margin:.45rem 0; }
.event-card-meta > div { display:flex; min-width:0; gap:.3rem; align-items:baseline; }
.event-card-meta dt { flex:0 0 auto; color:var(--muted); font-size:.78rem; font-weight:700; }
.event-card-meta dd { min-width:0; margin:0; color:var(--navy); font-size:.85rem; font-weight:600; overflow-wrap:anywhere; }
.event-card-actions { margin-top:.4rem; gap:.5rem; }
.event-card-actions .btn { min-height:2rem; padding:.38rem .75rem; font-size:.82rem; }
.event-registered-state { min-height:2rem; padding:.25rem .6rem; font-size:.78rem; }
.status-warning { color:#694100; background:#fff4ce; }
@media(max-width:520px) {
  .event-card-body { padding:.75rem; }
  .event-card-heading { align-items:flex-start; }
  .event-card-heading h2 { font-size:1rem; }
  .event-card-heading .status-badge { max-width:46%; white-space:normal; }
  .event-card-meta { grid-template-columns:minmax(0,1fr); gap:.3rem; }
  .event-card-actions { flex-wrap:wrap; }
}