/* Shared layout and contrast rules for FerryEU's primary domain. */
:root {
  --feu-hero-light-desktop: linear-gradient(90deg,rgba(245,250,254,.98) 0%,rgba(245,250,254,.96) 48%,rgba(245,250,254,.88) 72%,rgba(245,250,254,.35) 100%);
  --feu-hero-light-mobile: linear-gradient(90deg,rgba(245,250,254,.97),rgba(245,250,254,.94));
}
.hero .hero-overlay,.hero-overlay-clean,.destinations-hero-overlay,.routes-index-hero-overlay,.route-hero-overlay,.destination-page-hero-overlay,.operator-hero-overlay,
.ferryeu-expanded-guide .route-hero-overlay,.ferryeu-expanded-guide .destination-page-hero-overlay {background:var(--feu-hero-light-desktop)!important}
.hero h1,.routes-index-hero h1,.route-hero h1,.destination-page-hero h1,.operator-hero h1 {color:#082e5b!important;text-shadow:none!important}
.hero .hero-lead,.routes-index-hero p,.route-hero-lead,.destination-page-hero-content>p,.operator-hero-lead {color:#183b5d!important}
.hero .section-kicker,.route-hero .section-kicker,.operator-hero .section-kicker,.destination-page-hero .section-kicker,.route-eyebrow {color:#07517d!important}
.hero .button-ghost,.route-hero .button-ghost,.operator-hero .button-ghost,.destination-page-hero .button-ghost {color:#082e5b!important;background:#fff!important;border-color:#315677!important}
.operator-grid,.destination-grid,.route-port-grid,.route-operator-grid,.operator-routes-grid,.operator-photo-grid,.accommodation-grid,.travel-type-grid {align-items:stretch}
.operator-card,.destination-card,.route-port-card,.route-operator-card,.operator-route-card,.operator-photo-card,.operator-story-card,.accommodation-card,.travel-type-card {height:100%;min-width:0;display:flex;flex-direction:column;box-sizing:border-box}
.operator-card-copy,.destination-card-copy,.route-port-card-content,.route-operator-card-content,.operator-route-card-content,.accommodation-card-content,.travel-type-card-content {display:flex;flex:1;flex-direction:column;min-width:0}
.operator-card-copy>.text-cta,.destination-card-copy>.text-cta,.route-port-card .text-cta,.route-operator-card .text-cta,.operator-route-card .text-cta,.accommodation-card .text-cta,.travel-type-card .text-cta {margin-top:auto;padding-top:.6rem}
.operator-card-image,.destination-card-image {flex:none;aspect-ratio:16/10}
.operator-card-image img,.destination-card-image img {display:block;width:100%;height:100%;object-fit:cover}
.operator-card[hidden],.destination-card[hidden],[data-route-row][hidden] {display:none!important}
.feu-catalogue-note {padding:18px 22px;border-left:4px solid #0870b7;background:#eef7fc;color:#183b5d;line-height:1.6;margin-block:24px}
.feu-letter-art {display:grid;place-items:center;background:linear-gradient(135deg,#062b4f,#116b94);color:#fff;font-size:2rem;font-weight:800;aspect-ratio:16/10;flex:none;text-decoration:none}
.feu-guide {max-width:1000px;margin:auto;padding:40px 24px;line-height:1.7}
.feu-guide h1,.feu-guide h2 {color:#082e5b}
.feu-guide ul {padding-left:1.4rem}
.feu-guide .button {margin:12px 10px 12px 0}
.feu-booking-status:empty {display:none}
.feu-port-connections {font-size:.88rem}
.route-table td {overflow-wrap:anywhere}
@media(max-width:760px){
 .hero .hero-overlay,.hero-overlay-clean,.destinations-hero-overlay,.routes-index-hero-overlay,.route-hero-overlay,.destination-page-hero-overlay,.operator-hero-overlay,.ferryeu-expanded-guide .route-hero-overlay,.ferryeu-expanded-guide .destination-page-hero-overlay {background:var(--feu-hero-light-mobile)!important}
}

.route-port-copy,.operator-card-body,.operator-photo-card>div,.operator-story-card>div,.operator-route-card>div,.accommodation-card>div,.travel-type-card>div {display:flex;flex-direction:column;flex:1;min-width:0}
.route-port-copy>a:last-child,.operator-card-body>a:last-child,.operator-route-card>div>a:last-child,.accommodation-card>div>a:last-child,.travel-type-card>div>a:last-child {margin-top:auto}

.operator-eyebrow{color:#07517d!important}.operator-route-grid{align-items:stretch}

.feu-logo-art{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;background:#fff;border-bottom:1px solid #e3edf3;padding:24px;box-sizing:border-box}.feu-logo-art img{max-width:90%;max-height:110px;width:auto;height:auto;object-fit:contain}.operator-overview-media .feu-operator-logo{width:100%;height:100%;min-height:220px;max-height:340px;object-fit:contain;padding:40px;background:#fff;box-sizing:border-box}
