/* nawhe? design system (v2.4.0+), loaded on every page.
 * Every component class starts with "nw-". Screens not yet rebuilt in the new markup also load workspace-v{token}.css.
 * Tokens: one brand purple, one marigold mark, warm-red Today, blue Tomorrow, green Happening now.
 */

/* ---------- Tokens ---------- */
:root{
  --nw-bg:#FFFFFF;--nw-surface:#F4F2F8;--nw-surface-2:#ECE8F3;--nw-line:#E3DFEB;--nw-line-strong:#CFC9DA;
  --nw-ink:#17151F;--nw-ink-2:#2A2635;--nw-muted:#5B566B;
  --nw-brand:#6D28D9;--nw-brand-hover:#5B21B6;--nw-brand-ink:#FFFFFF;--nw-brand-soft:#EFE8FC;--nw-brand-text:#5B21B6;
  --nw-mark:#E0A800;
  --nw-today:#B4230A;--nw-today-bg:#FDECE8;--nw-tomorrow:#1E4FB8;--nw-tomorrow-bg:#E8EFFC;--nw-now:#065F46;--nw-now-bg:#E3F4EC;
  --nw-ok:#047857;--nw-ok-bg:#E6F4EE;--nw-warn:#9A5B00;--nw-warn-bg:#FFF3D6;--nw-danger:#B4230A;--nw-danger-bg:#FDECE8;
  --nw-focus:#6D28D9;--nw-shadow:0 1px 2px rgba(23,21,31,.06),0 8px 24px rgba(23,21,31,.06);
  --nw-radius-sm:10px;--nw-radius:14px;--nw-radius-lg:20px;--nw-radius-xl:24px;
  --nw-font:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --nw-font-display:"Bricolage Grotesque","Avenir Next","Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --nw-wrap:1200px;--nw-gutter:16px;--nw-header:60px;--nw-tabbar:68px;
  color-scheme:light;
}
html[data-theme="dark"]{
  --nw-bg:#121019;--nw-surface:#1D1A27;--nw-surface-2:#262233;--nw-line:#2E2A3B;--nw-line-strong:#423C53;
  --nw-ink:#F3F1F8;--nw-ink-2:#DCD8E6;--nw-muted:#B3ADC4;
  --nw-brand:#7C3AED;--nw-brand-hover:#8B5CF6;--nw-brand-ink:#FFFFFF;--nw-brand-soft:#2A2140;--nw-brand-text:#C4B5FD;
  --nw-mark:#F7C948;
  --nw-today:#FF9A84;--nw-today-bg:#3A1E19;--nw-tomorrow:#9DBBFF;--nw-tomorrow-bg:#1C2740;--nw-now:#6EE7B7;--nw-now-bg:#13291F;
  --nw-ok:#6EE7B7;--nw-ok-bg:#13291F;--nw-warn:#F7C948;--nw-warn-bg:#33280F;--nw-danger:#FF9A84;--nw-danger-bg:#3A1E19;
  --nw-focus:#C4B5FD;--nw-shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){html:not([data-theme]){
  --nw-bg:#121019;--nw-surface:#1D1A27;--nw-surface-2:#262233;--nw-line:#2E2A3B;--nw-line-strong:#423C53;
  --nw-ink:#F3F1F8;--nw-ink-2:#DCD8E6;--nw-muted:#B3ADC4;
  --nw-brand:#7C3AED;--nw-brand-hover:#8B5CF6;--nw-brand-soft:#2A2140;--nw-brand-text:#C4B5FD;--nw-mark:#F7C948;
  --nw-today:#FF9A84;--nw-today-bg:#3A1E19;--nw-tomorrow:#9DBBFF;--nw-tomorrow-bg:#1C2740;--nw-now:#6EE7B7;--nw-now-bg:#13291F;
  --nw-ok:#6EE7B7;--nw-ok-bg:#13291F;--nw-warn:#F7C948;--nw-warn-bg:#33280F;--nw-danger:#FF9A84;--nw-danger-bg:#3A1E19;
  --nw-focus:#C4B5FD;color-scheme:dark;
}}
@media (min-width:720px){:root{--nw-gutter:24px;--nw-header:68px}}

/* ---------- Base (redesigned pages only) ---------- */
body.nw-v2{margin:0;background:var(--nw-bg);color:var(--nw-ink);font:400 16px/1.5 var(--nw-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.nw-v2 *,body.nw-v2 *::before,body.nw-v2 *::after{box-sizing:border-box}
body.nw-v2 img{max-width:100%;display:block}
:where(body.nw-v2) a{color:var(--nw-brand-text);text-underline-offset:3px}
:where(body.nw-v2) a:hover{color:var(--nw-ink)}
:where(body.nw-v2) :is(h1,h2,h3,h4){margin:0;color:var(--nw-ink)}
:where(body.nw-v2) p{margin:0}
body.nw-v2 button,body.nw-v2 input,body.nw-v2 select,body.nw-v2 textarea{font:inherit;color:inherit}
body.nw-v2 :focus-visible{outline:3px solid var(--nw-focus);outline-offset:2px;border-radius:6px}
body.nw-v2 [hidden]{display:none!important}
[data-offer-discount][hidden]{display:none!important}
.nw-main{min-height:60vh;padding-bottom:calc(var(--nw-tabbar) + 24px)}
@media (min-width:821px){.nw-main{padding-bottom:48px}}
.nw-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nw-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--nw-ink);color:var(--nw-bg);padding:10px 14px;border-radius:10px;font-weight:700}
.nw-skip:focus{top:12px;color:var(--nw-bg)}
.nw-wrap{width:100%;max-width:calc(var(--nw-wrap) + var(--nw-gutter)*2);margin:0 auto;padding:0 var(--nw-gutter)}
.nw-wrap--narrow{max-width:calc(720px + var(--nw-gutter)*2)}
.nw-muted{color:var(--nw-muted)}
.nw-display{font-family:var(--nw-font-display);font-weight:800;letter-spacing:-.025em;line-height:1.04}
.nw-h1{font-family:var(--nw-font-display);font-weight:800;letter-spacing:-.03em;line-height:1.02;font-size:clamp(30px,6.2vw,48px)}
.nw-h2{font-family:var(--nw-font-display);font-weight:800;letter-spacing:-.02em;line-height:1.1;font-size:clamp(20px,3.2vw,26px)}
.nw-h3{font-family:var(--nw-font-display);font-weight:800;letter-spacing:-.01em;line-height:1.15;font-size:19px}
.nw-eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nw-brand-text)}
.nw-lead{color:var(--nw-muted);font-size:16px}
.nw-stack{display:flex;flex-direction:column;gap:12px}
.nw-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nw-divider{height:1px;background:var(--nw-line);border:0;margin:0}
.nw-mark{color:var(--nw-mark)}

