/* SHG Ticketed Events — ticket-stub list. Sits on an Ink (#0F1923) section. */
.shg-te{--te-bg:#0F1923;--te-card:#172431;--te-card-h:#1D2D3C;--te-line:rgba(255,255,255,.14);--te-mute:rgba(255,255,255,.68);--te-accent:#FCD34D;--te-ink:#0F1923;--te-r:8px;
  font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:#fff;width:100%;display:grid;gap:20px}
.shg-te *{box-sizing:border-box}
.shg-te [hidden]{display:none!important}

/* Filters */
.shg-te__filters{display:flex;flex-wrap:wrap;gap:8px}
.shg-te__filters button{font:600 14px/1 "Plus Jakarta Sans",sans-serif;color:#fff;background:transparent;border:1px solid var(--te-line);border-radius:999px;padding:10px 16px;min-height:40px;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.shg-te__filters button:hover{border-color:rgba(255,255,255,.4)}
.shg-te__filters button[aria-pressed="true"]{background:var(--te-accent);border-color:var(--te-accent);color:var(--te-ink)}
.shg-te__filters button:focus-visible{outline:2px solid var(--te-accent);outline-offset:2px}

/* Shared bits */
.shg-te__link{color:inherit!important;text-decoration:none!important}
.shg-te__link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.shg-te__link:focus-visible{outline:none}
.shg-te__feature:focus-within,.shg-te__row:focus-within{outline:2px solid var(--te-accent);outline-offset:3px}
.shg-te__desc{margin:0;color:var(--te-mute);font-size:15px;line-height:1.55}
.shg-te__aud{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--te-mute)}
.shg-te__aud::before{content:"";width:7px;height:7px;border-radius:50%;background:#6EE7B7}
.shg-te__aud--owners::before{background:var(--te-accent)}
.shg-te__price{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.shg-te__cta{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--te-ink);background:var(--te-accent);border-radius:3px;padding:12px 20px;white-space:nowrap;transition:transform .2s}
.shg-te__cta svg{transition:transform .2s}
.shg-te__feature:hover .shg-te__cta svg,.shg-te__row:hover .shg-te__cta svg{transform:translateX(3px)}
.shg-te__cta--sm{padding:9px 14px;font-size:14px;background:transparent;color:var(--te-accent);border:1px solid rgba(252,211,77,.55)}
.shg-te__row:hover .shg-te__cta--sm{background:var(--te-accent);color:var(--te-ink)}

/* Feature ticket */
.shg-te__feature{position:relative;display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr) 260px;grid-template-areas:"poster stub fend";background:var(--te-card);border-radius:var(--te-r);transition:background-color .2s}
.shg-te__feature:hover{background:var(--te-card-h)}
.shg-te__poster{grid-area:poster;position:relative;display:block;z-index:2;aspect-ratio:1/1;border-radius:var(--te-r) 0 0 var(--te-r);overflow:hidden;background:#24384A}
.shg-te__poster img{display:block;width:100%;height:100%;object-fit:cover}
.shg-te__datechip{position:absolute;top:14px;left:14px;display:grid;justify-items:center;min-width:58px;padding:8px 10px 7px;border-radius:6px;background:var(--te-accent);color:var(--te-ink);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1}
.shg-te__datechip b{font-size:28px;letter-spacing:-.02em;margin-bottom:3px}
.shg-te__stub{grid-area:stub;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding:36px 44px;border-left:2px dashed var(--te-line)}
/* perforation notches where poster meets stub */
.shg-te__stub::before,.shg-te__stub::after{content:"";position:absolute;left:-12px;width:22px;height:22px;border-radius:50%;background:var(--te-bg)}
.shg-te__stub::before{top:-11px}.shg-te__stub::after{bottom:-11px}
.shg-te__kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--te-accent)}
.shg-te__title{margin:0;font-size:clamp(26px,3vw,38px);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:#fff}
.shg-te__fend{grid-area:fend;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:32px 28px;border-left:2px dashed var(--te-line);text-align:center}
.shg-te__fend::before,.shg-te__fend::after{content:"";position:absolute;left:-12px;width:22px;height:22px;border-radius:50%;background:var(--te-bg)}
.shg-te__fend::before{top:-11px}.shg-te__fend::after{bottom:-11px}
.shg-te__plabel{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--te-mute)}
.shg-te__feature .shg-te__price{font-size:34px;letter-spacing:-.02em;line-height:1.1;margin-bottom:14px}
.shg-te__fend .shg-te__cta{width:100%;justify-content:center;position:relative;z-index:2;text-decoration:none!important;color:var(--te-ink)!important}

