/* Approved booking-first ribbon. The original logo, header and page stay intact. */
.booking-ribbon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: 100%;
  min-height: 54px;
  padding: 12px 20px;
  background: var(--green, #183d30);
  color: #fff;
  font-family: var(--sans, Arial, sans-serif);
  font-size: 17px;
  font-weight: 550;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  transition: background .2s;
}
.booking-ribbon:hover { background: #2b5341; }
.booking-ribbon:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -6px;
}
.booking-ribbon-icon { width: 24px; height: 24px; flex: 0 0 24px; object-fit: contain; }
/* A direct cabin-photo link replaces the duplicate hero booking action. */
.hero-copy > .hero-cabin-link { margin-left: 0; color: var(--green); border-color: var(--green); }
@media (min-width: 621px) and (max-width: 1200px) {
  .site-header .language-switch { margin-left: auto; }
}
@media (max-width: 620px) {
  .booking-ribbon { gap: 14px; font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .booking-ribbon { transition: none; }
}
