.trip-date-card.is-coming-soon { opacity: 1; filter: none; }
.trip-date-card { display: flex; flex-direction: column; }
.trip-date-card .trip-date-body { display: flex; flex-direction: column; flex: 1; }
.trip-date-card .trip-date-meta { flex-wrap: wrap; }
.trip-date-card .trip-price { max-width: 100%; }
.trip-date-card.is-coming-soon .trip-date-meta { flex-direction: column; gap: 12px; }
.trip-date-card.is-coming-soon .trip-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 12px; text-align: left; white-space: normal; }
.trip-date-card.is-coming-soon .trip-date-period { margin: 0; }
.trip-planning-notice { align-self: stretch; margin: 0; padding: 12px 14px; border-radius: 12px; border: 1px solid rgba(0,73,230,.18); background: rgba(0,73,230,.06); color: #0049e6; font: 850 17px/1.4 "Manrope",sans-serif; }
.trip-date-card .trip-date-copy { margin-bottom: 18px; }
.trip-date-card .trip-date-actions { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; margin-top: auto; padding-top: 10px; }
.trip-date-card .trip-date-actions .trip-button { width: 100%; min-height: 50px; padding: 12px 18px; font-size: 14px; line-height: 1.3; text-align: center; }
.trip-opening-badge { position: absolute; z-index: 8; top: 16px; right: 16px; max-width: calc(100% - 32px); padding: 8px 12px; border-radius: 999px; background: #e8ff00; color: #202449; font: 800 11px/1.4 "Manrope",sans-serif; letter-spacing: .04em; }
.trip-dates--four .trip-date-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.trip-modal { z-index: 2147483500; }
.trip-modal-panel--lead { max-height: calc(100svh - 32px); overflow: auto; overscroll-behavior: contain; background: #fff; border-radius: 24px; }
.trip-modal-panel--lead .trip-modal-close { position: sticky; top: 10px; right: 10px; float: right; margin: 10px 10px -54px 0; }
.trip-offer-intro { padding: 26px 64px 8px 26px; color: #202449; }
.trip-offer-intro h2 { margin: 0 0 6px; font: 800 19px/1.4 "Manrope",sans-serif; }
.trip-offer-intro p { margin: 0; color: #676d8d; font: 500 13px/1.55 "Manrope",sans-serif; }
.trip-modal-panel--lead [data-waitlist-app].waitlist-card { width: 100%!important; max-width: 100%!important; margin: 0!important; padding: 22px!important; border: 0!important; border-radius: 0!important; box-shadow: none!important; }
.trip-modal-panel--lead [data-waitlist-app] .waitlist-nav { margin-top: 22px!important; }
.trip-modal-panel--lead [data-waitlist-app] .waitlist-title { padding-right: 12px!important; }
body.is-modal-open .floating-dock, body.is-modal-open .claude-floating-dock { visibility: hidden!important; pointer-events: none!important; }
.home-upcoming-button { appearance: none; width: 100%; min-height: 48px; padding: 10px 18px; border: 0; border-radius: 999px; background: #0049e6; color: #fff; font: 700 15px/1.4 "Manrope",sans-serif; cursor: pointer; }
.home-upcoming-button:focus-visible { outline: 3px solid #202449; outline-offset: 3px; }
@media(max-width:900px) { .trip-dates--four .trip-date-grid { grid-template-columns: minmax(0,1fr); } }
@media(max-width:600px) { .trip-opening-badge { top: 12px; right: 12px; font-size: 10px; } .trip-offer-intro { padding: 22px 62px 8px 18px; } .trip-offer-intro h2 { font-size: 17px; } .trip-modal-panel--lead { max-height: calc(100svh - 20px); } .trip-modal-panel--lead [data-waitlist-app].waitlist-card { padding: 18px!important; } }
