.trip-controls { display:flex; align-items:center; justify-content:center; gap:14px; margin:0 0 4px; }
.trip-controls button { border:1px solid #573277; color:#fff; background:linear-gradient(135deg,#122c4c,#47236b); border-radius:999px; min-height:42px; min-width:44px; padding:8px 17px; font:inherit; font-size:.82rem; cursor:pointer; }
.trip-controls button:hover { background:linear-gradient(135deg,#60419a,#ad5f37); }
.trip-controls button:focus-visible { outline:3px solid #e79a4a; outline-offset:4px; }
.trip-viewport { overflow-x:auto; overflow-y:hidden; padding:28px 14px 36px; margin:0 -14px; scrollbar-width:thin; scrollbar-color:#c3b2d7 transparent; overscroll-behavior-x:contain; overflow-anchor:none; }
#vehicle-fleet .trip-track { display:flex; gap:24px; align-items:stretch; width:max-content; }
#vehicle-fleet .trip-card { flex:0 0 auto; width:338px; position:relative; isolation:isolate; cursor:pointer; border:2px solid transparent; background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#dfd9ed,#e7e0d7) border-box; transform-origin:center; transition:transform .25s ease,box-shadow .25s ease; }
.trip-card::after { content:""; position:absolute; inset:0; z-index:5; pointer-events:none; border-radius:inherit; background:linear-gradient(135deg,#10264038,#32234645); opacity:0; transition:opacity .25s ease; }
.trip-track.has-card-focus .trip-card:not(.trip-card-highlight)::after { opacity:1; }
#vehicle-fleet .trip-card.trip-card-highlight { z-index:6; transform:translateY(-3px) scale(1.045); background:linear-gradient(#fff,#fff) padding-box,linear-gradient(125deg,#eea443,#965ad8,#2ea8ae) border-box; box-shadow:0 10px 30px #8d54bb45,0 0 18px #e6a05230; }
.trip-card:focus-visible { outline:3px solid #b36dde; outline-offset:3px; }
#vehicle-fleet .trip-card .stay-card-content > p { display:none; }
#vehicle-fleet .trip-card .stay-card-content { padding:1.15rem; }
#vehicle-fleet .trip-card .stay-features { margin-top:.6rem; }
#vehicle-fleet .trip-card .card-img-wrapper,#vehicle-fleet .trip-card .stay-gallery { height:232px; aspect-ratio:auto; }
@media(max-width:600px) { #vehicle-fleet .trip-card { width:min(300px,calc(100vw - 64px)); } #vehicle-fleet .trip-card .card-img-wrapper,#vehicle-fleet .trip-card .stay-gallery { height:210px; } .trip-controls { gap:10px; } }
@media(prefers-reduced-motion:reduce) { #vehicle-fleet .trip-card,.trip-card::after { transition:none; } #vehicle-fleet .trip-card.trip-card-highlight { transform:none; } }

/* The only marquee on the site: a small mixed preview above the normal tab lists. */
.trip-showcase { margin:0 -14px 2.5rem; overflow:hidden; padding:12px 0 22px; }
.trip-showcase-viewport { overflow:hidden; }
.trip-showcase-track { display:flex; width:max-content; animation:trip-showcase-marquee 42s linear infinite; }
.trip-showcase:hover .trip-showcase-track,.trip-showcase:focus-within .trip-showcase-track { animation-play-state:paused; }
.trip-showcase-set { display:flex; gap:18px; padding-right:18px; }
.trip-showcase-card { position:relative; display:block; flex:0 0 238px; height:172px; overflow:hidden; border:2px solid transparent; border-radius:14px; background:#160336; color:#fff; box-shadow:0 5px 16px #13294720; transform:translateZ(0); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, filter .25s ease; }
.trip-showcase-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.trip-showcase-card span { position:absolute; right:0; bottom:0; left:0; z-index:1; padding:26px 12px 9px; background:linear-gradient(transparent,rgba(22,3,54,.96)); color:#fff; font-size:1rem; font-weight:750; line-height:1.1; }
.trip-showcase:has(.trip-showcase-card:hover) .trip-showcase-card:not(:hover),.trip-showcase:has(.trip-showcase-card:focus-visible) .trip-showcase-card:not(:focus-visible) { filter:brightness(.58); }
.trip-showcase-card:hover,.trip-showcase-card:focus-visible { z-index:2; border-color:#e9a244; transform:translateY(-4px) scale(1.045); box-shadow:0 12px 28px #1b0d3d63,0 0 17px #e6a05255; outline:none; }
.trip-showcase-card:hover img,.trip-showcase-card:focus-visible img { transform:scale(1.06); }
.trip-room-card img { position:absolute; inset:0; opacity:0; animation:trip-room-photo 12s infinite; }
.trip-room-card img:nth-child(1),.trip-room-card .trip-room-name:nth-of-type(1) { animation-delay:0s; }
.trip-room-card img:nth-child(2),.trip-room-card .trip-room-name:nth-of-type(2) { animation-delay:4s; }
.trip-room-card img:nth-child(3),.trip-room-card .trip-room-name:nth-of-type(3) { animation-delay:8s; }
.trip-room-card .trip-room-name { display:block; opacity:0; animation:trip-room-name 12s infinite; }
@keyframes trip-room-photo { 0%,30% { opacity:1; } 33.34%,100% { opacity:0; } }
@keyframes trip-room-name { 0%,30% { opacity:1; } 33.34%,100% { opacity:0; } }
@keyframes trip-showcase-marquee { to { transform:translateX(-50%); } }
@media (max-width:600px) { .trip-showcase { margin-bottom:1.8rem; } .trip-showcase-set { gap:12px; padding-right:12px; } .trip-showcase-card { flex-basis:190px; height:140px; } .trip-showcase-card span { font-size:.88rem; } }
@media (prefers-reduced-motion:reduce) { .trip-showcase-track,.trip-room-card img,.trip-room-card .trip-room-name { animation:none; } .trip-room-card img:first-child,.trip-room-card .trip-room-name:first-of-type { opacity:1; } }