/* ---------- Buttons, chips, inputs ---------- */
.nw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--nw-radius);border:1.5px solid transparent;background:var(--nw-brand);color:var(--nw-brand-ink)!important;font:700 16px/1.1 var(--nw-font);text-decoration:none;cursor:pointer;transition:background .15s,transform .15s}
.nw-btn:hover{background:var(--nw-brand-hover);color:var(--nw-brand-ink)}
.nw-btn:active{transform:translateY(1px)}
.nw-btn[disabled],.nw-btn[aria-disabled="true"]{background:var(--nw-line);color:var(--nw-muted)!important;cursor:not-allowed;transform:none}
.nw-btn--dark{background:var(--nw-ink);color:var(--nw-bg)!important}
.nw-btn--dark:hover{background:var(--nw-ink-2);color:var(--nw-bg)!important}
.nw-btn--ghost{background:transparent;color:var(--nw-ink)!important;border-color:var(--nw-line-strong)}
.nw-btn--ghost:hover{background:var(--nw-surface);color:var(--nw-ink)!important}
.nw-btn--danger{background:transparent;color:var(--nw-danger)!important;border-color:currentColor}
.nw-btn--danger:hover{background:var(--nw-danger-bg)}
.nw-btn--sm{min-height:40px;padding:0 14px;font-size:14.5px;border-radius:12px}
.nw-btn--block{width:100%}
.nw-btn svg{width:20px;height:20px;flex:none}
.nw-iconbtn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;border:0;background:transparent;color:var(--nw-ink);cursor:pointer;text-decoration:none;position:relative}
.nw-iconbtn:hover{background:var(--nw-surface);color:var(--nw-ink)}
.nw-iconbtn svg{width:22px;height:22px}
.nw-iconbtn--line{border:1px solid var(--nw-line)}
.nw-badge-dot{position:absolute;top:8px;right:8px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--nw-today);color:#fff;font-size:10.5px;font-weight:700;line-height:16px;text-align:center}
.nw-link{font-weight:700;text-decoration:none;color:var(--nw-brand-text);display:inline-flex;align-items:center;gap:4px;min-height:44px}
.nw-link:hover{text-decoration:underline}
.nw-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 0;margin:0;list-style:none}
.nw-chips::-webkit-scrollbar{display:none}
.nw-chip{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--nw-line-strong);background:var(--nw-bg);color:var(--nw-ink)!important;font:600 14.5px/1 var(--nw-font);text-decoration:none;white-space:nowrap;cursor:pointer}
.nw-chip:hover{border-color:var(--nw-ink)}
.nw-chip[aria-current="page"],.nw-chip[aria-pressed="true"],.nw-chip.is-active{background:var(--nw-ink);border-color:var(--nw-ink);color:var(--nw-bg)!important}
.nw-chip__x{font-size:16px;line-height:1}
.nw-field{display:flex;flex-direction:column;gap:6px}
.nw-field>label,.nw-label{font-weight:600;font-size:14.5px;color:var(--nw-ink)}
.nw-input,.nw-select,.nw-textarea{width:100%;min-height:48px;padding:0 14px;border:1.5px solid var(--nw-line-strong);border-radius:12px;background:var(--nw-bg);color:var(--nw-ink);font:400 16px/1.3 var(--nw-font)}
.nw-textarea{padding:12px 14px;min-height:110px;resize:vertical}
.nw-select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat}
.nw-input:focus,.nw-select:focus,.nw-textarea:focus{border-color:var(--nw-brand);outline:none;box-shadow:0 0 0 3px var(--nw-brand-soft)}
.nw-check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--nw-ink-2)}
.nw-check input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--nw-brand)}
.nw-help{font-size:13.5px;color:var(--nw-muted)}

/* Search pill */
.nw-search{display:flex;align-items:center;gap:8px;min-height:54px;padding:5px 5px 5px 14px;border:1.5px solid var(--nw-line-strong);border-radius:16px;background:var(--nw-surface)}
.nw-search:focus-within{border-color:var(--nw-brand);box-shadow:0 0 0 3px var(--nw-brand-soft)}
.nw-search svg{width:20px;height:20px;color:var(--nw-muted);flex:none}
.nw-search input{flex:1;min-width:0;border:0;background:transparent;font:400 16px/1.2 var(--nw-font);color:var(--nw-ink);outline:none;min-height:42px}
.nw-search .nw-btn{min-height:44px;padding:0 16px}

