/* The 2026 polish (AceMedia/SheffEvents#149). Enqueued only with body.ace-restyle (inc/restyle.php),
   last in the bundle, and every rule is scoped to that class: with the gate off none of this loads.
   Layout, borders and type; the character (map cover, orange, motion) stays. */

/* ================================================================ S1.2 tokens ==== */
/* Tokens from the artifact (Sheff Dark and Sheff Light), so colour parity is by value, not by eye. */
.ace-restyle.ace-workspace-page{
  --shell-bg:#17191a;--shell-panel:#121415;--shell-card:#1e2224;--shell-ink:#eceeed;--shell-muted:#9aa3a6;--shell-line:rgba(236,238,237,.1);
  --shell-accent:#ff7a18;--shell-accent-ink:#1a1108;
  --rs-fill:#ff7a18;--rs-ink:#ff7a18;--rs-on-fill:#1a1108;--rs-hot:#ff7a18;--rs-soft:rgba(255,122,24,.14);--rs-softer:rgba(255,122,24,.08);
  --rs-warm:#1a1d1e;--rs-radius:10px;--rs-row:42px;--rs-band:52px;--rs-shadow:0 14px 40px rgba(0,0,0,.45);
  --ace-orange:var(--shell-accent);--ace-orange-2:var(--shell-accent);
}
.ace-restyle.ace-workspace-page[data-ace-theme=light],html.rs-pre-light .ace-restyle.ace-workspace-page:not([data-ace-theme]){
  --shell-bg:#fbf6ec;--shell-panel:#f4ecdc;--shell-card:#fffdf8;--shell-ink:#2a2118;--shell-muted:#615440;--shell-line:rgba(42,33,24,.12);
  --shell-accent:#8f5000;--shell-accent-ink:#ffffff;
  --rs-fill:#efb665;--rs-ink:#8a4d00;--rs-on-fill:#1a1108;--rs-hot:#c77700;--rs-soft:rgba(239,182,101,.28);--rs-softer:rgba(239,182,101,.14);
  --rs-warm:#f1e8d6;--rs-shadow:0 14px 36px rgba(42,33,24,.16);
}
.ace-restyle .ace-shell{font-size:14px}
.ace-restyle .ace-shell :is(h1,h2,h3){letter-spacing:-.01em}

/* ===================================================== S1.2 navigation rail ==== */
.ace-restyle .ace-shell__left{background:linear-gradient(180deg,var(--rs-warm),var(--shell-panel) 220px)}
.ace-restyle .ace-shell__brand{height:var(--rs-band);background:transparent;border-bottom-color:var(--shell-line)}
.ace-restyle .ace-shell__brand-full{color:var(--shell-accent)}
.ace-restyle .ace-shell__brand-full>span{color:var(--shell-accent);font-weight:800;letter-spacing:-.02em}
.ace-restyle .ace-shell__intro{padding:14px 18px 10px}
.ace-restyle .ace-shell__intro strong{color:var(--shell-ink);font-size:13px}
.ace-restyle .ace-shell__intro p{color:var(--shell-muted);font-size:12px}
.ace-restyle .ace-shell .ace-shell__left .ace-nav-group__title{margin:20px 0 6px;padding:0 24px;font-size:10.5px;letter-spacing:.12em;color:color-mix(in srgb,var(--shell-accent) 70%,var(--shell-muted))}
.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation__container{padding:8px 12px!important}
.ace-restyle .ace-shell[data-left-closed=true] .ace-shell__left .wp-block-navigation__container{padding:8px 6px!important}
.ace-restyle .ace-shell__left .wp-block-navigation__container{gap:2px}
.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content{min-height:var(--rs-row);padding:0 14px;border-radius:var(--rs-radius);font-size:13.5px;font-weight:500;gap:12px}
.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content:hover{background:var(--shell-card);color:var(--shell-ink)}
.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content:hover .ace-shell__icon{color:var(--shell-accent)}
.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content[aria-current=page]{background:var(--shell-accent-soft,var(--rs-soft));color:var(--rs-ink,var(--shell-accent));font-weight:700}
.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content[aria-current=page] :is(.ace-shell__icon,.ace-shell__label){color:var(--rs-ink,var(--shell-accent))}
.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content[aria-current=page] .ace-shell__nav-count{background:var(--rs-fill);color:var(--rs-on-fill)}
.ace-restyle .ace-shell__icon{font-size:16px;width:20px}
.ace-restyle .ace-shell__nav-count{margin-left:auto;padding:1px 7px;border-radius:999px;background:var(--shell-card);color:var(--shell-muted);font-size:11px;font-weight:600;line-height:1.6}
.ace-restyle .ace-shell[data-left-closed=true] .ace-shell__left .wp-block-navigation-item__content{padding:0;justify-content:center}
.ace-restyle .ace-shell[data-left-closed=true] .ace-shell__nav-count{display:none}

/* Right rail: a border on its leading edge and one padding rhythm from the head to the foot. */
.ace-restyle .ace-shell__right{border-left:1px solid var(--shell-line);background:var(--shell-panel)}
.ace-restyle .ace-shell__account-head{height:var(--rs-band);background:var(--shell-panel);padding:0 12px;gap:6px}
.ace-restyle .ace-shell__account-head button{width:34px;height:34px;border-radius:50%!important;display:grid;place-items:center;background:var(--shell-card)!important;color:var(--shell-ink)}
.ace-restyle .ace-shell__account-content{padding:16px}
.ace-restyle .ace-shell__account-open{margin:12px;width:calc(100% - 24px);min-height:var(--rs-row);border-radius:999px!important;background:var(--rs-fill)!important;color:var(--rs-on-fill)!important;border:0!important;font-weight:700}
.ace-restyle .ace-shell__right :is(.ace-shell__personal,.ace-shell__welcome){padding:16px 4px}
.ace-restyle .ace-shell__right .ace-shell__personal a{display:flex;align-items:center;gap:10px;min-height:var(--rs-row);padding:0 12px;margin-top:4px;border-radius:var(--rs-radius);color:var(--shell-ink);text-decoration:none}
.ace-restyle .ace-shell__right .ace-shell__personal a:hover{background:var(--shell-card);color:var(--shell-accent)}
.ace-restyle .ace-shell :is(.ace-shell__left,.ace-shell__right) :is(.ace-rail-panel,.ace-rail-panels>*){border-radius:var(--rs-radius)}

/* ============================================ S1.3 tucked rails (container room) ==== */
@media (min-width:901px){
  .ace-restyle .ace-shell.rs-tuck-right{--shell-right:28px!important}
  .ace-restyle .ace-shell.rs-tuck-filter{--shell-filter:28px!important}
  .ace-restyle .ace-shell.rs-tuck-left{--shell-left:28px!important}
  .ace-restyle .ace-shell:is(.rs-tuck-right,.rs-tuck-filter,.rs-tuck-left) :is(.ace-shell__left,.ace-shell__filter,.ace-shell__right){transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s}
  .ace-restyle .ace-shell.rs-tuck-right>.ace-shell__right{width:var(--rs-right-w);justify-self:end;transform:translateX(calc(100% - 28px));z-index:60;position:relative}
  .ace-restyle .ace-shell.rs-tuck-filter>.ace-shell__filter{width:var(--rs-filter-w);justify-self:start;transform:translateX(calc(-100% + 28px));z-index:50;position:relative}
  .ace-restyle .ace-shell.rs-tuck-left>.ace-shell__left{width:var(--rs-left-w);justify-self:start;transform:translateX(calc(-100% + 28px));z-index:70;position:relative}
  /* A tucked filter rail slides under the navigation, never over it. */
  .ace-restyle .ace-shell.rs-has-tuck>.ace-shell__left{position:relative;z-index:70}
  .ace-restyle .ace-shell.rs-has-tuck>.ace-shell__main{z-index:0}
  .ace-restyle .ace-shell.rs-tuck-filter .ace-shell__edge--filter,.ace-restyle .ace-shell.rs-tuck-right .ace-shell__edge--right,.ace-restyle .ace-shell.rs-tuck-left .ace-shell__edge--left{display:none!important}
  .ace-restyle .ace-shell>:is(.ace-shell__left,.ace-shell__filter,.ace-shell__right).is-revealed,
  .ace-restyle .ace-shell>:is(.ace-shell__left,.ace-shell__filter,.ace-shell__right).has-focus{transform:none;box-shadow:var(--rs-shadow)}
  .ace-restyle .ace-shell>:is(.ace-shell__left,.ace-shell__filter,.ace-shell__right).is-revealed>.rs-peek,
  .ace-restyle .ace-shell>:is(.ace-shell__left,.ace-shell__filter,.ace-shell__right).has-focus>.rs-peek{opacity:0;pointer-events:none}
}
@media (min-width:901px) and (hover:hover) and (pointer:fine){
  .ace-restyle .ace-shell.rs-tuck-right>.ace-shell__right:hover,.ace-restyle .ace-shell.rs-tuck-filter>.ace-shell__filter:hover,.ace-restyle .ace-shell.rs-tuck-left>.ace-shell__left:hover{transform:none;box-shadow:var(--rs-shadow)}
  .ace-restyle .ace-shell>:is(.ace-shell__left,.ace-shell__filter,.ace-shell__right):hover>.rs-peek{opacity:0}
}
.ace-restyle .rs-peek{position:sticky;top:0;float:right;z-index:8;height:100%;min-height:100dvh;width:28px;margin:0 0 -100dvh;padding:0!important;border:0!important;border-radius:0!important;background:color-mix(in srgb,var(--shell-panel) 92%,var(--shell-accent))!important;color:var(--shell-accent);display:flex;align-items:flex-start;justify-content:center;cursor:pointer;transition:opacity .2s}
.ace-restyle .rs-peek--right{float:left}
.ace-restyle .rs-peek__label{writing-mode:vertical-rl;transform:rotate(180deg);margin-top:72px;font:700 11px/1 Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.ace-restyle .rs-peek--right .rs-peek__label{transform:none}
.ace-restyle .rs-peek:focus-visible{outline:2px solid var(--shell-accent);outline-offset:-3px}
@media (max-width:900px){.ace-restyle .rs-peek{display:none}}

/* =========================================== S2.1 filter sidebar (home) ==== */
.ace-restyle .ace-shell--home.rs-home-filters{grid-template-columns:var(--shell-left) var(--shell-filter) minmax(0,1fr) var(--shell-right)}
.ace-restyle .ace-shell--home.rs-home-filters>.ace-shell__filter{display:block;grid-column:2;grid-row:1;position:relative;z-index:40;background:var(--shell-panel);border-right:1px solid var(--shell-line)}
.ace-restyle .ace-shell--home.rs-home-filters>.ace-shell__edge--filter{display:block}
.ace-restyle .ace-shell--home.rs-home-filters:not(.is-event-view)>.ace-shell__main{grid-area:1/1/2/-1;padding-inline:calc(var(--shell-left) + var(--shell-filter)) var(--shell-right)}
.ace-restyle .ace-shell--home.rs-home-filters.is-event-view>.ace-shell__main{grid-column:3}
.ace-restyle .ace-shell--home.rs-home-filters>.ace-shell__right{grid-column:4}
.ace-restyle .ace-shell--home.rs-home-filters>.ace-shell__left{grid-column:1}

.ace-restyle .rs-filter-rail{min-height:100%}
.ace-restyle .ace-app__bar.rs-in-rail{position:static!important;inset:auto!important;transform:none!important;opacity:1!important;pointer-events:auto!important;width:auto!important;min-height:0;display:flex!important;flex-direction:column;align-items:stretch;gap:0;padding:0 0 24px!important;margin:0;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:var(--shell-ink);text-align:left}
.ace-restyle .ace-app__bar.rs-in-rail::after,.ace-restyle .ace-app__bar.rs-in-rail>.ace-app__bar-glass{display:none!important}
/* The rail head is the search, one band with the strip. */
.ace-restyle .ace-app__bar.rs-in-rail>.ace-loc{order:-2;position:sticky;top:0;z-index:20;height:var(--rs-band)!important;flex:none;width:auto!important;margin:0;padding:0 12px 0 38px;border:0!important;border-bottom:1px solid var(--shell-line)!important;border-radius:0!important;background:var(--shell-panel)!important;display:flex;align-items:center}
.ace-restyle .ace-app__bar.rs-in-rail>.ace-loc>.dashicons-search{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--shell-accent)}
.ace-restyle .ace-app__bar.rs-in-rail .ace-loc-search{height:34px;width:100%;padding:0 26px 0 0!important;border:0!important;border-bottom:1px solid transparent!important;border-radius:0!important;background:transparent!important;color:var(--shell-ink);font-size:13.5px}
.ace-restyle .ace-app__bar.rs-in-rail .ace-loc-search:focus{outline:none;border-bottom-color:var(--shell-accent)!important}
.ace-restyle .ace-app__bar.rs-in-rail .ace-loc-suggest{position:absolute;left:0;right:0;top:100%;z-index:900;border-radius:0 0 var(--rs-radius) var(--rs-radius)}
/* The greeting sits in the sidebar, as the H1 it always was. */
.ace-restyle .ace-app__bar.rs-in-rail>.ace-app__lead{order:-1;padding:18px 16px 4px}
.ace-restyle .ace-app__bar.rs-in-rail .ace-app__title{margin:0 0 6px;font-size:24px!important;line-height:1.15;color:var(--shell-ink)}
.ace-restyle .ace-app__bar.rs-in-rail .ace-app__sub{margin:0;font-size:12.5px;line-height:1.5;color:var(--shell-muted)}
/* Every filter in a column; the menus open in place rather than floating over the page. */
.ace-restyle .ace-app__bar.rs-in-rail .ace-filters{display:flex!important;flex-direction:column;align-items:stretch;gap:0;padding:6px 0 0;width:auto!important;max-width:none!important}
.ace-restyle .ace-app__bar.rs-in-rail .ace-dd{flex:none!important;width:auto!important;max-width:none!important;min-width:0!important;position:relative;margin:0!important;border-top:1px solid var(--shell-line)}
.ace-restyle .ace-app__bar.rs-in-rail .ace-dd__btn{width:100%!important;min-height:var(--rs-row);padding:0 16px!important;border:0!important;border-radius:0!important;background:none!important;color:var(--shell-ink)!important;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600}
.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.is-set .ace-dd__label{color:var(--shell-accent)}
.ace-restyle .ace-app__bar.rs-in-rail .ace-dd__menu{position:static!important;inset:auto!important;width:auto!important;min-width:0!important;max-width:none!important;max-height:280px;margin:0 10px 10px;padding:4px;border-radius:var(--rs-radius);border:1px solid var(--shell-line);background:var(--shell-card)!important;backdrop-filter:none!important;box-shadow:none}
.ace-restyle .ace-app__bar.rs-in-rail .ace-dd__opt{display:flex;align-items:center;gap:8px;min-height:32px;padding:0 8px;border-radius:7px;font-size:13px;color:var(--shell-ink)}
.ace-restyle .ace-app__bar.rs-in-rail .ace-dd__opt:hover{background:var(--rs-softer)}
.ace-restyle .ace-app__bar.rs-in-rail :is(.ace-f-from,.ace-f-to):not([hidden]){display:block;width:calc(100% - 32px);margin:4px 16px;height:36px;padding:0 10px;border:1px solid var(--shell-line);border-radius:8px;background:var(--shell-card);color:var(--shell-ink);color-scheme:inherit}
.ace-restyle .ace-app__bar.rs-in-rail .ace-include-classes{display:flex;align-items:center;gap:10px;min-height:var(--rs-row);margin:0;padding:0 16px;border:0;border-top:1px solid var(--shell-line);background:none;color:var(--shell-ink);font-size:13px;width:auto}
.ace-restyle .ace-app__bar.rs-in-rail .ace-include-classes input,.ace-restyle .ace-app__bar.rs-in-rail .ace-dd__opt input{accent-color:var(--rs-fill)}
.ace-restyle .ace-app__bar.rs-in-rail .ace-app__explore{margin:14px 16px 0;width:auto;min-height:var(--rs-row);border-radius:999px!important;border:0!important;background:var(--rs-fill)!important;color:var(--rs-on-fill)!important;font-weight:700}
.ace-restyle .ace-app__bar.rs-in-rail .ace-app__close{display:none}

/* S2.1 (artifact): Sort, When and Categories are open in the rail under small-caps headings; Sort is a
   segmented control, When a row of chips, Categories a scrolling checkbox list. These are the same
   .ace-dd controls (same inputs, same handlers), only shown open; area keeps its own disclosure. */
.ace-restyle .ace-app__bar.rs-in-rail .ace-dd:is(.ace-f-sort,.ace-f-period,.ace-f-category){border-top:0;padding:14px 16px 0}
.ace-restyle .ace-app__bar.rs-in-rail .ace-dd:is(.ace-f-sort,.ace-f-period,.ace-f-category)>.ace-dd__btn{display:none}
.ace-restyle .ace-app__bar.rs-in-rail .ace-dd:is(.ace-f-sort,.ace-f-period,.ace-f-category)::before{display:block;margin:0 0 8px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--shell-muted)}
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-sort::before{content:"Sort"}
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-period::before{content:"When"}
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-category::before{content:"Categories"}
.ace-restyle .ace-app__bar.rs-in-rail .ace-dd:is(.ace-f-sort,.ace-f-period,.ace-f-category)>.ace-dd__menu,
.ace-restyle .ace-app__bar.rs-in-rail .ace-dd:is(.ace-f-sort,.ace-f-period,.ace-f-category)>.ace-dd__menu[hidden]{display:flex!important;margin:0;border:0;background:none!important;padding:0;box-shadow:none;max-height:none;overflow:visible}
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-sort>.ace-dd__menu{flex-wrap:wrap!important;gap:6px}
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-sort .ace-dd__opt{min-height:30px;padding:0 12px;border:1px solid var(--shell-line);border-radius:999px;background:var(--shell-card);font-weight:600;cursor:pointer}
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-sort .ace-dd__opt input{position:absolute;opacity:0;pointer-events:none}
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-sort .ace-dd__opt:has(input:checked){background:var(--rs-fill);border-color:transparent;color:var(--rs-on-fill);font-weight:700}
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-period>.ace-dd__menu{flex-wrap:wrap;gap:6px}
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-period .ace-dd__opt{min-height:30px;padding:0 12px;border:1px solid var(--shell-line);border-radius:999px;background:var(--shell-card);font-weight:600;cursor:pointer}
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-period .ace-dd__opt input{position:absolute;opacity:0;pointer-events:none}
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-period .ace-dd__opt:has(input:checked){background:var(--rs-fill);border-color:transparent;color:var(--rs-on-fill)}
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-category>.ace-dd__menu{flex-direction:column!important;max-height:240px!important;overflow:auto!important;padding:2px;border:1px solid var(--shell-line);border-radius:var(--rs-radius);background:var(--shell-card)!important}
/* The grid's own search, area, classes and category disclosure now live in the rail (shared through
   'ace:filters'), so they do not repeat in the page; time chips, Free only and the selected tags stay. */
