.page-flights{background:#fcfbf7;color:#17253b}
.page-flights .travel-page-banner{margin-bottom:0;padding-block:64px 72px;background-image:linear-gradient(90deg,#f6f2e9 12%,#f6f2e9e0 40%,#f6f2e920 100%),url('carnival-2027.png');background-position:center,center;background-size:cover;background-repeat:no-repeat}
.page-flights .travel-page-banner h1{font-size:clamp(44px,5.5vw,76px);line-height:1.04;letter-spacing:-2.5px}
.page-flights .travel-banner-intro{font-size:15px;line-height:1.8;max-width:470px}
.flights-hero-cta{margin-top:25px;gap:35px;border-radius:8px}
.flight-jumps{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e4ddcf;border-radius:14px;background:#fff;box-shadow:0 12px 32px #18263a08;margin-top:-20px;position:relative;overflow:hidden}
.flight-jumps a{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:25px 26px;font-size:12px;font-weight:700;border-right:1px solid #e8e2d8;transition:background .2s}
.flight-jumps a:last-child{border:0}.flight-jumps a:hover{background:#f7f2e8}.flight-jumps a>span{color:#927746;font-size:11px}
.page-flights .carnival-booking{padding-block:64px 54px;scroll-margin-top:100px}
.page-flights .booking-heading{margin-bottom:30px}.page-flights .booking-heading h2{font-size:clamp(30px,3.2vw,44px)}
.page-flights .booking-layout{gap:32px;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);padding:28px;background:#f1eee7;border:1px solid #e6dfd3;border-radius:24px}
.page-flights .route-options button{background:#fff;border-color:#ded8cb;padding:18px;transition:background .2s,box-shadow .2s}
.page-flights .route-options button[aria-pressed=true]{background:#172b46;border-color:#172b46;box-shadow:0 6px 18px #172b4620}
.page-flights .route-options small{font-size:11px}.page-flights .departure-calendar{border-color:#e8e3d9;box-shadow:0 4px 16px #17253b04}
.page-flights .calendar-days button{min-height:40px;aspect-ratio:1.45}
.page-flights .boarding-pass{background:#fff;border:0;border-top:4px solid #b39762;box-shadow:0 8px 26px #17253b09;margin-bottom:0;padding:28px}
.page-flights .pass-top{color:#8a6e3d}.page-flights .pass-route{padding-top:30px}.page-flights .pass-route strong{font-size:48px}
.page-flights .pass-details{margin-top:24px;padding-block:24px}.page-flights .pass-fare{padding-block:26px}
.page-flights .book-now{min-height:50px;align-items:center}.page-flights .booking-availability{margin:16px 28px 0}
.page-flights .weekly-section{border-top:1px solid #e0d8c9;padding-top:48px;padding-bottom:32px}
.page-flights .weekly-heading h2{font-family:Arial,sans-serif;font-size:clamp(28px,3vw,38px);letter-spacing:-1px;margin:0 0 24px}
.page-flights .weekly-heading>p{line-height:1.8}.page-flights .weekly-table-wrap{border-radius:16px;background:#fff;border-color:#e4ddcf}
.page-flights .weekly-table thead{background:#172b46;color:#e9dcc1}.page-flights .weekly-table th,.page-flights .weekly-table td{padding:18px 24px}
.page-flights .weekly-table tbody tr{transition:background .2s}.page-flights .weekly-table tbody tr:hover{background:#f2eee4}
.page-flights .weekly-table td>a{border:1px solid #dfd4be;border-radius:7px;padding:10px 16px;background:#fff;color:#70582e;white-space:nowrap}
.page-flights .weekly-table td>a:hover{background:#172b46;color:#fff;border-color:#172b46;text-decoration:none}
.page-flights .flight-section{padding-bottom:64px}.page-flights .flight-package-card{margin-top:0;background:#172b46;color:#fff;border:0;padding:36px;gap:40px}
.page-flights .flight-package-copy .eyebrow,.page-flights .flight-package-art span{color:#dbc493}.page-flights .flight-package-payment{color:#d0d8e2;line-height:1.8}
.page-flights .flight-package-copy h2{font-family:Arial,sans-serif;font-weight:800}.page-flights .flight-package-copy li{font-size:14px}.page-flights #weekly-title,.page-flights #flight-package-title{scroll-margin-top:115px}
.page-flights a:focus-visible{outline:3px solid #b39762;outline-offset:5px}
@media(max-width:1000px){.page-flights .booking-layout{gap:20px;padding:20px;grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}.page-flights .boarding-pass{padding:22px}.page-flights .route-options button{padding:12px 10px}.flight-jumps a{padding:22px 16px;gap:10px}.page-flights .pass-route strong{font-size:38px}}
@media(max-width:720px){.page-flights .travel-page-banner{padding-block:42px 48px}.page-flights .travel-page-banner h1{letter-spacing:-1.7px}.flight-jumps{grid-template-columns:1fr;margin-top:-15px}.flight-jumps a{padding:16px 20px;border-right:0;border-bottom:1px solid #e8e2d8;justify-content:initial}.flight-jumps a>span:last-child{margin-left:auto}.page-flights .carnival-booking{padding-block:38px}.page-flights .booking-layout{grid-template-columns:1fr;padding:14px;gap:20px;border-radius:18px}.page-flights .booking-heading>p{max-width:none}.page-flights .route-options small{font-size:10px}.page-flights .calendar-days button{min-height:34px;aspect-ratio:1}.page-flights .departure-calendar{padding:16px 12px}.page-flights .calendar-top{gap:10px}.page-flights .calendar-top h3{font-size:16px}.page-flights .booking-availability{margin-inline:14px}.page-flights .weekly-section{padding-top:32px}.page-flights .weekly-table th,.page-flights .weekly-table td{padding:14px 10px;font-size:12px}.page-flights .weekly-table td:nth-child(2){min-width:0;white-space:normal}.page-flights .weekly-table td>a{padding:9px 10px;font-size:11px;gap:6px}.page-flights .flight-package-card{padding:22px;gap:24px}.page-flights .flight-section{padding-bottom:40px}.page-flights .pass-route strong{font-size:44px}}
