/* Self-contained advertising unit, using the same theme tokens and typography. */
.rio-ad { box-sizing:border-box; grid-column:1/-1; min-width:0; width:100%; color:var(--rio-ink,#20344b); margin:28px 0; font-family:var(--rio-font,system-ui,sans-serif); }
.rio-archive-grid>.rio-ad { margin:0; }
.rio-ad *, .rio-ad *::before,.rio-ad *::after { box-sizing:border-box; }
.rio-ad-disclosure { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:7px 0; font:500 10px/1.5 var(--rio-font,system-ui,sans-serif); letter-spacing:.06em; color:var(--rio-ink,#20344b); }
.rio-ad-disclosure>span:first-child { text-transform:uppercase; }
.rio-ad-banner-link { display:block; width:100%; background:var(--rio-soft,#f4f6f7); text-decoration:none!important; }
.rio-ad picture { display:block; }
.rio-ad-image { display:block; width:100%; height:auto; max-width:100%; margin:0; }
.rio-ad-text-body { display:flex; align-items:center; gap:28px; justify-content:space-between; padding:26px 28px; background:var(--rio-section-tint,#eef1f3); border:1px solid var(--rio-line,#dce2e7); border-left:3px solid var(--rio-accent,#00fe01); }
.rio-ad-copy { flex:1; min-width:0; }
.rio-ad .rio-ad-copy>h3 { margin:0 0 8px; color:var(--rio-ink,#20344b); font:700 29px/1.12 var(--rio-heading,system-ui,sans-serif); text-transform:uppercase; overflow-wrap:anywhere; }
.rio-ad .rio-ad-copy>p { margin:0; font:400 14px/1.7 var(--rio-font,system-ui,sans-serif); color:var(--rio-ink,#20344b); overflow-wrap:anywhere; }
.rio-ad .rio-ad-cta { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:44px; padding:12px 17px; color:var(--rio-ink,#20344b); background:var(--rio-accent,#00fe01); font:600 12px/1.4 var(--rio-font,system-ui,sans-serif); text-decoration:none!important; max-width:100%; flex-shrink:0; transition:background-color .25s ease; }
.rio-ad-cta .rio-icon { width:19px; height:19px; fill:currentColor; flex-shrink:0; }
.rio-ad .rio-ad-cta:hover { background:var(--rio-paper,#fff); }
@media(max-width:639px) { .rio-ad-text-body { align-items:flex-start; flex-direction:column; padding:20px; gap:18px; }.rio-ad .rio-ad-copy>h3 { font-size:25px; }.rio-ad .rio-ad-copy>p { font-size:13px; } }
@media print { .rio-ad { display:none; } }
