/* FerryEU expanded guides: retain the destination and route master designs.
   Natural text heights, equal adjacent cards and proportionate landscape photos. */
.ferryeu-expanded-guide .destination-overview-grid,
.ferryeu-expanded-guide .route-overview-grid { gap: clamp(28px, 4vw, 54px); align-items: start; }
.ferryeu-expanded-guide .route-overview-copy { min-height: 0; }
.ferryeu-expanded-guide .route-overview-copy .route-inline-actions { margin-top: 10px; padding-top: 0; }
.ferryeu-expanded-guide .route-facts { height: auto; }
.ferryeu-expanded-guide .destination-facts dl > div { padding: 9px 0; }
.ferryeu-expanded-guide .destination-inline-actions { margin-top: 18px; }
.ferryeu-expanded-guide .destination-highlight-grid,
.ferryeu-expanded-guide .route-port-grid,
.ferryeu-expanded-guide .route-onboard-grid,
.ferryeu-expanded-guide .route-alternative-grid { align-items: stretch; }
.ferryeu-expanded-guide .destination-highlight-grid article { display: flex; flex-direction: column; min-width: 0; }
.ferryeu-expanded-guide .destination-highlight-grid .fe-card-operators { margin-top: 12px; color: #38566d; font-weight: 700; }
.ferryeu-expanded-guide .destination-highlights-layout { gap: clamp(24px, 3vw, 42px); }
.ferryeu-expanded-guide .destination-highlights-media { min-height: 280px; max-height: 560px; }
.ferryeu-expanded-guide .destination-highlights-media img,
.ferryeu-expanded-guide .destination-port-media img { min-height: 0; object-fit: cover; object-position: center; }
.ferryeu-expanded-guide .fe-many-routes { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; }
.ferryeu-expanded-guide .fe-many-routes .destination-highlights-media { height: 100%; min-height: 240px; max-height: 360px; }
.ferryeu-expanded-guide .fe-many-routes > .destination-highlight-grid { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0; }
.ferryeu-expanded-guide .destination-port-grid { gap: 26px 40px; align-items: stretch; }
.ferryeu-expanded-guide .destination-port-media { min-height: 240px; max-height: 440px; }
.ferryeu-expanded-guide .destination-port-grid > .destination-port-points { grid-column: 1 / -1; margin-top: 0; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); align-items: stretch; }
.ferryeu-expanded-guide .route-port-card { display: flex; flex-direction: column; min-width: 0; }
.ferryeu-expanded-guide .route-port-media { flex: 0 0 auto; height: auto; aspect-ratio: 16 / 9; }
.ferryeu-expanded-guide .route-port-media img { display: block; object-fit: cover; object-position: center; }
.ferryeu-expanded-guide .route-port-copy { flex: 1; padding: 24px; }
.ferryeu-expanded-guide .route-port-copy p { margin-bottom: 13px; }
.ferryeu-expanded-guide .route-port-copy .fe-port-guide-link { margin: 16px 0 0; }
.ferryeu-expanded-guide .route-onboard-grid article > :last-child,
.ferryeu-expanded-guide .operator-card-body > :last-child { margin-bottom: 0; }
.ferryeu-expanded-guide .route-alternative-grid > a { min-height: 0; }
.ferryeu-expanded-guide .route-alternative-grid em { margin-top: 10px; }
.ferryeu-expanded-guide .route-operator-grid:has(> .route-operator-card:only-child) .operator-card-media { min-height: 280px; }
.ferryeu-expanded-guide .destination-viator { padding-top: 44px; padding-bottom: 44px; }
@media (max-width: 900px) {
  .ferryeu-expanded-guide .fe-many-routes { grid-template-columns: 1fr; }
  .ferryeu-expanded-guide .destination-highlights-media,
  .ferryeu-expanded-guide .fe-many-routes .destination-highlights-media,
  .ferryeu-expanded-guide .destination-port-media { height: auto; min-height: 0; max-height: none; aspect-ratio: 16 / 9; }
  .ferryeu-expanded-guide .destination-highlights-media img,
  .ferryeu-expanded-guide .destination-port-media img { height: 100%; aspect-ratio: auto; }
  .ferryeu-expanded-guide .fe-many-routes > .destination-highlight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); order: 3; }
}
@media (max-width: 680px) {
  .ferryeu-expanded-guide .fe-many-routes > .destination-highlight-grid,
  .ferryeu-expanded-guide .destination-port-grid > .destination-port-points { grid-template-columns: 1fr; }
  .ferryeu-expanded-guide .route-port-copy { padding: 20px; }
  .ferryeu-expanded-guide .destination-viator { padding-top: 32px; padding-bottom: 32px; }
}
/* Keep all hero controls legible over the established light image mask. */
.ferryeu-expanded-guide .route-hero-overlay,
.ferryeu-expanded-guide .destination-page-hero-overlay {
  background: linear-gradient(90deg, rgba(240,248,254,.96) 0%, rgba(237,247,253,.92) 45%, rgba(236,247,253,.72) 66%, rgba(0,34,69,.08) 100%) !important;
}
.ferryeu-expanded-guide .route-eyebrow { color: #0d5f8f; }
.ferryeu-expanded-guide .route-hero .button-ghost,
.ferryeu-expanded-guide .destination-page-hero .button-ghost {
  color: #082e5b; border-color: #315677; background: rgba(255,255,255,.9);
}
.ferryeu-expanded-guide .route-hero .button-ghost:hover,
.ferryeu-expanded-guide .destination-page-hero .button-ghost:hover { background: #fff; }
@media (max-width: 760px) {
  .ferryeu-expanded-guide .route-hero-overlay,
  .ferryeu-expanded-guide .destination-page-hero-overlay {
    background: linear-gradient(90deg, rgba(240,248,254,.96), rgba(240,248,254,.88)) !important;
  }
}
