/* =====================================================================
   Event card (Figma 704:8144)
   type:   standard (808 · 20px title · 48px buttons) | compact (420 · 20px title · 40px buttons; Figma 434:15688, 2026-10-22)
   image:  toggle — 188px photo (standard) / 72px thumbnail (compact), on the right
   actions: the Action Strip (action-strip.css, Figma 1748:13977): See more · Add to calendar · Share · Save; Default size on
            Standard and Featured, Compact on Compact cards and on phones. The ⋮ card menu stays at the end of the tag row
            (card-menu.css; opens on click; visible on hover / focus / menu open, always on touch screens).
   dates:   no date on event cards at any breakpoint (update 2026-10-22 §2); time + place stay.
   states: default · hover · pressed · staff pick — same logic as Story cards:
     hover   = no border, deeper shadow, white surface
     pressed = 1px gold border + 3.3px gold ring, pressed surface
     staff   = 2px purple border + highlight, purple tint, purple shadows
   Nothing moves in any state.
   ===================================================================== */
.event-card{position:relative;box-sizing:border-box;display:flex;align-items:center;gap:var(--space-8);width:100%;padding:var(--space-16);
  background:var(--card-bg-default);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);
  box-shadow:var(--shadow-card-rest);
  transition:background-color .25s,border-color .25s,box-shadow .25s}
.event-card:is(:hover,.is-hover,:focus-within){background:var(--card-bg-hover);border-color:transparent;box-shadow:var(--shadow-card-lift)}
.event-card:is(:active,.is-pressed){background:var(--card-bg-hover);border-color:var(--card-ring-pressed);box-shadow:var(--shadow-card-pressed)}

.event-card__date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);flex:none;text-align:center;overflow:hidden;padding-right:var(--space-4)}
.event-card__date p{margin:0}
.event-card__day{font:var(--text-xl);color:var(--text-primary);white-space:nowrap}
.event-card__time{display:flex;gap:var(--space-4);align-items:baseline;font:var(--text-xs);color:var(--card-text-secondary);white-space:nowrap}
.event-card__city{width:100%;font:var(--text-xs);color:var(--card-text-secondary);white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.event-card__divider{align-self:stretch;flex:none;width:1px;background:var(--card-divider);opacity:.5;margin-right:var(--space-4)}

.event-card__content{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-12)}
.event-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-8);width:100%}
.event-card__tags-row{width:100%}
.event-card__title{margin:0;width:100%;font:var(--text-xl);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-card__mmeta{display:none;margin:0;font:var(--text-xs);color:var(--card-text-secondary)}
.event-card__mmeta i{font-style:normal;margin:0 var(--space-8)}
.event-card__actions{display:flex;align-items:center;gap:var(--space-12);width:100%}
.event-card__time{font:var(--text-sm)}

.event-card__media{position:relative;align-self:stretch;flex:none;width:188px;margin-left:var(--space-8);border-radius:var(--radius-sm-md);overflow:hidden;background:var(--image-placeholder)}
.event-card__media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}

/* Compact: 420 wide, 36px divider tick, text-xl title (one line, ellipsis), 40px buttons, 72px thumbnail */
.event-card--compact .event-card__divider{align-self:center;height:36px}
.event-card--compact .event-card__content{gap:var(--space-8)}
.event-card--compact .event-card__title{font:var(--text-xl)}
.event-card--compact .event-card__media{align-self:center;width:72px;height:72px}

/* Staff pick */
.event-card--staff{border:2px solid var(--card-staff-pick-border);padding:15px;background-image:linear-gradient(180deg,color-mix(in srgb,var(--card-staff-pick-tint-start) 10%,transparent) 0%,color-mix(in srgb,var(--card-staff-pick-tint-end) 10%,transparent) 100%);   /* Figma 664:7653: the tint gradient fill is at 10% opacity (purple @40 × 10% = 4%) */background-color:var(--card-bg-default);box-shadow:var(--shadow-staff-pick)}
.event-card--staff:is(:hover,.is-hover,:focus-within){border-color:var(--card-staff-pick-border);box-shadow:0 8px 16px 0 var(--card-staff-pick-shadow-tight),0 8px 24px -8px var(--card-staff-pick-shadow-soft)}
.event-card--staff:is(:active,.is-pressed){border-color:var(--card-staff-pick-border);box-shadow:0 0 var(--elevation-card-pressed-ring-blur) var(--card-border-pressed-width) var(--card-staff-pick-highlight)}