.ace-restyle .ace-events-browser .ace-browser__filters>:is(.ace-browser__search,.ace-b-select,.ace-b-toggle+.ace-b-toggle){display:none}
.ace-restyle .ace-events-browser .ace-browser__categories{display:none}
/* Order as in the artifact: When, From/To, Sort, Categories, then Area and the rest. */
.ace-restyle .ace-app__bar.rs-in-rail .ace-filters>.ace-f-period{order:1}
.ace-restyle .ace-app__bar.rs-in-rail .ace-filters>:is(.ace-f-from,.ace-f-to){order:2}
.ace-restyle .ace-app__bar.rs-in-rail .ace-filters>.ace-f-sort{order:3}
.ace-restyle .ace-app__bar.rs-in-rail .ace-filters>.ace-f-category{order:4}
.ace-restyle .ace-app__bar.rs-in-rail .ace-filters>.ace-f-area{order:5}
.ace-restyle .ace-app__bar.rs-in-rail .ace-filters>.ace-include-classes{order:6}

/* Collapsed (the knob): the search stays open and overflows into the strip row. */
@media (min-width:901px){
  .ace-restyle .ace-shell.rs-home-filters.rs-filter-collapsed>.ace-shell__filter{overflow:visible;z-index:40}
  .ace-restyle .ace-shell.rs-filter-collapsed .ace-app__bar.rs-in-rail>:not(.ace-loc){display:none!important}
  .ace-restyle .ace-shell.rs-filter-collapsed .ace-app__bar.rs-in-rail>.ace-loc{position:absolute;left:0;top:0;width:238px!important;border-right:1px solid var(--shell-line)!important}
  .ace-restyle .ace-shell.rs-filter-collapsed .ace-hub-route .als{padding-left:calc(238px - var(--shell-filter))}
}

/* The named opener: only when the sidebar is tucked or collapsed; on phones, inside the search. */
.ace-restyle .rs-filters-open{display:none;align-items:center;gap:6px;flex:none;height:32px;padding:0 12px!important;border-radius:999px!important;border:1px solid color-mix(in srgb,var(--shell-accent) 45%,transparent)!important;background:var(--rs-soft)!important;color:var(--shell-accent)!important;font:700 12.5px/1 Manrope,sans-serif;cursor:pointer}
.ace-restyle .rs-filters-open .rs-count:not(:empty){min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--rs-fill);color:var(--rs-on-fill);display:inline-grid;place-items:center;font-size:11px}
@media (min-width:901px){.ace-restyle .ace-shell:is(.rs-tuck-filter,.rs-filter-collapsed) .rs-filters-open--strip{display:inline-flex}}
.ace-restyle .ace-shell.rs-filter-collapsed .rs-filters-open--strip{display:none!important}
@media (max-width:900px){.ace-restyle .rs-filters-open--inline{display:inline-flex;position:absolute;right:6px;top:50%;transform:translateY(-50%)}}

/* ============================================================== calendar ==== */
.ace-restyle .rs-cal{order:0;padding:10px 12px 6px;user-select:none;-webkit-user-select:none}
.ace-restyle .rs-cal__head{display:flex;align-items:center;justify-content:space-between;height:34px}
.ace-restyle .rs-cal__title{margin:0;font-size:14px!important;font-weight:700;color:var(--shell-ink)}
.ace-restyle .rs-cal__nav{width:28px;height:28px;padding:0!important;border-radius:50%!important;border:1px solid var(--shell-line)!important;background:transparent!important;color:var(--shell-ink);display:grid;place-items:center}
.ace-restyle .rs-cal__row{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:3px}
.ace-restyle .rs-cal__dow span{font-size:10.5px;font-weight:600;color:var(--shell-muted);text-align:center;line-height:22px}
/* Fixed cell size and padding in every state, so a drag never moves the grid. */
.ace-restyle .rs-cal__day{position:relative;aspect-ratio:1;min-width:0;padding:0!important;border:1px solid transparent!important;border-radius:7px!important;background:transparent!important;color:var(--shell-muted);font-size:12px;font-weight:600;line-height:1;display:grid;place-items:center;cursor:pointer;box-sizing:border-box}
.ace-restyle .rs-cal__day.is-month{background:color-mix(in srgb,var(--shell-ink) 7%,transparent)!important;color:var(--shell-ink)}
.ace-restyle .rs-cal__day.is-month.is-future{background:color-mix(in srgb,var(--shell-ink) 4.5%,transparent)!important}
.ace-restyle .rs-cal__day.is-month:hover{background:color-mix(in srgb,var(--shell-ink) 12%,transparent)!important}
.ace-restyle .rs-cal__day.is-past{color:var(--shell-muted);cursor:default}
.ace-restyle .rs-cal__day.is-other{opacity:1;color:var(--shell-muted);font-weight:400}
.ace-restyle .rs-cal__day.is-today{border-color:var(--shell-accent)!important;color:var(--rs-ink)}
.ace-restyle .rs-cal__day.is-sel{background:var(--rs-fill)!important;color:var(--rs-on-fill)!important}
.ace-restyle .rs-cal__day:focus-visible{outline:2px solid var(--shell-accent);outline-offset:1px}
.ace-restyle .rs-cal__dot{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);height:3px;width:calc(var(--n,1)*4px + (var(--n,1) - 1)*2px);border-radius:2px;background:repeating-linear-gradient(90deg,var(--rs-hot) 0 4px,transparent 4px 6px)}
.ace-restyle .rs-cal__day.is-sel .rs-cal__dot{background:repeating-linear-gradient(90deg,var(--rs-on-fill) 0 4px,transparent 4px 6px)}
.ace-restyle .rs-cal__sum{margin:8px 2px 0;font-size:12px;color:var(--shell-muted)}

