/* Homepage trip slider (round 18, 2026-10-12). */
.mdslider { --gap: 24px; position: relative; margin-top: 8px; }
.mdslider-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * var(--gap)) / 3); gap: var(--gap); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 6px 2px 26px; margin: 0 -2px; outline: none; }
.mdslider-track::-webkit-scrollbar { display: none; }
.mdslider-track:focus-visible { box-shadow: 0 0 0 3px rgba(0, 128, 192, .3); border-radius: 18px; }
.mdslider-item { scroll-snap-align: start; min-width: 0; }
.mdslider-item .tcard { height: 100%; }
.mdslider-ui { display: flex; align-items: center; gap: 18px; margin-top: 6px; }
.mdslider-progress { position: relative; flex: 1 1 auto; height: 3px; border-radius: 3px; background: #dde7ef; overflow: hidden; }
.mdslider-progress span { position: absolute; top: 0; bottom: 0; left: 0; border-radius: inherit; background: #0073ad; transition: left .35s ease, width .35s ease; }
.mdslider-count { flex-shrink: 0; margin: 0 !important; font-size: 13.5px !important; font-weight: 700; color: #4a5d72 !important; font-variant-numeric: tabular-nums; }
.mdslider-count b { color: #0a2540; }
.mdslider-btns { display: flex; gap: 8px; }
.mdslider-btns button { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid #cfdbe6; background: #fff; color: #0a2540; font-size: 15px; cursor: pointer; transition: background .2s, border-color .2s, color .2s, transform .2s; }
.mdslider-btns button:hover:not(:disabled) { background: #0073ad; border-color: #0073ad; color: #fff; transform: translateY(-1px); }
.mdslider-btns button:disabled { opacity: .35; cursor: default; }
.mdslider-btns button:focus-visible { outline: 3px solid rgba(0, 128, 192, .35); outline-offset: 2px; }
@media (max-width: 991.98px) { .mdslider-track { grid-auto-columns: calc((100% - var(--gap)) / 2); } }
@media (max-width: 575.98px) {
    .mdslider { --gap: 14px; }
    .mdslider-track { grid-auto-columns: 86%; margin: 0 -16px; padding: 6px 16px 22px; scroll-padding: 0 16px; }
    .mdslider-btns button { width: 42px; height: 42px; }
    .mdslider .tcard-spark { display: none !important; }
    .mdslider .tcard-rail { gap: 22px !important; }
}
@media (prefers-reduced-motion: reduce) { .mdslider-track { scroll-behavior: auto; } }
.mdslider .ux-reveal, .mdslider .ux-reveal.is-out { opacity: 1 !important; transform: none !important; }

/* round 20 (PageSpeed): scroll-padding must match the track padding, otherwise Chrome snaps the track 2px on load;
   that counts as a scroll and stops Largest Contentful Paint being recorded at all (desktop PageSpeed showed NO_LCP). */
.mdslider-track { scroll-padding-inline: 2px; }
@media (max-width: 575.98px) { .mdslider-track { scroll-padding-inline: 16px; } }
