.site-header,.experience-pass-header { flex-wrap:nowrap; }
.tsp-search-sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.tsp-city-search { position:relative;flex:0 1 236px;min-width:180px;order:2;margin-left:24px;z-index:20;font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.tsp-city-search [hidden], [data-tsp-city-card][hidden], .tsp-directory-search [hidden], #tsp-directory-city-empty[hidden] { display:none!important; }
.tsp-city-search__field { display:flex;align-items:center;gap:9px;height:42px;padding:0 12px;background:#f5f7f9;border:1px solid #dbe1e7;border-radius:24px;color:#67717c; }
.tsp-city-search__field:focus-within { border-color:var(--tsp-accent,#e97824);outline:3px solid var(--tsp-soft,#fff2e8);background:#fff; }
.tsp-city-search__field>svg { width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round; }
.tsp-city-search__field input { min-width:0;width:100%;border:0;outline:0;background:transparent;color:#293643;font:500 15px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;padding:0; }
.tsp-city-search__field input::placeholder { color:#63707b;opacity:1; }
.tsp-city-search__field input::-webkit-search-cancel-button { display:none; }
.tsp-city-search__clear { display:grid;place-items:center;flex:none;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:#e8edf1;color:#344657;font:22px/1 system-ui;cursor:pointer; }
.tsp-city-search__clear:focus-visible { outline:2px solid var(--tsp-accent,#e97824);outline-offset:2px; }
.tsp-city-search__panel { position:absolute;top:calc(100% + 12px);right:0;width:min(430px,calc(100vw - 36px));padding:8px;border:1px solid #dce3e9;border-radius:18px;background:#fff;color:#293643;box-shadow:0 15px 45px #1a304829; }
.tsp-city-search__heading { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px 14px;font-size:13px;font-weight:750; }
.tsp-city-search__heading [role=status] { color:#6c7883;font-size:12px;font-weight:400;white-space:nowrap; }
.tsp-city-search__results { max-height:min(370px,50vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin; }
.tsp-city-search .tsp-city-search__result { display:flex;align-items:center;gap:12px;min-height:66px;padding:10px 12px;border-radius:11px;color:#293643!important;background:#fff;text-decoration:none!important;font-size:15px;line-height:1.4;white-space:normal; }
.tsp-city-search .tsp-city-search__result:hover,.tsp-city-search .tsp-city-search__result[aria-selected=true] { background:var(--tsp-soft,#fff2e8); }
.tsp-city-search__result strong,.tsp-city-search__result small { display:block; }
.tsp-city-search__result strong { font-weight:700; }
.tsp-city-search__result small { font-size:12px;font-weight:400;color:#6a7783;margin-top:2px; }
.tsp-city-search__pin { display:grid;place-items:center;flex:none;width:34px;height:38px;border-radius:10px;background:var(--tsp-soft,#fff2e8);color:var(--tsp-accent,#ba5517); }
.tsp-city-search__pin svg { width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6; }
.tsp-city-search__arrow { margin-left:auto;color:#71808c; }
.tsp-city-search__empty { margin:0;padding:28px 18px;color:#697581;text-align:center;font-size:14px;line-height:1.6; }
.tsp-city-search .tsp-city-search__all { display:flex;justify-content:space-between;margin-top:7px;padding:13px 12px 9px;border-top:1px solid #e8edf1;color:var(--tsp-accent,#a64b10)!important;text-decoration:none!important;font-size:13px;font-weight:700; }
.tsp-directory-search { display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:26px 0 28px; }
.tsp-directory-search__field { width:min(100%,510px);height:52px;border-radius:12px; }
.tsp-directory-search__field input { font-size:16px; }
.tsp-directory-search__count { color:#65717d;font:500 14px/1.4 system-ui; }
.tsp-directory-empty { padding:36px 22px;border:1px dashed #ccd6df;border-radius:16px;background:#f7f9fb;text-align:center;color:#606e7a;font:16px/1.6 system-ui; }
.tsp-city-search-menu { display:none; }
.tsp-city-search-modal { box-sizing:border-box;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;inset:0;margin:0;border:0;padding:max(20px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));background:#fff;color:#293643; }
.tsp-city-search-modal[open] { display:flex;flex-direction:column;gap:20px; }
.tsp-city-search-modal::backdrop { background:#fff; }
.tsp-city-search-modal__heading { display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none; }
.tsp-city-search-modal__heading h2 { margin:0;font:750 24px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif; }
.tsp-city-search-modal__heading button { display:grid;place-items:center;width:44px;height:44px;flex:none;border:0;border-radius:50%;background:#f1f4f6;color:#293643;font:30px/1 system-ui;cursor:pointer; }
.tsp-city-search-modal .tsp-city-search { display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;width:100%;margin:0; }
.tsp-city-search-modal .tsp-city-search__field { flex:none;height:50px; }
.tsp-city-search-modal input { font-size:16px; }
.tsp-city-search-modal .tsp-city-search__panel { display:flex;flex-direction:column;position:static;flex:1;min-height:0;width:100%;padding:12px 0 0;border:0;border-radius:0;box-shadow:none; }
.tsp-city-search-modal .tsp-city-search__results { flex:1;min-height:0;max-height:none; }
.tsp-city-search-modal .tsp-city-search__all { flex:none; }
@media(max-width:1100px) {
  .tsp-city-search { display:none; }
  .header-nav>.tsp-city-search-menu,.experience-pass-header-nav>.tsp-city-search-menu { display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:10px 4px;border:0;border-bottom:1px solid #edf0f2;background:transparent;color:#373737;text-align:left;font:700 16px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer; }
  .tsp-directory-search { gap:12px; }
  .tsp-directory-search__field { height:50px; }
}

body.debug-on .tsp-city-search__result.no-pass-experiences strong { text-decoration:line-through;text-decoration-thickness:2px;color:#818990; }
body.debug-on .tsp-city-search__result.no-pass-experiences .tsp-city-search__arrow { font-size:0; }
body.debug-on .tsp-city-search__result.no-pass-experiences .tsp-city-search__arrow::after { content:"✕";font-size:16px;color:#b94b2c;font-weight:800; }