/* ============================================================== S2.2 strip ==== */
.ace-restyle .ace-shell .als{min-height:var(--rs-band)}
.ace-restyle .ace-shell .als .als__inner{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;min-height:var(--rs-band);padding:0 12px;background:var(--shell-panel);border-bottom:1px solid var(--shell-line);border-radius:0;flex-wrap:nowrap}
.ace-restyle .ace-shell .als.rs-band{position:sticky!important;top:0;left:auto;right:auto;z-index:900;width:auto;max-width:none;margin:0!important;padding:0!important;display:flex;align-items:center;background:var(--shell-panel);pointer-events:auto}
.ace-restyle .ace-shell .als.rs-band .rs-filters-open--strip{margin-left:12px}
.ace-restyle .ace-shell .als .als__inner{flex:1;min-width:0}
/* Urgent chips first, then the rest of the statuses, all in words; the ticker takes what is left. */
.ace-restyle .ace-shell .als .als__chips{order:-1;display:flex;flex:0 1 auto;flex-wrap:nowrap;gap:2px;max-width:56%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:0;height:38px;align-items:center;background:none!important;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}
.ace-restyle .ace-shell .als .als__chips::-webkit-scrollbar{display:none}
.ace-restyle .ace-shell .als .als__chips>*{flex:none}
.ace-restyle .ace-shell .als .als__chip{order:2;display:inline-flex;align-items:center;gap:4px;height:38px;padding:0 8px;border-radius:0;border:0;background:none!important;color:var(--shell-ink)!important;font-size:12px;font-weight:600;white-space:nowrap}
.ace-restyle .ace-shell .als .als__chip small{color:var(--shell-muted);font-weight:500}
.ace-restyle .ace-shell .als .als__chip.is-warn{order:1;background:none!important;color:var(--rs-ink)!important;font-weight:700}
.ace-restyle .ace-shell .als .als__ticker{flex:1 1 0;min-width:180px;height:var(--rs-band);border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;display:flex;align-items:center;gap:10px;overflow:hidden}
.ace-restyle .ace-shell .als .als__tk{flex:none;display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:6px;background:var(--rs-fill);color:var(--rs-on-fill)}
.ace-restyle .ace-shell .als .als__tk svg{width:13px;height:13px}
.ace-restyle .ace-shell .als .als__tkl{color:var(--rs-on-fill)!important;font:800 10.5px/1 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.ace-restyle .ace-shell .als .als__tkl b{color:inherit}
.ace-restyle .ace-shell .als .als__tkin{flex:1;min-width:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.ace-restyle .ace-shell .als .als-card{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px 0 0;background:none!important;border:0!important;box-shadow:none!important}
.ace-restyle .ace-shell .als .als-card__th{width:28px!important;height:28px!important;min-width:28px;border-radius:6px!important;overflow:hidden;box-shadow:none!important}
.ace-restyle .ace-shell .als .als-card__th.is-date{display:grid;place-items:center;background:var(--shell-card)!important;border:1px solid var(--shell-line)}
.ace-restyle .ace-shell .als .als-card__th.is-date b{font-size:11px;line-height:1;color:var(--shell-accent)}
.ace-restyle .ace-shell .als .als-card__th.is-date small{display:none}
.ace-restyle .ace-shell .als .als-card__tx{display:flex!important;align-items:baseline;gap:8px;white-space:nowrap}
.ace-restyle .ace-shell .als .als-card__tx b{font-size:12.5px;color:var(--shell-ink);max-width:none}
.ace-restyle .ace-shell .als .als-card__tx>span{font-size:11.5px;color:var(--shell-muted)}
.ace-restyle .ace-shell .als .als-card__tx em{font:normal 600 10.5px/1 Manrope,sans-serif;color:color-mix(in srgb,var(--shell-accent) 75%,var(--shell-muted))}
/* NEW rides with each event that arrived in the last day, never as a fixed label. */
.ace-restyle .ace-shell .als .als-card.is-new .als-card__tx b::before{content:"New";display:inline-block;margin-right:6px;padding:2px 6px;border-radius:999px;background:var(--rs-hot);color:#1a1108;font:800 9.5px/1.2 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;vertical-align:1px}
@media (max-width:1180px){
  .ace-restyle .ace-shell .als .als__inner{flex-wrap:wrap;padding:6px 12px;row-gap:0}
  .ace-restyle .ace-shell .als .als__chips{max-width:none;flex:1 1 100%;padding:0}
  .ace-restyle .ace-shell .als .als__ticker{flex:1 1 100%;height:40px}
}
@media (max-width:900px){
  .ace-restyle .ace-shell .als .als__chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
}

/* ======================================================= S2.3 map cover ==== */
/* The map is the cover: shorter, its toolbar in one row at the top, fading into the page so
   What's on sits over its lower edge. The live tiles, flags and controls are the app's own. */
@media (min-width:901px){
  .ace-restyle .ace-shell--home:not(.is-event-view) .wp-block-post-content>.ace-home-hero{height:clamp(380px,56vh,540px);min-height:0}
  .ace-restyle .ace-shell--home:not(.is-event-view) .ace-home-hero .ace-app__map{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 58%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 58%,transparent 100%)}
  .ace-restyle .ace-shell--home:not(.is-event-view) .ace-home-hero .ace-app__cover{background:linear-gradient(180deg,transparent 45%,var(--shell-bg) 100%)!important;opacity:1}
  .ace-restyle .ace-shell--home:not(.is-event-view) .ace-home-hero .ace-app.is-intro .ace-app__mapctrls{top:14px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);display:flex;gap:6px;padding:5px;border-radius:999px;background:color-mix(in srgb,var(--shell-panel) 90%,transparent);border:1px solid var(--shell-line);box-shadow:0 6px 18px rgba(0,0,0,.25)}
  .ace-restyle .ace-shell--home.is-event-view .wp-block-post-content>.ace-home-hero{height:calc(100% - var(--rs-band))!important}
  /* What's on comes first and rises over the faded map. */
  .ace-restyle .ace-shell--home .ace-home-content{display:flex;flex-direction:column}
  .ace-restyle .ace-shell--home .ace-home-content>.ace-home-days{order:-1;position:relative;z-index:3;margin-top:-178px!important}
}
.ace-restyle .ace-shell--home .ace-home-days>.ace-home-days-title{display:none!important}
.ace-restyle .ace-shell--home.rs-custom-filter .ace-home-featured{display:none!important}
/* Phones: the bar stays in the page as live, the search is the way in and the filters sit
   behind the labelled opener until asked for. */
@media (max-width:900px){
  .ace-restyle .ace-app__bar:not(.rs-in-rail) .ace-loc{position:relative}
  .ace-restyle .ace-app__bar:not(.rs-in-rail) .ace-loc-search{padding-right:104px!important}
  .ace-restyle .ace-app__bar:not(.rs-in-rail):not(.rs-filters-shown) .ace-filters{display:none!important}
  .ace-restyle .ace-app__bar:not(.rs-in-rail) .rs-filters-open{height:34px}
}

/* ======================================================= view switch ==== */
.ace-restyle .ace-shell .rs-views{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ace-restyle .ace-shell .ace-app.is-active .ace-app__views{gap:8px}
.ace-restyle .ace-shell :is(.ace-app__viewset,.rs-views__set){display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--shell-card);border:1px solid var(--shell-line);box-shadow:none}
.ace-restyle .ace-shell :is(.ace-app__viewbtn,.rs-views__set button){display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 13px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:var(--shell-muted)!important;font-size:12.5px;font-weight:600}
.ace-restyle .ace-shell :is(.ace-app__viewbtn,.rs-views__set button)[aria-pressed=true]{background:var(--rs-fill)!important;color:var(--rs-on-fill)!important}
.ace-restyle .ace-shell :is(.ace-app__viewbtn,.rs-views__set button):hover:not([aria-pressed=true]){color:var(--shell-ink)!important}
.ace-restyle .ace-shell :is(.ace-app__shareview,.rs-views__share){height:32px;padding:0 13px!important;border-radius:999px!important;border:1px solid var(--shell-line)!important;background:transparent!important;color:var(--shell-ink)!important;font-size:12.5px;font-weight:600}
.ace-restyle .ace-shell .ace-app__views .dashicons{font-size:15px;width:15px;height:15px}
.ace-restyle .ace-home-days .rs-views{margin:0 0 16px}
.ace-restyle .ace-home-days .ace-browser:is(.is-view-list,.is-view-calendar) .ace-grid{transition:opacity .18s ease,transform .18s ease}
.ace-restyle .ace-home-days .ace-browser.is-view-list .ace-grid{grid-template-columns:minmax(0,1fr)}
.ace-restyle .ace-home-days .ace-browser.is-view-list .ace-gcard{display:grid;grid-template-columns:148px minmax(0,1fr);min-height:112px;transform:none}
.ace-restyle .ace-home-days .ace-browser.is-view-list .ace-gcard__media{height:100%;min-height:112px}
.ace-restyle .ace-home-days .ace-browser.is-view-list .ace-gcard__body{align-self:center}
.ace-restyle .ace-home-calendar{display:grid;gap:22px;animation:rs-view-in .25s ease both}
.ace-restyle .ace-home-calendar__month>h3{margin:0 0 12px;color:var(--shell-ink);font-size:18px}
.ace-restyle .ace-home-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.ace-restyle .ace-home-calendar__weekday{padding:0 8px 5px;color:var(--shell-muted);font-size:11px;font-weight:700}
.ace-restyle .ace-home-calendar__day,.ace-restyle .ace-home-calendar__blank{min-width:0;min-height:94px;padding:8px;border:1px solid var(--shell-line);border-radius:10px;background:var(--shell-card)}
.ace-restyle .ace-home-calendar__blank{opacity:.35}
.ace-restyle .ace-home-calendar__day time{display:block;margin-bottom:5px;color:var(--shell-muted);font-size:12px;font-weight:700}
.ace-restyle .ace-home-calendar__day.has-events time{color:var(--shell-accent)}
.ace-restyle .ace-home-calendar__event{display:block;overflow:hidden;padding:4px 5px;border-radius:5px;background:color-mix(in srgb,var(--shell-accent) 13%,transparent);color:var(--shell-ink);font-size:11px;line-height:1.3;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.ace-restyle .ace-home-calendar__event+.ace-home-calendar__event{margin-top:3px}
.ace-restyle .ace-home-calendar__event span{margin-right:5px;color:var(--shell-accent);font-weight:700}
.ace-restyle .ace-home-calendar__more{display:block;margin-top:3px;color:var(--shell-muted);font-size:10px}
@keyframes rs-view-in{from{opacity:.45;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:700px){
  .ace-restyle .ace-home-days .ace-browser.is-view-list .ace-gcard{grid-template-columns:96px minmax(0,1fr);min-height:92px}
  .ace-restyle .ace-home-days .ace-browser.is-view-list .ace-gcard__media{min-height:92px}
  .ace-restyle .ace-home-calendar__grid{gap:3px}
  .ace-restyle .ace-home-calendar__day,.ace-restyle .ace-home-calendar__blank{min-height:70px;padding:4px}
  .ace-restyle .ace-home-calendar__event{font-size:10px}
}
@media (max-width:900px){.ace-restyle .rs-views{display:none}}

/* ================================================ S2.4 event list skin ==== */
/* Flat rows with a date block; the row keeps every line it had (time, venue, category, free). */
.ace-restyle .ace-shell .ace-whatson-day{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 18px;padding:14px 0;border-top:1px solid var(--shell-line)}
.ace-restyle .ace-shell .ace-whatson-day__heading{margin:0;position:sticky;top:calc(var(--rs-band) + 8px);align-self:start}
.ace-restyle .ace-shell .ace-whatson-day__heading time{display:grid;justify-items:center;width:58px;padding:6px 0;border:0;border-radius:var(--rs-radius);background:transparent;color:var(--shell-muted);font:600 10.5px/1.25 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.ace-restyle .ace-shell .ace-whatson-day__heading time strong{font-size:28px;line-height:1.05;color:var(--shell-accent);letter-spacing:-.02em}
.ace-restyle .ace-shell .ace-whatson-row{display:grid;grid-template-columns:112px 52px minmax(0,1fr);align-items:center;gap:16px;padding:12px 0;border:0;border-bottom:1px solid var(--shell-line);background:none}
.ace-restyle .ace-shell .ace-whatson-row:last-child{border-bottom:0}
.ace-restyle .ace-shell .ace-whatson-row__thumb{width:112px;height:76px;object-fit:cover;border-radius:var(--rs-radius)}
.ace-restyle .ace-shell .ace-whatson-row__time{font:700 13px/1 Manrope,sans-serif;color:var(--shell-ink)}
.ace-restyle .ace-shell .ace-whatson-row__title{font:700 16px/1.3 Manrope,sans-serif;color:var(--shell-ink);text-decoration:none}
.ace-restyle .ace-shell .ace-whatson-row__title:hover{color:var(--shell-accent);text-decoration:underline;text-underline-offset:3px}
.ace-restyle .ace-shell .ace-whatson-row__meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:5px;font-size:13px;color:var(--shell-muted)}
.ace-restyle .ace-shell .ace-whatson-row__meta>*+*::before{content:"·";margin-right:12px;color:var(--shell-line)}
@media (max-width:600px){
  .ace-restyle .ace-shell .ace-whatson-day{grid-template-columns:44px minmax(0,1fr);gap:0 12px}
  .ace-restyle .ace-shell .ace-whatson-day__heading time{width:44px}
  .ace-restyle .ace-shell .ace-whatson-day__heading time strong{font-size:22px}
  /* Phones: a small thumbnail beside the title, practical details beneath. */
  .ace-restyle .ace-shell .ace-whatson-row{grid-template-columns:64px minmax(0,1fr);grid-template-areas:"thumb body" "thumb time";gap:4px 12px;align-items:start}
  .ace-restyle .ace-shell .ace-whatson-row__thumb{grid-area:thumb;width:64px;height:64px}
  .ace-restyle .ace-shell .ace-whatson-row__body{grid-area:body}
  .ace-restyle .ace-shell .ace-whatson-row__time{grid-area:time;font-size:12px;color:var(--shell-accent)}
  .ace-restyle .ace-shell .ace-whatson-row__title{font-size:15px}
}
/* Card grids (home, related lists): one radius, a hairline, the photo sharp. */
.ace-restyle .ace-shell .ace-gcard{border-radius:var(--rs-radius);border:1px solid var(--shell-line);background:var(--shell-card);overflow:hidden;box-shadow:none;transition:border-color .15s,transform .15s}
.ace-restyle .ace-shell .ace-gcard:hover{border-color:color-mix(in srgb,var(--shell-accent) 55%,transparent);transform:translateY(-2px)}
.ace-restyle .ace-shell .ace-gcard__date{color:var(--shell-accent);font-weight:700;letter-spacing:.02em}
.ace-restyle .ace-shell .ace-gcard__title{font-family:Manrope,sans-serif;font-weight:700;color:var(--shell-ink)}
.ace-restyle .ace-shell .ace-gcard__meta{color:var(--shell-muted)}
.ace-restyle .ace-shell :is(.ace-chip,.ace-gcard .ace-chip){border-radius:999px;border:1px solid var(--shell-line);background:transparent;color:var(--shell-muted);font-size:11px;font-weight:600}
.ace-restyle .ace-shell .ace-chip--free{border-color:color-mix(in srgb,#4ade80 40%,transparent);color:#7fe0a3}
.ace-restyle[data-ace-theme=light] .ace-shell .ace-chip--free{color:#16794a}

/* Browse controls (What's on): pills, one line of chips, categories as a disclosure. */
.ace-restyle .ace-shell :is(.ace-grid-heading,.ace-app__browse-title){position:relative;margin:0 0 14px;padding-bottom:10px;font-size:clamp(22px,2.2vw,28px)!important;font-weight:700;color:var(--shell-ink)}
.ace-restyle .ace-shell :is(.ace-grid-heading,.ace-app__browse-title)::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:3px;border-radius:2px;background:var(--rs-fill)}
.ace-restyle .ace-shell .ace-browser__search input{border-radius:999px!important}
.ace-restyle .ace-shell :is(.ace-browse-period,.ace-browse-category){height:32px;padding:0 13px!important;border-radius:999px!important;border:1px solid var(--shell-line)!important;background:transparent!important;color:var(--shell-ink)!important;font-size:12.5px;font-weight:600}
.ace-restyle .ace-shell :is(.ace-browse-period,.ace-browse-category):is([aria-pressed=true],.is-on){background:var(--rs-fill)!important;color:var(--rs-on-fill)!important;border-color:transparent!important}

/* ===================================================== S2.3 full map mode ==== */
/* Map in the switch is the same app going active: map fills the panel, the list docks narrow,
   the toolbar becomes one row. Tiles, flags, route planner, Day out and attribution unchanged. */
.ace-restyle .ace-shell .ace-app.is-active .ace-app__mapctrls{gap:6px;padding:5px;border-radius:999px;background:color-mix(in srgb,var(--shell-panel) 92%,transparent);border:1px solid var(--shell-line);box-shadow:0 8px 22px rgba(0,0,0,.28)}
.ace-restyle .ace-shell .ace-app :is(.ace-map-style__btn,.ace-app__route-btn,.ace-app__mapctrls button){border-radius:999px!important}
.ace-restyle .ace-shell .ace-app .ace-map-style__btn.is-active,.ace-restyle .ace-shell .ace-app .ace-map-style__btn[aria-pressed=true]{background:var(--rs-fill)!important;color:var(--rs-on-fill)!important}
.ace-restyle .ace-shell .ace-app.is-active .ace-app__panel{border-right:1px solid var(--shell-line);background:var(--shell-panel)}
.ace-restyle .ace-shell .ace-app.is-view-map .ace-app__panel{width:min(340px,38%)}
.ace-restyle .ace-shell .ace-app__detail{border-left:1px solid var(--shell-line);background:var(--shell-panel)}
.ace-restyle .ace-shell.rs-map-opening .ace-app__map{animation:rs-map-in .8s cubic-bezier(.2,.8,.2,1)}
.ace-restyle .ace-shell.rs-map-opening .ace-app__panel{animation:rs-map-panel-in .7s .12s cubic-bezier(.2,.8,.2,1) both}
@keyframes rs-map-in{from{filter:blur(5px) saturate(.75);opacity:.55;transform:scale(1.035)}to{filter:none;opacity:1;transform:scale(1)}}
@keyframes rs-map-panel-in{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ace-restyle .ace-shell.rs-map-opening .ace-app__map{animation:none}}

/* ============================================= S2.5 the rest of Home ==== */
.ace-restyle .ace-shell :is(.ace-hl,.ace-deck-band,.ace-community,.ace-home-discovery){--rs-sec-pad:clamp(20px,3vw,32px)}
.ace-restyle .ace-shell .ace-hl__card{border-radius:var(--rs-radius);border:1px solid var(--shell-line);background:var(--shell-card);box-shadow:none}
.ace-restyle .ace-shell .ace-hl__card:hover{border-color:color-mix(in srgb,var(--shell-accent) 50%,transparent)}
.ace-restyle .ace-shell .ace-hl__kicker{color:var(--shell-accent);letter-spacing:.1em}
.ace-restyle .ace-shell .ace-hl__value{font-family:Manrope,sans-serif;color:var(--shell-ink)}
.ace-restyle .ace-shell :is(.ace-hl__title,.ace-hl-home-title,.ace-discovery-heading h2,.ace-deck-band h2,.ace-community h2){font-weight:700;letter-spacing:-.01em;color:var(--shell-ink)}
.ace-restyle .ace-shell :is(.ace-hl__more,.ace-discovery-more,.ace-grid-cta,.ace-deck-band .wp-block-button__link){border-radius:999px!important}
.ace-restyle .ace-shell .ace-deck__card{border-radius:var(--rs-radius);overflow:hidden;border:1px solid var(--shell-line)}
.ace-restyle .ace-shell .ace-deck__arrow{border-radius:50%!important;background:var(--shell-card)!important;border:1px solid var(--shell-line)!important}
.ace-restyle .ace-shell .ace-boosted__card{border-radius:var(--rs-radius);overflow:hidden}
.ace-restyle .ace-shell .ace-boosted__chip--boost{background:var(--rs-fill);color:var(--rs-on-fill)}
.ace-restyle .ace-shell .ace-home-content .wp-block-buttons .wp-block-button__link{border-radius:999px!important;border:1px solid var(--shell-line);background:var(--shell-card);color:var(--shell-ink)}
.ace-restyle .ace-shell .ace-home-content .wp-block-buttons .wp-block-button__link:hover{border-color:var(--shell-accent);color:var(--shell-accent)}
.ace-restyle .ace-shell .ace-home-content .wp-block-cover{border-radius:var(--rs-radius);overflow:hidden}
.ace-restyle .ace-shell .ace-discovery-card{border-radius:var(--rs-radius);border:1px solid var(--shell-line);background:var(--shell-card)}
.ace-restyle .ace-shell .ace-discovery-eyebrow{color:var(--shell-accent);letter-spacing:.1em}
/* Live data, editorial and commercial sections each get a distinct, quiet frame. */
.ace-restyle .ace-shell .ace-home-content>.ace-hl{border-top:1px solid var(--shell-line)}
.ace-restyle .ace-shell .ace-home-discovery{border-top:1px solid var(--shell-line);padding-top:8px}

/* ======================================== footer: part of the main panel ==== */
.ace-restyle .ace-shell__main>footer.wp-block-template-part{border-top:1px solid var(--shell-line);background:linear-gradient(180deg,var(--shell-panel),var(--shell-bg))}
.ace-restyle .ace-shell .ace-footer :is(h2,h3,h4){color:var(--shell-accent);font-size:11px!important;letter-spacing:.12em;text-transform:uppercase}
.ace-restyle .ace-shell .ace-footer a{color:var(--shell-ink);text-decoration:none}
.ace-restyle .ace-shell .ace-footer a:hover{color:var(--shell-accent);text-decoration:underline;text-underline-offset:3px}

/* Hubs with their own filter rail (Sport and the other interest hubs, charities, jobs, market).
   At 901-1100px the plugin dropped the rail's column but kept main in column 3, which squeezed
   the page into a sliver (a live bug before this work). Here the rail keeps its column and
   tucks like every other rail. */
@media (min-width:901px) and (max-width:1100px){
  .ace-restyle .ace-shell:is(.has-jobs-filters,.has-market-filters,.has-chy-rail,.has-scran-rail){grid-template-columns:var(--shell-left) var(--shell-filter) minmax(0,1fr) var(--shell-right)!important}
  .ace-restyle .ace-shell:is(.has-jobs-filters,.has-market-filters,.has-chy-rail,.has-scran-rail)>.ace-shell__filter{display:block!important;grid-column:2;grid-row:1}
}
/* The filter bar lives in the sidebar now, so full map mode gives its band back to the map. */
@media (min-width:901px){
  .ace-restyle .ace-shell.rs-home-filters .ace-app{--ace-bar-height:0px!important}
  .ace-restyle .ace-shell.rs-home-filters .ace-app.is-active .ace-app__panel{top:var(--ace-header-offset,0px)}
  .ace-restyle .ace-shell.rs-home-filters .ace-app.is-active .ace-app__mapctrls{max-width:calc(100% - 24px);flex-wrap:nowrap}
}

/* Consent: same text, links and three choices; on slim phones the buttons stack so "Reject
   optional" never breaks over two lines. Presentation only, the consent logic is untouched. */
.ace-restyle .iga-consent{border-radius:14px;border:1px solid var(--shell-line);box-shadow:var(--rs-shadow)}
.ace-restyle .iga-consent__btn{border-radius:999px!important;white-space:nowrap}
.ace-restyle .iga-consent__btn--accept{background:var(--rs-fill)!important;color:var(--rs-on-fill)!important}
@media (max-width:420px){.ace-restyle .iga-consent__actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.ace-restyle .iga-consent__actions .iga-consent__btn--accept{grid-column:1/-1;order:-1}}

/* ============================================ right rail cards (artifact "Your panel") ==== */
.ace-restyle .rs-rcards{display:grid;gap:12px;padding:12px}
.ace-restyle .rs-rcard{border:1px solid var(--shell-line);border-radius:12px;background:var(--shell-card);padding:12px 14px}
.ace-restyle .rs-rcard h2{margin:0 0 8px;font:700 10.5px/1.2 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--shell-muted)}
.ace-restyle .rs-mrow{display:flex;align-items:center;gap:10px;padding:8px 0;color:var(--shell-ink);text-decoration:none;border-top:1px solid var(--shell-line)}
.ace-restyle .rs-mrow:first-of-type{border-top:0}
.ace-restyle a.rs-mrow:hover b{color:var(--rs-ink)}
.ace-restyle .rs-mrow__th{flex:none;width:36px;height:36px;border-radius:8px;background:var(--rs-softer) center/cover no-repeat}
.ace-restyle .rs-mrow__tx{flex:1;min-width:0;display:flex;flex-direction:column}
.ace-restyle .rs-mrow__tx b{font-size:13px;font-weight:700;line-height:1.3}
.ace-restyle .rs-mrow__tx small{font-size:11.5px;color:var(--shell-muted)}
.ace-restyle .rs-mrow__n{flex:none;font-size:12px;font-weight:700;color:var(--rs-ink)}

/* ================================ logo lockup, outline icons, section titles, counts (artifact) ==== */
.ace-restyle.ace-workspace-page{--fg:var(--shell-ink);--brand:var(--rs-ink)}
.ace-restyle .ace-shell__brand{height:auto;min-height:var(--rs-band);align-items:flex-start;padding:16px 18px 6px;justify-content:flex-start}
.ace-restyle .ace-shell__wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;text-decoration:none}
.ace-restyle .rs-lk{display:block;height:32px;width:auto;overflow:visible}
.ace-restyle .rs-tag{color:var(--shell-muted);font-size:11.5px;padding-left:2px}
.ace-restyle .ace-shell__intro{display:none}
.ace-restyle .ace-shell__left .rs-i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;font-size:0}
.ace-restyle .ace-shell .ace-shell__left .ace-nav-group__title{margin:14px 14px 2px;padding:0 14px;font:700 10.5px/1.2 Manrope,sans-serif;letter-spacing:.1em;color:var(--shell-muted)}
.ace-restyle .ace-shell__nav-count{padding:1px 8px;min-width:0;height:auto;border-radius:999px;background:var(--rs-softer);color:var(--shell-muted);font-size:11px;font-weight:700;line-height:1.6}
.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content[aria-current=page] .ace-shell__nav-count{background:var(--rs-fill);color:var(--rs-on-fill)}

/* ============================================= cookie banner: blur, spring in, wobbling cookie ==== */
.ace-restyle .iga-consent{background:color-mix(in srgb,var(--shell-card) 88%,transparent)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.ace-restyle .iga-consent>.iga-consent__body{flex:1 1 320px}
.ace-restyle .iga-consent .ckg{flex:none;width:38px;height:38px;transform-origin:50% 60%;animation:rs-wob 3.2s ease-in-out 1.2s infinite}
.ace-restyle .iga-consent .bite{transition:r .25s ease-out;r:0px}.ace-restyle .iga-consent:hover .bite{r:8px}
.ace-restyle .iga-consent:not([hidden]){animation:rs-ckin .75s cubic-bezier(.34,1.56,.64,1) .3s both}
.ace-restyle .iga-consent.rs-ghost{position:fixed;z-index:99999;pointer-events:none;animation:rs-ckout .22s ease-in forwards!important}
@keyframes rs-ckin{from{translate:0 160%;opacity:0}to{translate:0 0;opacity:1}}
@keyframes rs-ckout{to{opacity:0;scale:.92}}
@keyframes rs-wob{0%,70%,100%{transform:rotate(0)}76%{transform:rotate(-9deg)}84%{transform:rotate(8deg)}92%{transform:rotate(-4deg)}}
@media (prefers-reduced-motion:reduce){.ace-restyle .iga-consent:not([hidden]){animation:none}.ace-restyle .iga-consent .ckg{animation:none}.ace-restyle .iga-consent.rs-ghost{animation:none!important;display:none}}
@media (max-width:480px){.ace-restyle .iga-consent .ckg{display:none}}
.ace-restyle .ace-shell__brand>.ace-shell__brand-link{height:auto;overflow:visible;justify-content:flex-start;align-items:flex-start;flex:1;font-size:inherit}
.ace-restyle .iga-consent__btn:not(.iga-consent__btn--accept){border:1px solid var(--shell-line)!important;background:var(--shell-card)!important;padding:0 16px}
.ace-restyle .ace-shell .ace-shell__brand{height:auto!important;min-height:76px}
.ace-restyle .ace-shell .ace-shell__brand .rs-lk{width:150px!important;height:32px!important;max-width:none}
.ace-restyle .ace-shell .ace-shell__brand .ace-shell__wordmark{height:auto;width:auto;font-size:inherit}
.ace-restyle .ace-shell .ace-shell__brand .rs-tag{display:block;font:400 11.5px/1.3 Manrope,sans-serif;letter-spacing:0}
.ace-restyle .ace-shell .ace-shell__brand .ace-shell__brand-full{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:inherit;letter-spacing:0}
.ace-restyle .ace-shell[data-left-closed=true] .ace-shell__brand .ace-shell__brand-full{display:none}

/* ============================================ named themes (artifact: Midnight, Sunset, Contrast, Paper) ==== */
.rs-themes{position:fixed;z-index:99998;width:240px;padding:8px;border:1px solid var(--shell-line);border-radius:12px;background:color-mix(in srgb,var(--shell-card) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--rs-shadow);color:var(--shell-ink)}
.rs-themes[hidden]{display:none}
.rs-themes h2{margin:6px 8px 4px;font:700 10.5px/1.2 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--shell-muted)}
.rs-themes button{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 8px;border:0;border-radius:8px;background:none;color:inherit;font:600 13px Manrope,sans-serif;cursor:pointer;text-align:left}
.rs-themes button:hover{background:var(--rs-softer)}.rs-themes button[aria-checked=true]{background:var(--rs-soft);color:var(--rs-ink)}
.rs-themes .sw{flex:none;width:22px;height:22px;border-radius:50%;border:1px solid var(--shell-line)}
.ace-restyle .rs-theme-btn{width:34px;height:34px;border:1px solid var(--shell-line);border-radius:8px;background:var(--shell-card);color:var(--shell-ink);cursor:pointer;font-size:15px;line-height:1}

/* left rail foot: account only (Log in + Sign up for guests, avatar chip for members); the theme switcher lives at the top of the right rail */
.ace-restyle .ace-shell__left{display:flex;flex-direction:column}
.ace-restyle .ace-shell__left .rs-foot{position:sticky;bottom:0;margin-top:auto;z-index:6;display:flex;flex-direction:row;align-items:center;gap:6px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--shell-line);background:var(--shell-panel)}
.ace-restyle .rs-foot :is(.rs-foot__btn,.rs-foot__me){display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;height:34px;padding:0 12px;border-radius:999px!important;font:700 12.5px Manrope,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer;box-sizing:border-box}
.ace-restyle .rs-foot .rs-foot__btn{flex:1 1 0}
.ace-restyle .rs-foot .rs-foot__btn--login{border:1px solid var(--shell-line);background:var(--rs-softer);color:var(--shell-ink)}
.ace-restyle .rs-foot .rs-foot__btn--login:hover{border-color:var(--rs-fill)}
.ace-restyle .rs-foot .rs-foot__btn--signup{border:1px solid transparent;background:var(--rs-fill);color:var(--rs-on-fill)}
.ace-restyle .rs-foot .rs-foot__btn .rs-i{flex:none;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ace-restyle .rs-foot .rs-foot__me{flex:0 1 auto;max-width:100%;padding:0 12px 0 5px;border:1px solid var(--shell-line);background:var(--rs-softer);color:var(--shell-ink);font-weight:600}
.ace-restyle .rs-foot .rs-foot__av{flex:none;width:24px;height:24px;border-radius:50%;object-fit:cover}
.ace-restyle .rs-foot .rs-foot__lb{min-width:0;overflow:hidden;text-overflow:ellipsis}
.ace-restyle .rs-foot :is(.rs-foot__btn,.rs-foot__me):focus-visible{outline:2px solid var(--rs-fill);outline-offset:2px}
/* collapsed navigation rail: the same two actions as stacked round icons; the member chip becomes the avatar */
html body.ace-restyle .ace-shell[data-left-closed=true] .ace-shell__left .rs-foot{flex-direction:column;padding:8px 0;gap:6px}
html body.ace-restyle .ace-shell[data-left-closed=true] .ace-shell__left .rs-foot :is(.rs-foot__btn,.rs-foot__me){flex:none;width:38px;height:38px;padding:0;gap:0}
html body.ace-restyle .ace-shell[data-left-closed=true] .ace-shell__left .rs-foot .rs-foot__lb{display:none}
html body.ace-restyle .ace-shell[data-left-closed=true] .ace-shell__left .rs-foot .rs-i{width:17px;height:17px}
.ace-restyle .rs-themepill{display:grid;grid-template-columns:repeat(3,1fr);padding:3px;border-radius:999px;background:var(--rs-softer)}
.ace-restyle .rs-themepill button{height:30px;border:0;border-radius:999px!important;background:none;color:var(--shell-muted);font:600 12.5px Manrope,sans-serif;cursor:pointer}
.ace-restyle .rs-themepill button[aria-pressed=true]{background:var(--shell-card);color:var(--shell-ink);box-shadow:0 1px 3px rgba(0,0,0,.15)}
.ace-restyle .rs-pillbtn{height:36px;border:0;border-radius:999px!important;background:var(--rs-fill);color:var(--rs-on-fill);font:700 13px Manrope,sans-serif;cursor:pointer}

/* nav group titles: tracked caps with a chevron that turns when closed */
.ace-restyle .ace-shell .ace-shell__left .ace-nav-group__title{display:flex;align-items:center;justify-content:space-between;cursor:pointer;border-radius:8px;min-height:30px;user-select:none}
.ace-restyle .ace-shell .ace-shell__left .ace-nav-group__title:hover{background:var(--rs-softer)}
.ace-restyle .ace-shell .ace-shell__left .ace-nav-group__title::after{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .15s}
.ace-restyle .ace-shell .ace-shell__left .ace-nav-group__title.is-closed::after{transform:rotate(-90deg)}
.ace-restyle .ace-shell .ace-shell__left .ace-nav-group__title:focus-visible{outline:2px solid var(--rs-fill);outline-offset:-2px}
.ace-restyle .ace-shell__left nav[hidden]{display:none!important}
/* sort: one segmented track like the artifact */
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-sort>.ace-dd__menu{gap:0!important;flex-wrap:nowrap!important;padding:3px!important;border-radius:999px!important;background:var(--rs-softer)!important}
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-sort .ace-dd__opt{flex:1 1 0;justify-content:center;border:0!important;background:none!important;min-height:30px;padding:0 6px;font-size:12px;border-radius:999px;color:var(--shell-muted)}
.ace-restyle .ace-app__bar.rs-in-rail .ace-f-sort .ace-dd__opt:has(input:checked){background:var(--shell-card)!important;color:var(--shell-ink);box-shadow:0 1px 3px rgba(0,0,0,.15);font-weight:700}
.ace-restyle .ace-app__bar.rs-in-rail .ace-filters::before{content:"Filters apply as you type";display:block;padding:0 16px 2px;font-size:11.5px;color:var(--shell-muted)}
html .ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort>.ace-dd__menu{background:var(--rs-softer)!important;border-radius:999px!important;padding:3px!important;gap:0!important;flex-wrap:nowrap!important}
html .ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort .ace-dd__opt{white-space:nowrap;font-size:11.5px;padding:0 4px;gap:0;flex:1 1 auto;min-width:0}
html .ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort .ace-dd__opt span{white-space:nowrap}

/* sort: the checked pill must beat the track's reset */
html .ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort .ace-dd__opt:has(input:checked){background:var(--shell-card)!important;color:var(--shell-ink)!important;box-shadow:0 1px 3px rgba(0,0,0,.15);font-weight:700}
html .ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort>.ace-dd__menu{width:100%;box-sizing:border-box}
html .ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort .ace-dd__opt{font-size:11px;padding:0 2px;justify-content:center}
/* loading: a skeleton of two cards instead of the old line of text */
.ace-restyle .ace-browser__loading{position:relative;min-height:250px;color:transparent!important;font-size:0;overflow:hidden;border-radius:12px;
  background:linear-gradient(var(--shell-line),var(--shell-line)) 0 0/calc(50% - 8px) 140px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 100% 0/calc(50% - 8px) 140px no-repeat,
  linear-gradient(var(--shell-line),var(--shell-line)) 0 156px/40% 12px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 100% 156px/40% 12px no-repeat,
  linear-gradient(var(--shell-line),var(--shell-line)) 0 180px/70% 14px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 100% 180px/calc(50% - 40px) 14px no-repeat}
.ace-restyle .ace-browser__loading::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,color-mix(in srgb,var(--shell-ink) 8%,transparent) 50%,transparent 70%);transform:translateX(-100%);animation:rs-shimmer 1.4s ease-in-out infinite}
@keyframes rs-shimmer{to{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.ace-restyle .ace-browser__loading::after{animation:none}}
/* filter rail placeholder until the rail is built (no empty panel) */
.ace-restyle .ace-shell--home.rs-home-filters>.ace-shell__filter:not(:has(.rs-filter-rail))::before,
.ace-restyle .ace-shell--home>.ace-shell__filter:not(:has(.rs-filter-rail)):not(:has(.ace-app__bar))::before{content:"";display:block;height:420px;margin:70px 16px 0;border-radius:12px;
  background:linear-gradient(var(--shell-line),var(--shell-line)) 0 0/60% 22px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 40px/90% 12px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 60px/80% 12px no-repeat,
  linear-gradient(var(--shell-line),var(--shell-line)) 0 100px/100% 190px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 310px/40% 28px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 50% 310px/40% 28px no-repeat;opacity:.7}
/* The fade under the map blended into the plugin's own dark brown, so in every restyled theme it showed as a tinted box
   narrower than the page. Point the plugin's background token at the shell, and the edges disappear. */
.ace-restyle.ace-workspace-page:has(.ace-home-hero){--ace-bg:var(--shell-bg);--ace-surface:var(--shell-card)}
.ace-restyle .ace-home-content{background:var(--shell-bg)}
body.ace-restyle:has(.als--ticker) .ace-events-browser{background:none!important}

/* the map blends into the page: no divider under it */
.ace-restyle .ace-home-days,.ace-restyle .ace-home-hero,.ace-restyle .ace-app{border:0!important;box-shadow:none}
.ace-restyle .ace-home-days{border-top:0!important}

/* one Themes button, and a popover with Light and Dark in two columns */
.ace-restyle .rs-themebtn{display:flex;align-items:center;gap:10px;height:38px;padding:0 12px;border:1px solid var(--shell-line);border-radius:999px!important;background:var(--rs-softer);color:var(--shell-ink);font:600 13px Manrope,sans-serif;cursor:pointer;text-align:left}
.ace-restyle .rs-themebtn .sw,.ace-restyle .rs-themes .sw{flex:none;width:20px;height:20px;border-radius:50%;border:1px solid var(--shell-line)}
.rs-themes{width:min(440px,calc(100vw - 16px))}
.rs-themes__cols{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rs-themes__col{display:flex;flex-direction:column}
.rs-themes__sys{margin-top:6px;border-top:1px solid var(--shell-line)!important;border-radius:0 0 8px 8px!important;justify-content:center}
@media (max-width:360px){.rs-themes__cols{grid-template-columns:1fr}}

/* Single events, articles and hubs keep their live main panel and covers; only the rails around them change. */
/* ======= dark-mode tones from the artifact: cool greys, translucent strip, rails on the page colour ======= */
.ace-restyle .ace-shell{color:var(--shell-ink)}
.ace-restyle .ace-shell__left{background:var(--shell-panel)}
.ace-restyle .ace-shell__right{background:var(--shell-bg)}
.ace-restyle .ace-shell .als .als__inner,.ace-restyle .ace-shell .als.rs-band{background:color-mix(in srgb,var(--shell-bg) 70%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ace-restyle .rs-rcard,.ace-restyle .ace-shell__personal{background:color-mix(in srgb,var(--shell-card) 88%,transparent)}
.ace-restyle .ace-shell :is(h1,h2,h3,p,li,label,span,strong,b){--ace-ink:var(--shell-ink)}
/* sort as one segmented track; with nothing chosen the default (first) reads as selected */
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort>.ace-dd__menu{background:color-mix(in srgb,var(--shell-ink) 7%,transparent)!important;border-radius:999px!important;padding:3px!important;margin:0!important;gap:0!important}
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort .ace-dd__opt:has(input:checked),
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort>.ace-dd__menu:not(:has(input:checked))>.ace-dd__opt:first-child{background:var(--shell-card)!important;color:var(--shell-ink)!important;box-shadow:0 1px 3px rgba(0,0,0,.2);font-weight:700}
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort .ace-dd__opt{min-height:30px;border-radius:999px;border:0!important}
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort{padding-bottom:14px}
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort>.ace-dd__menu{display:grid!important;grid-template-columns:repeat(3,auto);justify-content:stretch;background-color:color-mix(in srgb,var(--shell-ink) 8%,transparent)!important;background-image:none!important}
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort .ace-dd__opt{padding:0 8px;white-space:nowrap;font-size:11.5px;justify-content:center}
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort>.ace-dd__menu{grid-template-columns:repeat(3,minmax(0,1fr));background-color:color-mix(in srgb,var(--shell-ink) 13%,transparent)!important;width:auto;max-width:100%;box-sizing:border-box}
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort .ace-dd__opt{padding:0 4px;font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis}
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort>.ace-dd__menu{box-shadow:inset 0 0 0 40px color-mix(in srgb,var(--shell-ink) 11%,transparent)!important}

/* dark map: the artifact's warm dark with gold-brown roads (tint on the tile layer only; markers and labels untouched) */
.ace-restyle.ace-workspace-page:not([data-ace-theme=light]) .ace-app__map .ace-tiles--dark{filter:sepia(.22) saturate(1.25) brightness(1.12)}

/* ===== header bands share one height: logo box = search bar = strip = account head; icons a size up ===== */
.ace-restyle{--rs-band:52px}
.ace-restyle .ace-shell .ace-shell__brand{height:var(--rs-band)!important;min-height:var(--rs-band)!important;padding:0 18px!important;align-items:center!important;box-sizing:border-box}
.ace-restyle .ace-shell .ace-shell__brand .ace-shell__brand-full,.ace-restyle .ace-shell .ace-shell__brand .ace-shell__wordmark{flex-direction:row;align-items:center}
.ace-restyle .ace-shell .ace-shell__brand .rs-tag{display:none}
.ace-restyle .ace-shell .ace-shell__brand .rs-lk{height:28px!important;width:auto!important}
@media (min-width:901px){.ace-restyle .ace-shell .als .als__inner,.ace-restyle .ace-shell .ace-shell__account-head,.ace-restyle .ace-app__bar.rs-in-rail>.ace-loc{box-sizing:border-box;height:var(--rs-band)!important;min-height:var(--rs-band)!important}}
@media (max-width:900px){.ace-restyle .ace-shell .als,.ace-restyle .ace-shell .als .als__inner{height:auto!important;min-height:var(--rs-band)}}
.ace-restyle .ace-shell__account-head{gap:8px;padding:0 12px}
.ace-restyle .ace-shell__account-head :is(button,a){width:40px!important;height:40px!important;font-size:18px!important;border-radius:10px;display:inline-grid;place-items:center}
.ace-restyle .rs-theme-btn{width:40px;height:40px}

/* amber primaries with dark ink in every theme (the artifact's --accent / --on-accent), not the brown accent-text colour */
.ace-restyle .ace-events-browser .ace-b-chip.is-on,.ace-restyle .ace-shell__right :is(.ace-btn,button[type=submit],.ace-acct__submit){background:var(--rs-fill)!important;border-color:transparent!important;color:var(--rs-on-fill)!important}
.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content[aria-current=page]{border-left:0!important;box-shadow:none}
@media (min-width:1100px){.ace-restyle .iga-consent__again{left:auto!important;right:284px!important;bottom:12px!important}}
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort>.ace-dd__menu{width:calc(100% - 0px);overflow:hidden}
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort{padding-inline:14px}
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort .ace-dd__opt{font-size:10.5px;padding:0 2px}

/* hover and navigation transitions (paint-only) */
@media (prefers-reduced-motion:no-preference){
  .ace-restyle .ace-shell :is(.wp-block-navigation-item__content,.ace-b-chip,.ace-dd__opt,.ace-dd__btn,.rs-themebtn,.rs-pillbtn,.ace-app__viewbtn,.ace-shell__account-head button,.ace-acct__btn,.ace-save,.ace-attend__login,.ace-btn){transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,filter .16s ease}
  .ace-restyle .rs-pillbtn:hover,.ace-restyle .ace-events-browser .ace-b-chip:hover{filter:brightness(1.05)}
}

/* Home What's on controls (artifact): small filled pills, "Free only" inline with them */
.ace-restyle .ace-events-browser .ace-browser__filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ace-restyle .ace-events-browser .ace-browser__periods{display:contents}
.ace-restyle .ace-events-browser :is(.ace-b-chip,.ace-browser__periods button){height:30px;padding:0 12px;border:0!important;border-radius:999px!important;background:color-mix(in srgb,var(--shell-ink) 8%,transparent);color:var(--shell-ink);font-size:12.5px;font-weight:600}
.ace-restyle .ace-events-browser .ace-b-toggle{margin-left:auto;border:0!important;background:none!important;padding:0 4px;order:9;font-size:13px}
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort .ace-dd__opt{font-size:11.5px}
.ace-restyle .ace-events-browser .ace-grid-cta{background:color-mix(in srgb,var(--shell-card) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px}
/* hub filter buttons: amber pill like the other primaries */
.ace-restyle .ace-shell__filter .alm__btn.is-primary{background:var(--rs-fill)!important;color:var(--rs-on-fill)!important;border-color:transparent!important;border-radius:999px!important}
/* strip: the left fade only eats into text when it is actually scrolling; keep a small lead-in so short messages are never clipped */
.ace-restyle .ace-shell .als .als__tkin{padding-left:28px}
/* right sidebar on the same tone as the left nav in every theme */
.ace-restyle .ace-shell__right{background:var(--shell-panel)!important}
.ace-restyle .ace-app__explore,.ace-restyle .ace-app .ace-app__explore{background:var(--rs-fill)!important;color:var(--rs-on-fill)!important;border-radius:999px!important;border:0!important;font-weight:700}
.ace-restyle .ace-shell__mobile .ace-shell__wordmark{gap:6px}
.ace-restyle .ace-app__bar.rs-in-rail :is(.ace-dd,.ace-dd__btn,.ace-filters){box-sizing:border-box;max-width:100%}
.ace-restyle .ace-app__bar.rs-in-rail .ace-filters>.ace-dd{width:100%!important;max-width:100%!important;overflow:hidden}
.ace-restyle .ace-app__bar.rs-in-rail .ace-dd__btn{overflow:hidden;text-overflow:ellipsis}

/* collapsed filter rail: the quick icons */
.ace-restyle .rs-mini{display:none}
@media (min-width:901px){
  .ace-restyle .ace-shell.rs-filter-collapsed .ace-app__bar.rs-in-rail>.rs-mini{display:flex!important;flex-direction:column;align-items:center;gap:6px;position:absolute;left:0;top:calc(var(--rs-band) + 10px);width:var(--shell-filter)}
  .ace-restyle .rs-mini button{width:44px;height:40px;display:grid;place-items:center;border:0;border-radius:12px!important;background:none;color:var(--shell-muted);cursor:pointer;transition:background-color .16s ease,color .16s ease}
  .ace-restyle .rs-mini button:hover{background:var(--rs-soft);color:var(--rs-ink)}
  .ace-restyle .rs-mini .rs-i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .ace-restyle .rs-mini__sep{width:28px;height:1px;background:var(--shell-line);margin:4px 0}
}

/* ===== collapsed rails ===== */
@media (min-width:901px){
  /* filter rail: a slim 68px icon column; the search sits over it and opens out over the strip */
  .ace-restyle .ace-shell.rs-filter-collapsed{--shell-filter:68px!important}
  /* main nav: icons only; the name and description come from the tooltip on hover */
  .ace-restyle .ace-shell[data-left-closed=true] .ace-shell__left :is(.ace-shell__label,.ace-shell__nav-count,.ace-nav-group__title,.rs-tag){display:none!important}
  .ace-restyle .ace-shell[data-left-closed=true] .ace-shell__left .wp-block-navigation-item__content{justify-content:center!important;padding:0!important;gap:0!important;width:100%}
  .ace-restyle .ace-shell[data-left-closed=true] .ace-shell__left .ace-shell__icon,.ace-restyle .ace-shell[data-left-closed=true] .ace-shell__left .rs-i{margin:0;width:20px;height:20px;font-size:16px}
  .ace-restyle .ace-shell[data-left-closed=true] .ace-shell__left .ace-nav-group{margin-top:8px;padding-top:8px;border-top:1px solid var(--shell-line)}
  .ace-restyle .ace-shell[data-left-closed=true] .ace-shell__left .ace-nav-group:first-of-type{border-top:0;margin-top:0;padding-top:0}
}
@media (min-width:901px){
  html body.ace-restyle .ace-shell.rs-filter-collapsed .ace-app__bar.rs-in-rail>.ace-loc{width:238px!important;min-width:238px!important;max-width:none!important;box-sizing:border-box}
  html body.ace-restyle .ace-shell.rs-filter-collapsed .ace-app__bar.rs-in-rail .ace-loc-search{width:100%!important;min-width:0}
}
@media (min-width:901px){
  .ace-restyle .ace-shell.rs-filter-collapsed .als .als__inner{padding-left:calc(238px - var(--shell-filter) + 12px)!important}
}

/* tucked: the strip carries the logo, a search field and the user button */
.ace-restyle .rs-strip-logo,.ace-restyle .rs-strip-user{display:none}
@media (min-width:901px){
  .ace-restyle .ace-shell.rs-tuck-left .als .rs-strip-logo{display:inline-flex;align-items:center;gap:8px;flex:none;height:36px;padding:0 10px;margin-right:4px;border-radius:999px;color:var(--shell-accent);font:800 15px Manrope,sans-serif;text-decoration:none}
  .ace-restyle .rs-strip-logo .rs-i{width:20px;height:20px;fill:currentColor;stroke:none}
  .ace-restyle .ace-shell.rs-tuck-right .als .rs-strip-user{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;margin-left:auto;border:1px solid var(--shell-line);border-radius:50%;background:var(--shell-card);color:var(--shell-ink);cursor:pointer}
  .ace-restyle .rs-strip-user .rs-i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  /* the opener reads as a search field */
  .ace-restyle .ace-shell:is(.rs-tuck-filter) .rs-filters-open--strip{display:inline-flex;min-width:200px;max-width:260px;height:36px;border-radius:999px!important;justify-content:flex-start;background:var(--shell-card)!important;color:var(--shell-muted)!important;border:1px solid var(--shell-line)!important;font-weight:500!important}
  .ace-restyle .ace-shell.rs-tuck-filter .rs-filters-open__t{flex:1;text-align:left}
}
@media (max-width:1180px) and (min-width:901px){
  .ace-restyle .ace-shell .als .als__ticker{order:3}
}

/* ===== phones: no map on the home state, straight to the search and filters ===== */
@media (max-width:900px){
  .ace-restyle .ace-app--home:not(.is-active) :is(.ace-app__map,.ace-app__cover,.ace-app__leaders,.ace-app__mapctrls,.ace-app__featured,.ace-app__teaser){display:none!important}
  .ace-restyle .ace-app--home:not(.is-active){height:auto!important;min-height:0!important;padding:12px 0 4px}
  .ace-restyle .ace-app--home:not(.is-active) .ace-app__bar{position:static!important;transform:none!important;opacity:1!important;margin:0 12px;width:auto!important;pointer-events:auto!important}
  /* the strip: label, then a ticker that stays inside its own row */
  .ace-restyle .ace-shell .als .als__ticker{position:relative;overflow:hidden;min-width:0;max-width:100%;flex:1 1 100%}
  .ace-restyle .ace-shell .als .als__tkin{overflow:hidden;min-width:0;padding-left:0}
  .ace-restyle .ace-shell .als .als__tk{flex:none}
  .ace-restyle .ace-shell .als .als__inner{overflow:hidden}
}

@media (max-width:900px){
  .ace-restyle .ace-home-hero:has(.ace-app--home:not(.is-active)){height:auto!important;min-height:0!important}
  .ace-restyle .ace-app--home:not(.is-active){position:relative!important;inset:auto!important;width:auto!important}
}
@media (max-width:900px){
  html body.ace-restyle .ace-shell .ace-app.ace-app--home:not(.is-active){height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
  html body.ace-restyle .ace-shell .ace-app.ace-app--home:not(.is-active) .ace-app__detail:not(.is-open){display:none!important}
}
@media (max-width:900px){
  html body.ace-restyle .ace-shell .ace-home-hero{height:auto!important;min-height:0!important}
  html body.ace-restyle .ace-shell .ace-home-days{margin-top:0!important;padding-top:8px}
  html body.ace-restyle .ace-shell .ace-events-browser{margin-top:0!important;padding-top:12px;background:none!important}
}
@media (max-width:900px){
  .ace-restyle .ace-shell .als .als__tk{white-space:nowrap}
  .ace-restyle .ace-shell .als .als__tkl{white-space:nowrap}
  .ace-restyle .ace-app__bar:not(.rs-in-rail) .ace-include-classes{grid-column:1/-1;width:auto}
  .ace-restyle .iga-consent__again{width:36px;height:36px;background:var(--shell-card);color:var(--shell-ink);opacity:.9}
}

/* ===== desktop: the real search sits in the strip whenever the filter rail is tucked or collapsed ===== */
@media (min-width:901px){
  .ace-restyle .ace-shell.rs-search-docked .rs-filters-open--strip{display:none!important}
  .ace-restyle .als>.ace-loc.rs-in-strip{position:relative!important;display:flex!important;align-items:center;flex:0 1 300px;min-width:150px;max-width:340px;width:auto!important;height:36px!important;min-height:0!important;margin:0 8px 0 4px;padding:0 12px 0 36px!important;border:1px solid var(--shell-line)!important;border-radius:999px!important;background:var(--shell-card)!important;box-sizing:border-box;order:0;z-index:30}
  .ace-restyle .als>.ace-loc.rs-in-strip>.dashicons-search{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--shell-accent)}
  .ace-restyle .als>.ace-loc.rs-in-strip .ace-loc-search{height:32px;width:100%!important;min-width:0;padding:0 22px 0 0!important;border:0!important;background:transparent!important;color:var(--shell-ink);font-size:13.5px;outline:none}
  .ace-restyle .als>.ace-loc.rs-in-strip .ace-loc-suggest{position:absolute;left:0;right:auto;top:calc(100% + 6px);width:340px;max-width:70vw;z-index:900;border-radius:var(--rs-radius)}
  /* the ticker takes whatever is left and gives way first */
  .ace-restyle .ace-shell.rs-search-docked .als .als__inner{min-width:0;flex:1 1 0;overflow:hidden}
  .ace-restyle .ace-shell.rs-search-docked .als .als__chips{max-width:42%}
}
/* the strip carries the logo whenever the nav is tucked or collapsed to icons, so it is never absent */
@media (min-width:901px){
  .ace-restyle .ace-shell:is(.rs-tuck-left) .als .rs-strip-logo{display:inline-flex!important}
}
/* docked search: over the filter rail's tucked strip so it starts at the left of the space the rails give up */
@media (min-width:901px){
  .ace-restyle .ace-shell.rs-tuck-filter .als>.ace-loc.rs-in-strip{margin-left:6px}
}
@media (min-width:901px){
  .ace-restyle .ace-shell.rs-tuck-filter .als>.ace-loc.rs-in-strip{z-index:1000!important}
  .ace-restyle .ace-shell.rs-tuck-filter .als>.ace-loc.rs-in-strip>.dashicons-search{z-index:1}
}
@media (min-width:901px){
  .ace-restyle .ace-shell.rs-search-docked .als.rs-band{z-index:1500!important}
}
@media (min-width:901px){
  .ace-restyle .ace-shell.rs-search-docked .als,.ace-restyle .ace-shell.rs-search-docked .als.rs-band{overflow:visible!important;clip-path:none!important}
}

/* "Happening now": a gentle green glow that breathes slightly and never fades to nothing */
.ace-restyle .ace-gcard.is-live{border-color:rgba(52,210,123,.7);box-shadow:0 0 0 1px rgba(52,210,123,.4),0 0 9px rgba(52,210,123,.18);animation:rs-live-glow 3.2s ease-in-out infinite}
@keyframes rs-live-glow{50%{box-shadow:0 0 0 1px rgba(52,210,123,.55),0 0 13px rgba(52,210,123,.26)}}
.ace-restyle .ace-gcard__live-dot{animation:rs-live-dot 2s ease-in-out infinite}
@keyframes rs-live-dot{50%{opacity:.6}}
@media (prefers-reduced-motion:reduce){.ace-restyle .ace-gcard.is-live,.ace-restyle .ace-gcard__live-dot{animation:none}}

.ace-restyle .ace-app__sub,.ace-restyle .rs-cal__sum,.ace-restyle .ace-nav-group__title{color:var(--shell-muted)}

/* ===== agreed polish pass ===== */
/* focus and selected states */
.ace-restyle :is(button,a,input,select,[role=button]):focus-visible{outline:2px solid var(--rs-ink);outline-offset:2px}
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort .ace-dd__opt:has(input:checked){box-shadow:inset 0 -2px 0 var(--rs-fill),0 1px 3px rgba(0,0,0,.15)!important}
/* sport hub: the Jump to pills are one scrollable row */
.ace-restyle .ace-shell .ace-jump{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ace-restyle .ace-shell .ace-jump::-webkit-scrollbar{display:none}
.ace-restyle .ace-shell .ace-jump>*{flex:none}
/* light theme: a firm edge where the pale map meets the page */
.ace-restyle.ace-workspace-page[data-ace-theme=light] .ace-home-days{border-top:1px solid var(--shell-line);box-shadow:0 -14px 22px -14px rgba(42,33,24,.16)}
/* phones: cookie button bottom-right; a loading skeleton while the first events arrive */
@media (max-width:900px){
  .ace-restyle .iga-consent__again{left:auto!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}
  .ace-restyle .ace-home-hero:not(:has(.ace-events-browser .ace-gcard,.ace-events-browser .ace-card))::after{content:"";display:block;height:230px;margin:16px 14px;border-radius:12px;
    background:linear-gradient(var(--shell-line),var(--shell-line)) 0 0/100% 130px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 146px/55% 12px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 170px/80% 14px no-repeat;opacity:.7}
}

/* Cookie banner: compact and wide on desktop, bigger cookie */
@media (min-width:760px){
  .ace-restyle .iga-consent{width:min(1080px,calc(100% - 32px))!important;max-width:none;padding:10px 18px!important;flex-wrap:nowrap;gap:16px}
  .ace-restyle .iga-consent .ckg{width:56px;height:56px}
  .ace-restyle .iga-consent__title{font-size:.98rem;margin:0 0 2px}
  .ace-restyle .iga-consent__text{font-size:.8rem;line-height:1.4;margin:0}
  .ace-restyle .iga-consent__actions{flex-wrap:nowrap;flex:none}
  .ace-restyle .iga-consent__btn{white-space:nowrap;padding:.5rem .9rem}
}

/* Cookie banner buttons as in the artifact: flat pills, no border or depth */
.ace-restyle .iga-consent .iga-consent__btn{height:36px;padding:0 16px!important;border:0!important;border-radius:999px!important;background:var(--rs-softer)!important;color:var(--shell-ink)!important;box-shadow:none!important;font-weight:700;background-color:color-mix(in srgb,var(--shell-ink) 9%,transparent)!important}
.ace-restyle .iga-consent .iga-consent__btn:hover{filter:brightness(.95)}
.ace-restyle .iga-consent .iga-consent__btn--accept{background:var(--rs-fill)!important;color:var(--rs-on-fill)!important}
.ace-restyle .iga-consent__again{box-shadow:none}

/* ===== artifact parity pass (2026-10-21) ===== */
/* the artifact's --sec (quiet fill for tracks and chips), per theme and palette */
.ace-restyle.ace-workspace-page{--rs-sec:#292e30}
.ace-restyle.ace-workspace-page[data-ace-theme=light],html.rs-pre-light .ace-restyle.ace-workspace-page:not([data-ace-theme]){--rs-sec:#efe5d0}
.ace-restyle.ace-workspace-page[data-ace-palette=midnight]{--rs-sec:#1a2233}
.ace-restyle.ace-workspace-page[data-ace-palette=sunset]{--rs-sec:#2b1a16}
.ace-restyle.ace-workspace-page[data-ace-palette=contrast]{--rs-sec:#1c1c1c}
.ace-restyle.ace-workspace-page[data-ace-palette=paper]{--rs-sec:#ececec}
/* rails: the nav on --side, the filter rail and the right rail on the page colour, head bands included */
html body.ace-restyle .ace-shell>.ace-shell__filter,html body.ace-restyle .ace-shell--home.rs-home-filters>.ace-shell__filter{background:var(--shell-bg)}
html body.ace-restyle .ace-app__bar.rs-in-rail>.ace-loc{background:var(--shell-bg)!important}
html body.ace-restyle .ace-shell__right{background:var(--shell-bg)!important}
html body.ace-restyle .ace-shell__account-head{background:var(--shell-bg)}
/* nav items: 14px, the current page in the accent */
.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content{font-size:14px}
.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content[aria-current=page],
.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content[aria-current=page] :is(.wp-block-navigation-item__label,.ace-shell__label,.ace-shell__icon,.rs-i){color:var(--rs-ink)!important}
.ace-restyle .ace-shell__nav-count{background:var(--rs-sec)}
/* When: small filled chips */
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-f-period .ace-dd__opt{min-height:26px;height:26px;padding:0 10px;border:0;background:var(--rs-sec);font-size:11.5px;font-weight:700}
html body.ace-restyle .ace-app__bar.rs-in-rail .ace-f-period>.ace-dd__menu{gap:4px}
/* Sort: the artifact's segmented track, two to a row */
html body.ace-restyle .ace-shell .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort>.ace-dd__menu{display:grid!important;grid-template-columns:1fr 1fr;gap:2px!important;padding:3px!important;border-radius:14px!important;background:var(--rs-sec)!important;box-shadow:none!important;width:auto}
html body.ace-restyle .ace-shell .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort .ace-dd__opt{height:28px;min-height:28px;padding:0 8px;font-size:12.5px;font-weight:600;color:var(--shell-muted)!important;background:none!important;box-shadow:none!important;border-radius:999px;overflow:visible}
html body.ace-restyle .ace-shell .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort .ace-dd__opt:has(input:checked),
html body.ace-restyle .ace-shell .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort>.ace-dd__menu:not(:has(input:checked))>.ace-dd__opt:first-child{background:var(--shell-card)!important;color:var(--shell-ink)!important;box-shadow:0 1px 3px rgba(0,0,0,.15)!important}
/* view switch: a quiet track, the chosen view on the card colour (artifact .vs .seg) */
.ace-restyle .ace-shell :is(.ace-app__viewset,.rs-views__set){background:var(--rs-sec);border:0}
.ace-restyle .ace-shell :is(.ace-app__viewbtn,.rs-views__set button){height:28px}
.ace-restyle .ace-shell :is(.ace-app__viewbtn,.rs-views__set button)[aria-pressed=true]{background:var(--shell-card)!important;color:var(--shell-ink)!important;box-shadow:0 1px 3px rgba(0,0,0,.15)}
/* What's on period chips (artifact .pbtn) */
.ace-restyle .ace-events-browser :is(.ace-b-chip,.ace-browser__periods button){border:1px solid var(--shell-line)!important;background:var(--rs-sec);font-size:12px;font-weight:700;padding:0 10px}
.ace-restyle .ace-events-browser .ace-b-chip.is-on{border-color:transparent!important}
/* strip: the ticker label first, full height and square; the statuses after it */
@media (min-width:901px){
  .ace-restyle .ace-shell .als .als__ticker{order:-2!important}
  .ace-restyle .ace-shell .als .als__chips{order:1}
}
.ace-restyle .ace-shell .als .als__inner{padding-left:0}
.ace-restyle .ace-shell .als .als__tk{align-self:stretch;height:auto;min-height:38px;border-radius:0;padding:0 12px}
.ace-restyle .ace-shell .als .als__chip{font-weight:700}
/* right rail: the panel cards lead, as in the artifact; the sign-in form follows */
.ace-restyle .ace-shell__right .ace-shell__account-content{display:flex;flex-direction:column}
.ace-restyle .rs-rcard{padding:14px}.ace-restyle .rs-rcard h2{font-weight:700}
/* cookie banner: the artifact's 760px card */
@media (min-width:760px){.ace-restyle .iga-consent{width:min(760px,calc(100% - 32px))!important;padding:14px 16px!important;border-radius:16px;flex-wrap:wrap}}
@media (min-width:1181px){.ace-restyle .ace-shell .als .als__ticker{min-width:min(340px,45%)}}
.ace-restyle .ace-shell .als .als__ticker{padding-left:0!important;margin-left:0!important;gap:0}
.ace-restyle .ace-shell .als .als__tk{letter-spacing:.06em;padding:0 10px;gap:5px}
.ace-restyle .ace-shell .als .als__tkl{letter-spacing:.08em}
.ace-restyle .ace-shell .als .als-card__tx b{flex:none;overflow:visible;text-overflow:clip;max-width:none}
/* A card is as wide as what it says. The plugin caps a card's text at 260px, and with the title above never shrinking a long
 * title printed over the next card while the date, place and source were squeezed to nothing. */
.ace-restyle .ace-shell .als .als-card__tx{max-width:none}
.ace-restyle .ace-shell .als .als-card__tx>:is(span,em){flex:none}
/* A headline longer than about 48 characters ends in an ellipsis, so one long news title cannot fill the strip by itself. */
.ace-restyle .ace-shell .als .als-card__tx b{max-width:48ch;overflow:hidden;text-overflow:ellipsis}
.ace-restyle .ace-shell .als .als-card{padding-right:26px}
@media (min-width:901px){.ace-restyle .ace-shell .als .als__chips{max-width:50%}}
@media (max-width:900px){
  .ace-restyle .ace-shell .als .als__ticker{order:-2!important;height:38px}
  .ace-restyle .ace-shell .als .als__chips{order:1;height:34px;border-top:1px solid var(--shell-line)}
  .ace-restyle .ace-shell .als .als__inner{padding:0!important}
  .ace-restyle .ace-shell .als .als__chips{padding:0 8px!important}
  .ace-restyle .ace-shell .als .als__chip{height:34px}
}
.ace-restyle .ace-shell .als .als__tk,.ace-restyle .ace-shell .als .als__tk *{white-space:nowrap!important}
.ace-restyle .ace-shell .als .als__tk{flex:none!important}
.ace-restyle .ace-shell .als .als__tkl{display:inline!important}.ace-restyle .ace-shell .als .als__tkl b{display:inline!important}
@media (min-width:901px){html body.ace-restyle .ace-shell.rs-search-docked .als .als__inner{padding-left:0!important}}
/* 901-1180: one row as in the artifact (label, ticker, statuses); nothing pushed out of the 52px band */
@media (min-width:901px) and (max-width:1180px){
  html body.ace-restyle .ace-shell .als .als__inner{flex-wrap:nowrap;padding:0 8px 0 0;row-gap:0}
  html body.ace-restyle .ace-shell .als .als__ticker{flex:1 1 0;min-width:120px;height:var(--rs-band)}
  html body.ace-restyle .ace-shell .als .als__chips{flex:0 1 auto;max-width:45%}
}
.ace-restyle .ace-shell .als .als__tk{min-height:var(--rs-band)}
@media (max-width:900px){.ace-restyle .ace-shell .als .als__tk{min-height:38px}}
/* tight strip (docked search at 901-1180): the label keeps its icon and gives its words to the ticker (still read out) */
@media (min-width:901px) and (max-width:1180px){
  .ace-restyle .ace-shell.rs-search-docked .als .als__tkl{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ace-restyle .ace-shell.rs-search-docked .als .als__tk{padding:0 12px}
  .ace-restyle .ace-shell.rs-search-docked .als .als__tk svg{width:15px;height:15px}
}
/* every strip (home, What's on, hubs): one 52px band on the page colour, one line, label flush and full height */
@media (min-width:901px){
  html body.ace-restyle .ace-shell .als{padding:0!important;background:var(--shell-bg);min-height:var(--rs-band)}
  html body.ace-restyle .ace-shell .als .als__inner{margin:0!important}
  html body.ace-restyle .ace-shell .als .als__ticker{padding:0!important;align-items:center}
}
/* What's on views: the list sits on the page colour (the panel tone is for the docked list in map mode) */
.ace-restyle .ace-shell .ace-app.is-active:not(.is-view-map) .ace-app__panel{background:transparent}
.ace-restyle .ace-shell .ace-app__views{background:color-mix(in srgb,var(--shell-bg) 88%,transparent)!important;border:0!important;box-shadow:none!important;border-radius:999px!important}
.ace-restyle .ace-shell .ace-app.is-active:not(.is-view-map) .ace-app__panel{border-right:0}
.ace-restyle .ace-shell .ace-browse-period:not([aria-pressed=true]):not(.is-on){background:var(--rs-sec)!important}
.ace-restyle .ace-shell :is(.ace-browse-period,.ace-browse-category){font-size:12px;font-weight:700;height:30px}
@media (max-width:900px){html body.ace-restyle .ace-shell .als{padding:0!important;margin-inline:0!important;border-radius:0!important;background:var(--shell-bg)}html body.ace-restyle .ace-shell .als .als__inner{margin:0!important;border-radius:0!important;border-width:0 0 1px!important}html body.ace-restyle .ace-shell .als .als__ticker{padding:0!important}}
/* cookie: text and choices on one row on desktop, as in the artifact */
@media (min-width:760px){
  .ace-restyle .iga-consent>.iga-consent__body{flex:1 1 240px;min-width:0}
  .ace-restyle .iga-consent .iga-consent__title{font-weight:700;font-size:14px}
  .ace-restyle .iga-consent .iga-consent__text{font-size:13px}
}
/* phones: the artifact's compact card, two lines of text and the three choices in one row */
@media (max-width:600px){
  .ace-restyle .iga-consent{left:8px!important;right:8px!important;width:auto!important;bottom:8px!important;padding:10px 12px!important;gap:8px!important;flex-wrap:wrap}
  .ace-restyle .iga-consent>.iga-consent__body{flex:1 1 100%}
  .ace-restyle .iga-consent .iga-consent__title{font-size:13px;font-weight:700;margin:0 0 2px}
  .ace-restyle .iga-consent .iga-consent__text{font-size:11.5px;line-height:1.35;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  html body.ace-restyle .iga-consent .iga-consent__actions{display:flex!important;width:100%;flex-wrap:nowrap;gap:6px}
  html body.ace-restyle .iga-consent .iga-consent__actions .iga-consent__btn{flex:1 1 0;min-width:0;height:36px;padding:0 6px!important;font-size:12px;order:0}
  html body.ace-restyle .iga-consent .iga-consent__actions .iga-consent__btn--accept{order:3}
}
/* Main-panel surfaces keep the live relationship (a card a step lighter than the page): the artifact's --side
   is darker than the page, so --ace-surface follows the card tone, not the rail tone. */
html body.ace-restyle .ace-shell,html body.ace-restyle .ace-shell :is(.ace-app,.ace-browser,.als,.ace-shell__filter,.ace-shell__right){--ace-surface:var(--shell-card)}
/* Classes (programme pages): the strip joins the header band at the top; the page keeps its 28px lead below it */
@media (min-width:901px){
  .ace-restyle .ace-shell--content .ace-shell__main:has(.ace-prog)>.ace-hub-public:has(>.ace-hub-route>.als:first-child){padding-top:0}
  .ace-restyle .ace-shell--content .ace-shell__main:has(.ace-prog)>.ace-hub-public>.ace-hub-route>.als:first-child{margin-bottom:28px!important}
}
/* hub filter rails: head band on the page colour, rows inside the rail */
html body.ace-restyle .ace-shell__filter .ace-chy__railtop{background:var(--shell-bg)}
html body.ace-restyle .ace-shell__filter .alm__foldwrap,html body.ace-restyle .ace-shell__filter .alm__body{grid-template-columns:minmax(0,1fr)!important;min-width:0}
html body.ace-restyle .ace-shell__filter .ace-chy__pills{min-width:0}
/* calendar: round 3px dots in the accent ink, as the artifact */
.ace-restyle .rs-cal__dot{bottom:2px;height:3px;width:calc(var(--n,1)*5px - 2px);border-radius:0;background:radial-gradient(circle at 1.5px 1.5px,var(--rs-ink) 1.4px,transparent 1.6px) 0 0/5px 3px repeat-x}
.ace-restyle .rs-cal__day.is-sel .rs-cal__dot{background:radial-gradient(circle at 1.5px 1.5px,var(--rs-on-fill) 1.4px,transparent 1.6px) 0 0/5px 3px repeat-x}
.ace-restyle .rs-cal__day{border-radius:8px!important}
/* account head: round quiet buttons (artifact .ctl .ib) */
.ace-restyle .ace-shell__account-head :is(button,a){border-radius:999px!important;background:var(--rs-sec)!important}


/* collapsed filter rail (TalkFuse): the strip reaches back over the icon column (its top band is empty),
   so the docked search sits over the column and the ticker keeps its room; logo, search, ticker in order */
@media (min-width:901px){
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked:not(.rs-tuck-left) .als{margin-left:calc(-1 * var(--shell-filter))!important;position:relative}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip{flex:0 0 232px;width:232px!important;min-width:0;margin:0 8px}
  /* nav tucked: the logo leads the strip from the column's right edge, so the column stays as it is */
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked.rs-tuck-left .als>.ace-loc.rs-in-strip{flex:0 1 232px;min-width:150px;margin-left:0}
}

/* ===== 2026-10-21 polish ===== */
/* Active nav item: a full 1px accent ring. The old left-bar indicator was removed with border-left:0!important,
   which left the inherited accent border on three sides only; an inset ring has no sides to lose and cannot be clipped. */
html body.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content[aria-current=page]{border:0!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--shell-accent) 60%,transparent)!important;border-radius:10px}
/* Brand: pin and title share one centre line; the title scales with the box, up to the pin's height, and ellipsises */
.ace-restyle .ace-shell .ace-shell__brand{container-type:inline-size}
.ace-restyle .ace-shell .ace-shell__brand .ace-shell__brand-link,.ace-restyle .ace-shell .ace-shell__brand .ace-shell__brand-full{min-width:0;max-width:100%;align-items:center!important}
.ace-restyle .ace-shell .ace-shell__brand .rs-lk.rs-lk--html{display:flex;align-items:center;gap:8px;height:auto!important;width:auto!important;min-width:0;max-width:100%;--fg:var(--shell-ink)}
.ace-restyle .ace-shell .ace-shell__brand .rs-lk__pin{flex:none;width:14px;height:28px;overflow:hidden}
.ace-restyle .ace-shell .ace-shell__brand .rs-lk__t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 clamp(16px,12cqi,26px)/1 Manrope,system-ui,sans-serif;letter-spacing:-.02em;color:var(--brand,var(--rs-ink));padding-bottom:.08em}
/* Search icon: about the height of the logo mark, in the rail and docked in the strip */
@media (min-width:901px){
  html body.ace-restyle .ace-loc>.dashicons-search{font-size:22px;width:22px;height:22px;line-height:22px}
  html body.ace-restyle .ace-loc>.ace-loc-search{padding-left:44px!important}
  /* docked search over the collapsed column: square, full band height, flush, and the strip's hairline runs under it */
  html body.ace-restyle .ace-shell.rs-search-docked .als{box-shadow:inset 0 -1px 0 var(--shell-line)}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip{align-self:stretch;height:var(--rs-band)!important;margin:0!important;border-radius:0!important;border-bottom:1px solid var(--shell-line)!important;box-sizing:border-box}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip>.ace-loc-search{height:100%!important;border-radius:0!important;border-width:0 1px 0 0!important;border-style:solid!important;border-color:var(--shell-line)!important}
}
/* Sort: three across where the rail allows, two then one as it narrows */
html body.ace-restyle .ace-shell .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort>.ace-dd__menu{grid-template-columns:repeat(auto-fit,minmax(min(100%,62px),1fr))!important;gap:0!important}
html body.ace-restyle .ace-shell .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort .ace-dd__opt{padding:0 4px!important;font-size:12.5px!important;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.ace-restyle .ace-shell .ace-app__bar.rs-in-rail .ace-dd.ace-f-sort{padding-inline:10px}
/* Ticker "New": the word with a small pulsing red live-dot, not a pill */
html body.ace-restyle .ace-shell .als .als-card.is-new .als-card__tx b{position:relative}
html body.ace-restyle .ace-shell .als .als-card.is-new .als-card__tx b::before{content:"New";padding:0 0 0 12px;margin-right:6px;border-radius:0;background:none;color:var(--shell-muted);font:700 10.5px/1 Manrope,sans-serif;letter-spacing:.02em;text-transform:none;vertical-align:0}
html body.ace-restyle .ace-shell .als .als-card.is-new .als-card__tx b::after{content:"";position:absolute;left:1px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#e5322d;box-shadow:0 0 0 0 rgba(229,50,45,.55);animation:rs-live 1.6s ease-out infinite}
@keyframes rs-live{0%{box-shadow:0 0 0 0 rgba(229,50,45,.55);opacity:1}60%{box-shadow:0 0 0 5px rgba(229,50,45,0);opacity:.55}100%{box-shadow:0 0 0 0 rgba(229,50,45,0);opacity:1}}
@media (prefers-reduced-motion:reduce){html body.ace-restyle .ace-shell .als .als-card.is-new .als-card__tx b::after{animation:none}}
/* docked search over the collapsed column: a tucked right rail (rs-has-tuck) gave the main column z-index 0, a stacking
   context under the filter rail (z 40), so the rail painted over the search's left 68px at 901-1180; drop it then */
@media (min-width:901px){html body.ace-restyle .ace-shell.rs-has-tuck.rs-filter-collapsed.rs-search-docked:not(.rs-tuck-filter)>.ace-shell__main{z-index:auto}}

/* ===== 2026-10-21 polish, round 2 ===== */
/* Search text matches the larger icon, in the rail, docked in the strip and on the strip's search button */
html body.ace-restyle .ace-loc>.ace-loc-search,html body.ace-restyle .ace-loc>.ace-loc-search::placeholder,html body.ace-restyle .rs-filters-open__t{font-size:15.5px!important}
/* Ticker label: only the word "New" after a small pulsing red dot; no pill, no icon (full label kept for screen readers) */
.ace-restyle .rs-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
html body.ace-restyle .ace-shell .als .als__tk{background:none!important;color:var(--shell-ink)!important;border-radius:0!important;padding:0 10px 0 12px!important;gap:7px!important;text-transform:none!important;letter-spacing:0!important;font:700 12.5px/1 Manrope,sans-serif!important}
html body.ace-restyle .ace-shell .als .als__tk>svg{display:none!important}
html body.ace-restyle .ace-shell .als .als__tk::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:#e5322d;animation:rs-live 1.6s ease-out infinite}
html body.ace-restyle .ace-shell .als .als__tkl.rs-tkl{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;display:inline!important}
@media (prefers-reduced-motion:reduce){html body.ace-restyle .ace-shell .als .als__tk::before{animation:none}}
/* Brand: the same 1px hairline as the rest of the strip */
html body.ace-restyle .ace-shell .ace-shell__brand{border-bottom:1px solid var(--shell-line)!important}
@media (min-width:901px){
  /* Right rail collapsed: the head's two buttons sit in one compact row inside the 52px band, no stacking */
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__account-head{flex-direction:row!important;justify-content:center;gap:3px!important;padding:0 3px!important;height:var(--rs-band)!important;min-height:0!important;overflow:hidden}
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__account-head>span{display:none}
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__account-head :is(button,a){flex:none;width:28px!important;height:28px!important;font-size:14px!important;padding:0!important}

  /* Rail edges: only the border line itself lights (2px), on a grab area no wider than the content gutter */
  html body.ace-restyle .ace-shell>.ace-shell__edge{width:8px!important;z-index:1700!important;background:none!important}
  html body.ace-restyle .ace-shell>.ace-shell__edge--left{left:calc(var(--shell-left) - 4px)!important}
  html body.ace-restyle .ace-shell>.ace-shell__edge--filter{left:calc(var(--shell-left) + var(--shell-filter) - 4px)!important}
  html body.ace-restyle .ace-shell>.ace-shell__edge--right{right:calc(var(--shell-right) - 4px)!important}
  html body.ace-restyle .ace-shell>.ace-shell__edge--context{right:calc(var(--shell-right) + var(--shell-context,320px) - 4px)!important}
  html body.ace-restyle .ace-shell>.ace-shell__edge::before{inset:0 auto 0 3px!important;width:2px;background:color-mix(in srgb,var(--shell-accent) 14%,transparent)!important;opacity:1;transition:background-color .15s}
  html body.ace-restyle .ace-shell>.ace-shell__edge:is(:hover,:focus-visible)::before{background:color-mix(in srgb,var(--shell-accent) 70%,transparent)!important}
  html body.ace-restyle .ace-shell>.ace-shell__edge:active::before,html body.ace-restyle .ace-shell>.ace-shell__edge.is-resizing::before{background:var(--shell-accent)!important}
  html body.ace-restyle .ace-shell>.ace-shell__edge::after{display:none!important}
  html body.ace-restyle .ace-shell>.ace-shell__edge,html body.ace-restyle .ace-shell>.ace-shell__edge:is(:hover,:focus,:focus-visible,:active){outline:0!important}
  /* the open/close button: no ring, no shadow; it sits on the line in the panel tone, translucent until used */
  html body.ace-restyle .ace-shell>.ace-shell__edge>span{left:-10px!important;width:28px!important;height:28px!important;border:0!important;box-shadow:none!important;background:var(--shell-bg)!important;color:var(--shell-muted)!important;opacity:.6;transform:none!important;transition:opacity .15s,color .15s}
  html body.ace-restyle .ace-shell>.ace-shell__edge:is(:hover,:focus-visible)>span{opacity:1;color:var(--shell-accent)!important;border:0!important;background:var(--shell-bg)!important}
  html body.ace-restyle .ace-shell>.ace-shell__edge:focus-visible>span{outline:2px solid var(--shell-accent);outline-offset:1px}
}
@media (prefers-reduced-motion:reduce){html body.ace-restyle .ace-shell>.ace-shell__edge>span,html body.ace-restyle .ace-shell>.ace-shell__edge::before{transition:none}}
html body.ace-restyle .ace-shell .als .als__tk .als__tkl,html body.ace-restyle .ace-shell .als .als__tk .als__tkl>span{color:var(--shell-ink)!important;opacity:1!important;font:700 12.5px/1 Manrope,sans-serif!important;letter-spacing:0!important;text-transform:none!important}

/* Collapsed filter rail: the docked search is just its icon, centred over the column's top band, until focused;
   then it widens into the full field over the ticker and the placeholder drops into place */
@media (min-width:901px){
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip{transition:flex-basis .24s cubic-bezier(.2,.7,.2,1),width .24s cubic-bezier(.2,.7,.2,1)}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip>.dashicons-search{transition:left .24s cubic-bezier(.2,.7,.2,1)}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip.rs-sq{flex:0 0 var(--shell-filter);width:var(--shell-filter)!important;min-width:0;cursor:pointer}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip.rs-sq>.dashicons-search{left:calc(50% - 11px);pointer-events:none}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip.rs-sq>.ace-loc-search{color:transparent!important;caret-color:transparent;cursor:pointer;padding:0!important}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip.rs-sq>.ace-loc-search::placeholder{color:transparent!important}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip.rs-sq>.ace-loc-search::-webkit-search-cancel-button{display:none}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip.rs-sq>:is(.ace-loc-clear,.ace-loc-suggest){display:none!important}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip.rs-sq:has(>.ace-loc-search:focus-visible){outline:2px solid var(--shell-accent);outline-offset:-2px}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip:not(.rs-sq)>.ace-loc-search::placeholder{animation:rs-sq-drop .34s cubic-bezier(.2,.7,.2,1) both}
}
@keyframes rs-sq-drop{0%,35%{opacity:0;transform:translateY(-8px)}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip,html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip>.dashicons-search{transition:none}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip:not(.rs-sq)>.ace-loc-search::placeholder{animation:none}
}

/* ===== footer + vibrant light palettes (2026-10-21, themes pass) ===== */
/* The footer (css/footer.css) carries its own --fo-* tokens so it works outside the shell; under the
   restyle it takes them from the active theme instead, falling back to its own where no shell tokens exist. */
body.ace-restyle .ace-footer{--fo-bg:var(--shell-panel,#14100c);--fo-ink:var(--shell-ink,#f2efe7);--fo-muted:var(--shell-muted,#a49c8d);--fo-line:var(--shell-line,rgba(245,242,234,.14));--fo-accent:var(--rs-ink,#ff9a45)}
body.ace-restyle .ace-shell__main>footer.wp-block-template-part{background:var(--shell-panel)}
body.ace-restyle .ace-footer :is(a):focus-visible{outline-color:var(--fo-accent)}
/* Palette tokens (all themes, map tint included) are written inline from inc/restyle-themes.php. */
/* Maps follow the theme: tile tint from --rs-map-filter (theme canvas tiles only, never satellite/street),
   pins from --rs-pin (#ff7a18 in every dark theme), popups, controls and attribution from the shell tokens. */
body.ace-restyle.ace-workspace-page .leaflet-container:not(.is-satellite):not(.is-regular) .leaflet-tile-pane .ace-tiles--dark{filter:var(--rs-map-filter,none)}
body.ace-restyle.ace-workspace-page .leaflet-container{--ace-orange:var(--rs-pin,#ff7a18);--ace-orange-2:var(--rs-pin,#ff7a18);--alm-orange:var(--rs-pin,#ff7a18);--ace-surface-2:var(--shell-card);--ace-ink:var(--shell-ink);--ace-muted:var(--shell-muted);--ace-bg:var(--shell-bg)}
body.ace-restyle.ace-workspace-page .leaflet-container :is(.leaflet-popup-content-wrapper,.leaflet-popup-tip,.leaflet-tooltip){background:var(--shell-card);color:var(--shell-ink);border-color:var(--shell-line)}
body.ace-restyle.ace-workspace-page .leaflet-container :is(.leaflet-popup-content a,.leaflet-popup-close-button){color:var(--rs-ink)}
body.ace-restyle.ace-workspace-page .leaflet-container .leaflet-bar a{background:var(--shell-card);color:var(--shell-ink);border-color:var(--shell-line)}
body.ace-restyle.ace-workspace-page .leaflet-container .leaflet-bar a:hover{background:var(--rs-soft);color:var(--rs-ink)}
body.ace-restyle.ace-workspace-page .leaflet-container .leaflet-control-attribution{background:color-mix(in srgb,var(--shell-card) 88%,transparent);color:var(--shell-muted)}
body.ace-restyle.ace-workspace-page .leaflet-container .leaflet-control-attribution a{color:var(--shell-ink)}
body.ace-restyle.ace-workspace-page .leaflet-container .marker-cluster{background:color-mix(in srgb,var(--rs-pin,#ff7a18) 32%,transparent)}
body.ace-restyle.ace-workspace-page .leaflet-container .marker-cluster div{background:var(--shell-card);color:var(--shell-ink);border:1px solid var(--rs-pin,#ff7a18)}

/* ===== 2026-10-21 polish, round 3 ===== */
/* Docked search and its band: solid, nothing from the ticker or page shows through, also mid-animation */
@media (min-width:901px){
  html body.ace-restyle .ace-shell.rs-search-docked .als.rs-band,html body.ace-restyle .ace-shell.rs-search-docked .als>.ace-loc.rs-in-strip,html body.ace-restyle .ace-shell.rs-search-docked .als>.ace-loc.rs-in-strip>.ace-loc-search{background:var(--shell-panel)!important;opacity:1!important;backdrop-filter:none!important}
  html body.ace-restyle .ace-shell.rs-search-docked .als>.ace-loc.rs-in-strip{position:relative;z-index:2}
}
/* Right rail, open: account first, then cards, Reset last; the AceMedia mark only shows collapsed */
.ace-restyle .ace-shell__right .ace-shell__personal>.ace-journey-account-link{display:block;margin-top:16px}
.ace-restyle .ace-shell__right .rs-acem{display:none}
@media (min-width:901px){
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__right>.wp-block-template-part{display:flex;flex-direction:column;align-items:center;min-height:100%;gap:8px;padding:8px 0 14px}
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__right .ace-shell__account-content{display:none!important}
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__right .ace-shell__account-open{order:1;flex:none;width:40px!important;height:40px!important;min-height:0!important;margin:0!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center;font-size:0!important;line-height:0;overflow:hidden}
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__right .ace-shell__account-open :is(svg,.dashicons,img){font-size:18px!important;width:18px;height:18px;margin:0!important}
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__right .ace-shell__account-open>:not(svg):not(.dashicons):not(img):not(.rs-i){display:none!important}
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__account-head{order:2;flex-direction:column!important;height:auto!important;min-height:0!important;padding:0!important;gap:8px!important;border:0!important;background:none!important;position:static;overflow:visible}
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__account-head :is(button,a){width:38px!important;height:38px!important;font-size:16px!important}
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__right :is(.ace-shell__account-tabs,#ace-shell-context,.ace-journey-account-link,.ace-rail-panels,.ace-shell__rail-footer){display:none!important}
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__right .rs-acem{order:9;display:grid;place-items:center;margin:auto 0 0!important;width:36px;height:36px;color:var(--shell-muted);opacity:.7;border-radius:10px}
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__right .rs-acem:hover{opacity:1;color:var(--shell-accent)}
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__right .rs-acem svg{width:18px;height:24px}
}
/* Left nav: one fixed row height, soft tint only (no rings or borders), nothing shifts on hover */
html body.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content{height:40px!important;min-height:40px!important;max-height:40px;padding-block:0!important;line-height:20px!important;border:0!important;box-shadow:none!important;transform:none!important;margin:0!important;display:flex!important;align-items:center;overflow:hidden;box-sizing:border-box}
html body.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content:is(:hover,:focus,:focus-visible,:active,[aria-current=page]){transform:none!important;margin:0!important;border:0!important;box-shadow:none!important}
html body.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__label{display:flex;align-items:center;min-width:0;line-height:20px;height:20px}
html body.ace-restyle .ace-shell .ace-shell__left .ace-shell__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:20px}
html body.ace-restyle .ace-shell .ace-shell__left :is(.ace-shell__icon,.rs-i){width:20px!important;height:20px!important;font-size:16px!important;line-height:20px!important;flex:0 0 20px;display:inline-grid;place-items:center;margin:0!important}
html body.ace-restyle .ace-shell .ace-shell__left .ace-shell__icon::before{line-height:20px}
html body.ace-restyle .ace-shell .ace-shell__left .ace-shell__nav-count{line-height:18px;max-height:20px;flex:none}
html body.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content:hover{background:color-mix(in srgb,var(--shell-accent) 7%,transparent)!important}
html body.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content[aria-current=page]{background:color-mix(in srgb,var(--shell-accent) 8%,transparent)!important}
html body.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content:focus-visible{outline:2px solid var(--shell-accent)!important;outline-offset:-2px}
/* Add event: the call to action, a slightly stronger tint and accent text, no border */
html body.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content[href$="/add-your-event/"]{background:color-mix(in srgb,var(--shell-accent) 12%,transparent)!important}
html body.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content[href$="/add-your-event/"]:hover{background:color-mix(in srgb,var(--shell-accent) 18%,transparent)!important}
html body.ace-restyle .ace-shell .ace-shell__left .wp-block-navigation-item__content[href$="/add-your-event/"] :is(.ace-shell__label,.ace-shell__icon,.rs-i){color:var(--rs-ink,var(--shell-accent))!important}
/* Theme switch cross-fade (js rsFade): View Transitions where supported, else this short-lived class. */
::view-transition-old(root),::view-transition-new(root){animation-duration:.28s}
html.rs-theme-fading body.ace-restyle,html.rs-theme-fading body.ace-restyle :is(.ace-shell,.ace-shell *,.ace-footer,.ace-footer *,.leaflet-tile-pane .ace-tiles--dark,.rs-themes,.rs-themes *){transition:background-color .28s,color .28s,border-color .28s,fill .28s,stroke .28s,filter .28s!important}
@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
/* Flags and chips take the theme: semantic --rs-ok/bad/warn/info come per mode from inc/restyle-themes.php. */
html body.ace-restyle[class] .ace-shell .ace-chip--free,body.ace-restyle .ace-chip--free{background:color-mix(in srgb,var(--rs-ok) 12%,transparent);border-color:color-mix(in srgb,var(--rs-ok) 45%,transparent);color:var(--rs-ok)}
body.ace-restyle .ace-chip--res{background:color-mix(in srgb,var(--rs-info) 12%,transparent);border-color:color-mix(in srgb,var(--rs-info) 45%,transparent);color:var(--rs-info)}
body.ace-restyle .ace-chip--around,body.ace-restyle .ace-chip--indie{background:var(--rs-softer);color:var(--shell-muted);border-color:var(--shell-line)}
body.ace-restyle .ace-badge{color:var(--rs-on-fill)}
body.ace-restyle .ace-badge--boost{background:var(--rs-fill);color:var(--rs-on-fill)}
body.ace-restyle .ace-badge--feat{background:color-mix(in srgb,var(--rs-fill) 40%,var(--shell-card));color:var(--shell-ink)}
body.ace-restyle .ace-badge--status{background:color-mix(in srgb,var(--shell-card) 90%,transparent);color:var(--shell-ink)}
body.ace-restyle .ace-gcard__badge--live{background:var(--rs-ok);color:var(--rs-on-ok)}
/* Featured card flag: the theme's fill pair, so light themes (dark accent) never put dark ink on it. */
body.ace-restyle .ace-gcard__badge:not(.ace-gcard__badge--live,.ace-gcard__badge--super){background:var(--rs-fill);color:var(--rs-on-fill)}
body.ace-restyle .ace-gcard.is-live{border-color:color-mix(in srgb,var(--rs-ok) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--rs-ok) 40%,transparent),0 0 9px color-mix(in srgb,var(--rs-ok) 18%,transparent);animation-name:rs-live-glow-t}
@keyframes rs-live-glow-t{50%{box-shadow:0 0 0 1px color-mix(in srgb,var(--rs-ok) 55%,transparent),0 0 13px color-mix(in srgb,var(--rs-ok) 26%,transparent)}}
body.ace-restyle .ace-hl__card{--hl-live:var(--rs-bad)}
body.ace-restyle .ace-metapill{background:var(--rs-softer);border-color:color-mix(in srgb,var(--rs-ink) 40%,transparent);color:var(--rs-ink)}
body.ace-restyle .ace-metapill:hover{background:var(--rs-soft);color:var(--shell-ink)}
body.ace-restyle :is(.acebd-chip,.acemd-chip){border-color:var(--rs-warn);color:var(--rs-warn)}
body.ace-restyle .ace-featchip{background:color-mix(in srgb,var(--shell-card) 88%,transparent);color:var(--shell-ink)}
body.ace-restyle .ace-featchip--super{border-color:var(--rs-pin,#ff7a18);background:color-mix(in srgb,var(--rs-pin,#ff7a18) 24%,var(--shell-card))}

/* One hairline per divider. Where two neighbours each drew 1px (rail border + docked search's own
   border, brand border + its shadow, guest card + personal panel, footer part + footer) only one keeps
   it, always --shell-line. The resize handle's 2px accent shows only on hover, focus and drag. */
html body.ace-restyle .ace-shell :is(.ace-shell__brand,.ace-shell__account-head){box-shadow:none}
html body.ace-restyle .ace-shell__main>footer.wp-block-template-part{border-top:0}
html body.ace-restyle .ace-shell__account-content:has(.ace-acct--guest)>.ace-shell__personal{border-top:0}
@media (min-width:901px){
  html body.ace-restyle .ace-shell>.ace-shell__edge:not(:hover,:focus-visible,:active)::before{background:transparent!important}
  html body.ace-restyle .ace-shell>.ace-shell__edge.is-resizing::before{background:var(--shell-accent)!important}
  html body.ace-restyle .ace-shell.rs-resizing,html body.ace-restyle .ace-shell.rs-resizing *{cursor:col-resize!important;user-select:none}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip{border-width:0 1px 1px 0!important}
  html body.ace-restyle .ace-shell.rs-filter-collapsed.rs-search-docked .als>.ace-loc.rs-in-strip>.ace-loc-search{border-right-width:0!important}
  html body.ace-restyle .ace-shell.rs-tuck-right .als .rs-strip-user{margin-right:8px}
}

/* Form controls follow the theme: one custom checkbox/radio for every front-end filter and form
   (rail Categories, Include classes, What's on Free only / Include classes, submission forms).
   Tokens only, so a theme switch restyles them live. Border uses --shell-muted (>=4.7:1 on panel and
   card in all eight themes); the tick uses --rs-on-fill on --rs-fill (>=6.2:1). Visually hidden
   inputs (segmented Sort/When chips, star ratings) stay hidden: opacity/position rules still win. */
body.ace-restyle input:is([type=checkbox],[type=radio]):not([name=rating]){-webkit-appearance:none;appearance:none;accent-color:var(--rs-fill);flex:none;display:inline-grid;place-content:center;width:18px;height:18px;margin:0;vertical-align:-4px;border:1.5px solid var(--shell-muted);border-radius:5px;background:var(--shell-card);color:var(--rs-on-fill);cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}
body.ace-restyle input[type=radio]:not([name=rating]){border-radius:50%}
body.ace-restyle input[type=checkbox]:not([name=rating])::before{content:"";width:10px;height:6px;margin-top:-2px;border:solid currentColor;border-width:0 0 2px 2px;transform:rotate(-45deg) scale(0);transition:transform .12s}
body.ace-restyle input[type=radio]:not([name=rating])::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;transform:scale(0);transition:transform .12s}
body.ace-restyle input:is([type=checkbox],[type=radio]):not([name=rating]):checked{background:var(--rs-fill);border-color:color-mix(in srgb,var(--rs-fill) 55%,var(--shell-ink))}
body.ace-restyle input[type=checkbox]:not([name=rating]):checked::before{transform:rotate(-45deg) scale(1)}
body.ace-restyle input[type=radio]:not([name=rating]):checked::before{transform:scale(1)}
body.ace-restyle input[type=checkbox]:not([name=rating]):indeterminate{background:var(--rs-fill);border-color:color-mix(in srgb,var(--rs-fill) 55%,var(--shell-ink))}
body.ace-restyle input[type=checkbox]:not([name=rating]):indeterminate::before{width:10px;height:0;margin:0;border-width:0 0 2px;transform:none}
body.ace-restyle input:is([type=checkbox],[type=radio]):not([name=rating]):hover:not(:disabled){border-color:var(--rs-ink);box-shadow:0 0 0 3px var(--rs-softer)}
body.ace-restyle input:is([type=checkbox],[type=radio]):not([name=rating]):focus-visible{outline:2px solid var(--rs-ink);outline-offset:2px}
body.ace-restyle input:is([type=checkbox],[type=radio]):not([name=rating]):disabled{opacity:.45;cursor:not-allowed}
body.ace-restyle label:has(>input:is([type=checkbox],[type=radio]):disabled){cursor:not-allowed;opacity:.7}
body.ace-restyle :is(.ace-b-toggle,.ace-include-classes,.ace-dd__opt){cursor:pointer}
body.ace-restyle .ace-b-toggle{display:inline-flex;align-items:center;gap:8px}
@media (pointer:coarse){body.ace-restyle :is(.ace-b-toggle,.ace-include-classes,.ace-dd__opt,label:has(>input:is([type=checkbox],[type=radio]))){min-height:32px}
  body.ace-restyle label:has(>input:is([type=checkbox],[type=radio])):not(.ace-dd__opt,.ace-include-classes){display:inline-flex;align-items:center;gap:8px}}
/* Selects, text, date and range inputs on the filter forms use the same card tone and focus ring. */
body.ace-restyle :is(.ace-browser,.ace-app__bar,.ace-filters) :is(select,input:is([type=text],[type=search],[type=date],[type=number])){background-color:var(--shell-card);color:var(--shell-ink);border-color:color-mix(in srgb,var(--shell-muted) 55%,transparent);color-scheme:inherit}
body.ace-restyle :is(.ace-browser,.ace-app__bar,.ace-filters) :is(select,input):focus-visible{outline:2px solid var(--rs-ink);outline-offset:1px}
body.ace-restyle input[type=range]{accent-color:var(--rs-fill)}
/* Phone: the browse area select gets its own full-width row instead of being squeezed beside the toggles. */
@media (max-width:640px){body.ace-restyle .ace-browser .ace-browser__filters>.ace-b-select{flex:1 1 100%;width:100%;min-width:0;order:-1}body.ace-restyle .ace-browser .ace-browser__filters>.ace-browser__search{order:-2}}
/* ===== phones + small tablets: no map on home at all, and the strip is ONE 52px row =====
   The home app (map hero + "Hello, Sheffield" card) is not shown; ace-public.js does not
   fetch the discover app or Leaflet at this width, so the page goes straight to What's on
   (which carries its own search and filters). Viewport-driven, so the page cache stays correct. */
@media (max-width:900px){
  body.ace-restyle .ace-app.ace-app--home:not(.is-active){display:none!important}
  body.ace-restyle .ace-shell .ace-home-hero:has(>.ace-app--home:not(.is-active)){min-height:0!important;height:auto!important;padding:0!important;background:none!important}
  body.ace-restyle .ace-shell .als,body.ace-restyle .ace-shell .als .als__inner{box-sizing:border-box;height:var(--rs-band)!important;min-height:var(--rs-band)!important;max-height:var(--rs-band)}
  body.ace-restyle .ace-shell .als .als__inner{flex-wrap:nowrap!important;row-gap:0;gap:0;overflow:hidden;padding:0 env(safe-area-inset-right,0px) 0 env(safe-area-inset-left,0px)!important}
  body.ace-restyle .ace-shell .als .als__ticker{order:-2!important;flex:1 1 auto!important;min-width:0!important;max-width:none!important;height:100%!important}
  body.ace-restyle .ace-shell .als .als__tk{min-height:100%}
  body.ace-restyle .ace-shell .als .als__chips{order:1;flex:0 1 auto!important;max-width:44%!important;height:100%!important;border-top:0!important;border-left:1px solid var(--shell-line);padding:0 4px 0 2px!important}
  body.ace-restyle .ace-shell .als .als__chip{height:100%;padding:0 6px}
  /* the plugin caps a ticker card's text at 196px on phones, which made the cards overprint each other */
  body.ace-restyle .ace-shell .als .als-card__tx{max-width:none!important}
  /* before restyle.js lifts the strip out of the (now empty) hero, keep it in flow at its final size: no shift */
  body.ace-restyle .ace-shell .ace-home-hero>.als{position:relative!important;top:auto;padding:0!important;pointer-events:auto}
  /* no hero left to hold a loading skeleton */
  body.ace-restyle .ace-shell .ace-home-hero:has(>.ace-app--home:not(.is-active))::after{content:none!important;display:none!important}
}
@media (max-width:480px){body.ace-restyle .ace-shell .als .als__chips{max-width:38%!important}}

/* ============================================ filter panel (artifact v30) ==== */
/* Groups: one hairline between them, small-caps titles, a + / − marker; the old headings step aside. */
.ace-restyle .rs-fp{display:flex;flex-direction:column}
.ace-restyle .rs-fg{border-top:1px solid var(--shell-line)}
.ace-restyle .rs-fg>summary{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;cursor:pointer;list-style:none;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--shell-muted)}
.ace-restyle .rs-fg>summary::-webkit-details-marker{display:none}
.ace-restyle .rs-fg>summary::after{content:"+";margin-left:auto;font-size:16px;font-weight:500;letter-spacing:0;line-height:1}
.ace-restyle .rs-fg[open]>summary::after{content:"\2212"}
.ace-restyle .rs-fg>summary:hover{color:var(--shell-ink)}
.ace-restyle .rs-fg>summary:focus-visible{outline:2px solid var(--shell-accent);outline-offset:-2px}
.ace-restyle .rs-fg__n:not(:empty){min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--rs-fill);color:var(--rs-on-fill);display:inline-grid;place-items:center;font-size:10.5px;letter-spacing:0}
.ace-restyle .rs-fg__b{padding:0 0 12px}
.ace-restyle .rs-fp .rs-fg .ace-dd{border-top:0!important;padding:0 16px!important}
.ace-restyle .rs-fp .rs-fg .ace-dd::before{content:none!important;display:none!important}
.ace-restyle .rs-fp .rs-fg .ace-dd>.ace-dd__btn{display:none!important}
.ace-restyle .rs-fp .rs-fg .rs-cal{padding-top:0}
.ace-restyle .rs-fp .rs-fg .ace-f-period{margin-top:6px}
.ace-restyle .ace-app__bar.rs-has-fp .ace-filters>:is(.ace-f-from,.ace-f-to){display:none!important}
.ace-restyle .ace-app__bar.rs-has-fp>.ace-app__explore{display:none}
/* Lists: search, rows with a count, "+N more". */
.ace-restyle .rs-fsearch{position:relative;display:flex;align-items:center;margin:0 0 6px}
.ace-restyle .rs-fsearch .rs-i{position:absolute;left:10px;width:14px;height:14px;color:var(--shell-muted);pointer-events:none}
html body.ace-restyle .rs-fsearch input{width:100%;height:34px;padding:0 10px 0 30px!important;border:1px solid var(--shell-line)!important;border-radius:8px!important;background:var(--shell-card)!important;color:var(--shell-ink)!important;font:500 13px/1 Manrope,sans-serif;box-shadow:none!important}
.ace-restyle .rs-fsearch input:focus{outline:2px solid var(--shell-accent);outline-offset:-1px}
.ace-restyle .rs-fp .rs-fg .ace-dd>.ace-dd__menu.rs-flist,.ace-restyle .rs-fp .rs-fg .ace-dd>.ace-dd__menu.rs-flist[hidden]{display:flex!important;flex-direction:column!important;gap:0!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;position:static!important}
.ace-restyle .rs-flist>.ace-dd__opt{display:flex;align-items:center;gap:8px;min-height:32px;padding:0 6px;border-radius:6px;font-size:13px;font-weight:500;color:var(--shell-ink);cursor:pointer}
.ace-restyle .rs-flist>.ace-dd__opt[hidden]{display:none!important}
.ace-restyle .rs-flist>.ace-dd__opt:hover{background:var(--rs-softer)}
.ace-restyle .rs-flist>.ace-dd__opt>span:not(.ace-dd__ico){flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ace-restyle .rs-flist .rs-n{margin-left:auto;flex:none;font-size:12px;color:var(--shell-muted);font-variant-numeric:tabular-nums}
.ace-restyle .rs-flist .ace-dd__opt.is-zero{color:var(--shell-muted)}
.ace-restyle .rs-flist .ace-dd__opt input{flex:none;width:16px;height:16px;margin:0;accent-color:var(--rs-fill)}
.ace-restyle .rs-more{display:block;margin:4px 0 0;padding:4px 6px!important;border:0!important;background:none!important;color:var(--shell-accent)!important;font:700 12.5px/1.3 Manrope,sans-serif;text-align:left;cursor:pointer;border-radius:6px}
.ace-restyle .rs-more:hover{text-decoration:underline}
.ace-restyle .rs-more:focus-visible,.ace-restyle .rs-achip:focus-visible,.ace-restyle .rs-fbtn:focus-visible,.ace-restyle .rs-login:focus-visible,.ace-restyle .rs-mfbtn:focus-visible{outline:2px solid var(--shell-accent);outline-offset:2px}
.ace-restyle .rs-fnone{margin:4px 6px;font-size:12.5px;color:var(--shell-muted)}
.ace-restyle .rs-fp .ace-include-classes{min-height:36px!important;padding:0 16px!important;border-top:0!important;gap:8px}
/* From / To under the calendar */
.ace-restyle .rs-cdates{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding:10px 16px 0}
.ace-restyle .rs-cdates label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--shell-muted);min-width:0}
html body.ace-restyle .rs-cdates input{width:100%;min-width:0;height:34px!important;min-height:0!important;padding:0 8px!important;border:1px solid var(--shell-line)!important;border-radius:8px!important;background:var(--shell-card)!important;color:var(--shell-ink)!important;font:600 12.5px/1 Manrope,sans-serif;color-scheme:dark;box-sizing:border-box}
.ace-restyle[data-ace-theme=light] .rs-cdates input{color-scheme:light}
.ace-restyle .rs-cdates input[aria-invalid=true]{border-color:#d9443a!important}
.ace-restyle .rs-cdates input:focus{outline:2px solid var(--shell-accent);outline-offset:-1px}
.ace-restyle .rs-cdates__err{grid-column:1/-1;margin:0;font-size:12px;color:#e0584e}
/* Applied chips */
.ace-restyle .rs-applied{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px 10px}
.ace-restyle .rs-applied[hidden]{display:none!important}
.ace-restyle .rs-achip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px!important;border:1px solid color-mix(in srgb,var(--shell-accent) 45%,transparent)!important;border-radius:999px!important;background:var(--rs-soft)!important;color:var(--shell-ink)!important;font:700 12px/1 Manrope,sans-serif;cursor:pointer;max-width:100%}
.ace-restyle .rs-achip span{font-size:14px;line-height:1;color:var(--shell-accent)}
.ace-restyle .rs-achip--clear{border-color:transparent!important;background:none!important;color:var(--shell-accent)!important;text-decoration:underline}
/* Footer: the address, then Reset and Show results, pinned to the foot of the rail. */
.ace-restyle .rs-ffoot{position:sticky;bottom:0;z-index:5;margin-top:auto;padding:10px 16px 12px;border-top:1px solid var(--shell-line);background:var(--shell-panel)}
.ace-restyle .ace-app__bar.rs-has-fp{padding-bottom:0!important}
.ace-restyle .rs-furl{display:flex;align-items:center;gap:0;margin:0 0 8px;min-width:0;font-size:11.5px;color:var(--shell-muted);white-space:nowrap;overflow:hidden}
.ace-restyle .rs-furl .rs-i{width:12px;height:12px;margin-right:5px;flex:none}
.ace-restyle .rs-furl b{font-weight:700;color:var(--shell-ink);overflow:hidden;text-overflow:ellipsis}
.ace-restyle .rs-furl--page{margin:4px 0 6px;font-size:12.5px}
/* What's on: hold the address line's place until the script adds it, so the list below does not move. */
.ace-restyle .ace-app.is-whats-on .ace-app__browse:not(:has(>.rs-furl--page))::after{content:"\a0";display:block;margin:4px 0 6px;font-size:12.5px;overflow:hidden}
.ace-restyle .ace-app__browse .rs-applied{padding:0 0 12px}
.ace-restyle .rs-fbtns{display:flex;gap:8px}
.ace-restyle .rs-fbtn{flex:1 1 0;min-height:38px;padding:0 10px!important;border-radius:999px!important;font:700 13px/1 Manrope,sans-serif;cursor:pointer;white-space:nowrap}
.ace-restyle .rs-fbtn--sec{flex:0 0 auto;border:1px solid var(--shell-line)!important;background:transparent!important;color:var(--shell-ink)!important}
.ace-restyle .rs-fbtn--go{border:0!important;background:var(--rs-fill)!important;color:var(--rs-on-fill)!important}
/* Phones, Home: the What's on block's Filters sheet */
.ace-restyle .rs-msheet{flex:1 0 100%;width:100%;margin:10px 0 4px}
.ace-restyle .rs-mfbtn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px!important;border:1px solid var(--shell-line)!important;border-radius:999px!important;background:var(--shell-card)!important;color:var(--shell-ink)!important;font:700 13px/1 Manrope,sans-serif;cursor:pointer}
.ace-restyle .rs-mfbtn .rs-count:not(:empty){min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--rs-fill);color:var(--rs-on-fill);display:inline-grid;place-items:center;font-size:11px}
.ace-restyle .rs-msheet.is-open .rs-mfbtn{border-color:var(--shell-accent)!important}
.ace-restyle .rs-msheet__body{margin-top:10px;border:1px solid var(--shell-line);border-radius:var(--rs-radius,12px);background:var(--shell-panel);overflow:hidden}
.ace-restyle .rs-msheet__body[hidden]{display:none!important}
.ace-restyle .rs-msheet__body>.rs-fsearch--kw{margin:12px 16px 6px}
.ace-restyle .rs-msheet__body .rs-fg>summary{min-height:44px}
.ace-restyle .rs-msheet__body .ace-f-period>.ace-dd__menu,.ace-restyle .rs-msheet__body .ace-f-sort>.ace-dd__menu{display:flex;flex-wrap:wrap;gap:6px}
.ace-restyle .rs-msheet__body :is(.ace-f-period,.ace-f-sort) .ace-dd__opt{position:relative;display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid var(--shell-line);border-radius:999px;background:var(--shell-card);font-size:12.5px;font-weight:700;color:var(--shell-ink);cursor:pointer}
.ace-restyle .rs-msheet__body :is(.ace-f-period,.ace-f-sort) .ace-dd__opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ace-restyle .rs-msheet__body :is(.ace-f-period,.ace-f-sort) .ace-dd__opt:has(input:checked){background:var(--rs-fill);border-color:transparent;color:var(--rs-on-fill)}
.ace-restyle .rs-msheet__body :is(.ace-f-period,.ace-f-sort) .ace-dd__opt:has(input:focus-visible){outline:2px solid var(--shell-accent);outline-offset:2px}
.ace-restyle .rs-msheet__body .rs-flist>.ace-dd__opt{min-height:40px}
.ace-restyle .rs-fopt{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;font-size:14px;font-weight:500;color:var(--shell-ink);cursor:pointer}
.ace-restyle .rs-fopt input{width:18px;height:18px;margin:0;accent-color:var(--rs-fill)}
.ace-restyle .rs-msheet__body .rs-ffoot{position:sticky;bottom:0}
/* Right rail header: Log in / the member's chip, beside full screen and theme */
html body.ace-restyle .ace-shell .ace-shell__account-head .rs-login{width:auto!important;height:34px!important;margin-left:auto;padding:0 12px 0 10px!important;border-radius:999px!important;display:inline-flex!important;align-items:center;gap:6px;background:var(--rs-fill)!important;color:var(--rs-on-fill)!important;font:700 12.5px/1 Manrope,sans-serif!important;white-space:nowrap;border:0!important}
html body.ace-restyle .ace-shell .ace-shell__account-head .rs-login .rs-i{width:14px;height:14px}
html body.ace-restyle .ace-shell .ace-shell__account-head .rs-login--member{width:34px!important;padding:0!important;justify-content:center;background:var(--rs-sec)!important;color:var(--shell-ink)!important}
html body.ace-restyle .ace-shell .ace-shell__account-head .rs-login img{width:26px;height:26px;border-radius:50%;object-fit:cover}
html body.ace-restyle .ace-shell .ace-shell__account-head .rs-login~[data-shell-fullscreen]{margin-left:0}
@media (min-width:901px){
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__account-head .rs-login{width:28px!important;height:28px!important;padding:0!important;justify-content:center;margin:0}
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__account-head .rs-login span{display:none}
  html body.ace-restyle .ace-shell[data-right-closed=true] .ace-shell__account-head .rs-login img{width:24px;height:24px}
}
.ace-restyle :is(.rs-fsearch,.rs-furl,.rs-login) .rs-i{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ace-restyle .rs-msheet__body .ace-dd{position:static;width:auto;margin:0;padding:0 16px}
html body.ace-restyle .rs-msheet__body .ace-dd>.ace-dd__menu{position:static!important;inset:auto!important;transform:none!important;opacity:1!important;visibility:visible!important;width:auto!important;min-width:0!important;max-width:none!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body.ace-restyle .rs-msheet__body :is(.ace-f-period,.ace-f-sort)>.ace-dd__menu{display:flex!important;flex-wrap:wrap;gap:6px}
html body.ace-restyle .rs-msheet__body .ace-dd>.ace-dd__menu.rs-flist{display:flex!important;flex-direction:column}
html body.ace-restyle .ace-shell .ace-shell__account-head .rs-login--member span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
html body.ace-restyle .ace-shell .ace-shell__account-head{min-width:0}
/* calendar range: the same accent whether the days are past or future (the future tint used to
   out-rank the selection). Ends filled, days between tinted, live while dragging; a note when a
   range is clamped to today. */
html body.ace-restyle .rs-cal .rs-cal__day.is-sel{background:color-mix(in srgb,var(--rs-fill) 30%,transparent)!important;color:var(--shell-ink)!important;border-color:transparent!important;border-radius:4px!important}
html body.ace-restyle .rs-cal .rs-cal__day.is-sel:is(.is-sel-start,.is-sel-end){background:var(--rs-fill)!important;color:var(--rs-on-fill)!important}
html body.ace-restyle .rs-cal .rs-cal__day.is-sel-start{border-top-left-radius:8px!important;border-bottom-left-radius:8px!important}
html body.ace-restyle .rs-cal .rs-cal__day.is-sel-end{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}
html body.ace-restyle .rs-cal .rs-cal__day.is-sel.is-today{box-shadow:inset 0 0 0 1px var(--shell-accent)}
html body.ace-restyle .rs-cal .rs-cal__day.is-sel-mid .rs-cal__dot{background:radial-gradient(circle at 1.5px 1.5px,var(--rs-ink) 1.4px,transparent 1.6px) 0 0/5px 3px repeat-x}
html body.ace-restyle .rs-cal.is-picking .rs-cal__day{transition:none}
html body.ace-restyle .rs-cal .rs-cal__day.is-past{cursor:pointer}
html body.ace-restyle .rs-cal .rs-cal__day:focus-visible{outline:2px solid var(--shell-accent);outline-offset:1px;z-index:1}
html body.ace-restyle .rs-cal__hint{margin:4px 2px 0;font-size:12px;color:var(--rs-ink)}
/* filtering is local: the list being refreshed fades and shows a thin accent bar, the old cards stay
   until the new ones land, nothing blocks the rail and nothing moves. */
@keyframes rs-bar{from{background-position:-40% 0}to{background-position:140% 0}}
html body.ace-restyle .ace-browser{position:relative}
html body.ace-restyle .ace-browser.is-refreshing .ace-grid,html body.ace-restyle .ace-app__list.is-loading{opacity:.6;transition:opacity .15s}
html body.ace-restyle .ace-browser.is-refreshing::after,html body.ace-restyle .ace-app__list.is-loading::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;z-index:3;pointer-events:none;background:linear-gradient(90deg,transparent,var(--rs-fill),transparent) no-repeat;background-size:40% 100%;animation:rs-bar 1s linear infinite}
@media (prefers-reduced-motion:reduce){html body.ace-restyle .ace-browser.is-refreshing::after,html body.ace-restyle .ace-app__list.is-loading::before{animation:none;background-size:100% 100%;opacity:.5}}
/* moving between panels: the hub's loader card, without the blurred full-panel scrim or pointer block */
html body.ace-restyle .ace-hub-status:has(.ace-sheffield-loader){background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;pointer-events:none!important}

/* =========================================== Home start-up layout (no shift on load) ====
 * Until restyle.js lends the filter bar to the rail (.rs-home-filters) and the hub moves the ticker
 * above the page, lay the home page out as it ends up: the filter column at the width it will take
 * (collapsed 68px, or the visitor's open width once workspace.js has set data-filter-closed) and room
 * above the hero for the ticker. Each rule stops applying the moment the real layout takes over. */
@media (min-width:901px){
  .ace-restyle .ace-shell--home:not(.rs-home-filters){--rs-filter-start:68px;grid-template-columns:var(--shell-left) var(--rs-filter-start) minmax(0,1fr) var(--shell-right)}
  .ace-restyle .ace-shell--home:not(.rs-home-filters)[data-filter-closed=false]{--rs-filter-start:var(--shell-filter)}
  .ace-restyle .ace-shell--home:not(.rs-home-filters)>.ace-shell__filter{display:block;grid-column:2;grid-row:1;background:var(--shell-panel);border-right:1px solid var(--shell-line);position:relative;z-index:40}
  .ace-restyle .ace-shell--home:not(.rs-home-filters):not(.is-event-view)>.ace-shell__main{grid-area:1/1/2/-1;padding-inline:calc(var(--shell-left) + var(--rs-filter-start)) var(--shell-right)}
  .ace-restyle .ace-shell--home:not(.rs-home-filters)>.ace-shell__right{grid-column:4;grid-row:1}
  .ace-restyle .ace-shell--home>.ace-shell__main .entry-content.wp-block-post-content:is(:has(>.ace-home-hero>.als--ticker),:has(>.als--ticker)){margin-top:52px}
  .ace-restyle .ace-shell--home>.ace-shell__main .entry-content.wp-block-post-content>.als--ticker{margin-top:-52px}
  /* Once the hub wraps the page, keep that margin on the page rather than letting it collapse through the wrappers (:has() cannot nest, hence two). */
  .ace-restyle .ace-shell--home :is(.ace-hub-public,.ace-hub-route):is(:has(.entry-content.wp-block-post-content>.ace-home-hero>.als--ticker),:has(.entry-content.wp-block-post-content>.als--ticker)){display:flow-root}
  .ace-restyle .ace-shell--home .ace-home-hero>.als--ticker{top:-52px;left:calc(0px - var(--rs-filter-start));width:calc(100% + var(--rs-filter-start))}
}
/* The reserved column sits above the hero, as the rail does once it is in use (it was underneath, so its placeholder never showed).
 * While it is the collapsed 68px strip the placeholder is the strip's column of icons rather than the open rail's blocks. */
@media (min-width:901px){
  .ace-restyle .ace-shell--home:not(.rs-home-filters)[data-filter-closed=true]>.ace-shell__filter:not(:has(.rs-filter-rail)):not(:has(.ace-app__bar))::before{height:368px;margin:15px 24px 0;border-radius:4px;background:linear-gradient(var(--shell-line),var(--shell-line)) 0 0px/20px 20px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 57px/20px 20px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 103px/20px 20px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 149px/20px 20px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 210px/20px 20px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 256px/20px 20px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 302px/20px 20px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 348px/20px 20px no-repeat}
}
@media (min-width:901px) and (max-width:1440px){
  .ace-restyle .ace-shell--home:not(.rs-home-filters):not([data-filter-closed])>.ace-shell__filter:not(:has(.rs-filter-rail)):not(:has(.ace-app__bar))::before{height:368px;margin:15px 24px 0;border-radius:4px;background:linear-gradient(var(--shell-line),var(--shell-line)) 0 0px/20px 20px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 57px/20px 20px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 103px/20px 20px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 149px/20px 20px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 210px/20px 20px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 256px/20px 20px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 302px/20px 20px no-repeat,linear-gradient(var(--shell-line),var(--shell-line)) 0 348px/20px 20px no-repeat}
}
/* Wider than 1440px the filter rail starts open (filterDefault() only collapses it at 1440 and below). */
@media (min-width:1441px){
  .ace-restyle .ace-shell--home:not(.rs-home-filters):not([data-filter-closed]){--rs-filter-start:var(--shell-filter)}
}
