/* Shared column geometry, uncropped covers and on-demand players. */
.rr-rider-card,.rr-rider-card:has(.rr-instagram) { grid-template-columns:minmax(0,320px) minmax(0,1fr); align-items:start; gap:48px; padding:28px 0; }
.rr-rider-card .rr-rider-copy { min-width:0; max-width:none; }
.rr-rider-card .rr-rider-copy h2 { font-size:27px; margin:9px 0 10px; }
.rr-rider-card .rr-rider-copy h3 { font-size:17px; margin-bottom:12px; }
.rr-rider-card .rr-rider-copy>p { margin:14px 0 10px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.rp-cover { position:relative; display:block; width:100%; aspect-ratio:4/3; margin:0; padding:0; overflow:hidden; background:#f0f1f2; border:1px solid #e0e2e3; border-radius:4px; color:#171717; cursor:pointer; text-decoration:none; }
.rp-cover img { display:block; width:100%; height:100%; object-fit:contain; }
.rp-cover.has-image { background:#161616; border-color:#161616; }
.rp-cover .rp-provider { position:absolute; left:12px; top:12px; z-index:1; background:#fff; color:#303234; border:1px solid #e0e2e3; padding:5px 8px; font-size:10px; font-weight:700; line-height:1.4; }
.rp-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:48px; height:48px; display:grid; place-items:center; color:#fff; background:#222; border:1px solid #fff; border-radius:50%; }
.rp-play .ui-icon { width:21px; height:21px; margin-left:2px; }
.rp-cover .rp-fallback { display:flex; flex-direction:column; justify-content:flex-end; height:100%; padding:20px; }
.rp-fallback strong { font-size:17px; font-weight:800; line-height:1.4; overflow-wrap:anywhere; text-align:left; }
.rp-cover:focus-visible { outline:3px solid #f91c06; outline-offset:4px; }
@media (hover:hover) and (pointer:fine) { .rp-cover:hover .rp-play { background:#d9180a; } }
@media (prefers-reduced-motion:no-preference) { .rp-play { transition:background-color 160ms ease; } }
.rp-dialog { padding:0; border:0; border-radius:6px; width:min(880px,calc(100% - 40px)); max-width:calc(100% - 40px); max-height:calc(100dvh - 40px); color:#171717; background:#fff; overscroll-behavior:contain; }
.rp-dialog[open] { display:flex; flex-direction:column; }
.rp-dialog::backdrop { background:rgba(0,0,0,.78); }
.rp-dialog[data-orientation=portrait] { width:min(460px,calc(100% - 40px)); }
.rp-dialog-header { display:flex; align-items:center; gap:16px; padding:14px 16px 14px 20px; border-bottom:1px solid #e0e2e3; flex:none; }
.rp-dialog-heading { min-width:0; flex:1; }
.rp-dialog-heading p { margin:0 0 3px; font-size:11px; color:#626665; }
.rp-dialog h2 { margin:0; font-size:17px; line-height:1.4; overflow-wrap:anywhere; }
.rp-dialog-close { flex:none; display:grid; place-items:center; width:44px; height:44px; border:1px solid #d7d7dc; border-radius:4px; background:#fff; color:#171717; cursor:pointer; }
.rp-dialog-close .ui-icon { width:22px; height:22px; }
.rp-dialog-scroll { overflow-y:auto; overscroll-behavior:contain; overflow-anchor:none; min-height:0; }
.rp-dialog-stage { padding:18px 20px; }
.rp-dialog-stage .rr-video,.rp-dialog-stage .rr-video-native { margin-inline:auto; max-width:100%; border-radius:2px; }
.rp-dialog-stage .is-portrait { width:min(100%,calc((100dvh - 210px) * 9 / 16)); min-width:0; }
.rp-dialog-stage .rr-instagram { max-width:100%; }
.rp-dialog-footer { display:flex; flex-wrap:wrap; gap:8px 22px; border-top:1px solid #e0e2e3; padding:6px 20px; }
.rp-dialog :is(button,a):focus-visible { outline:2px solid #171717; outline-offset:3px; }
@media (max-width:900px) {
  .rr-rider-card,.rr-rider-card:has(.rr-instagram) { grid-template-columns:minmax(0,280px) minmax(0,1fr); gap:30px; }
}
@media (max-width:640px) {
  .rr-rider-card,.rr-rider-card:has(.rr-instagram) { grid-template-columns:minmax(0,1fr); gap:20px; padding:24px 0; }
  .rp-cover { width:min(100%,347px); justify-self:center; }
  .rr-rider-card .rr-rider-copy h2 { font-size:24px; }
  .rr-rider-card .rr-rider-copy h3 { font-size:16px; }
  .rp-dialog,.rp-dialog[data-orientation=portrait] { width:calc(100% - 16px); max-width:calc(100% - 16px); max-height:calc(100dvh - 16px); }
  .rp-dialog-header { gap:8px; padding:10px 10px 10px 14px; }
  .rp-dialog h2 { font-size:15px; }
  .rp-dialog-stage { padding:12px; }
  .rp-dialog-footer { padding-inline:14px; }
}
@media (forced-colors:active) { .rp-cover,.rp-dialog,.rp-play { border:1px solid ButtonText; } }
