/* BUILD 45 | Swipeable Upcoming Events strip.
   Keep the existing compact dark cards. Native horizontal scrolling and CSS
   scroll snap work on iPhone Safari without a drag library. */

.rbh-page .rbh-upcoming-carousel{
 box-sizing:border-box;
 width:min(1140px,calc(100% - 30px));
 max-width:1140px;
 margin:10px auto 14px;
 min-width:0;
}
.rbh-page .rbh-upcoming-track{
 display:flex;
 flex-wrap:nowrap;
 gap:0;
 width:100%;
 overflow-x:auto;
 overflow-y:hidden;
 overscroll-behavior-x:contain;
 -webkit-overflow-scrolling:touch;
 scroll-snap-type:x mandatory;
 scroll-behavior:smooth;
 scrollbar-width:none;
 border-radius:16px;
 outline-offset:3px;
}
.rbh-page .rbh-upcoming-track::-webkit-scrollbar{display:none}
.rbh-page .rbh-upcoming-carousel .rbh-next-event{
 width:100%!important;
 min-width:0;
 max-width:none!important;
 flex:0 0 100%;
 margin:0!important;
 scroll-snap-align:start;
 scroll-snap-stop:always;
 box-sizing:border-box;
 display:flex;
 touch-action:pan-y pan-x;
}
.rbh-page .rbh-upcoming-carousel .rbh-next-event-details{
 min-width:0;
 overflow-wrap:anywhere;
}
.rbh-page .rbh-upcoming-dots{
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 align-items:center;
 gap:3px;
 margin:2px auto 0;
 min-height:23px;
}
.rbh-page .rbh-upcoming-dot{
 display:grid;
 place-items:center;
 appearance:none;
 -webkit-appearance:none;
 padding:0;
 margin:0;
 width:31px;
 height:28px;
 min-width:31px;
 min-height:28px;
 border:0;
 border-radius:50%;
 background:transparent;
 cursor:pointer;
 touch-action:manipulation;
}
.rbh-page .rbh-upcoming-dot::before{
 content:"";
 display:block;
 width:8px;
 height:8px;
 background:#656568;
 border:1px solid #919195;
 border-radius:50%;
 transition:background .15s ease,transform .15s ease,border-color .15s ease;
}
.rbh-page .rbh-upcoming-dot[aria-current="true"]::before{
 width:10px;
 height:10px;
 background:#ffe500;
 border-color:#ffe500;
 transform:scale(1.05);
}
.rbh-page .rbh-upcoming-dot:hover::before{
 border-color:#ffe500;
}
.rbh-page .rbh-upcoming-dot:focus-visible{
 outline:2px solid #ffe500;
 outline-offset:0;
}
@media(max-width:700px){
 .rbh-page .rbh-upcoming-carousel{
  width:calc(100% - 24px);
  margin:9px auto 12px;
 }
 .rbh-page .rbh-upcoming-track{border-radius:16px}
 .rbh-page .rbh-upcoming-dots{margin-top:3px}
}
@media(prefers-reduced-motion:reduce){
 .rbh-page .rbh-upcoming-track{scroll-behavior:auto}
 .rbh-page .rbh-upcoming-dot::before{transition:none}
}
