/* Search controls are one border/focus unit, including their action area. */
.rio-search-bar,.wp-block-search__inside-wrapper { display:flex; align-items:stretch; gap:0; width:100%; min-width:0; margin:0; padding:var(--rio-search-padding,0); border:1px solid var(--rio-line,#dce2e7); background:var(--rio-paper,#fff); transition:border-color 180ms ease; }
.rio-search-bar:focus-within,.wp-block-search__inside-wrapper:focus-within { border-color:var(--rio-focus,var(--rio-ink,#20344b)); }
.runnerio-site .rio-search-bar input[type=search],.runnerio-site .wp-block-search__input { display:block; flex:1 1 0%; width:100%; min-width:0; height:50px; min-height:50px; margin:0; padding:12px 14px; background:transparent; border:0; border-radius:0; outline:none; font:400 15px/1.5 var(--rio-font,system-ui,sans-serif); color:var(--rio-ink,#20344b); box-shadow:none; }
.runnerio-site .rio-search-bar input[type=search]:focus,.runnerio-site .wp-block-search__input:focus { border:0; background:transparent; outline:none; box-shadow:none; }
.rio-search-bar>button,.wp-block-search__inside-wrapper>.wp-block-search__button { display:flex; align-items:center; justify-content:center; flex:0 0 auto; width:50px; min-width:44px; min-height:50px; margin:0; padding:12px; border:0; border-radius:0; color:var(--rio-ink,#20344b); background:transparent; }
.rio-search-bar>button:hover,.wp-block-search__inside-wrapper>.wp-block-search__button:hover { background:var(--rio-accent,#00fe01); }
.rio-search-bar>button:focus-visible,.wp-block-search__inside-wrapper>.wp-block-search__button:focus-visible { outline:none; background:var(--rio-soft,#f4f6f7); }
.rio-search-bar>button:not(.rio-index-filter-toggle) .rio-icon { width:22px; height:22px; flex:0 0 22px; }
.wp-block-search__inside-wrapper>.wp-block-search__button:not(.has-icon) { width:auto; max-width:45%; overflow-wrap:anywhere; }
.rio-dialog.rio-search-dialog { position:fixed; inset:0; margin:0; width:100%; height:100dvh; max-width:none; max-height:none; padding:0; overflow:hidden; border:0; background:var(--rio-paper); }
.rio-search-dialog[open] { display:flex; flex-direction:column; }
.rio-search-dialog .rio-dialog-header { flex:0 0 auto; position:static; display:block; padding:20px max(22px,env(safe-area-inset-right)) 20px max(22px,env(safe-area-inset-left)); }
.rio-search-header-inner { width:min(100%,1280px); margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.rio-search-brand { display:flex; align-items:center; min-width:0; max-width:calc(100% - 64px); color:var(--rio-ink); }
.rio-search-brand>.rio-wordmark { font-size:32px; }
.rio-search-header-inner .rio-icon-button { width:44px; height:44px; flex:0 0 44px; }
.rio-search-dialog .rio-dialog-body { flex:1 1 auto; min-height:0; padding:32px max(22px,env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left)); overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--rio-accent) var(--rio-paper); }
.rio-search-content { width:min(100%,1280px); margin-inline:auto; }
.rio-search-dialog .rio-search-bar { padding:10px 0; border-width:0 0 1px; }
.runnerio-site .rio-search-dialog .rio-search-bar input[type=search] { padding-inline:0; font:700 clamp(25px,3vw,38px)/1.3 var(--rio-heading); }
.rio-search-dialog .rio-search-bar>button { background:transparent; }
.rio-search-dialog .rio-search-bar>button:hover { background:var(--rio-soft); }
.rio-search-status { margin:20px 0; font-size:13px; min-height:22px; }
.rio-search-status:empty { margin:0; min-height:0; }
.rio-search-grid,.rio-search-results { display:grid; gap:18px; }
.rio-search-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.rio-search-results { grid-template-columns:minmax(0,1fr); }
.rio-search-grid:empty,.rio-search-results:empty { display:none; }
.rio-search-card { display:flex; align-items:var(--rio-search-align,center); gap:16px; padding:18px; min-width:0; border:1px solid var(--rio-line); background:var(--rio-paper); color:var(--rio-ink); text-decoration:none; }
.rio-search-card:hover,.rio-search-card:focus-visible { border-color:var(--rio-ink); background:var(--rio-soft); }
.rio-search-result { --rio-search-align:flex-start; --rio-search-title-size:22px; }
.rio-search-discovery-icon { display:flex; align-items:center; justify-content:center; width:76px; height:76px; flex:0 0 76px; background:var(--rio-soft); }
.rio-search-discovery-icon .rio-icon { width:30px; height:30px; }
.rio-search-media { display:block; position:relative; width:96px; aspect-ratio:4/3; flex:0 0 96px; overflow:hidden; background:var(--rio-soft); }
.rio-search-media>img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.rio-search-media.is-loading>img { visibility:hidden; }
.rio-search-card-copy { flex:1 1 0%; min-width:0; display:grid; grid-template-columns:minmax(0,1fr); gap:7px; }
.rio-search-card-copy small { font:600 10px/1.4 var(--rio-font); letter-spacing:.08em; text-transform:uppercase; }
.rio-search-result-type { display:flex; align-items:center; gap:7px; min-width:0; }
.rio-search-result-type>.rio-icon { flex:0 0 16px; width:16px; height:16px; }
.rio-search-result-type>span { min-width:0; overflow-wrap:anywhere; }
.rio-search-card-copy strong { font:700 var(--rio-search-title-size,24px)/1.2 var(--rio-heading); text-transform:uppercase; hyphens:auto; overflow-wrap:break-word; }
.rio-search-excerpt { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font:400 12px/1.65 var(--rio-font); overflow-wrap:break-word; }
.rio-search-more { grid-column:1/-1; justify-self:start; padding:14px 0; font-size:13px; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.rio-discovery { margin-top:40px; }
/* Region colour choices do not alter the global ink or photographic/banner tokens. */
.rio-header .rio-icon-button { color:var(--rio-header-text,var(--rio-ink)); }
.rio-header .rio-icon-button:hover { color:var(--rio-header-button-hover-text,#fff); background:var(--rio-header-button-hover,var(--rio-ink)); }
.rio-footer a { color:var(--rio-footer-link,#fff); }
.rio-footer a:hover,.rio-footer .rio-consent-link:hover { color:var(--rio-footer-link-hover,var(--rio-accent)); }
.rio-footer .rio-consent-link { color:var(--rio-footer-link,#fff); border:0; border-radius:0; background:transparent; text-align:left; cursor:pointer; }
.rio-footer .rio-consent-link .rio-icon { width:18px; height:18px; flex:0 0 18px; }
.rio-footer .rio-brand { color:var(--rio-footer-text,#fff); }
.rio-footer .rio-socials a { color:var(--rio-footer-button-text,var(--rio-ink)); background:var(--rio-footer-button,var(--rio-accent)); border-color:transparent; }
.rio-footer .rio-socials a:hover { color:var(--rio-footer-button-hover-text,var(--rio-ink)); background:var(--rio-footer-button-hover,#fff); }
.rio-footer .rio-button {
 --rio-btn-bg:var(--rio-footer-button,var(--rio-accent)); --rio-btn-text:var(--rio-footer-button-text,var(--rio-ink)); --rio-btn-border:var(--rio-footer-button,var(--rio-accent));
 --rio-btn-hover-bg:var(--rio-footer-button-hover,#fff); --rio-btn-hover-text:var(--rio-footer-button-hover-text,var(--rio-ink)); --rio-btn-hover-border:var(--rio-footer-button-hover,#fff);
}
/* Shared desktop smart sticky + one mobile drawer. Actual nodes move; no duplicate IDs or embeds. */
.rio-sidebar-ready [data-rio-sidebar]:not(.rio-sidebar-in-panel) { position:sticky; top:var(--rio-sticky-offset,calc(var(--rio-header) + 18px)); align-self:start; }
.rio-sidebar-toggle { position:fixed; right:max(16px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom)); display:flex; align-items:center; justify-content:center; width:48px; height:48px; padding:12px; background:var(--rio-accent); color:var(--rio-ink); border:1px solid var(--rio-ink); z-index:55; }
.rio-sidebar-toggle .rio-icon { width:24px; height:24px; }
.rio-sidebar-dialog { width:min(410px,100%); max-width:100%; height:100dvh; max-height:100dvh; margin:0 0 0 auto; }
.rio-dialog.rio-sidebar-dialog { inset:0 0 0 auto; margin:0; transform:translate3d(100%,0,0); }
.rio-dialog.rio-sidebar-dialog.is-open { transform:translate3d(0,0,0); }
.rio-sidebar-dialog .rio-dialog-header { flex:0 0 auto; padding:20px; }
.rio-sidebar-dialog .rio-dialog-header h2 { font-size:28px; }
.rio-sidebar-dialog .rio-dialog-body { min-height:0; flex:1 1 auto; overflow:auto; overscroll-behavior:contain; padding:20px; scrollbar-width:thin; scrollbar-color:var(--rio-accent) var(--rio-paper); }
.rio-sidebar-dialog[open] { display:flex; flex-direction:column; }
.rio-sidebar-in-panel { display:grid; position:static; margin:0; width:100%; grid-template-columns:minmax(0,1fr); }
.rio-sidebar-in-panel>section { min-width:0; }
/* Compact recovery layout, with an intentional gap between field and actions. */
.rio-not-found { padding-block:clamp(38px,6vw,86px); max-width:1140px; }
.rio-not-found-intro { display:grid; grid-template-columns:160px minmax(0,1fr); gap:36px; align-items:center; margin-bottom:32px; }
.rio-error-code { display:grid; place-items:center; aspect-ratio:1; background:var(--rio-section-tint); border-bottom:4px solid var(--rio-accent); font:700 80px/1 var(--rio-heading); }
.rio-not-found h1 { font-size:clamp(34px,4vw,58px); line-height:1.08; max-width:760px; }
.rio-not-found p { font-size:15px; line-height:1.85; max-width:760px; }
.rio-not-found-search { width:100%; max-width:none; }
.rio-not-found-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 26px; margin-top:24px; }
@media(max-width:1099px) { .rio-search-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:959px) {
 .rio-sidebar-ready .rio-single-layout { grid-template-columns:minmax(0,1fr); }
 .rio-sidebar-in-panel.rio-single-sidebar { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:639px) {
 .rio-search-grid { grid-template-columns:minmax(0,1fr); }.rio-search-grid,.rio-search-results { gap:12px; }.rio-search-card { padding:14px; gap:14px; }
 .rio-search-card { --rio-search-title-size:22px; }.rio-search-result { --rio-search-title-size:20px; }
 .rio-search-discovery-icon { width:64px; height:64px; flex-basis:64px; }.rio-search-media { width:80px; flex-basis:80px; }
 .rio-search-dialog .rio-dialog-header { padding-block:12px; }.rio-search-brand>.rio-wordmark { font-size:28px; }.rio-search-dialog .rio-dialog-body { padding-top:22px; }
 .rio-search-status { font-size:12px; }.rio-discovery { margin-top:28px; }
 .rio-not-found-intro { grid-template-columns:minmax(0,1fr); gap:22px; }.rio-error-code { width:86px; font-size:44px; }
 .rio-not-found .rio-discovery .rio-eyebrow { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .rio-search-card,.rio-sidebar-dialog { transition:none!important; } }
@media print { .rio-sidebar-toggle,.rio-sidebar-dialog { display:none!important; }.rio-sidebar-ready [data-rio-sidebar] { position:static; } }
