.route-gallery .destination-gallery-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
    }
    .route-gallery .destination-photo { min-width: 0; margin: 0; }
    .route-gallery h3 { margin: 1.5rem 0 .65rem; }
    .route-gallery-thumb { display: block; border-radius: 10px; cursor: zoom-in; }
    .route-gallery-thumb:focus-visible { outline: 3px solid var(--deep-teal); outline-offset: 3px; }
    .route-gallery-thumb img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; }
    .route-gallery figcaption { font-size: .85rem; line-height: 1.4; }
    .route-lightbox { width: min(94vw, 1000px); max-width: none; max-height: 94dvh; padding: 12px; border: 0; border-radius: 12px; color: #fff; background: #152329; }
    .route-lightbox::backdrop { background: rgb(9 18 24 / .86); }
    .route-lightbox-top, .route-lightbox-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    .route-lightbox-top form, .route-lightbox figure { margin: 0; }
    .route-lightbox img { display: block; width: 100%; height: min(67dvh, 640px); object-fit: contain; margin-block: 8px; }
    .route-lightbox figcaption { text-align: center; margin-bottom: 8px; }
    .route-lightbox button { min-height: 44px; padding: 6px 12px; border: 1px solid #bdcccc; border-radius: 8px; background: #fff; color: #152329; font: inherit; cursor: pointer; }
    @media (max-width: 760px) {
      .route-gallery .destination-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
      .route-lightbox img { height: min(59dvh, 520px); }
    }