/* ---------- Header, menu, tab bar, footer ---------- */
.nw-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--nw-bg) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--nw-line)}
.nw-header__inner{display:flex;align-items:center;gap:12px;height:var(--nw-header)}
.nw-logo{font-family:var(--nw-font-display);font-weight:800;font-size:26px;letter-spacing:-.04em;color:var(--nw-ink)!important;text-decoration:none;line-height:1;display:inline-flex;align-items:center;min-height:44px}
.nw-logo span{color:var(--nw-mark)}
.nw-nav{display:none;gap:4px;margin-left:16px}
.nw-nav a{padding:10px 12px;border-radius:10px;color:var(--nw-ink-2);font-weight:600;text-decoration:none}
.nw-nav a:hover,.nw-nav a[aria-current="page"]{background:var(--nw-surface);color:var(--nw-ink)}
.nw-header__actions{margin-left:auto;display:flex;align-items:center;gap:2px}
.nw-header__auth{display:none;gap:8px;margin-left:8px}
@media (min-width:821px){.nw-nav{display:flex}.nw-header__auth{display:flex}}
.nw-theme .nw-theme__dark{display:none}
html[data-theme="dark"] .nw-theme .nw-theme__dark{display:block}
html[data-theme="dark"] .nw-theme .nw-theme__light{display:none}
details.nw-menu{position:relative}
details.nw-menu>summary{list-style:none}
details.nw-menu>summary::-webkit-details-marker{display:none}
.nw-menu__panel{position:absolute;right:0;top:calc(100% + 8px);width:min(320px,calc(100vw - 24px));max-height:calc(100vh - 90px);overflow:auto;background:var(--nw-bg);border:1px solid var(--nw-line);border-radius:var(--nw-radius-lg);box-shadow:var(--nw-shadow);padding:10px;z-index:60}
.nw-menu__group{padding:8px 4px;border-top:1px solid var(--nw-line)}
.nw-menu__group:first-child{border-top:0}
.nw-menu__title{display:block;padding:4px 10px 6px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nw-muted)}
.nw-menu__panel a,.nw-menu__panel button.nw-menu__item{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:0 10px;border-radius:10px;border:0;background:transparent;color:var(--nw-ink);font:600 15px/1.2 var(--nw-font);text-decoration:none;text-align:left;cursor:pointer}
.nw-menu__panel a:hover,.nw-menu__panel button.nw-menu__item:hover{background:var(--nw-surface);color:var(--nw-ink)}
.nw-menu__who{display:flex;gap:10px;align-items:center;padding:8px 10px 12px}
.nw-avatar{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--nw-brand-soft);color:var(--nw-brand-text);font-weight:800}
.nw-avatar--lg{width:56px;height:56px;font-size:20px}
.nw-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:var(--nw-tabbar);padding-bottom:env(safe-area-inset-bottom);background:var(--nw-bg);border-top:1px solid var(--nw-line)}
.nw-tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--nw-muted);font:600 12px/1 var(--nw-font);text-decoration:none}
.nw-tabbar a svg{width:23px;height:23px}
.nw-tabbar a[aria-current="page"]{color:var(--nw-brand-text);font-weight:700}
@media (min-width:821px){.nw-tabbar{display:none}}
body.nw-has-bookbar .nw-tabbar{display:none}
.nw-footer{margin-top:40px;border-top:1px solid var(--nw-line);background:var(--nw-surface);padding:36px 0 calc(var(--nw-tabbar) + 28px);font-size:14.5px}
@media (min-width:821px){.nw-footer{padding-bottom:36px}}
.nw-footer__grid{display:grid;gap:28px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:821px){.nw-footer__grid{grid-template-columns:1.4fr repeat(4,minmax(0,1fr))}}
.nw-footer__brand{grid-column:1/-1}
@media (min-width:821px){.nw-footer__brand{grid-column:auto}}
.nw-footer nav{display:flex;flex-direction:column;gap:2px}
.nw-footer nav strong{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--nw-ink);margin-bottom:6px}
.nw-footer nav a{color:var(--nw-muted);text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.nw-footer nav a:hover{color:var(--nw-ink);text-decoration:underline}
.nw-footer__legal{margin-top:28px;padding-top:18px;border-top:1px solid var(--nw-line);color:var(--nw-muted);font-size:13px;display:flex;flex-direction:column;gap:4px}
.nw-cookie{position:fixed;left:12px;right:12px;bottom:calc(var(--nw-tabbar) + 12px);z-index:70;max-width:560px;margin:0 auto;background:var(--nw-bg);border:1px solid var(--nw-line);border-radius:var(--nw-radius-lg);box-shadow:var(--nw-shadow);padding:16px;display:flex;flex-direction:column;gap:12px}
@media (min-width:821px){.nw-cookie{bottom:20px;left:auto;right:20px}}
.nw-cookie p{font-size:14px;color:var(--nw-muted)}
.nw-cookie__actions{display:flex;gap:8px;flex-wrap:wrap}
.nw-cookie__actions form{margin:0}

/* ---------- Sections ---------- */
.nw-section{padding:28px 0 0}
.nw-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}
.nw-section__head p{color:var(--nw-muted);font-size:14.5px;margin-top:2px}
.nw-panel{background:var(--nw-surface);border-radius:var(--nw-radius-lg);padding:18px}
.nw-panel--brand{background:var(--nw-brand-soft)}
.nw-box{border:1px solid var(--nw-line);border-radius:var(--nw-radius-lg);background:var(--nw-bg)}
.nw-alert{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:var(--nw-radius);font-size:15px;margin:12px 0;background:var(--nw-surface);color:var(--nw-ink)}
.nw-alert--error{background:var(--nw-danger-bg);color:var(--nw-danger)}
.nw-alert--success{background:var(--nw-ok-bg);color:var(--nw-ok)}
.nw-alert--warn{background:var(--nw-warn-bg);color:var(--nw-warn)}
.nw-alert strong{color:inherit}
.nw-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;border:1.5px dashed var(--nw-line-strong);border-radius:var(--nw-radius-lg)}

