/* Narrow-screen corrections measured against the approved source at 390×844. */
@media (max-width: 520px) {
  #decks .gallery[data-astro-cid-j7pv25f6] > figure[data-astro-cid-j7pv25f6] {
    grid-column: auto;
    grid-row: auto;
  }
}

@media (max-width: 720px) {
  .fare-card[data-astro-cid-j7pv25f6] {
    min-width: 0;
  }

  footer[data-astro-cid-j7pv25f6] .utility-links[data-astro-cid-j7pv25f6] {
    flex-wrap: wrap;
    column-gap: 18px;
    row-gap: 0;
  }
}

/* Phone and small-tablet audit: preserve people, readable labels and navigation. */
@media (max-width: 900px) {
  .ticket[data-astro-cid-j7pv25f6] .stub[data-astro-cid-j7pv25f6],
  .fare-card[data-astro-cid-j7pv25f6],
  .charter-inner[data-astro-cid-j7pv25f6],
  .hero-inner[data-astro-cid-j7pv25f6] { container-type: inline-size; }

  .ticket[data-astro-cid-j7pv25f6] .stub[data-astro-cid-j7pv25f6] .btn.rezdy[data-astro-cid-j7pv25f6],
  .book[data-astro-cid-j7pv25f6] .btn.rezdy[data-astro-cid-j7pv25f6],
  .charter[data-astro-cid-j7pv25f6] .btn.rezdy[data-astro-cid-j7pv25f6],
  .btn.hero-voyage-btn[data-astro-cid-j7pv25f6] {
    width: min(360px, 100%);
    max-width: 100%;
    min-height: 60px;
    box-sizing: border-box;
    padding: 6px 13% 10px;
    font-size: clamp(12px, 4.5cqi, 17px);
    letter-spacing: .06em;
    line-height: 1.15;
    white-space: normal;
    text-align: center;
    overflow-wrap: normal;
  }
  .book[data-astro-cid-j7pv25f6] .btn[data-astro-cid-j7pv25f6] { margin: 8px auto; }
}

@media (max-width: 820px) {
  .ship-grid[data-astro-cid-j7pv25f6],
  #decks .gallery[data-astro-cid-j7pv25f6] { grid-template-columns: 1fr; grid-auto-rows: auto; }
  #decks .gallery[data-astro-cid-j7pv25f6] > figure[data-astro-cid-j7pv25f6] { grid-column:auto; grid-row:auto; }
  .ship-grid[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6],
  #decks .gallery[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6] {
    display:block; width:100%; height:auto; object-fit:contain; transform:none;
  }
  .ship-grid[data-astro-cid-j7pv25f6] figcaption[data-astro-cid-j7pv25f6],
  #decks .gallery[data-astro-cid-j7pv25f6] figcaption[data-astro-cid-j7pv25f6] {
    position:static; background:#081629; padding:12px 16px;
  }
}

@media (max-width: 760px) {
  nav[data-astro-cid-j7pv25f6] { padding:14px 18px; gap:12px; }
  nav[data-astro-cid-j7pv25f6] .mark[data-astro-cid-j7pv25f6] { flex-shrink:0; }
  nav[data-astro-cid-j7pv25f6] .mark[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6] { width:76px; height:76px; }
  nav[data-astro-cid-j7pv25f6] .links[data-astro-cid-j7pv25f6] { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:0 14px; max-width:240px; }
  nav[data-astro-cid-j7pv25f6] .links[data-astro-cid-j7pv25f6] a[data-astro-cid-j7pv25f6] { font-size:clamp(13px,3.3vw,16px); min-height:44px; display:inline-flex; align-items:center; }
  header[data-astro-cid-j7pv25f6] { min-height:100svh; }
  .hero-inner[data-astro-cid-j7pv25f6] { padding:128px 24px 90px; }
}

@media (max-width: 560px) {
  .ticket[data-astro-cid-j7pv25f6] .body[data-astro-cid-j7pv25f6] { padding:28px 20px 24px; }
  .ticket[data-astro-cid-j7pv25f6] .stub[data-astro-cid-j7pv25f6] { padding:22px 16px 26px; gap:12px; }
  .ticket[data-astro-cid-j7pv25f6] .photo[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6],
  .ticket[data-astro-cid-j7pv25f6] .photo[data-astro-cid-j7pv25f6]:before {
    width:min(260px,calc(100vw - 112px)); height:min(260px,calc(100vw - 112px));
  }
  .ticket[data-astro-cid-j7pv25f6] .sig-tag[data-astro-cid-j7pv25f6] { font-size:clamp(10px,3vw,14px); letter-spacing:.12em; white-space:normal; }
  .fare-card[data-astro-cid-j7pv25f6] { padding:24px 18px; }
  .included[data-astro-cid-j7pv25f6] { padding:32px 20px; }
  .site-footer { padding-bottom:calc(90px + env(safe-area-inset-bottom)); }
  .faq[data-astro-cid-j7pv25f6] summary[data-astro-cid-j7pv25f6] { min-height:44px; }
}
@media (max-width:760px) {
  nav[data-astro-cid-j7pv25f6],
  .hero-inner[data-astro-cid-j7pv25f6] .logo-main[data-astro-cid-j7pv25f6],
  .hero-inner[data-astro-cid-j7pv25f6] p.tag[data-astro-cid-j7pv25f6],
  .hero-inner[data-astro-cid-j7pv25f6] .cta[data-astro-cid-j7pv25f6] { animation:none; }
  header[data-astro-cid-j7pv25f6] .curtain[data-astro-cid-j7pv25f6] { display:none; }
}

/* The sailing label must reserve its own space, including when text wraps. */
@media (max-width:900px) {
  .ticket[data-astro-cid-j7pv25f6] .body[data-astro-cid-j7pv25f6] .sig-tag[data-astro-cid-j7pv25f6] {
    position:static; top:auto; left:auto; transform:none;
    align-self:center; max-width:100%; box-sizing:border-box;
    margin:0 0 18px; padding:8px 14px; white-space:normal;
    font-size:clamp(11px,3vw,14px); line-height:1.4; letter-spacing:.12em; text-align:center;
  }
}
