/* Events page: compact featured story and poster-led listings. */
.page-events .events-hero::before { background-image:url('../img/temp/events-banner.png'); background-position:center 44%; opacity:.68; }
.page-events .events-hero { background:#0b0d0e; }
.page-events .hero .hero-content { max-width:850px; }
.page-events .hero .page-hero-title { max-width:760px; }
.page-events .hero .section-subtitle { max-width:650px; font-size:18px; }
.page-events .featured-event { display:grid; grid-template-columns:1.05fr 1fr!important; align-items:center; margin-bottom:28px; border-color:#383b3d!important; background:#0c0e10!important; }
.page-events .poster-frame { aspect-ratio:16/9; min-width:0; overflow:hidden; }
.page-events .poster-frame img { display:block; width:100%; height:100%; object-fit:contain; }
.page-events .featured-body { padding:24px 30px; min-width:0; }
.page-events .featured-body .eyebrow { margin:0 0 8px; }
.page-events .featured-body h2 { font-family:Inter,sans-serif; font-weight:800; font-size:clamp(26px,2.5vw,38px); line-height:1.12; letter-spacing:-.025em; margin:0 0 12px; text-transform:none; }
.page-events .event-full-date { color:#bdc0c4; font-size:19px; margin:0 0 12px; }
.page-events .event-facts { display:flex; gap:0; padding:10px 0 16px; margin-bottom:12px; border-bottom:1px solid #393b3d; }
.page-events .event-facts>div { flex:1; display:flex; gap:12px; align-items:center; padding:0 15px; border-right:1px solid #454647; }
.page-events .event-facts>div:first-child { padding-left:0; }
.page-events .event-facts>div:last-child { border:0; }
.page-events .event-facts i { color:var(--gold-light); font-size:24px; }
.page-events .event-facts small { display:block; color:#b2b6bc; font-size:12px; margin-bottom:3px; }
.page-events .event-facts span { font-size:14px; }
.page-events .event-preview { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.5; margin:0 0 16px; }
.page-events .event-buttons { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; }
.page-events .event-buttons .btn { min-height:44px; font-size:11px; padding:11px 18px; letter-spacing:.09em; white-space:nowrap; }
.page-events .details-link { background:none; border:0; color:var(--gold-light); font:inherit; font-size:13px; padding:10px 0; cursor:pointer; text-decoration:underline; text-underline-offset:5px; }
.page-events .details-link i { margin-left:8px; }
.page-events .section>.container>.section-title { font-family:Inter,sans-serif; font-size:38px!important; font-weight:800; text-transform:none; margin:0 0 12px; }
.page-events .events-grid { margin-top:20px!important; }
.page-events .event-card { border:1px solid #383b3d; }
.page-events .event-card .card-body { padding:18px; gap:9px; }
.page-events .event-card .event-card-title { font-family:Inter,sans-serif; font-size:21px!important; font-weight:700; text-transform:none; margin:0; }
.page-events .event-card .event-facts { margin:3px 0 6px; padding-bottom:12px; }
.page-events .event-card .event-facts>div { padding:0 9px; gap:7px; }
.page-events .event-card .event-facts>div:first-child { padding-left:0; }
.page-events .event-card .event-facts i { font-size:20px; }
.page-events #eventDialog { width:min(720px,calc(100% - 32px)); max-height:85vh; overflow:auto; padding:28px; color:var(--text); background:#111416; border:1px solid var(--gold); }
.page-events #eventDialog::backdrop { background:rgba(0,0,0,.8); }
.page-events .dialog-close { display:block; margin:0 0 18px auto; padding:10px 14px; color:var(--text); background:transparent; border:1px solid #555; cursor:pointer; }
.page-events #eventDialog h2 { line-height:1.2; }
.page-events #eventDialog .event-description { white-space:pre-wrap; }
.page-events button:focus-visible,.page-events a:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
@media(max-width:900px) {
 .page-events .featured-event { grid-template-columns:1fr!important; }
 .page-events .featured-body { padding:24px; }
}
@media(max-width:620px) {
 .page-events .featured-body { padding:20px; }
 .page-events .section>.container>.section-title { font-size:29px!important; }
 .page-events .event-buttons { flex-wrap:wrap; }
 .page-events .event-facts>div { padding:0 8px; gap:8px; }
}

/* Compact event details: preserve the complete poster and description. */
.page-events #eventDialog {
  box-sizing:border-box;
  width:min(1040px,calc(100% - 32px));
  max-height:calc(100dvh - 40px);
  padding:22px 26px;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:#806d49 #111416;
}
.page-events #eventDialog .dialog-close { margin-bottom:12px; }
.page-events #eventDialogContent {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:"title title" "date date" "poster facts" "poster description";
  gap:12px 26px;
  align-items:start;
}
.page-events #eventDialogTitle { grid-area:title; font-size:24px; line-height:1.2; margin:0; }
.page-events #eventDialogContent>.event-full-date { grid-area:date; font-size:16px; margin:0 0 4px; }
.page-events #eventDialogContent>.poster-frame { grid-area:poster; width:100%; aspect-ratio:auto; background:transparent; }
.page-events #eventDialogContent>.poster-frame img { width:100%; height:auto; max-height:52dvh; object-fit:contain; }
.page-events #eventDialogContent>.event-facts { grid-area:facts; margin:0; padding:0 0 12px; }
.page-events #eventDialogContent>.event-description { grid-area:description; margin:0; font-size:15px; line-height:1.55; overflow-wrap:anywhere; }
@media(max-width:700px) {
  .page-events #eventDialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); padding:18px; }
  .page-events #eventDialogContent { grid-template-columns:minmax(0,1fr); grid-template-areas:"title" "date" "poster" "facts" "description"; gap:12px; }
  .page-events #eventDialogTitle { font-size:21px; }
  .page-events #eventDialogContent>.poster-frame img { max-height:26dvh; }
}

/* Title fitting preserves complete text and readable minimum sizes. */
.page-events .featured-body h2 { overflow-wrap:anywhere; }
@media(max-width:620px) {
  .page-events .featured-body h2 { font-size:clamp(22px,6vw,30px); }
}
