.destination-page { color:var(--ink); font-size:16px; line-height:1.65; }
.destination-local-areas,.destination-review-grid,.destination-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:32px; }
.destination-local-areas article { border-top:2px solid var(--gold); padding:26px 0 0; }
.destination-page .destination-local-areas h3 { margin-top:16px; font-size:22px; line-height:1.4; }
.destination-page .destination-return-title { margin:32px 0 14px; font-size:23px; }
.destination-all-hotels { display:inline-flex; margin-top:26px; }
.destination-review-grid figure { margin:0; padding:28px; background:#f5f8fb; border:1px solid var(--line); border-radius:10px; }
.destination-review-grid blockquote { margin:0 0 22px; font-size:19px; line-height:1.55; }
.destination-review-grid figcaption { display:grid; gap:5px; font-size:14px; }
.destination-review-grid figcaption span { color:var(--muted); }
.destination-related-grid a { border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.destination-related-grid img { display:block; width:100%; height:210px; object-fit:cover; }
.destination-related-grid strong { display:block; padding:20px; font-size:19px; }
.destination-simple-rates th:first-child { width:42%; }
.destination-simple-rates .destination-recommended { display:block; margin:9px 0 0; }
.destination-simple-rates td { width:29%; }
.destination-simple-rates .destination-rate-link { padding:20px 16px; }
.destination-alternatives article>img { margin-bottom:18px; }
[data-destination-reviews] .destination-reputation { margin-top:28px; }
@media(max-width:760px) {
 .destination-local-areas,.destination-review-grid,.destination-related-grid { grid-template-columns:1fr; gap:22px; }
 .destination-related-grid img { height:200px; }
 .destination-simple-rates { min-width:590px; }
 .destination-review-grid blockquote { font-size:18px; }
}
.destination-capacity { display:flex!important; align-items:center; gap:7px; }
.destination-capacity img { flex:0 0 20px; width:20px; height:20px; }
.zone-fleet-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:30px; }
.zone-fleet-card { border:1px solid var(--line); border-top:3px solid #d8e0e9; padding:24px 18px; border-radius:10px; display:flex; flex-direction:column; overflow:hidden; }
.zone-fleet-featured { border-top-color:var(--gold); }
.destination-page .zone-fleet-card h3 { min-height:52px; font-size:20px; }
.zone-fleet-card>img { width:100%; height:160px; object-fit:contain; mix-blend-mode:multiply; }
.zone-fleet-card .destination-vehicle-luxury { transform:scaleX(-1); }
.zone-fleet-card .destination-vehicle-private,.zone-fleet-card .destination-vehicle-group { transform:scale(1.3); }
.zone-fleet-card .destination-vehicle-taxi { transform:scale(1.45); }
.zone-capacity-pair { display:flex; flex-wrap:wrap; gap:10px 16px; padding:18px 0 24px; font-size:14px; }
.zone-fleet-card .button { margin-top:auto; }
.zone-hotel-callout { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.zone-hotel-callout>div { max-width:680px; }
.zone-hotel-callout .button { flex-shrink:0; }
.destination-research-sources { margin-top:32px; padding-top:20px; border-top:1px solid var(--line); font-size:14px; }
.destination-research-sources summary { cursor:pointer; font-weight:700; }
.destination-research-sources a { text-decoration:underline; }
.destination-faq+.button { margin-top:28px; }
#hotels>[data-all-hotels] { margin-bottom:28px; }
.hotel-directory-filter { display:grid; grid-template-columns:1fr 1.4fr auto; gap:18px; align-items:end; margin:30px 0 20px; padding:24px; border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:10px; }
.hotel-directory-filter label { display:grid; gap:8px; font-size:15px; font-weight:700; }
.hotel-directory-filter input,.hotel-directory-filter select { width:100%; min-height:52px; padding:12px; border:1px solid #aab9ca; border-radius:7px; font:inherit; background:white; }
.hotel-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:26px; }
.hotel-directory-grid article { display:flex; gap:14px; border:1px solid var(--line); padding:23px; border-radius:9px; }
.hotel-directory-grid article>img { flex:0 0 26px; align-self:flex-start; margin-top:3px; }
.destination-page .hotel-directory-grid h2 { font-size:18px; line-height:1.4; letter-spacing:0; overflow-wrap:anywhere; }
.hotel-directory-grid p { font-size:14px; margin:8px 0; }
.hotel-directory-grid a { display:block; font-size:14px; margin-top:12px; }
.hotel-details-link { text-decoration:underline; color:var(--muted); }
.hotel-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:25px; margin-top:38px; }
@media(max-width:1000px) { .zone-fleet-grid,.hotel-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) {
    .hotel-directory-filter,.hotel-directory-grid { grid-template-columns:1fr; }
    .hotel-directory-filter { padding:18px; }
    .zone-hotel-callout { display:block; }
    .zone-hotel-callout .button { margin-top:20px; }
    .zone-fleet-card { padding:20px 12px; }
    .zone-fleet-grid { gap:12px; }
    .destination-page .zone-fleet-card h3 { font-size:17px; min-height:65px; }
    .zone-fleet-card>img { height:105px; }
    .zone-fleet-card .button { padding:12px 8px; font-size:14px; gap:6px; }
}
@media(max-width:360px) { .zone-fleet-grid { grid-template-columns:1fr; } .zone-fleet-card h3 { min-height:0; } .zone-fleet-card>img { height:160px; } }
.destination-page [hidden] { display:none!important; }
.destination-page p { color:var(--muted); }
.destination-page h1,.destination-page h2,.destination-page h3 { color:var(--navy); letter-spacing:-.035em; line-height:1.22; }
.destination-page h1 { font-size:clamp(34px,3.2vw,47px); margin:14px 0 20px; }
.destination-page h2 { font-size:clamp(27px,2.5vw,34px); margin:0; }
.destination-page h3 { font-size:21px; margin:0 0 12px; }
.destination-page figure { margin:0; }
.destination-page a { text-underline-offset:4px; }
.destination-page .button { font-size:16px; padding:15px 23px; min-height:50px; gap:14px; }
.destination-page .button-primary { background:var(--navy); color:white; border:1px solid var(--navy); }
.destination-page .button-primary:hover { background:var(--navy-deep); color:white; }
.destination-hero-route h1 { font-size:clamp(32px,2.8vw,40px); margin:10px 0 16px; }
.destination-hero-route .destination-lead { font-size:17px; line-height:1.55; margin-bottom:16px; }
.destination-breadcrumb { display:flex; gap:12px; align-items:center; flex-wrap:wrap; padding:25px 0; font-size:14px; }
.destination-breadcrumb a { text-decoration:underline; }
.destination-breadcrumb span { color:var(--muted); }
.destination-hero { position:relative; isolation:isolate; width:100%; background:#f4f9f8; }
.destination-hero-inner { position:relative; z-index:2; padding:32px 0 40px; }
.destination-hero-copy { width:min(544px,46%); }
.destination-hero-index .destination-hero-inner { min-height:550px; display:flex; align-items:center; padding-block:60px; }
.destination-hero-copy h1,.destination-hero-copy .destination-lead { text-shadow:0 1px 0 rgba(255,255,255,.6); }
.destination-eyebrow { font-size:13px; letter-spacing:.16em; color:var(--navy)!important; font-weight:800; margin:0; }
.destination-lead { font-size:18px; line-height:1.65; margin:0 0 24px; max-width:53ch; }
.destination-hero-photo { position:absolute; inset:0; z-index:0; overflow:hidden; }
.destination-hero-photo>img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:center; }
.destination-hero-photo figcaption { position:absolute; right:max(24px,calc((100% - 1240px)/2)); bottom:24px; padding:0; color:var(--navy); text-shadow:0 1px 3px rgba(255,255,255,.9); text-align:right; }
.destination-hero-photo figcaption span { display:block; font-size:23px; font-weight:700; }
.destination-hero-photo figcaption small { display:block; font-size:13px; margin-top:6px; }
.destination-hero-index .destination-text-link { display:block; margin-top:20px; }
.destination-from { display:flex; flex-wrap:wrap; gap:6px 12px; align-items:baseline; margin:0 0 23px; font-size:15px; }
.destination-from strong { font-size:27px; color:var(--navy); }
.destination-from small { font-size:14px; }
.destination-from>span { flex-basis:100%; font-size:14px; }
.destination-hero .quote-card { width:100%; max-width:none; margin:0; }
/* Let desktop introductions span the panorama without widening the bookingbox. */
@media(min-width:1051px) {
 .destination-hero-route .destination-hero-copy { width:100%; }
 .destination-hero-route h1 { max-width:none; }
 .destination-hero-route .destination-lead { max-width:none; font-size:16px; }
 .destination-hero-route .quote-card { width:min(544px,46%); }
}
.destination-section { padding-top:64px; padding-bottom:24px; scroll-margin-top:95px; }
.destination-heading { display:flex; align-items:center; gap:24px; margin:0 0 20px; }
.destination-heading::after { content:''; flex:1; border-top:2px solid var(--gold); min-width:32px; }
.destination-intro { max-width:84ch; margin:0 0 30px; font-size:17px; }
.destination-text-link { font-weight:750; color:var(--navy); text-decoration:underline; }
.destination-search-bar { background:var(--blue-pale); padding:24px; border-radius:12px; margin:28px 0; display:grid; grid-template-columns:1fr auto; gap:10px 24px; align-items:center; }
.destination-search-bar>label { grid-column:1/-1; font-weight:700; }
.destination-search-control { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid #9eafbf; border-radius:7px; padding:0 15px; min-height:52px; }
.destination-search-control input { width:100%; min-width:0; font:inherit; padding:12px 0; border:0; outline:none; background:transparent; }
.destination-search-control:focus-within { outline:3px solid var(--gold); outline-offset:2px; }
.destination-search-control button { border:0; background:none; text-decoration:underline; font:inherit; white-space:nowrap; padding:8px 0; cursor:pointer; }
.destination-search-bar>p { margin:0; font-size:14px; }
.destination-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.destination-tile { border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fff; }
.destination-tile-image { display:block; overflow:hidden; }
.destination-tile-image img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.destination-tile>div { padding:24px; }
.destination-tile h3 { font-size:24px; }
.destination-tile p { min-height:5em; margin:0 0 18px; }
.destination-tile a:hover { color:var(--gold-dark); }
.destination-area-heading { margin:45px 0 20px; }
.destination-area-heading p { margin:0; }
.destination-area-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.destination-area-grid>a { display:flex; gap:17px; align-items:center; padding:24px; border-bottom:1px solid var(--line); border-right:1px solid var(--line); }
.destination-area-grid>a>span:nth-child(2) { flex:1; }
.destination-area-grid small { display:block; font-size:14px; color:var(--muted); }
.destination-area-grid a:hover { background:var(--blue-pale); }
.destination-empty { padding:30px; background:var(--blue-pale); border-left:3px solid var(--gold); }
.destination-ferry { margin-top:42px; padding:34px; display:flex; gap:28px; background:var(--blue-pale); border-left:4px solid var(--gold); }
.destination-ferry h2 { font-size:27px; }
.destination-outline-mark { font-size:50px; color:var(--navy); }
.destination-facts { display:grid; grid-template-columns:1fr 1fr 1.1fr; border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:8px; padding:22px 10px; margin-top:28px; }
.destination-facts>div { padding:0 24px; border-right:1px solid var(--line); }
.destination-facts>div:last-child { border:0; }
.destination-facts small,.destination-facts strong { display:block; }
.destination-facts small { font-size:14px; color:var(--muted); margin-bottom:5px; }
.destination-facts strong { font-size:16px; }
.destination-section-nav { display:flex; gap:34px; padding:20px 0; border-bottom:1px solid var(--line); font-weight:700; flex-wrap:wrap; }
.destination-section-nav a { padding:8px 0; }
.destination-section-nav a:hover { text-decoration:underline; text-decoration-color:var(--gold); }
.destination-rate-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:10px; }
.destination-rate-table { width:100%; border-collapse:collapse; min-width:840px; text-align:left; }
.destination-rate-table thead { background:var(--navy); color:white; }
.destination-rate-table thead th { padding:18px 20px; font-size:15px; font-weight:650; }
.destination-rate-table th:first-child { width:46%; }
.destination-rate-table td,.destination-rate-table tbody th { padding:22px 20px; border-bottom:1px solid var(--line); font-weight:400; }
.destination-rate-table tr:last-child td,.destination-rate-table tr:last-child th { border-bottom:0; }
.destination-rate-featured { background:#fffbf2; }
.destination-rate-featured th { box-shadow:inset 4px 0 var(--gold); }
.destination-rate-vehicle { display:flex; align-items:center; gap:18px; }
.destination-rate-vehicle img { width:165px; height:100px; object-fit:contain; flex-shrink:0; mix-blend-mode:multiply; }
.destination-rate-vehicle .destination-vehicle-private,.destination-rate-vehicle .destination-vehicle-group { transform:scale(1.38); }
.destination-rate-vehicle .destination-vehicle-taxi { transform:scale(1.55); }
.destination-rate-vehicle .destination-vehicle-luxury { transform:scaleX(-1); }
.destination-rate-vehicle strong { display:block; font-size:17px; line-height:1.4; }
.destination-rate-vehicle p { font-size:14px; line-height:1.6; margin:7px 0 0; }
.destination-recommended { display:block; font-weight:800; color:#8a5500; font-size:12px; margin-bottom:6px; }
.destination-capacity { display:block; font-size:14px; white-space:nowrap; }
.destination-capacity strong { font-size:17px; }
.destination-rate-link { display:block; padding:8px 0; white-space:nowrap; }
.destination-rate-link>strong { font-size:23px; letter-spacing:-.03em; }
.destination-rate-link>small { display:block; font-size:13px; color:var(--muted); }
.destination-rate-link>span { display:block; font-size:14px; text-decoration:underline; font-weight:700; margin-top:9px; }
.destination-rate-link:hover>strong { color:var(--gold-dark); }
.destination-note { font-size:14px; line-height:1.75; margin:16px 0; }
.destination-note time { white-space:nowrap; }
.destination-band { background:var(--blue-pale); margin-top:40px; }
.destination-route-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding-bottom:64px; }
.destination-route-grid .destination-heading::after { display:none; }
.destination-steps { counter-reset:route; padding:0; list-style:none; margin:30px 0 0; }
.destination-steps li { position:relative; padding:0 0 26px 55px; counter-increment:route; }
.destination-steps li::before { content:counter(route); position:absolute; left:0; top:0; width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; background:white; font-weight:800; }
.destination-steps li h3 { font-size:19px; }
.destination-steps li p { margin:0; }
.destination-boarding { margin-bottom:28px!important; }
.destination-boarding img { width:100%; height:auto; max-height:330px; object-fit:cover; border-radius:10px; }
.destination-boarding figcaption { font-size:14px; margin-top:9px; color:var(--muted); }
.destination-boarding small { display:block; font-size:12px; }
.destination-map-link { display:flex; align-items:center; gap:16px; padding:14px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.destination-map-link svg { flex-shrink:0; }
.destination-map-link strong { font-size:15px; display:block; }
.destination-map-link small { font-size:13px; color:var(--muted); }
.destination-hotel-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.destination-hotel-grid article { border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:10px; padding:28px; display:flex; flex-direction:column; align-items:flex-start; }
.destination-hotel-grid h3 { margin-top:17px; }
.destination-hotel-grid p { margin:0 0 24px; flex:1; }
.destination-hotel-grid .button { padding:12px 16px; }
.destination-hotel-grid .destination-text-link { margin-top:18px; font-size:14px; }
.destination-local { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; }
.destination-local article { border-bottom:1px solid var(--line); padding:0 0 20px; margin-bottom:24px; }
.destination-local article:last-child { margin:0; }
.destination-alternatives { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.destination-alternatives article { padding:28px; border-right:1px solid var(--line); }
.destination-alternatives article:first-child { background:var(--blue-pale); }
.destination-alternatives article:last-child { border:0; }
.destination-alternative-number { display:block; color:var(--navy-soft); font-size:14px; font-weight:800; margin-bottom:14px; }
.destination-alternatives p { margin:0; }
.destination-faq { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; align-items:start; }
.destination-faq details { border-bottom:1px solid var(--line); padding:0; }
.destination-faq summary { list-style:none; font-weight:700; cursor:pointer; padding:22px 0; display:flex; align-items:center; gap:18px; min-height:80px; }
.destination-faq summary::-webkit-details-marker { display:none; }
.destination-faq summary span { margin-left:auto; font-size:23px; font-weight:400; }
.destination-faq details[open] summary span { transform:rotate(45deg); }
.destination-faq details p { margin:0 0 24px; }
.destination-reputation { margin-top:60px; padding:36px; border:1px solid var(--line); border-radius:12px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.destination-rating { display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin:0 0 12px; }
.destination-rating>strong { font-size:32px; color:var(--navy); }
.destination-rating>span:last-child { font-size:14px; }
.destination-stars { color:#c9ced4; font-size:24px; letter-spacing:2px; position:relative; }
.destination-stars::after { content:'★★★★★'; position:absolute; left:0; top:0; width:94%; overflow:hidden; white-space:nowrap; color:#d78a00; }
.destination-reputation h2 { font-size:27px; }
.destination-reputation p { margin-bottom:0; }
.destination-reputation>div:last-child { flex-shrink:0; }
.destination-reputation>div>small { display:block; font-size:12px; margin-top:12px; color:var(--muted); }
.destination-partners { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.destination-partners article { border-left:3px solid var(--gold); padding-left:26px; }
.destination-partners p { max-width:56ch; }
.destination-nearby { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.destination-nearby img { width:100%; height:185px; object-fit:cover; border-radius:8px; }
.destination-nearby strong { display:flex; justify-content:space-between; padding:15px 0; font-size:19px; }
.destination-source-note { padding-top:36px; padding-bottom:36px; font-size:14px; }
.destination-source-note p { max-width:110ch; }
.destination-source-note a { margin-right:24px; text-decoration:underline; }
.destination-closing { margin-top:40px; background:var(--navy-deep); color:white; border-top:3px solid var(--gold); }
.destination-closing>.shell { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:42px 0; }
.destination-closing h2 { color:white; font-size:29px; }
.destination-closing p { color:#e5edf4; margin-bottom:0; }
.destination-closing .button { background:var(--gold); color:var(--navy-deep); white-space:nowrap; }
@media(max-width:1050px) {
 .destination-hero-copy { width:53%; }
 .destination-hero-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.82),rgba(255,255,255,.4) 42%,transparent 66%); }
 .destination-hero-photo figcaption { z-index:1; max-width:39%; }
 .destination-hero h1 { font-size:36px; }
 .destination-card-grid { gap:18px; }
 .destination-tile>div { padding:20px; }
 .destination-route-grid,.destination-local { gap:36px; }
 .destination-hotel-grid article { padding:22px; }
 .destination-reputation { flex-direction:column; align-items:flex-start; }
}
@media(max-width:760px) {
 .destination-page { font-size:16px; }
 .destination-hero-inner { padding:25px 0 28px; }
 .destination-hero-copy { width:100%; }
 .destination-hero-index .destination-hero-inner { min-height:0; padding-block:28px; }
 .destination-hero h1 { font-size:34px; }
 .destination-hero-photo { position:absolute; inset:0; height:100%; }
 .destination-hero-photo>img { object-position:35% center; }
 .destination-hero-photo::after { display:none; }
 .destination-hero-photo figcaption { right:18px; bottom:6px; max-width:90%; line-height:1.3; }
 .destination-hero-photo figcaption span { font-size:14px; }
 .destination-lead { font-size:17px; }
 .destination-section { padding-top:43px; padding-bottom:15px; }
 .destination-heading { gap:16px; }
 .destination-card-grid,.destination-area-grid,.destination-hotel-grid,.destination-nearby { grid-template-columns:1fr 1fr; }
 .destination-search-bar { display:block; padding:20px; }
 .destination-search-control { margin:12px 0; }
 .destination-search-control button { font-size:13px; }
 .destination-tile p { min-height:0; }
 .destination-facts { grid-template-columns:1fr; padding:0 20px; }
 .destination-facts>div { padding:15px 0; border-right:0; border-bottom:1px solid var(--line); }
 .destination-section-nav { gap:10px 22px; font-size:14px; }
 .destination-route-grid,.destination-local,.destination-faq,.destination-partners { grid-template-columns:1fr; gap:30px; }
 .destination-route-grid { padding-bottom:40px; }
 .destination-reputation { padding:25px; margin-top:36px; }
 .destination-reputation>div:last-child { flex-shrink:1; }
 .destination-reputation .button { white-space:normal; text-align:center; }
 .destination-alternatives { grid-template-columns:1fr; }
 .destination-alternatives article { border-right:0; border-bottom:1px solid var(--line); }
 .destination-faq { gap:0; }
 .destination-ferry { padding:25px; gap:18px; }
 .destination-outline-mark { display:none; }
 .destination-closing>.shell { flex-direction:column; align-items:flex-start; }
}
@media(max-width:480px) {
 .destination-card-grid,.destination-area-grid,.destination-hotel-grid,.destination-nearby { grid-template-columns:1fr; }
 .destination-nearby img { height:200px; }
 .destination-breadcrumb { font-size:12px; gap:8px; }
 .destination-page .quote-card { padding:16px; }
 .destination-from strong { font-size:25px; }
}

/* The shared Playa comparison retains vehicle, capacity and both fares on mobile. */
@media(max-width:760px) {
 .destination-rate-table:not(.destination-simple-rates) { display:block; min-width:0; width:100%; }
 .destination-rate-table:not(.destination-simple-rates) thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .destination-rate-table:not(.destination-simple-rates) tbody { display:block; }
 .destination-rate-table:not(.destination-simple-rates) tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-bottom:1px solid var(--line); }
 .destination-rate-table:not(.destination-simple-rates) tbody th { grid-column:1/-1; width:auto; padding:20px 18px 12px; border:0; }
 .destination-rate-table:not(.destination-simple-rates) td { min-width:0; padding:16px 12px 22px; border:0; }
 .destination-rate-table:not(.destination-simple-rates) td:nth-child(2) { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:12px 24px; padding:12px 18px; background:rgba(11,43,87,.035); }
 .destination-rate-table:not(.destination-simple-rates) td[data-fare-label]::before { content:attr(data-fare-label); display:block; font-size:14px; font-weight:800; color:var(--navy); }
 .destination-rate-table .destination-rate-vehicle { gap:18px; }
 .destination-rate-table .destination-rate-vehicle img { width:115px; height:94px; }
 .destination-rate-table .destination-rate-vehicle>div { min-width:0; }
 .destination-rate-table .destination-rate-vehicle strong { font-size:17px; }
 .destination-rate-table .destination-rate-link { white-space:normal; }
 .destination-rate-table .destination-rate-link>strong { font-size:23px; }
 .destination-rate-table .destination-rate-link>span { font-size:14px; }
}

/* Legacy compact table support. */
@media(max-width:760px) {
 .destination-simple-rates { display:block; width:100%; min-width:0; }
 .destination-simple-rates thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .destination-simple-rates tbody { display:block; }
 .destination-simple-rates tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-bottom:1px solid var(--line); }
 .destination-simple-rates th:first-child { grid-column:1/-1; width:auto; padding:20px 16px 10px; border:0; }
 .destination-simple-rates td { width:auto; padding:14px 10px 20px; border:0; text-align:left; }
 .destination-simple-rates td::before { content:attr(data-fare-label); display:block; font-size:13px; font-weight:800; padding:0 5px; color:var(--navy); }
 .destination-simple-rates .destination-rate-link { padding:10px 5px 0; align-items:flex-start; text-align:left; }
 .destination-simple-rates .destination-rate-link strong { font-size:24px; }
 .destination-simple-rates .destination-rate-link small,.destination-simple-rates .destination-rate-link span { font-size:13px; white-space:normal; }
}