/* Rows */
.shg-te__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.shg-te__row{position:relative;display:grid;grid-template-columns:54px 84px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 0 16px 18px;background:var(--te-card);border-radius:var(--te-r);transition:background-color .2s;margin:0}
.shg-te__row:hover{background:var(--te-card-h)}
.shg-te__date{display:grid;justify-items:center;line-height:1;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--te-mute)}
.shg-te__date b{font-size:30px;font-weight:800;letter-spacing:-.02em;color:#fff;margin:4px 0}
.shg-te__thumb{width:84px;aspect-ratio:1/1;border-radius:6px;overflow:hidden;background:#24384A}
.shg-te__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.shg-te__body{display:grid;gap:6px;min-width:0}
.shg-te__rtitle{margin:0;font-size:18px;font-weight:700;line-height:1.25;color:#fff}
.shg-te__row .shg-te__desc{font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.shg-te__end{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:0 20px;border-left:2px dashed var(--te-line);margin:-16px 0}
.shg-te__end::before,.shg-te__end::after{content:"";position:absolute;left:-11px;width:20px;height:20px;border-radius:50%;background:var(--te-bg)}
.shg-te__end::before{top:-10px}.shg-te__end::after{bottom:-10px}
.shg-te__row .shg-te__price{font-size:17px}

.shg-te__foot{margin:6px 0 0;font-size:14px;color:var(--te-mute)}
.shg-te__foot a,.shg-te--empty a{color:var(--te-accent)!important;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.shg-te--empty p{margin:0;color:var(--te-mute)}

@media (max-width:1180px){.shg-te__list{grid-template-columns:1fr}}
@media (max-width:1023px){
  .shg-te__feature{grid-template-columns:minmax(200px,300px) minmax(0,1fr);grid-template-areas:"poster stub" "poster fend"}
  .shg-te__stub{padding:28px 30px 20px}
  .shg-te__fend{flex-direction:row;justify-content:space-between;flex-wrap:wrap;padding:16px 30px 24px;border-left:2px dashed var(--te-line)}
  .shg-te__fend::before,.shg-te__fend::after{display:none}
  .shg-te__plabel{display:none}
  .shg-te__feature .shg-te__price{margin:0;font-size:26px}
  .shg-te__fend .shg-te__cta{width:auto}
  .shg-te__stub::after{display:none}
  .shg-te__poster{aspect-ratio:auto;min-height:260px}
}
@media (max-width:767px){
  .shg-te__feature{grid-template-columns:1fr;grid-template-areas:"poster" "stub" "fend"}
  .shg-te__fend{border-left:0;padding:0 22px 24px}
  .shg-te__poster{border-radius:var(--te-r) var(--te-r) 0 0}
  .shg-te__stub{border-left:0;border-top:2px dashed var(--te-line);padding:26px 22px 24px}
  .shg-te__stub::before,.shg-te__stub::after{left:auto;top:-12px}
  .shg-te__stub::before{left:-11px}.shg-te__stub::after{right:-11px;bottom:auto}
  .shg-te__fend .shg-te__cta{width:100%}
  .shg-te__fend{row-gap:14px}
  .shg-te__stub::after{display:block}
  .shg-te__poster{aspect-ratio:1/1;min-height:0;max-height:420px}
  .shg-te__row{grid-template-columns:48px 64px minmax(0,1fr);gap:14px;padding:16px}
  .shg-te__thumb{width:64px}
  .shg-te__end{grid-column:1/-1;flex-direction:row;justify-content:space-between;margin:0 -16px -16px;padding:12px 16px;border-left:0;border-top:2px dashed var(--te-line)}
  .shg-te__end::before,.shg-te__end::after{top:-11px;left:auto}
  .shg-te__end::before{left:-10px}.shg-te__end::after{right:-10px;bottom:auto}
}
@media (prefers-reduced-motion:reduce){.shg-te *{transition:none!important}}
.shg-te--single .shg-te__aud{display:none}
