/* Usability fixes from the 12 Oct 2026 site check (site-polish.js). Colours come from the site's own variables. */

/* WhatsApp help: a round icon on phones instead of a wide pill floating over pass cards and footer links. */
@media (max-width:768px){
  .whatsapp-floating-widget{width:52px!important;height:52px!important;padding:0!important;justify-content:center!important;gap:0!important;font-size:0!important;letter-spacing:0!important}
  .whatsapp-floating-widget > span{display:none!important}
  .whatsapp-floating-widget > svg{font-size:26px!important;width:26px;height:26px}
}

/* Page not found */
.enx-404{padding:140px 0 90px;text-align:center}
.enx-404-code{font-family:var(--font-mono,monospace);color:var(--color-accent,#ff0033);letter-spacing:.4em;font-weight:700;font-size:.85rem;margin-bottom:12px}
.enx-404 h1{font-family:var(--D,Oswald,sans-serif);font-size:clamp(2.2rem,8vw,4rem);letter-spacing:.04em;margin:0 0 14px;line-height:1;color:var(--color-text-primary,#fff)}
.enx-404 p{color:var(--color-text-secondary,#aaa);max-width:440px;margin:0 auto 28px;line-height:1.6}
.enx-404-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.enx-404-btns a{text-decoration:none;display:inline-block}
.enx-404-home{padding:15px 30px;border:1px solid var(--color-border-strong,#444);color:var(--color-text-primary,#fff);letter-spacing:.18em;font-weight:700;font-size:.85rem}

/* Quick pick on /tickets */
.enx-pick{display:flex;gap:10px;overflow-x:auto;margin:0 0 26px;padding-bottom:4px;scrollbar-width:none}
.enx-pick::-webkit-scrollbar{display:none}
.enx-pick button{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 16px;background:var(--color-surface-panel,rgba(255,255,255,.03));border:1px solid var(--color-border-strong,#333);color:var(--color-text-primary,#fff);cursor:pointer;text-align:left}
.enx-pick button:hover,.enx-pick button:focus-visible{border-color:var(--color-accent,#ff0033)}
.enx-pick b{font-size:.75rem;letter-spacing:.16em;font-weight:900}
.enx-pick span{font-size:.95rem;font-family:var(--D,Oswald,sans-serif);color:var(--color-text-secondary,#aaa)}

/* Know before you go */
.enx-kbyg{padding:56px 0}
.enx-kbyg-head{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--border,rgba(255,255,255,.08));padding-bottom:20px;margin-bottom:28px}
.enx-kbyg-head i{width:4px;height:24px;background:var(--red,#ff0033)}
.enx-kbyg-head h2{font-family:var(--D,Oswald,sans-serif);font-size:28px;letter-spacing:4px;margin:0;color:var(--color-text-primary,#fff)}
.enx-kbyg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.enx-kbyg-grid div{border:1px solid var(--border,rgba(255,255,255,.08));background:var(--color-surface-panel,rgba(255,255,255,.03));padding:16px}
.enx-kbyg-grid span{display:block;font-size:.65rem;letter-spacing:.24em;color:var(--red,#ff0033);font-weight:900;margin-bottom:6px}
.enx-kbyg-grid b{font-size:1rem;color:var(--color-text-primary,#fff)}
.enx-kbyg-list{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px}
.enx-kbyg-list li{position:relative;padding-left:22px;color:var(--color-text-secondary,#aaa);line-height:1.55}
.enx-kbyg-list li::before{content:"✓";position:absolute;left:0;color:var(--red,#ff0033);font-weight:700}
.enx-kbyg-list a{color:var(--color-text-primary,#fff)}
.enx-kbyg-cal{display:flex;gap:12px;flex-wrap:wrap}
.enx-kbyg-cal a{text-decoration:none;display:inline-block;text-align:center}
.enx-kbyg-ics{padding:15px 24px;border:1px solid var(--color-border-strong,#444);color:var(--color-text-primary,#fff);letter-spacing:.18em;font-weight:700;font-size:.8rem}
@media (max-width:768px){
  .enx-kbyg-grid{grid-template-columns:1fr 1fr}
  .enx-kbyg-head h2{font-size:22px;letter-spacing:3px}
  .enx-kbyg-cal a{flex:1 1 100%}
}
.enx-pick ~ .pass-selector-grid .pass-card{scroll-margin-top:96px}

/* /merch page (until 1 Nov 2026). The logo is cream + red on transparent, made for dark backgrounds, so it
   always sits on a dark panel (also in light mode) instead of a white box. */
.enx-merch-page .enx-upg-hero{padding-top:130px!important}
.enx-merch-body{padding:16px 0 80px}
.enx-merch-panel{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:40px;align-items:center;max-width:980px;margin:0 auto}
.enx-merch-logo{background:#0b0b0d;border:1px solid var(--border,rgba(255,255,255,.08));display:flex;align-items:center;justify-content:center;padding:44px;aspect-ratio:1/1}
.enx-merch-logo img{width:100%;height:auto;max-width:280px;display:block}
.enx-merch-copy .enx-upg-head{margin-top:0}
.enx-merch-copy p{color:var(--color-text-secondary,#aaa);line-height:1.7;margin:22px 0 28px;max-width:46ch}
.enx-merch-shop{display:inline-block;text-decoration:none;text-align:center}
.enx-merch-back{display:block;margin-top:18px;color:var(--color-text-secondary,#aaa);letter-spacing:.2em;font-size:.72rem;font-weight:800;text-decoration:none}
.enx-merch-back:hover{color:var(--color-text-primary,#fff)}
@media (max-width:768px){
  .enx-merch-page .enx-upg-hero{padding-top:104px!important}
  .enx-merch-panel{grid-template-columns:1fr;gap:28px}
  .enx-merch-logo{padding:32px;aspect-ratio:auto}
  .enx-merch-logo img{max-width:220px}
  .enx-merch-shop{display:block}
}
.enx-kbyg-list b{color:var(--color-text-primary,#fff)}