/* ---------- Date labels ---------- */
.nw-when{display:inline-flex;align-items:center;align-self:flex-start;max-width:100%;padding:3px 9px;border-radius:8px;background:var(--nw-surface);color:var(--nw-ink);font:700 13px/1.35 var(--nw-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw-when--today{background:var(--nw-today-bg);color:var(--nw-today)}
.nw-when--tomorrow{background:var(--nw-tomorrow-bg);color:var(--nw-tomorrow)}
.nw-when--now{background:var(--nw-now-bg);color:var(--nw-now)}
.nw-when--now::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:6px;flex:none}
.nw-when--ended{color:var(--nw-muted)}
.nw-when--plain{background:transparent;padding:0}

/* ---------- Event cards ---------- */
.nw-cards{display:grid;gap:10px;grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none}
.nw-card{position:relative;display:flex;gap:12px;padding:10px;border:1px solid var(--nw-line);border-radius:18px;background:var(--nw-bg);color:var(--nw-ink);min-width:0;transition:border-color .15s,box-shadow .15s}
.nw-card:hover{border-color:var(--nw-line-strong);box-shadow:var(--nw-shadow)}
.nw-card__media{position:relative;flex:none;width:92px;height:104px;border-radius:12px;overflow:hidden;background:var(--nw-surface-2)}
.nw-card__media img{width:100%;height:100%;object-fit:cover}
.nw-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.nw-card__title{margin:0;font:700 16px/1.25 var(--nw-font);color:var(--nw-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nw-card__title a{color:inherit!important;text-decoration:none}
.nw-card__title a::after{content:"";position:absolute;inset:0;border-radius:18px}
.nw-card__title a:focus-visible{outline:none}
.nw-card:has(.nw-card__title a:focus-visible){outline:3px solid var(--nw-focus);outline-offset:2px}
.nw-card__place{font-size:14px;color:var(--nw-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw-card__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;font-weight:600;color:var(--nw-ink)}
.nw-card__state{font-weight:600}
.nw-card__state.is-selling-fast,.nw-card__state.is-sold-out,.nw-card__state.is-cancelled{color:var(--nw-danger)}
.nw-card__state.is-opening,.nw-card__state.is-paused,.nw-card__state.is-closed,.nw-card__state.is-ended,.nw-card__state.is-postponed{color:var(--nw-muted)}
.nw-card__flag{position:absolute;top:6px;left:6px;z-index:1;padding:2px 7px;border-radius:7px;background:rgba(0,0,0,.62);color:#fff;font:700 11px/1.5 var(--nw-font);letter-spacing:.02em}
.nw-cards--grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
@media (max-width:639px){.nw-cards--grid{grid-template-columns:minmax(0,1fr);gap:10px}}
@media (min-width:640px){
  .nw-cards--grid .nw-card{flex-direction:column;padding:0;gap:0;overflow:hidden;border-radius:20px}
  .nw-cards--grid .nw-card__media{width:100%;height:auto;aspect-ratio:16/10;border-radius:0}
  .nw-cards--grid .nw-card__body{padding:12px 14px 14px;gap:5px}
  .nw-cards--grid .nw-card__title{font-size:16.5px}
  .nw-cards--grid .nw-card__title a::after{border-radius:20px}
}
.nw-cards--rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(78%,280px);grid-template-columns:none;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:thin}
.nw-cards--rail>*{scroll-snap-align:start}
.nw-cards--rail .nw-card{flex-direction:column;padding:0;gap:0;overflow:hidden}
.nw-cards--rail .nw-card__media{width:100%;height:auto;aspect-ratio:16/10;border-radius:0}
.nw-cards--rail .nw-card__body{padding:10px 12px 12px}
@media (min-width:821px){.nw-cards--rail{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));overflow:visible;gap:18px}}
.nw-more{margin-top:16px;display:flex;justify-content:center}

/* Category tiles (artwork fallback) */
.nw-tile{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:9px;color:#fff;background:#4C1D95}
.nw-tile__cat{font:700 10px/1.2 var(--nw-font);letter-spacing:.09em;text-transform:uppercase;opacity:.92}
.nw-tile__mono{font:800 15px/1.02 var(--nw-font-display);letter-spacing:-.02em;overflow-wrap:anywhere;hyphens:auto;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.nw-tile[data-tone="nightlife"]{background:#6D28D9}.nw-tile[data-tone="music"]{background:#1D4ED8}.nw-tile[data-tone="comedy"]{background:#C2410C}
.nw-tile[data-tone="food"]{background:#B45309}.nw-tile[data-tone="culture"]{background:#047857}.nw-tile[data-tone="family"]{background:#BE185D}
.nw-tile[data-tone="business"]{background:#334155}.nw-tile[data-tone="sport"]{background:#0F766E}.nw-tile[data-tone="faith"]{background:#7C2D12}
@media (min-width:640px){.nw-cards--grid .nw-tile,.nw-cards--rail .nw-tile{padding:14px}.nw-cards--grid .nw-tile__mono,.nw-cards--rail .nw-tile__mono{font-size:28px}}

/* ---------- Home ---------- */
.nw-hero{padding:20px 0 6px}
.nw-hero__where{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0;border:0;background:transparent;color:var(--nw-muted);font:500 14.5px/1 var(--nw-font);text-decoration:none;cursor:pointer}
.nw-hero__where b{color:var(--nw-brand-text)}
.nw-hero__where svg{width:16px;height:16px}
.nw-hero h1{margin:6px 0 14px}
.nw-hero h1 span{color:var(--nw-brand-text)}
.nw-hero__search,.nw-hero .home-search{display:grid;gap:10px;grid-template-columns:1fr 1fr}
.nw-hero .home-search>.nw-field:first-child,.nw-hero .home-search>button{grid-column:1/-1}
@media (min-width:821px){.nw-hero{padding:40px 0 8px}.nw-hero__search,.nw-hero .home-search{grid-template-columns:1.6fr 1fr 1fr auto;align-items:end}.nw-hero .home-search>.nw-field:first-child,.nw-hero .home-search>button{grid-column:auto}}
.nw-hero .home-search .nw-field label{font-size:13px;color:var(--nw-muted)}
.nw-hero__quick{margin-top:12px}
.nw-geo-status{font-size:14px;color:var(--nw-muted);min-height:1.2em;margin-top:6px}
.nw-vibes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:821px){.nw-vibes{grid-template-columns:repeat(4,minmax(0,1fr))}}
.nw-vibe{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:var(--nw-radius-lg);border:1px solid var(--nw-line);background:var(--nw-bg);color:var(--nw-ink)!important;text-decoration:none;min-height:110px}
.nw-vibe:hover{border-color:var(--nw-ink)}
.nw-vibe__icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--nw-brand-soft);color:var(--nw-brand-text)}
.nw-vibe__icon svg{width:20px;height:20px}
.nw-vibe strong{font-size:15.5px}
.nw-vibe small{font-size:13px;color:var(--nw-muted)}
.nw-places{display:flex;flex-wrap:wrap;gap:8px}
.nw-promo{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:var(--nw-radius-lg);background:var(--nw-brand-soft)}
@media (min-width:821px){.nw-promo{flex-direction:row;align-items:center;justify-content:space-between;padding:28px 32px}}

/* ---------- Events directory ---------- */
.nw-dir-head{padding:16px 0 4px}
.nw-dir-search{display:grid;gap:10px}
@media (min-width:821px){.nw-dir-search{grid-template-columns:1.5fr 1fr .9fr auto auto;align-items:end}}
.nw-dir-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 4px;font-size:14px;color:var(--nw-muted);flex-wrap:wrap}
.nw-dir-toolbar label{display:inline-flex;align-items:center;gap:8px}
.nw-dir-toolbar .nw-select{min-height:40px;width:auto;font-size:14.5px;font-weight:600}
.nw-group{padding-top:18px}
.nw-group__title{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;font:800 20px/1.2 var(--nw-font-display);letter-spacing:-.01em}
.nw-group__title small{font:500 14px/1 var(--nw-font);color:var(--nw-muted)}
.nw-understood{margin-top:10px;font-size:14px;color:var(--nw-muted);display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.nw-understood span{padding:4px 9px;border-radius:8px;background:var(--nw-surface);color:var(--nw-ink);font-weight:600}

/* ---------- Event page ---------- */
.nw-crumbs{display:flex;gap:6px;flex-wrap:wrap;font-size:13.5px;color:var(--nw-muted);padding:12px 0}
.nw-crumbs a{color:var(--nw-muted);text-decoration:none}
.nw-crumbs a:hover{color:var(--nw-ink);text-decoration:underline}
.nw-event{display:grid;gap:24px;padding-bottom:12px}
@media (min-width:960px){.nw-event{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:40px}.nw-event__aside{position:sticky;top:calc(var(--nw-header) + 16px)}}
.nw-poster{position:relative;border-radius:var(--nw-radius-xl);overflow:hidden;background:var(--nw-surface-2);aspect-ratio:16/10}
.nw-poster img{width:100%;height:100%;object-fit:contain;background:#0d0b12}
.nw-poster--cover img{object-fit:cover}
.nw-poster .nw-tile{padding:20px}
.nw-poster .nw-tile__mono{font-size:clamp(34px,7vw,56px);line-height:.95}
.nw-poster .nw-tile__cat{font-size:12px}
.nw-event__title{margin-top:18px}
.nw-organiser-line{display:inline-flex;align-items:center;gap:10px;margin-top:10px;color:var(--nw-ink);text-decoration:none;min-height:44px}
.nw-organiser-line .nw-avatar{width:34px;height:34px;font-size:14px}
.nw-verified{color:var(--nw-brand-text);font-weight:600}
.nw-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.nw-tags a{padding:5px 10px;border-radius:999px;background:var(--nw-surface);color:var(--nw-ink-2);font-size:13.5px;font-weight:600;text-decoration:none}
.nw-tags a:hover{background:var(--nw-surface-2)}
.nw-facts{margin-top:16px}
.nw-fact{display:flex;gap:12px;padding:14px 16px}
.nw-fact+.nw-fact{border-top:1px solid var(--nw-line)}
.nw-fact__icon{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--nw-surface);color:var(--nw-ink)}
.nw-fact__icon svg{width:21px;height:21px}
.nw-fact__icon--soon{background:var(--nw-tomorrow-bg);color:var(--nw-tomorrow)}
.nw-fact strong{display:block;font-size:16.5px}
.nw-fact .nw-when{font-size:16.5px;padding:0;background:transparent;margin-bottom:2px}
.nw-fact .nw-when--week,.nw-fact .nw-when--date{color:var(--nw-ink)}
.nw-fact p{color:var(--nw-muted);font-size:14.5px}
.nw-fact__links{display:flex;gap:16px;flex-wrap:wrap}
.nw-fact__links a{font-weight:700;font-size:14.5px;text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
.nw-sessions{display:flex;flex-direction:column;gap:8px}
.nw-session{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--nw-line);border-radius:var(--nw-radius);color:var(--nw-ink)!important;text-decoration:none}
.nw-session[aria-current="true"]{border-color:var(--nw-brand);background:var(--nw-brand-soft)}
.nw-session small{display:block;color:var(--nw-muted);font-size:13.5px}
.nw-session.is-sold-out{opacity:.7}
.nw-prose{color:var(--nw-ink-2);font-size:16px;line-height:1.65;white-space:normal}
.nw-prose--clamp{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.nw-know{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:14px}
.nw-know article{padding:14px;border-radius:var(--nw-radius);background:var(--nw-surface)}
.nw-know strong{display:block;font-size:14px;margin-bottom:2px}
.nw-know p{font-size:14.5px;color:var(--nw-ink-2)}
.nw-lineup{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.nw-lineup article{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid var(--nw-line);border-radius:var(--nw-radius)}
.nw-lineup img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.nw-lineup span{display:block;font-size:13px;color:var(--nw-muted)}
.nw-host{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.nw-host__copy{flex:1;min-width:180px}
.nw-host__copy p{font-size:14px;color:var(--nw-muted)}
.nw-host form{margin:0}

/* Tickets (event page + checkout) */
.nw-buy{padding:18px}
.nw-buy__head p{font-size:14.5px;color:var(--nw-muted);margin-top:4px}
.nw-tickets{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.nw-ticket{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1.5px solid var(--nw-line);border-radius:var(--nw-radius);background:var(--nw-bg);transition:border-color .15s}
.nw-ticket.is-selected{border-color:var(--nw-brand)}
.nw-ticket.is-unavailable{opacity:.62}
.nw-ticket__copy{min-width:0}
.nw-ticket__name{display:block;font-weight:700;font-size:15.5px;color:var(--nw-ink)}
.nw-ticket__desc{font-size:13.5px;color:var(--nw-muted)}
.nw-ticket__price{display:block;font-weight:800;font-size:17px;margin-top:2px;color:var(--nw-ink)}
.nw-ticket__fee{display:block;font-size:12.5px;color:var(--nw-muted);font-weight:500}
.nw-ticket__avail{display:block;font-size:13.5px;color:var(--nw-muted)}
.nw-ticket__avail.is-low{color:var(--nw-danger);font-weight:600}
.nw-ticket__min{display:block;font-size:12.5px;color:var(--nw-muted);font-style:normal}
.nw-stepper{flex:none;display:flex;align-items:center;border:1px solid var(--nw-line-strong);border-radius:12px;background:var(--nw-bg)}
.nw-stepper button{width:44px;height:44px;border:0;background:transparent;color:var(--nw-ink);font:700 21px/1 var(--nw-font);cursor:pointer;border-radius:12px}
.nw-stepper button[data-plus]{color:var(--nw-brand-text)}
.nw-stepper button:disabled{color:var(--nw-line-strong);cursor:not-allowed}
.nw-stepper input{width:30px;border:0;background:transparent;text-align:center;font:800 16px/1 var(--nw-font);color:var(--nw-ink);padding:0}
.nw-order{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 12px;font-size:14.5px;color:var(--nw-muted)}
.nw-order strong{font-size:18px;color:var(--nw-ink)}
.nw-secure{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:13.5px;color:var(--nw-muted)}
.nw-secure svg{width:18px;height:18px;flex:none;margin-top:1px}
.nw-secure strong{display:block;color:var(--nw-ink);font-size:14px}
.nw-fee-note{font-size:13px;color:var(--nw-muted);margin-top:10px}
.nw-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.nw-actions form{margin:0;display:contents}
.nw-action{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border:1px solid var(--nw-line);border-radius:var(--nw-radius);background:var(--nw-bg);color:var(--nw-ink)!important;font:600 14.5px/1.2 var(--nw-font);text-decoration:none;cursor:pointer;text-align:left;width:100%}
.nw-action:hover{border-color:var(--nw-line-strong);background:var(--nw-surface)}
.nw-action svg{width:20px;height:20px;flex:none;color:var(--nw-brand-text)}
.nw-action.is-active{border-color:var(--nw-brand);background:var(--nw-brand-soft)}
.nw-share{display:flex;gap:8px;margin-top:10px}
.nw-share>*{flex:1}
.nw-bookbar{position:fixed;left:0;right:0;bottom:0;z-index:46;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px var(--nw-gutter) calc(12px + env(safe-area-inset-bottom));background:var(--nw-bg);border-top:1px solid var(--nw-line);box-shadow:0 -6px 20px rgba(23,21,31,.06)}
.nw-bookbar__info{min-width:0}
.nw-bookbar__info small{display:block;font-size:13px;color:var(--nw-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw-bookbar__info strong{font-size:18px;font-weight:800}
.nw-bookbar .nw-btn{min-height:50px;padding:0 22px}
@media (min-width:960px){.nw-bookbar{display:none}body.nw-has-bookbar .nw-tabbar{display:none}}
body.nw-has-bookbar .nw-main{padding-bottom:96px}
@media (min-width:960px){body.nw-has-bookbar .nw-main{padding-bottom:48px}}
.nw-modal{position:fixed;inset:0;z-index:80;display:none;align-items:flex-end;justify-content:center;padding:12px}
.nw-modal:target{display:flex}
.nw-modal__backdrop{position:absolute;inset:0;background:rgba(10,8,16,.55)}
.nw-modal__panel{position:relative;width:min(520px,100%);max-height:calc(100vh - 24px);overflow:auto;background:var(--nw-bg);border-radius:var(--nw-radius-xl);padding:22px;display:flex;flex-direction:column;gap:12px}
@media (min-width:640px){.nw-modal{align-items:center}}
.nw-modal__close{position:absolute;top:10px;right:10px}

/* ---------- Checkout ---------- */
.nw-checkout{display:grid;gap:18px;padding-top:6px}
@media (min-width:960px){.nw-checkout{grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start}.nw-checkout__summary{position:sticky;top:calc(var(--nw-header) + 16px)}}
.nw-checkout-bar{display:flex;align-items:center;gap:8px;height:var(--nw-header)}
.nw-checkout-bar strong{font-size:16.5px}
.nw-checkout-bar .nw-secure-tag{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--nw-muted)}
.nw-checkout-event{display:flex;gap:12px;align-items:center;padding:14px;border-radius:var(--nw-radius-lg);background:var(--nw-surface)}
.nw-checkout-event__art{flex:none;width:60px;height:60px;border-radius:12px;overflow:hidden}
.nw-checkout-event__art img{width:100%;height:100%;object-fit:cover}
.nw-checkout-event strong{display:block;line-height:1.25}
.nw-checkout-event .nw-when{margin-top:4px}
.nw-step{padding:18px;border:1px solid var(--nw-line);border-radius:var(--nw-radius-lg)}
.nw-step__head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.nw-step__num{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--nw-brand-soft);color:var(--nw-brand-text);font-weight:800}
.nw-step__head p{font-size:14px;color:var(--nw-muted)}
.nw-identity{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:var(--nw-radius);background:var(--nw-ok-bg);color:var(--nw-ink);font-size:14.5px;margin-bottom:14px;flex-wrap:wrap}
.nw-identity svg{width:20px;height:20px;color:var(--nw-ok);flex:none}
.nw-identity a{margin-left:auto;font-weight:700}
.nw-fields{display:grid;gap:12px}
@media (min-width:640px){.nw-fields{grid-template-columns:1fr 1fr}}
.nw-summary{padding:18px;border-radius:var(--nw-radius-lg);background:var(--nw-surface)}
.nw-summary__lines{display:flex;flex-direction:column;gap:6px;margin:10px 0;font-size:14.5px}
.nw-summary__lines>div,.nw-totals>div{display:flex;justify-content:space-between;gap:12px}
.nw-summary__lines span,.nw-totals span{color:var(--nw-muted)}
.nw-summary .booking-empty-selection{color:var(--nw-muted);font-size:14px}
.nw-totals{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--nw-line);font-size:14.5px}
.nw-totals .is-total{font-weight:800;font-size:18px;color:var(--nw-ink);padding-top:6px}
.nw-totals .is-total span{color:var(--nw-ink)}
.nw-promo-code{display:flex;gap:8px;margin-top:6px}
.nw-promo-code .nw-input{min-height:44px}
.nw-promo-code button{flex:none}
.nw-paybar{position:fixed;left:0;right:0;bottom:0;z-index:46;display:flex;align-items:center;gap:12px;padding:10px var(--nw-gutter) calc(12px + env(safe-area-inset-bottom));background:var(--nw-bg);border-top:1px solid var(--nw-line)}
.nw-paybar__info{flex:1;min-width:0}
.nw-paybar__info small{display:block;font-size:13px;color:var(--nw-muted)}
.nw-paybar__info strong{font-size:18px}
@media (min-width:960px){.nw-paybar{display:none}}
.is-opening-payment{opacity:.75;cursor:progress}
.checkout-payment-wait-v1499{margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--nw-danger-bg);color:var(--nw-danger);font-size:14px;font-weight:600}

/* ---------- Booking & ticket pages ---------- */
.nw-pass-hero{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:22px 0 8px}
.nw-pass-status{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--nw-ok-bg);color:var(--nw-ok);font-size:24px;font-weight:800}
.nw-pass-status.is-ended{background:var(--nw-danger-bg);color:var(--nw-danger)}
.nw-pass-status.is-pending{background:var(--nw-warn-bg);color:var(--nw-warn)}
.nw-pass-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.nw-booking{display:grid;gap:18px;padding-top:8px}
@media (min-width:960px){.nw-booking{grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}}
.nw-qr-list{display:grid;gap:12px}
.nw-qr-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;padding:16px;border:1px solid var(--nw-line);border-radius:var(--nw-radius-lg);background:var(--nw-bg)}
@media (max-width:560px){.nw-qr-card{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}}
.nw-qr{width:172px;height:172px;padding:10px;border-radius:14px;background:#fff;display:grid;place-items:center}
.nw-qr canvas,.nw-qr img{width:152px!important;height:152px!important}
.nw-qr--lg{width:272px;height:272px}
.nw-qr--lg canvas,.nw-qr--lg img{width:250px!important;height:250px!important}
.nw-status{display:inline-flex;padding:3px 9px;border-radius:8px;font:700 12px/1.4 var(--nw-font);letter-spacing:.04em;text-transform:uppercase;background:var(--nw-ok-bg);color:var(--nw-ok)}
.nw-status.is-invalid{background:var(--nw-danger-bg);color:var(--nw-danger)}
.nw-dl{display:grid;gap:8px;margin:12px 0;font-size:14.5px}
.nw-dl>div{display:flex;justify-content:space-between;gap:12px}
.nw-dl dt{color:var(--nw-muted)}
.nw-dl dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}
.nw-updates article{padding:12px 0;border-top:1px solid var(--nw-line)}
.nw-updates time{font-size:13px;color:var(--nw-muted)}
.nw-side{display:flex;flex-direction:column;gap:14px}
.nw-side details summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center;color:var(--nw-brand-text)}
.nw-side form{display:flex;flex-direction:column;gap:10px;margin-top:8px}

/* ---------- Organiser page ---------- */
.nw-org-head{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:22px 0 6px}
.nw-org-head__copy{flex:1;min-width:200px}
.nw-org-stats{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;color:var(--nw-muted);margin-top:6px}
.nw-org-stats b{color:var(--nw-ink)}
.nw-socials{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}

/* ---------- Pagination (shared partial) ---------- */
.nw-v2 .pagination,.nw-pagination{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:20px}
.nw-v2 .pagination a,.nw-v2 .pagination span,.nw-pagination a,.nw-pagination span{min-width:44px;min-height:44px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--nw-line);color:var(--nw-ink);text-decoration:none;font-weight:600}
.nw-v2 .pagination .active,.nw-v2 .pagination [aria-current="page"]{background:var(--nw-ink);color:var(--nw-bg);border-color:var(--nw-ink)}

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion:reduce){body.nw-v2 *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ---------- Date icon variants, pagination, shared partials ---------- */
.nw-fact__icon--today{background:var(--nw-today-bg);color:var(--nw-today)}
.nw-fact__icon--tomorrow{background:var(--nw-tomorrow-bg);color:var(--nw-tomorrow)}
.nw-fact__icon--now{background:var(--nw-now-bg);color:var(--nw-now)}
body.nw-v2 .nawhe-pagination{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:22px;font-size:14px;color:var(--nw-muted)}
body.nw-v2 .pagination-links{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
body.nw-v2 .pagination-numbers{display:contents}
body.nw-v2 .pagination-links :is(a,span,button){min-width:44px;min-height:44px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border-radius:12px;border:1px solid var(--nw-line);background:var(--nw-bg);color:var(--nw-ink);text-decoration:none;font:600 14.5px/1 var(--nw-font)}
body.nw-v2 .pagination-links .current{background:var(--nw-ink);color:var(--nw-bg);border-color:var(--nw-ink)}
body.nw-v2 .pagination-links .disabled{opacity:.45}
body.nw-v2 .pagination-links .pagination-numbers{border:0;padding:0;min-width:0;background:none}
@media (max-width:480px){body.nw-v2 .pagination-nav-label{display:none}}
/* Register-interest partial (events/_demand.php) inside the ticket box */
body.nw-v2 .event-demand-public-v1644{display:flex;flex-direction:column;gap:12px}
body.nw-v2 .event-demand-public-head-v1644>span{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nw-brand-text)}
body.nw-v2 .event-demand-public-head-v1644 h2{font:800 19px/1.2 var(--nw-font-display);margin:4px 0}
body.nw-v2 .event-demand-public-head-v1644 p{color:var(--nw-muted);font-size:14.5px}
body.nw-v2 .event-opening-time-v1644{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--nw-tomorrow-bg);color:var(--nw-tomorrow)}
body.nw-v2 .event-opening-time-v1644 small{display:block;font-size:12px;font-weight:700;letter-spacing:.08em}
body.nw-v2 .event-demand-form-v1453{display:flex;flex-direction:column;gap:12px}
body.nw-v2 .event-demand-form-v1453 .field{display:flex;flex-direction:column;gap:6px}
body.nw-v2 .event-demand-form-v1453 label{font-weight:600;font-size:14.5px}
body.nw-v2 .event-demand-form-v1453 label span{color:var(--nw-muted);font-weight:500}
body.nw-v2 .event-demand-form-v1453 :is(input,select){width:100%;min-height:48px;padding:0 14px;border:1.5px solid var(--nw-line-strong);border-radius:12px;background:var(--nw-bg);color:var(--nw-ink);font:400 16px/1.3 var(--nw-font)}
body.nw-v2 .event-demand-form-v1453 .nev-primary{min-height:48px;border:0;border-radius:var(--nw-radius);background:var(--nw-brand);color:#fff;font:700 16px/1 var(--nw-font);cursor:pointer}
body.nw-v2 .event-demand-form-v1453 :is(small,p){font-size:13.5px;color:var(--nw-muted)}
body.nw-v2 .nw-buy .event-demand-public-v1644+span+*{margin-top:0}
/* Empty selection line in the order summary */
.booking-empty-selection{color:var(--nw-muted);font-size:14px}
/* Location prompt helpers from shared/_location-choice.php */
body.nw-v2 button[disabled]{cursor:not-allowed;opacity:.6}
.nw-share .nw-btn{padding:0 10px;white-space:nowrap;font-size:14px}
.nw-poster .nw-tile__mono{-webkit-line-clamp:3}
.nw-checkout-bar .nw-secure-tag{white-space:nowrap}
.nw-checkout-bar .nw-secure-tag svg{width:16px;height:16px;flex:none}
.nw-checkout-event__art .nw-tile{padding:6px}
.nw-checkout-event__art .nw-tile__mono{display:none}
.nw-checkout-event__art .nw-tile__cat{font-size:9px}
@media (max-width:380px){.nw-checkout-bar .nw-secure-tag span{display:none}}
.nw-dir-search .nw-search,.nw-hero .home-search .nw-search{min-height:48px;padding:0 4px 0 14px}
.nw-tile__mono{overflow-wrap:normal;word-break:normal;hyphens:none}
.nw-card__media .nw-tile__mono{font-size:14px;-webkit-line-clamp:3}
@media (min-width:640px){.nw-cards--grid .nw-card__media .nw-tile__mono{font-size:28px}}
.nw-cards--rail .nw-card__media .nw-tile__mono{font-size:24px}
/* ---------- Logo mark in brand purple; city tiles ---------- */
.nw-logo span{color:var(--nw-brand)}
html[data-theme="dark"] .nw-logo span{color:var(--nw-brand-text)}
@media (prefers-color-scheme:dark){html:not([data-theme]) .nw-logo span{color:var(--nw-brand-text)}}
.nw-segment{display:inline-flex;gap:4px;padding:4px;margin-bottom:14px;border-radius:14px;background:var(--nw-surface)}
.nw-segment button{min-height:40px;padding:0 14px;border:0;border-radius:10px;background:transparent;color:var(--nw-muted);font:600 14.5px/1 var(--nw-font);cursor:pointer}
.nw-segment button span{margin-left:4px;font-weight:500;color:var(--nw-muted)}
.nw-segment button[aria-selected="true"]{background:var(--nw-bg);color:var(--nw-ink);box-shadow:0 1px 3px rgba(23,21,31,.12)}
.nw-place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
@media (min-width:640px){.nw-place-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:960px){.nw-place-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}
.nw-place{display:flex;flex-direction:column;gap:2px;height:100%;padding:14px;border:1px solid var(--nw-line);border-radius:var(--nw-radius-lg);background:var(--nw-bg);color:var(--nw-ink)!important;text-decoration:none;transition:border-color .15s}
.nw-place:hover{border-color:var(--nw-ink)}
.nw-place__name{font:800 18px/1.15 var(--nw-font-display);letter-spacing:-.01em;overflow-wrap:anywhere}
.nw-place__country{font-size:13.5px;color:var(--nw-muted)}
.nw-place__count{align-self:flex-start;margin-top:10px;padding:3px 9px;border-radius:8px;background:var(--nw-brand-soft);color:var(--nw-brand-text);font:700 13px/1.4 var(--nw-font)}
.nw-section__head .nw-link{white-space:nowrap}
/* v2.4.1 city tiles with a drawn skyline (colours follow the theme) */
.nw-place{padding:0;overflow:hidden;gap:0}
.nw-place__art{position:relative;display:block;aspect-ratio:200/92;background:var(--nw-place-sky,var(--nw-brand-soft));color:var(--nw-place-ink,var(--nw-brand))}
.nw-place[data-tone="1"]{--nw-place-sky:var(--nw-tomorrow-bg);--nw-place-ink:var(--nw-tomorrow)}
.nw-place[data-tone="2"]{--nw-place-sky:var(--nw-now-bg);--nw-place-ink:var(--nw-now)}
.nw-place[data-tone="3"]{--nw-place-sky:var(--nw-today-bg);--nw-place-ink:var(--nw-today)}
.nw-scene{position:absolute;inset:0;width:100%;height:100%}
.nw-scene__sun{fill:var(--nw-mark);opacity:.85}
.nw-scene__back{fill:currentColor;opacity:.22}
.nw-scene__front{fill:currentColor;opacity:.55}
.nw-scene__lights{fill:var(--nw-place-sky,var(--nw-brand-soft));opacity:.9}
.nw-place__flag{position:absolute;top:8px;left:8px;padding:2px 6px;border-radius:8px;background:var(--nw-bg);font-size:14px;line-height:1.3;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.nw-place__body{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px}
.nw-place__count{margin-top:8px}
.nw-place:hover .nw-scene__front{opacity:.7}
/* ---------- v2.4.2 carousels (interests, cities): one row, swipe on phones, arrows on wider screens ---------- */
.nw-carousel{display:grid;grid-auto-flow:column;gap:10px;margin:0;padding:2px 2px 8px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.nw-carousel::-webkit-scrollbar{display:none}
.nw-carousel>li{scroll-snap-align:start}
.nw-carousel--vibes{grid-auto-columns:minmax(136px,1fr)}
.nw-carousel--vibes .nw-vibe{min-height:0;height:100%;padding:12px;gap:4px}
.nw-carousel--vibes .nw-vibe__icon{width:32px;height:32px}
.nw-carousel--places{grid-auto-columns:minmax(168px,1fr)}
@media (max-width:639px){.nw-carousel--vibes{grid-auto-columns:40%}.nw-carousel--places{grid-auto-columns:46%}}
@media (min-width:960px){.nw-carousel--vibes{grid-auto-columns:calc((100% - 50px)/6)}.nw-carousel--places{grid-auto-columns:calc((100% - 40px)/5)}}
.nw-carousel-nav{display:none;gap:6px}
@media (min-width:821px){.nw-carousel-nav{display:flex}}
.nw-carousel-nav .nw-iconbtn{width:40px;height:40px}
/* v2.4.2: on phones, rails keep the compact row card so more events fit on screen */
@media (max-width:639px){
  .nw-cards--rail{grid-auto-columns:88%}
  .nw-cards--rail .nw-card{flex-direction:row;padding:10px;gap:12px}
  .nw-cards--rail .nw-card__media{width:84px;height:96px;aspect-ratio:auto;border-radius:12px}
  .nw-cards--rail .nw-card__body{padding:0}
  .nw-cards--rail .nw-card__media .nw-tile__mono{font-size:14px}
  .nw-cards--rail .nw-tile{padding:9px}
}
.nw-footer--slim{padding:20px 0 28px;margin-top:24px}
.nw-ws-label{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border-radius:9px;background:var(--nw-brand-soft);color:var(--nw-brand-text)!important;font:700 13.5px/1 var(--nw-font);text-decoration:none;white-space:nowrap}
.nw-logo{white-space:nowrap;flex:none}
@media (max-width:400px){.nw-ws-label{display:none}}
