.france-directory-shortcuts{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.destination-card-image img{aspect-ratio:16/10;object-fit:cover}.operator-card-image img{object-fit:contain}.hero h1{max-width:1000px}@media(max-width:760px){.destination-card-image img{aspect-ratio:16/9}.france-directory-shortcuts a{font-size:.9rem}}
/* Adjacent cards share their row height; rows follow their own content. */
:is(.feature-grid,.shortcut-grid,.travel-grid,.destination-grid,.operator-grid,
.route-operator-grid,.route-time-grid,.route-port-grid,.route-travel-grid,
.route-onboard-grid,.route-alternative-grid,.operator-route-grid,
.operator-routes-grid,.operator-photo-grid,.accommodation-grid,.onboard-grid,
.travel-type-grid,.fleet-grid,.related-grid,.destination-highlight-grid,
.destination-port-points){align-items:stretch}
:is(.feature-card,.travel-card,.destination-card,.operator-card,.route-operator-card,
.route-time-card,.route-port-card,.route-alternative-grid>a,.operator-route-card,
.operator-photo-card,.operator-story-card,.accommodation-card,.travel-type-card,
.fleet-card,.related-grid>a,.route-travel-grid>article,.route-onboard-grid>article,
.onboard-grid>article,.destination-highlight-grid>article,.destination-port-points>article){
  box-sizing:border-box;min-width:0;min-height:0;height:100%;
}
:is(.feature-card,.travel-card,.destination-card,.operator-card,.route-time-card,
.route-port-card,.route-alternative-grid>a,.operator-route-card,.operator-photo-card,
.operator-story-card,.accommodation-card,.travel-type-card,.fleet-card,.related-grid>a,
.route-travel-grid>article,.route-onboard-grid>article,.onboard-grid>article,
.destination-highlight-grid>article,.destination-port-points>article){display:flex;flex-direction:column}
.shortcut-card{height:100%;min-height:0;box-sizing:border-box}
:is(.destination-card-copy,.operator-card-copy,.route-port-copy,.operator-card-body,
.operator-route-card-content,.accommodation-card-content,.travel-type-card-content){
  display:flex;flex-direction:column;flex:1;min-width:0;
}
:is(.destination-card-copy,.operator-card-copy)>.text-cta,
.route-port-copy>a:last-child,.operator-card-actions,
.operator-route-card .text-cta,.accommodation-card .text-cta,
.travel-type-card .text-cta,.route-travel-grid>article>a:last-child,
.route-alternative-grid>a>em,.related-grid>a>span:last-child{margin-top:auto}
:is(.destination-card-image,.operator-card-image){flex:0 0 auto;aspect-ratio:16/10}
.destination-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.operator-card-image img{display:block;width:100%;height:100%;object-fit:contain}
/* Keep the next section close without imposing a fixed text height. */
main .section:not(#booking):not(.masked-booking-section):not(.search-shell){padding-top:52px;padding-bottom:52px}
main .section-heading{margin-bottom:28px}
.route-master-v2 .route-operator-card{min-height:0}
@media(max-width:760px){
  main .section:not(#booking):not(.masked-booking-section):not(.search-shell){padding-top:34px;padding-bottom:34px}
  main .section-heading{margin-bottom:22px}
}
