/* ADI MASTER Travel T2.3 — Natural Photo Fit + Pan/Zoom Viewer
   Loaded after site-cleanup so owned travel photos keep their real framing. */

/* Desktop/tablet: masonry-style archive. Every photo keeps its complete frame. */
.travelPhotoGrid{
  display:block !important;
  columns:4;
  column-gap:11px;
}
.travelPhotoCard,
.travelPhotoCard.travelPhotoLead{
  width:100%;
  height:auto !important;
  min-height:0 !important;
  margin:0 0 11px;
  display:block;
  break-inside:avoid;
  grid-column:auto !important;
  grid-row:auto !important;
  border-radius:18px;
}
.travelPhotoCard img{
  width:100%;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block;
  transform:none;
}
.travelPhotoCard:hover img{
  transform:none;
  filter:saturate(1.04) contrast(1.015);
}

/* The overlay follows the natural photo height instead of a forced crop box. */
.travelPhotoCard .travelOwnedShade{
  position:absolute;
  inset:auto 0 0;
  height:48%;
  background:linear-gradient(180deg,transparent,rgba(0,4,8,.78));
  pointer-events:none;
}

/* Full-screen viewer: image is completely visible by default. */
.travelMediaLightboxInner{
  width:min(1460px,92vw);
  height:min(88vh,980px);
}
.travelMediaLightboxStage{
  position:relative;
  overflow:hidden;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
}
.travelLightboxImage{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain !important;
  transform-origin:center center;
  will-change:transform;
  cursor:zoom-in;
  transition:transform .14s ease-out;
}
.travelLightboxImage.isZoomed{
  cursor:grab;
}
.travelLightboxImage.isDragging{
  cursor:grabbing;
  transition:none;
}

.travelMediaZoomTools{
  position:fixed;
  left:50%;
  bottom:max(18px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  z-index:100004;
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px;
  border:1px solid rgba(125,235,244,.22);
  border-radius:999px;
  background:rgba(2,9,13,.82);
  box-shadow:0 16px 46px rgba(0,0,0,.45);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.travelMediaZoomBtn{
  appearance:none;
  min-width:42px;
  height:38px;
  padding:0 13px;
  border:1px solid rgba(128,235,245,.18);
  border-radius:999px;
  background:rgba(7,20,27,.9);
  color:#eafcff;
  font:800 12px/1 system-ui,sans-serif;
  letter-spacing:.06em;
  cursor:pointer;
}
.travelMediaZoomBtn:hover{border-color:rgba(128,235,245,.42)}
.travelMediaZoomReadout{
  min-width:54px;
  color:#a8f7ff;
  text-align:center;
  font:800 10px/1 system-ui,sans-serif;
  letter-spacing:.05em;
}

@media(max-width:1100px){
  .travelPhotoGrid{columns:3}
}
@media(max-width:720px){
  .travelPhotoGrid{columns:2;column-gap:8px}
  .travelPhotoCard,.travelPhotoCard.travelPhotoLead{margin-bottom:8px;border-radius:14px}
  .travelMediaLightboxInner{width:96vw;height:84vh}
  .travelMediaZoomTools{bottom:max(12px,env(safe-area-inset-bottom));padding:5px;gap:5px}
  .travelMediaZoomBtn{min-width:38px;height:36px;padding:0 10px}
}
@media(max-width:420px){
  .travelPhotoGrid{columns:1}
}
@media(prefers-reduced-motion:reduce){
  .travelLightboxImage{transition:none}
}
