/* Dimensions and breakpoints follow Roblox's public VirtualEventDetails styles. */
.event-page main{max-width:1368px;padding:0 24px;background:var(--bg)}
.event-page .page-heading{display:none}
.event-detail{margin:0 24px 56px;color:var(--text)}
.event-detail-hero{display:grid;grid-template-columns:266px minmax(0,1fr);align-items:end;gap:24px;padding-top:112px}
.event-detail-thumbnail{position:relative;width:266px;aspect-ratio:16/9;background:var(--surface);border-radius:6px;box-shadow:0 30px 15px -20px #0008}
.event-detail-thumbnail>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:6px}
.event-detail-thumbnail .event-time{top:12px;left:12px;max-width:calc(100% - 24px);height:24px;display:flex;align-items:center}
.event-detail-heading h1{font-size:40px;font-weight:800;line-height:43px;margin:0 0 8px;overflow-wrap:anywhere}
.event-detail-subtitle{font-size:18px;line-height:24px;font-weight:500;margin:0 0 8px}
.event-detail-date{font-size:16px;line-height:22px;color:var(--muted);margin:0 0 12px}
.event-detail-actions{display:flex;gap:20px;align-items:center}
.event-detail-action{width:224px;min-height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;background:var(--text);color:var(--bg)}
.event-detail-action.live{background:#335fff;color:#fff}
.event-detail-action:hover{filter:brightness(.93)}
.event-share{width:36px;height:36px;padding:4px;flex-shrink:0;color:var(--text)}
.event-share svg{display:block;width:28px;height:28px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.event-detail-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:48px;row-gap:16px;margin-top:36px;align-items:start}
.event-detail-copy,.event-detail-visual{display:flex;flex-direction:column;gap:16px;min-width:0}
.event-detail-body h2{font-size:20px;line-height:28px;margin:0 0 12px;font-weight:700}
.event-participants,.event-detail-description,.event-detail-experience,.event-game-unavailable{grid-column:1}
.event-detail-description p{font-size:16px;line-height:23px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.event-detail-experience a{display:flex;flex-direction:column;gap:12px;width:150px;max-width:100%}
.event-detail-experience a>div{aspect-ratio:1;background:var(--surface);border-radius:8px;overflow:hidden}
.event-detail-experience img{display:block;object-fit:cover;width:100%;height:100%}
.event-detail-experience strong{font-size:16px;line-height:22px;font-weight:500}
.event-detail-experience a:hover strong,.event-detail-host a:hover{text-decoration:underline}
.event-detail-media{grid-column:2;grid-row:1 / span 3;position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:var(--surface)}
.event-gallery-image{width:100%;height:100%}
.event-gallery-image img{display:block;width:100%;height:100%;object-fit:cover}
.event-gallery-controls{position:absolute;inset:auto 12px 12px;display:flex;justify-content:space-between;align-items:center;color:#fff}
.event-gallery-controls button{border-radius:50%;width:40px;height:40px;background:#0009;color:#fff;font-size:26px;line-height:1}
.event-gallery-controls span{padding:4px 8px;border-radius:12px;background:#0009;font-size:12px}
.event-detail-host{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;padding-top:20px;border-top:1px solid var(--border)}
.event-detail-host h2{font-size:16px;line-height:22px;margin:0;white-space:nowrap}
.event-detail-host>div{display:flex;justify-content:flex-end;align-items:center;gap:8px;min-width:0;font-size:16px;line-height:22px}
.event-detail-host img{width:24px;height:24px;object-fit:cover;border-radius:50%}
.event-detail-host a{overflow-wrap:anywhere}
.event-detail-error{padding:64px 0;text-align:center}
.event-detail-error h1{font-size:28px;margin:0 0 16px}
.event-detail-error p{color:var(--muted);margin-bottom:24px}
.event-detail-error button,.event-share-field button{border-radius:8px;background:#335fff;color:#fff;padding:10px 16px;font-weight:600}
.event-detail-error>a{margin-left:20px}
.event-share-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100vh - 32px);padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text)}
.event-share-dialog::backdrop{background:#0008}
.event-share-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.event-share-header h2{font-size:22px;line-height:28px;margin:0}
.event-share-header button{width:32px;height:32px;font-size:28px;color:var(--text)}
.event-share-dialog>p{margin:16px 0 24px;color:var(--muted);font-size:16px;line-height:22px}
.event-share-field{display:flex;gap:12px}
.event-share-field input{width:100%;min-width:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding:8px;font:inherit}
.event-share-dialog .event-share-status{margin-bottom:0;min-height:22px}
@media(max-width:1024px){
  .event-page main{padding:0 12px}
  .event-detail{margin:0 12px 128px}
  .event-detail-hero{grid-template-columns:178px 1fr;gap:24px;padding-top:64px;align-items:start}
  .event-detail-thumbnail{width:178px;grid-column:1;grid-row:1}
  .event-detail-heading{grid-column:1 / -1;grid-row:2}
  .event-detail-heading h1{font-size:36px;line-height:43px}
  .event-detail-actions{position:fixed;z-index:30;bottom:0;left:0;right:0;padding:20px;background:var(--bg);border-top:1px solid var(--border)}
  .event-detail-action{order:2;width:100%}
  .event-share{order:1}
  .event-detail-body{display:flex;flex-direction:column;align-items:stretch;gap:36px;margin-top:24px}
  .event-detail-copy,.event-detail-visual{display:contents}
  .event-detail-body>section{width:100%}
  .event-participants{order:0}
  .event-detail-media{order:1;flex:none}
  .event-detail-description{order:2}
  .event-detail-experience{order:3}
  .event-detail-host{order:4}
}
@media(max-width:480px){
  .event-detail-heading h1{font-size:32px;line-height:38px}
  .event-detail-date{font-size:14px;line-height:21px}
  .event-detail-host{align-items:flex-start}
  .event-detail-host>div{font-size:14px;line-height:20px}
  .event-share-dialog{padding:20px}
}