/* Mobile (Figma Device=Mobile): date block + divider fold into a "City • Date • Time" line, "More" gets its label */
@media (max-width:640px){
  .event-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-8);row-gap:var(--space-8);align-items:start}
  .event-card__date,.event-card__divider{display:none}
  .event-card__content{display:contents}
  .event-card__tags-row{grid-column:1}
  .event-card__meta{gap:var(--space-8) var(--space-4)}
  .event-card__title{grid-column:1;white-space:normal}
  .event-card--compact .event-card__title{font:var(--text-xl)}
  .event-card__mmeta{display:block;grid-column:1 / -1}
  .event-card__actions{grid-column:1 / -1;padding-top:var(--space-4)}
  .event-card__media{grid-column:2;grid-row:1 / span 2;align-self:start;margin:0;width:80px;height:80px}
}

/* Same rules, forced, for the components page */
.ds__mobile .event-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-8);row-gap:var(--space-8);align-items:start}
.ds__mobile .event-card--compact,.ds__mobile .event-card--standard{max-width:none}
.ds__mobile .event-card__date,.ds__mobile .event-card__divider{display:none}
.ds__mobile .event-card__content{display:contents}
.ds__mobile .event-card__tags-row{grid-column:1}
.ds__mobile .event-card__meta{gap:var(--space-8) var(--space-4)}
.ds__mobile .event-card__title{grid-column:1;white-space:normal}
.ds__mobile .event-card--compact .event-card__title{font:var(--text-xl)}
.ds__mobile .event-card__mmeta{display:block;grid-column:1 / -1}
.ds__mobile .event-card__actions{grid-column:1 / -1;padding-top:var(--space-4)}
.ds__mobile .action-strip{gap:var(--space-2);padding:var(--space-4)}
.ds__mobile .action-strip .action-strip__btn{width:32px;height:32px;padding:var(--space-6)}
.ds__mobile .action-strip .action-strip__btn svg{width:20px;height:20px;stroke-width:2}
.ds__mobile .event-card__media{grid-column:2;grid-row:1 / span 2;align-self:start;margin:0;width:80px;height:80px}
.event-card--standard .event-card__date{width:104px}

/* Featured (Figma 745:23001): image-led, 644×420 in the hero; fluid width, fixed 420 height.
   Photo + gradient (transparent to 35%, 85% dark from 68%), content bottom-left, Staff Pick flag top-right. */
.event-card--featured{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:0;height:420px;padding:var(--space-24);overflow:hidden;
  background:var(--neutral-900);border:0;color:var(--neutral-0);box-shadow:var(--shadow-card)}
