/* Events V2 Wave 3 shop. Scoped so legacy reward/profile visuals stay intact. */
body.events-v2-shop-page { min-height: 100vh; background: #121212; color: var(--ui-color-text); }
.events-shop-shell { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(2rem,5vw,4.5rem) 0 5rem; }
.events-shop-hero { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin: .9rem 0 1.75rem; }
.events-shop-eyebrow, .events-shop-card__type { margin: 0 0 .45rem; color: #f2ba69; font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.events-shop-hero h1, .events-shop-card h2, .events-shop-empty h2, .events-shop-confirm h2 { margin: 0; color: var(--ui-color-text); font-family: 'Ysabeau SC', Nunito, sans-serif; overflow-wrap: anywhere; }
.events-shop-hero h1 { font-size: clamp(2.5rem, 7vw, 4.8rem); line-height: .92; }
.events-shop-hero > div > p:not(.events-shop-eyebrow) { max-width: 40rem; margin: .8rem 0 0; color: var(--ui-color-muted); line-height: 1.6; }
.events-shop-balance { display: grid; gap: .25rem; flex: 0 0 auto; padding: .9rem 1.1rem; border: 1px solid rgba(242,186,105,.35); border-radius: var(--ui-radius-surface); background: rgba(242,186,105,.09); }
.events-shop-balance span { color: var(--ui-color-muted); font-size: .8rem; }.events-shop-balance strong { color: #ffe0a7; font-size: 1.3rem; }
.events-shop-alert { margin: 1rem 0; }.events-shop-live-status { min-height: 1.3em; margin: .75rem 0 0; color: #ffe0a7; font-weight: 700; }
.events-shop-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.35rem 0; }.events-shop-filters a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 .9rem; border-radius: 999px; color: var(--ui-color-muted); text-decoration: none; }.events-shop-filters a:hover, .events-shop-filters a.is-current { color: #171717; background: #f2ba69; }

/* Public Shop hero: compact composition, deliberately separate from admin. */
body.events-v2-shop-page .events-shop-shell { padding:clamp(1.15rem,2.8vw,2.2rem) 0 4rem; }
body.events-v2-shop-page .events-shop-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1.25rem 2rem; margin:.65rem 0 .7rem; }
body.events-v2-shop-page .events-shop-hero h1 { font-size:clamp(2rem,4.4vw,3.25rem); line-height:.98; }
body.events-v2-shop-page .events-shop-hero__copy > p { max-width:38rem; margin:.5rem 0 0; color:var(--ui-color-muted); line-height:1.5; }
body.events-v2-shop-page .events-shop-hero__aside { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.65rem; }
body.events-v2-shop-page .events-shop-balance { display:flex; align-items:baseline; gap:.55rem; padding:.55rem .78rem; border-radius:999px; background:rgba(242,186,105,.08); }
body.events-v2-shop-page .events-shop-balance span { font-size:.74rem; font-weight:800; }
body.events-v2-shop-page .events-shop-balance strong { font-size:1rem; white-space:nowrap; }
body.events-v2-shop-page .events-shop-tasks-link { display:inline-flex; align-items:center; min-height:40px; gap:.35rem; padding:0 .2rem; color:#f2ba69; font-size:.86rem; font-weight:800; text-decoration:none; white-space:nowrap; }
body.events-v2-shop-page .events-shop-tasks-link:hover { color:#ffe0a7; text-decoration:underline; text-underline-offset:.2em; }
body.events-v2-shop-page .events-shop-live-status { min-height:0; margin:.2rem 0 0; }
body.events-v2-shop-page .events-shop-live-status:empty { display:none; }
body.events-v2-shop-page .events-shop-filters { margin:.7rem 0 1.1rem; }
.events-v2-shop-page a:focus-visible, .events-v2-shop-page button:focus-visible, .events-v2-shop-admin a:focus-visible, .events-v2-shop-admin button:focus-visible, .events-v2-shop-admin .ui-control:focus-visible { outline: var(--ui-focus-outline); outline-offset: var(--ui-focus-offset); }
.events-shop-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }.events-shop-card { min-width: 0; overflow: hidden; border: 1px solid var(--ui-color-border-subtle); border-radius: calc(var(--ui-radius-surface) + 2px); background: var(--ui-color-surface); box-shadow: var(--ui-shadow-normal); }.events-shop-card.is-owned { border-color: rgba(126,207,162,.42); }
.events-shop-card__preview { min-height: 10rem; display: grid; place-items: center; overflow: hidden; padding: 1rem; background: linear-gradient(145deg, rgba(242,186,105,.13), rgba(0,0,0,.18)); }.events-shop-card__preview--badge { gap: .55rem; }.events-shop-card__preview--badge img { width: 3rem; height: 3rem; object-fit: contain; }.events-shop-badge-preview { max-width: 100%; overflow-wrap: anywhere; color: #ffe0a7; font-family: 'Ysabeau SC', Nunito, sans-serif; font-size: clamp(1.4rem,4vw,2rem); text-align: center; }
.events-shop-frame-preview { width: 6.25rem; height: 6.25rem; display: grid; place-items: center; border-radius: 50%; }.events-shop-frame-preview .user-avatar { position: relative; z-index: 2; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.events-shop-card__body { display: grid; gap: .65rem; padding: 1.15rem; }.events-shop-card__type { margin: 0; }.events-shop-card h2 { font-size: 1.5rem; }.events-shop-card__event, .events-shop-card__price { margin: 0; color: var(--ui-color-muted); line-height: 1.45; }.events-shop-card__price strong { color: #ffe0a7; }.events-shop-card__action { display: flex; min-height: 44px; align-items: center; margin-top: .2rem; }.events-shop-card__action form { width: 100%; }.events-shop-card__action .ui-button { width: 100%; }
.events-shop-state { display: inline-flex; align-items: center; gap: .45rem; min-height: 38px; color: #a8e4bd; font-weight: 800; }.events-shop-state--muted { color: var(--ui-color-muted); }.events-shop-empty { padding: clamp(1.5rem,5vw,3rem); border: 1px dashed var(--ui-color-border); border-radius: var(--ui-radius-surface); color: var(--ui-color-muted); text-align: center; }.events-shop-empty h2 { margin-bottom: .5rem; }
.events-shop-confirm { width: min(92vw, 430px); padding: 0; border: 1px solid var(--ui-color-border); border-radius: var(--ui-radius-surface); color: var(--ui-color-text); background: var(--ui-color-surface-raised); box-shadow: var(--ui-shadow-surface); }.events-shop-confirm::backdrop { background: rgba(0,0,0,.76); }.events-shop-confirm form { padding: 1.35rem; }.events-shop-confirm p { color: var(--ui-color-muted); line-height: 1.5; }.events-shop-confirm dl { display: grid; gap: .6rem; margin: 1rem 0; }.events-shop-confirm dl div { display: flex; justify-content: space-between; gap: 1rem; }.events-shop-confirm dt { color: var(--ui-color-muted); }.events-shop-confirm dd { margin: 0; color: #ffe0a7; font-weight: 800; }.events-shop-confirm__error { color: #ff9bb1 !important; }.events-shop-confirm__actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .75rem; margin-top: 1.2rem; }

/* Admin shop keeps the existing V2 control language without touching public header. */
body.events-v2-shop-admin .events-shop-hero { margin: .25rem 0 1.5rem; }
body.events-v2-shop-admin .events-shop-hero h1 { font-size: clamp(2.4rem, 7vw, 4.8rem); line-height: .9; letter-spacing: .02em; }
.events-v2-shop-admin .events-shop-admin-nav { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0 1.5rem; }.events-v2-shop-admin .events-shop-admin-nav a { color: var(--ui-color-muted); text-decoration: none; font-weight: 800; }.events-v2-shop-admin .events-shop-admin-nav a.is-current { color: #f2ba69; }.events-v2-shop-admin .events-shop-admin-list { display: grid; gap: .9rem; }.events-v2-shop-admin .events-shop-admin-row { display: grid; grid-template-columns: 9rem minmax(0,1fr) auto; gap: 1rem; align-items: center; padding: 1rem; border: 1px solid var(--ui-color-border-subtle); border-radius: var(--ui-radius-surface); background: var(--ui-color-surface); }.events-v2-shop-admin .events-shop-admin-row.is-inactive { opacity: .7; }.events-v2-shop-admin .events-shop-admin-row.is-broken { border-color: #ff9bb1; }.events-v2-shop-admin .events-shop-admin-row .events-shop-card__preview { min-height: 6rem; }.events-v2-shop-admin .events-shop-admin-row h2 { margin: .25rem 0; font-size: 1.35rem; }.events-v2-shop-admin .events-shop-admin-row p { margin: .25rem 0; color: var(--ui-color-muted); overflow-wrap: anywhere; }.events-v2-shop-admin .events-shop-admin-actions { display: grid; justify-items: end; gap: .25rem; }.events-v2-shop-admin .events-shop-admin-primary-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }.events-v2-shop-admin .events-shop-admin-actions form { margin: 0; }.events-v2-shop-admin .events-shop-admin-delete { padding-top: .1rem; }.events-v2-shop-admin .events-shop-admin-form { max-width: 800px; margin-top: 1.5rem; }.events-v2-shop-admin .events-shop-admin-history { margin: 1rem 0; }.events-v2-shop-admin .events-shop-admin-history summary { cursor: pointer; color: #f2ba69; font-weight: 800; }.events-v2-shop-admin .events-shop-admin-history table { width: 100%; margin-top: .75rem; border-collapse: collapse; }.events-v2-shop-admin .events-shop-admin-history th, .events-v2-shop-admin .events-shop-admin-history td { padding: .55rem; border-top: 1px solid var(--ui-color-border); color: var(--ui-color-muted); text-align: left; }

@media (max-width: 900px) { .events-shop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.events-v2-shop-admin .events-shop-admin-row { grid-template-columns: 7rem minmax(0,1fr); }.events-v2-shop-admin .events-shop-admin-actions { grid-column: 2; justify-items: start; }.events-v2-shop-admin .events-shop-admin-primary-actions { justify-content: flex-start; } }
@media (max-width: 620px) { .events-shop-shell { width: min(100% - 1.25rem,1180px); padding-top: 1.25rem; }.events-shop-hero { align-items: stretch; flex-direction: column; }.events-shop-balance { align-self: flex-start; }.events-shop-grid { grid-template-columns: 1fr; }.events-v2-shop-admin .events-shop-admin-row { grid-template-columns: 1fr; }.events-v2-shop-admin .events-shop-admin-actions { grid-column: auto; justify-items: start; }.events-v2-shop-admin .events-shop-admin-primary-actions { justify-content: flex-start; }.events-shop-confirm__actions .ui-button { flex: 1 1 auto; } }
@media (prefers-reduced-motion: reduce) { .events-v2-shop-page *, .events-v2-shop-page *::before, .events-v2-shop-page *::after { animation-duration: 1ms !important; transition-duration: 1ms !important; } }

@media (max-width: 620px) {
  body.events-v2-shop-page .events-shop-hero { grid-template-columns:1fr; gap:.8rem; }
  body.events-v2-shop-page .events-shop-hero__aside { justify-content:flex-start; }
  body.events-v2-shop-page .events-shop-balance { align-self:auto; }
  body.events-v2-shop-page .events-shop-filters { margin-top:.65rem; }
}
