/* Article details share Runnerio's colour, type and control tokens. */
.rio-infoboxes { display:grid; gap:20px; margin:26px 0 30px; color:var(--rio-ink,#20344b); font-family:var(--rio-font,system-ui,sans-serif); }
.rio-infoboxes .rio-content-infobox { display:grid; grid-template-columns:minmax(0,1fr); gap:22px; margin:0; }
.rio-infoboxes .rio-content-infobox.has-image { grid-template-columns:var(--rio-infobox-image-width,140px) minmax(0,1fr); }
.rio-infobox-image { margin:0; align-self:start; }
.rio-infobox-image img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.rio-infobox-equipment .rio-infobox-image img { object-fit:contain; background:#fff; }
.rio-infobox-content { min-width:0; }
.rio-infobox-label { display:flex; align-items:center; gap:9px; margin-bottom:10px; font:600 calc(10px * var(--rio-reading-scale,1))/1.4 var(--rio-font,system-ui,sans-serif); letter-spacing:.08em; text-transform:uppercase; }
.rio-infobox-label .rio-icon { width:19px; height:19px; }
.rio-content-infobox .rio-infobox-heading { margin:0 0 12px; font:var(--rio-heading-weight,700) var(--rio-heading-current-size,var(--rio-heading-size,clamp(calc(25px * var(--rio-reading-scale,1)),calc(2.1vw * var(--rio-reading-scale,1)),calc(32px * var(--rio-reading-scale,1)))))/1.12 var(--rio-heading,system-ui,sans-serif); text-transform:var(--rio-heading-transform,uppercase); letter-spacing:0; }
.rio-content-infobox p.rio-infobox-description { font-size:calc(var(--rio-content-size,14px) * var(--rio-reading-scale,1)); line-height:1.8; margin:0 0 16px; text-transform:var(--rio-content-transform,none); }
.rio-content-infobox dl.rio-infobox-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 24px; margin:0; }
.rio-content-infobox .rio-infobox-facts>div { margin:0; padding:14px 16px; border:1px solid var(--rio-line,#dce2e7); background:var(--rio-property-surface,var(--rio-paper,#fff)); min-width:0; }
.rio-content-infobox .rio-infobox-facts dt { display:block; font:500 calc(11px * var(--rio-reading-scale,1))/1.4 var(--rio-font,system-ui,sans-serif); color:inherit; margin:0 0 4px; }
.rio-content-infobox .rio-infobox-facts dd { margin:0; font:500 calc(13px * var(--rio-reading-scale,1))/1.65 var(--rio-font,system-ui,sans-serif); overflow-wrap:anywhere; }
.rio-infobox-links { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.rio-content-infobox .rio-infobox-links .rio-button { width:auto; margin:0; }
.rio-content-infobox p.rio-infobox-note { font-size:calc(10px * var(--rio-reading-scale,1)); line-height:1.6; margin:12px 0 0; }
/* Sponsorship uses the shared infobox surface, spacing and manufacturer logo. */
.rio-sponsor { margin:0 0 26px; }
.rio-sponsor .rio-content-infobox { align-items:center; }
.rio-sponsor .rio-content-infobox.has-image { --rio-infobox-image-width:100px; }
.rio-sponsor .rio-infobox-image { align-self:center; }
.rio-sponsor .rio-infobox-image img { aspect-ratio:auto; max-height:72px; object-fit:contain; }
.rio-sponsor-name { margin:0; font:600 calc(18px * var(--rio-reading-scale,1))/1.5 var(--rio-font,system-ui,sans-serif); overflow-wrap:anywhere; }
.rio-sponsor-name a { color:inherit; text-decoration:none; }
.rio-sponsor-name a:hover { text-decoration:underline; text-underline-offset:3px; }
.rio-article-box { --rio-infobox-image-width:160px; container-type:inline-size; width:100%; min-width:0; box-sizing:border-box; }
.rio-article-box .rio-infobox-heading a { color:inherit; text-decoration:none; }
.rio-article-box .rio-infobox-heading a:hover { text-decoration:underline; text-underline-offset:3px; }
.rio-article-box .rio-infobox-image-placeholder { display:grid; place-items:center; width:100%; aspect-ratio:1; background:var(--rio-paper,#fff); }
.rio-article-box .rio-infobox-image-placeholder .rio-icon { width:36px; height:36px; }
.rio-article-box-ratings { --rio-star-size:20px; --rio-star-icon-size:17px; }
.rio-content-infobox .rio-article-box-ratings dd { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.rio-article-box-rating-note { flex-basis:100%; font-size:calc(12px * var(--rio-reading-scale,1)); line-height:1.6; }
/* Editorial call to action: the photo is a responsive background layer, not a lightbox image. */
.rio-cta-block { position:relative; isolation:isolate; min-width:0; max-width:100%; min-height:280px; box-sizing:border-box; display:grid; align-items:center; margin:28px 0; padding:40px; background:var(--rio-ink,#20344b); color:#fff; border:0; overflow:hidden; }
.rio-cta-block::before { content:""; position:absolute; inset:0; z-index:-1; background:rgba(8,18,28,var(--rio-cta-shade,.70)); pointer-events:none; }
.rio-cta-block>.rio-cta-image { position:absolute; inset:0; z-index:-2; display:block; width:100%; height:100%; max-width:none; margin:0; object-fit:cover; object-position:center; pointer-events:none; }
.rio-cta-position-top>.rio-cta-image { object-position:center top; }
.rio-cta-position-bottom>.rio-cta-image { object-position:center bottom; }
.rio-cta-content { position:relative; min-width:0; max-width:65ch; color:inherit; }
.rio-cta-block .rio-cta-title { margin:0 0 16px; font:var(--rio-heading-weight,700) var(--rio-heading-current-size,var(--rio-heading-size,clamp(calc(28px * var(--rio-reading-scale,1)),3vw,calc(38px * var(--rio-reading-scale,1)))))/1.15 var(--rio-heading,system-ui,sans-serif); color:inherit; text-transform:var(--rio-heading-transform,uppercase); overflow-wrap:break-word; hyphens:auto; }
.rio-cta-block .rio-cta-text { margin:0; font:var(--rio-content-weight,400) calc(var(--rio-content-size,17px) * var(--rio-reading-scale,1))/1.75 var(--rio-font,system-ui,sans-serif); color:inherit; overflow-wrap:anywhere; text-transform:var(--rio-content-transform,none); }
.rio-cta-block .rio-cta-actions { margin:24px 0 0; }
.rio-cta-actions>.rio-button { max-width:100%; white-space:normal; text-align:center; overflow-wrap:anywhere; }
.rio-cta-align-center { text-align:center; justify-items:center; }
.rio-cta-align-center .rio-cta-actions { justify-content:center; }
@media(max-width:699px) { .rio-cta-block { padding:24px; min-height:240px; } .rio-cta-actions>.rio-button { width:100%; } }
@media(forced-colors:active) { .rio-cta-block { border:1px solid CanvasText; background:Canvas; color:CanvasText; } .rio-cta-block>.rio-cta-image,.rio-cta-block::before { display:none; } }
@media print { .rio-cta-block { min-height:0; padding:20px; background:#fff; color:#000; border:1px solid #777; break-inside:avoid; } .rio-cta-block>.rio-cta-image,.rio-cta-block::before { display:none; } }

/* Native text-box block and the optional medical notice share the existing infobox surface. */
.rio-text-box { min-width:0; max-width:100%; }
.rio-text-box .rio-content-infobox { gap:16px; }
.rio-text-box .rio-text-box-links { margin:0; }
.rio-text-box-head { display:flex; align-items:center; gap:14px; min-width:0; }
.rio-text-box-icon { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; background:var(--rio-accent,#00fe01); color:var(--rio-on-accent,var(--rio-ink,#20344b)); border-radius:4px; }
.rio-text-box-icon .rio-icon { width:24px; height:24px; }
.rio-content-infobox .rio-text-box-title { margin:0; min-width:0; font:var(--rio-heading-weight,700) var(--rio-heading-current-size,var(--rio-heading-size,calc(24px * var(--rio-reading-scale,1))))/1.2 var(--rio-heading,system-ui,sans-serif); color:inherit; }
.rio-text-box-content { min-width:0; font:var(--rio-content-weight,400) calc(var(--rio-content-size,16px) * var(--rio-reading-scale,1))/1.8 var(--rio-font,system-ui,sans-serif); overflow-wrap:anywhere; text-transform:var(--rio-content-transform,none); }
.rio-text-box-content :where(p,li) { font:inherit; }
.rio-text-box-content :where(p,ul,ol) { margin:0 0 1em; }
.rio-text-box-content :where(ul,ol) { padding-left:1.4em; }
.rio-text-box-content>:last-child { margin-bottom:0; }
.rio-text-box-content a { color:inherit; text-decoration:underline; text-decoration-color:var(--rio-accent,#00fe01); text-decoration-thickness:2px; text-underline-offset:4px; }
.rio-text-box-content a:is(:hover,:focus-visible) { text-decoration-color:currentColor; }
.rio-text-box .block-editor-inner-blocks { min-width:0; }
.rio-text-box .block-editor-block-list__layout>[data-type="core/paragraph"] { margin-block:0 1em; }
@media(max-width:599px) { .rio-text-box-head { align-items:flex-start; gap:12px; } }
@media print { .rio-medical-notice { break-inside:avoid; } }
@container(max-width:480px) { .rio-article-box .rio-content-infobox.has-image { --rio-infobox-image-width:80px; --rio-info-padding:16px; gap:14px; } .rio-article-box .rio-infobox-heading { font-size:var(--rio-heading-current-size,var(--rio-heading-size,calc(23px * var(--rio-reading-scale,1)))); } .rio-article-box .rio-infobox-links .rio-button { width:100%; } .rio-article-box dl.rio-article-box-ratings { grid-template-columns:minmax(0,1fr); gap:12px; --rio-star-size:18px; --rio-star-icon-size:15px; } }
@media(max-width:1099px) and (min-width:820px) { .rio-infoboxes .rio-content-infobox.has-image { grid-template-columns:var(--rio-infobox-image-width,100px) minmax(0,1fr); gap:18px; } .rio-content-infobox dl.rio-infobox-facts { grid-template-columns:1fr; } }
@media(max-width:599px) { .rio-infoboxes .rio-content-infobox { gap:16px; } .rio-infoboxes:not(.rio-article-box) .rio-content-infobox.has-image { grid-template-columns:1fr; } .rio-infoboxes:not(.rio-article-box) .rio-infobox-image { max-width:132px; } .rio-article-box { --rio-infobox-image-width:88px; } .rio-article-box .rio-infobox-description { display:none; } .rio-article-box .rio-infobox-links { margin-top:12px; } .rio-content-infobox dl.rio-infobox-facts { gap:12px 16px; } }
@media(max-width:379px) { .rio-article-box .rio-content-infobox.has-image { grid-template-columns:minmax(0,1fr); } .rio-article-box .rio-infobox-image { width:var(--rio-infobox-image-width,80px); max-width:100%; } .rio-content-infobox dl.rio-infobox-facts { grid-template-columns:1fr; } .rio-content-infobox .rio-infobox-links .rio-button { width:100%; } }