.event-card--featured:is(:hover,.is-hover,:focus-within){background:var(--neutral-900);box-shadow:0 8px 20px rgba(0,0,0,.16)}
.event-card--featured:is(:active,.is-pressed){background:var(--neutral-900);box-shadow:0 0 var(--elevation-card-pressed-ring-blur) var(--card-border-pressed-width) var(--card-ring-pressed)}
.event-card--featured.event-card--staff{border:0;padding:var(--space-24);background-image:none;background-color:var(--neutral-900)}
.event-card__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out,ease)}
.event-card--featured:hover .event-card__photo{transform:scale(1.03)}
.event-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,15,0) 0%,rgba(20,18,15,0) 35%,rgba(20,18,15,.85) 68%,rgba(20,18,15,.85) 100%)}
.event-card__flag{position:absolute;top:var(--space-24);right:var(--space-24)}
.event-card__fcontent{position:relative;display:flex;flex-direction:column;gap:var(--space-12);width:100%}
.event-card--featured .event-card__meta{gap:var(--space-8)}
.event-card--featured .event-card__meta .badge:not(.badge--person){--badge-bg:var(--neutral-900);--badge-border:var(--border-default);--badge-fg:var(--neutral-0)}
.event-card__ftitle{margin:0;font:var(--text-3xl);text-transform:uppercase;color:var(--neutral-0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-card__fdate{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8);margin:0;font:var(--text-base);color:var(--neutral-0);opacity:.8}
.event-card__fdate span{display:inline-flex;align-items:center;gap:var(--space-8)}
.event-card__fdate i{font-style:normal}
.event-card__fdate svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.event-card--featured .event-card__actions{width:auto}
@media (max-width:640px){
  .event-card--featured{display:flex;height:360px;padding:var(--space-16)}
  .event-card__flag{top:var(--space-16);right:var(--space-16)}
  .event-card__ftitle{white-space:normal;font:var(--text-2xl)}
}

/* Event modal (basic): photo, badges, title, date lines, actions */
.modal--event [hidden]{display:none!important}
/* Event side panel (Figma Game Day / Side panel / Full data 1019:29107): 560px drawer on the right, slides in */
.modal--event{justify-content:flex-end;align-items:stretch;padding:0}
.modal--event .event-modal{position:relative;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-24);width:min(560px,100%);height:100%;overflow:auto;padding:var(--space-24);background:var(--surface-default);border-left:1px solid var(--border-default);box-shadow:var(--shadow-card-soft);text-align:left;transform:translateX(32px);transition:transform .35s var(--ease-out)}
.modal--event.is-open .event-modal{transform:none}
.event-modal__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}
.event-modal__title{margin:0;flex:1;min-width:0;font:var(--text-3xl);color:var(--text-primary)}
.event-modal__x{flex:none;border-color:transparent;background:transparent;box-shadow:none}
.event-modal__x:hover{background:var(--surface-elevated);box-shadow:none}
.event-modal__img{display:block;width:100%;height:auto;aspect-ratio:512/288;flex:none;object-fit:cover;border-radius:var(--radius-md);background:var(--image-placeholder)}
.event-modal__when{display:flex;flex-direction:column;gap:var(--space-8)}
.event-modal__datetime{margin:0;font:var(--text-base);color:var(--text-secondary)}
.event-modal__meta{display:flex;flex-wrap:wrap;gap:var(--space-8);align-items:center}
.event-modal__actions{display:flex;flex-wrap:wrap;gap:var(--space-8)}
.event-modal__about,.event-modal__related{display:flex;flex-direction:column;gap:var(--space-8)}
.event-modal__h{margin:0;font:var(--text-lg);color:var(--text-secondary)}
.event-modal__text{margin:0;font:var(--text-base);color:var(--text-primary)}
.event-modal__table{margin:var(--space-8) 0 0;padding:0}
.event-modal__row{display:flex;align-items:center;gap:var(--space-16);padding:var(--space-12) 0;border-bottom:1px solid var(--border-default);font:var(--text-sm)}
.event-modal__row dt{flex:none;width:140px;color:var(--text-secondary)}
.event-modal__row dd{flex:1;min-width:0;min-height:28px;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4);margin:0;color:var(--text-primary)}
.event-modal__row dd i{font-style:normal;color:var(--text-secondary)}
.event-modal__rel .story-card--mini{width:100%}
.event-modal__rel .story-card__actions{display:none}
.modal--event [hidden]{display:none!important}
@media (max-width:640px){.modal--event .event-modal{padding:var(--space-16)}.event-modal__row dt{width:104px}}
.event-modal__rel .story-card--mini{height:145px}
.event-modal__rel .story-card--mini .story-card__media{width:44%;height:100%;flex:none}
.event-modal__rel .story-card--mini .story-card__content{height:100%;padding:var(--space-12) var(--space-16);gap:var(--space-8);justify-content:center;overflow:hidden}
.event-modal__rel .story-card--mini .story-card__title{font:var(--text-xl);min-height:0;-webkit-line-clamp:2}
.event-modal__rel .story-card--mini .story-card__byline{gap:var(--space-12);flex-wrap:nowrap;min-width:0}
.event-modal__rel .story-card--mini .story-card__meta{white-space:nowrap}

