.dr-schedule{max-width:1200px;margin:60px auto;padding:0 20px;--dr-brand-blue:var(--brand-blue,#1d4793)}
.dr-schedule__filters{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}
.dr-schedule__filter{padding:8px 16px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;border-radius:6px;transition:.2s ease}
.dr-schedule__filter.is-active{background:var(--dr-brand-blue);color:#fff;border-color:var(--dr-brand-blue)}
.dr-schedule__carousel{position:relative}
.dr-schedule__feed{display:grid;grid-template-columns:repeat(var(--dr-schedule-days,1),minmax(210px,1fr));gap:20px;align-items:start;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px;cursor:grab;-webkit-overflow-scrolling:touch}
.dr-schedule__feed::-webkit-scrollbar{display:none;width:0;height:0}
.dr-schedule__feed.is-dragging{scroll-behavior:auto;scroll-snap-type:none;cursor:grabbing;user-select:none}
.dr-schedule__day{transition:.2s ease}.dr-schedule__day.is-past{opacity:.4}
.dr-schedule__day{min-width:0;scroll-snap-align:start}
.dr-schedule__day-title{font-weight:700;color:var(--dr-brand-blue);margin-bottom:12px}
.dr-schedule__card{padding:20px;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:10px;background:#fff;transition:.2s ease}
.dr-schedule__card:hover{border-color:rgba(29,71,147,.3);transform:translateY(-2px)}
.dr-schedule__card strong{display:block}.dr-schedule__time{font-size:15px;opacity:.75;margin-top:4px}
.dr-schedule__description{margin-top:4px;font-size:13px;opacity:.75;line-height:1.4}
.dr-schedule__location,.dr-schedule__links{margin-top:6px}
.dr-schedule__location-link,.dr-schedule__more-info{display:inline-flex;align-items:center;gap:6px;font-size:13px;text-decoration:none!important;color:var(--dr-brand-blue);font-weight:500;transition:.2s ease}
.dr-schedule__location-link:hover,.dr-schedule__more-info:hover{opacity:.8}
.dr-schedule__icon{font-size:13px;line-height:1;opacity:.7}
.dr-schedule__empty,.dr-schedule__error{text-align:center;padding:40px 20px;opacity:.65;font-size:15px;grid-column:1/-1}
.dr-schedule__week-nav{display:flex;justify-content:space-between;width:100%;margin-bottom:20px;font-size:14px}
.dr-schedule .dr-schedule__week{display:inline;padding:0;border:0;background:none;box-shadow:none;color:#6b7280;font:inherit;line-height:1.4;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.dr-schedule .dr-schedule__week:hover,.dr-schedule .dr-schedule__week:focus{padding:0;border:0;background:none;box-shadow:none;color:var(--dr-brand-blue);text-decoration:underline}
.dr-schedule__week[hidden]{visibility:hidden!important;display:inline!important}
.dr-schedule__loading{text-align:center;padding:40px 20px;color:#6b7280}.dr-schedule__loading[hidden]{display:none}
.dr-schedule__loading-text{margin-top:10px;font-size:14px}
.dr-schedule__spinner{width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:#1d4793;border-radius:50%;margin:0 auto;animation:drScheduleSpin .8s linear infinite}
.dr-schedule__dots{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:22px}
.dr-schedule__dots[hidden]{display:none}
.dr-schedule .dr-schedule__dot{display:block;width:9px;height:9px;min-width:9px;min-height:9px;margin:0;padding:0;border:0;border-radius:50%;background:#cbd1da;box-shadow:none;cursor:pointer;transition:transform .2s ease,background-color .2s ease}
.dr-schedule .dr-schedule__dot:hover,.dr-schedule .dr-schedule__dot:focus{width:9px;height:9px;margin:0;padding:0;border:0;background:#8d98a8;box-shadow:none;transform:scale(1.15)}
.dr-schedule .dr-schedule__dot.is-active{background:var(--dr-brand-blue);transform:scale(1.25)}
.dr-schedule .dr-schedule__arrow{position:absolute;z-index:3;top:50%;display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;min-height:34px;margin:0;padding:0 0 3px;border:1px solid #d9dee7;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 2px 8px rgba(22,35,56,.12);color:var(--dr-brand-blue);font:400 28px/1 Arial,sans-serif;cursor:pointer;transform:translateY(-50%)}
.dr-schedule .dr-schedule__arrow:hover,.dr-schedule .dr-schedule__arrow:focus{width:34px;height:34px;margin:0;padding:0 0 3px;border:1px solid #c8d0dc;background:#fff;box-shadow:0 3px 10px rgba(22,35,56,.18);color:var(--dr-brand-blue);transform:translateY(-50%)}
.dr-schedule__arrow--prev{left:8px}.dr-schedule__arrow--next{right:8px}
.dr-schedule .dr-schedule__arrow[hidden]{display:none!important}
@keyframes drScheduleSpin{to{transform:rotate(360deg)}}
@media (max-width:600px){.dr-schedule__feed{grid-template-columns:repeat(var(--dr-schedule-days,1),minmax(82vw,1fr))}.dr-schedule{margin-top:-40px}}
@media (prefers-reduced-motion:reduce){.dr-schedule__spinner{animation-duration:1.8s}.dr-schedule__card{transition:none}}
