.vip-unified .travel-calendar-cta{display:block;color:#f00666;font-size:14px;font-weight:700;line-height:1.5;margin-top:18px}
.vip-unified .travel-calendar[hidden]{display:none!important}
.vip-unified .travel-calendar{max-width:760px;margin:30px auto 54px;padding:30px;border:1px solid #286071;border-radius:18px;background:#061e2a;scroll-margin-top:120px}
.travel-calendar-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.vip-unified .travel-calendar-eyebrow{color:#20d8d3;letter-spacing:.12em;font-size:12px;margin:0 0 9px}
.vip-unified .travel-calendar h2{color:#20d8d3;font-size:26px;line-height:1.2;margin:0}
.vip-unified .calendar-intro{font-size:15px;line-height:1.6;color:#d8e6ea;margin:16px 0 24px}
.travel-calendar button{font:inherit;cursor:pointer}
.calendar-close{border:0;background:transparent;color:#d8e6ea;font-size:30px!important;line-height:1;min-width:44px;min-height:44px}
.calendar-month-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px}
.vip-unified .calendar-month-nav h3{margin:0;text-align:center;color:#f0f5f7;font-size:21px;text-transform:capitalize}
.calendar-month-nav button{height:44px;width:44px;background:#0b2c3a;border:1px solid #286071;border-radius:9px;color:#20d8d3;font-size:28px}
.vip-unified .calendar-status{color:#c0d5dd;font-size:14px;line-height:1.5;min-height:42px;margin:18px 0 10px}
.travel-calendar table{width:100%;border-collapse:separate;border-spacing:5px;table-layout:fixed}
.travel-calendar th{color:#a5c5d0;font-size:13px;padding:10px 0;font-weight:500}
.travel-calendar abbr{text-decoration:none}
.travel-calendar td{text-align:center;border:1px solid #173e4e;border-radius:8px;color:#e2eff3;height:48px;font-size:15px;background:#092531}
.travel-calendar td.calendar-empty{background:transparent;border-color:transparent}
.travel-calendar time{display:block;padding:12px 0}
.travel-calendar td.calendar-current{border-color:#20d8d3;box-shadow:inset 0 0 0 1px #20d8d3}
.travel-calendar td.calendar-open{background:#f00666;border-color:#f00666;color:white;font-weight:700}
.calendar-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-top:17px}
.calendar-legend{color:#c0d5dd;font-size:12px;display:flex;align-items:center;gap:8px}
.calendar-legend i{width:10px;height:10px;border-radius:3px;background:#f00666}
.calendar-bottom button{border:1px solid #286071;border-radius:6px;padding:9px 13px;color:#20d8d3;background:transparent;font-size:13px;min-height:44px}
.calendar-enquiry{display:inline-block;color:#f00666;font-size:14px;font-weight:700;margin-top:24px;text-decoration:none}
.travel-calendar button:hover,.calendar-enquiry:hover{color:#f00666;border-color:#f00666}
.travel-calendar button:focus-visible,.calendar-enquiry:focus-visible{outline:2px solid #f00666;outline-offset:4px}
@media(max-width:640px){.vip-unified .travel-calendar{padding:20px 12px;margin:22px 0 36px;border-radius:12px}.vip-unified .travel-calendar h2{font-size:22px}.travel-calendar-top{padding-inline:6px;gap:7px}.vip-unified .calendar-intro,.vip-unified .calendar-status{padding-inline:6px}.vip-unified .calendar-month-nav h3{font-size:18px}.travel-calendar table{border-spacing:3px}.travel-calendar td{height:39px;font-size:14px}.travel-calendar time{padding:9px 0}.calendar-bottom,.calendar-enquiry{margin-inline:6px}.calendar-legend{font-size:11px}}