/* ---- Watch Guide title panel (Figma 1264:45682) ---- */
.wp-open{display:contents}
.wp-open .video-card{cursor:pointer}
.wp-why{gap:var(--space-8)}
.wp-why__text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.wp-why__text.is-open{-webkit-line-clamp:unset;display:block}
.wp-why__more{align-self:flex-start;padding:0;border:0;background:none;font:var(--text-sm);color:var(--text-secondary);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.wp-editor{display:flex;align-items:center;gap:var(--space-8);margin:0;font:var(--text-xs);color:var(--text-primary)}
.wp-avatar{width:28px;height:28px;flex:none;border-radius:50%;object-fit:cover;border:1px solid var(--border-default);background:var(--neutral-200)}
.wp-table{margin:0}
.wp-table .event-modal__row:first-child{border-top:0}
.wp-watch{gap:var(--space-12)}
.wp-watch .btn__icon{width:16px;height:16px}
.wp-people{gap:var(--space-12);flex-direction:row}
.wp-person{display:flex;align-items:center;gap:var(--space-8)}
.wp-person a{font:var(--text-sm);color:var(--text-primary);text-decoration:none}
.wp-person a:hover{text-decoration:underline}
.wp-sim-row{display:flex;gap:var(--space-16);align-items:flex-start}
.wp-sim-row .wp-sim{flex:1 1 0;min-width:0}
.wp-sim .video-card__actions{display:none}
.wp-sim .video-card{cursor:pointer;width:100%}
.wp-sim .video-card__thumb{aspect-ratio:278/494}
.wp-sim .video-card__img{object-fit:cover}
.event-modal__rel .story-card--mini .author{flex:none;flex-wrap:nowrap}
.event-modal__rel .story-card--mini .author__name{white-space:nowrap}
.event-modal__rel .story-card--mini .story-card__meta{min-width:0;overflow:hidden;text-overflow:ellipsis}
.wp-sim .video-card__title{font:var(--text-card-title);color:var(--text-primary)}

/* Event Card Type=Row (Figma 1817:77283 · State=Live 1817:77290): 56 high row, time (text-sm) | 1×32 divider | title card-title-sm uppercase (1 line) + league
   text-xs secondary. Live: the time in text/link-action. Used in the search panel Games group (.sp-game is the live alias). */
.event-row{display:flex;align-items:center;gap:var(--space-12);box-sizing:border-box;min-height:56px;padding:var(--space-8) var(--space-12);border-radius:var(--radius-md);color:inherit;text-decoration:none}
.event-row:hover{background:var(--surface-selected)}
.event-row:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring-accent)}
.event-row__time{flex:none;min-width:56px;font:var(--text-sm);color:var(--text-primary)}
.event-row.is-live .event-row__time{color:var(--text-link-action)}
.event-row__divider{flex:none;width:1px;height:32px;background:var(--card-divider)}
.event-row__text{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.event-row__title{font:var(--text-card-title-sm);text-transform:uppercase;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-row__league{font:var(--text-xs);color:var(--text-secondary)}
/* Phones (<600): Event details open as a bottom sheet (top radius xl, up to 92% of the screen) instead of the right-hand drawer */
@media (max-width:599px){
  .modal--event{align-items:flex-end;justify-content:stretch}
  .modal--event .event-modal{width:100%;height:auto;max-height:92dvh;border-left:0;border-top:1px solid var(--border-subtle);border-radius:var(--radius-xl) var(--radius-xl) 0 0;transform:translateY(32px)}
  .modal--event .event-modal::before{content:"";display:block;flex:none;width:130px;height:4px;margin:calc(-1 * var(--space-8)) auto 0;border-radius:var(--space-2);background:var(--border-strong)}
}
