/* Editorial media and accessible lightbox: applies to approved V5.1 HTML routes. */
.tb-editorial-gallery{padding-block:100px 115px;max-width:1480px;margin-inline:auto}.tb-editorial-gallery__heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}.tb-editorial-gallery__heading h2{font-size:clamp(44px,5.4vw,86px);line-height:1.1;letter-spacing:-.065em}.tb-editorial-gallery__heading h2 em{color:#bb531f}.tb-editorial-gallery__heading p{color:#697078;font-size:13px;line-height:1.8;max-width:310px}.tb-editorial-gallery__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}.tb-editorial-gallery__grid .tb-gallery-trigger:first-child{grid-row:span 2;min-height:510px}.tb-editorial-gallery__grid .tb-gallery-trigger{height:250px}.tb-gallery-trigger{position:relative;display:block;width:100%;padding:0;border:0;appearance:none;cursor:zoom-in;background:#e1e7e8;overflow:hidden;min-width:0;color:inherit}.tb-gallery-trigger img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;display:block}.tb-gallery-trigger:hover img{transform:scale(1.045)}.tb-gallery-trigger:focus-visible{outline:3px solid #ff751f;outline-offset:3px}.tb-gallery-trigger::after{content:'EXPAND ↗';position:absolute;inset:auto 15px 15px auto;width:max-content;max-width:calc(100% - 30px);height:auto;white-space:nowrap;z-index:4;pointer-events:none;padding:9px 12px;background:#fff;color:#202824;letter-spacing:.09em;font:700 10px Manrope,Arial,sans-serif;opacity:0;transform:translateY(5px);transition:.25s}.tb-gallery-trigger:hover::after,.tb-gallery-trigger:focus-visible::after{opacity:1;transform:none}.ex-gallery-item .tb-gallery-trigger{height:100%;min-height:260px}.ex-gallery-item.featured .tb-gallery-trigger{min-height:520px}.ex-gallery-item .tb-gallery-trigger img{object-fit:cover}.trip-gallery .tb-gallery-trigger{height:100%;min-height:0}.trip-gallery .tb-gallery-trigger:first-child{height:100%}.trip-gallery .gallery-side .tb-gallery-trigger{min-height:0}.trip-gallery .tb-gallery-trigger::after{z-index:4}.tb-photo-credits{max-width:1250px;margin:0 auto 60px;padding:18px 5.5vw;border-top:1px solid #e0e4e4;border-bottom:1px solid #e0e4e4;font-size:12px;color:#616971}.tb-photo-credits summary{cursor:pointer;font-weight:800;letter-spacing:.07em;text-transform:uppercase;font-size:10px;color:#26302c;display:flex;justify-content:space-between;align-items:center}.tb-photo-credits summary span{font-size:19px;color:#cd5d20}.tb-photo-credits ul{padding-left:15px;margin:20px 0 10px}.tb-photo-credits li{line-height:1.85;margin-bottom:5px}.tb-photo-credits li a{color:#b7511d;text-decoration:underline}.tb-photo-credits p{line-height:1.8;font-size:11px}
/* Shared photo viewer on destination, experience and journey pages.
   Image stays contained inside a fixed viewport; controls never flow below it. */
.tb-lightbox[hidden], .tb-lightbox button[hidden]{display:none!important}
html.tb-gallery-open,body.tb-gallery-open{overflow:hidden;overscroll-behavior:none}
.tb-lightbox, .tb-lightbox *{box-sizing:border-box}
.tb-lightbox{
  position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;
  z-index:9999;background:rgba(11,17,19,.98);color:#fff;
  display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px;
  padding:clamp(58px,7vh,82px) clamp(16px,3.2vw,58px) clamp(24px,4vh,48px);
  overflow:hidden;font-family:Manrope,Arial,sans-serif;
}
.tb-lightbox__stage{
  position:relative;min-height:0;min-width:0;width:min(100%,1520px);
  margin:0 auto;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;
  align-items:center;column-gap:clamp(12px,2.5vw,32px);
}
.tb-lightbox__image{
  grid-column:2;display:block;min-width:0;min-height:0;width:100%;height:100%;
  max-width:100%;max-height:100%;object-fit:contain;
}
.tb-lightbox__details{
  width:min(100%,1232px);margin:auto;min-height:30px;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
}
.tb-lightbox__caption{margin:0;color:#e1e5e3;font:500 13px/1.6 Manrope,Arial,sans-serif;min-width:0}
.tb-lightbox__number{color:#aab8b4;white-space:nowrap;font:700 11px/1.6 Manrope,Arial,sans-serif;letter-spacing:.16em}
.tb-lightbox button{
  -webkit-appearance:none;appearance:none;width:48px;height:48px;padding:0;
  border-radius:50%;border:1px solid rgba(255,255,255,.42);
  color:#fff;background:rgba(35,49,48,.85);font:400 25px/1 Manrope,Arial,sans-serif;
  display:grid;place-items:center;cursor:pointer;transition:background .16s,border-color .16s;
}
.tb-lightbox button:hover{background:#bb531f;border-color:#bb531f}
.tb-lightbox button:focus-visible{outline:3px solid #ff751f;outline-offset:4px}
.tb-lightbox__close{position:absolute;top:15px;right:clamp(15px,3.2vw,58px);z-index:2}
.tb-lightbox__prev{grid-column:1;grid-row:1;justify-self:center}
.tb-lightbox__next{grid-column:3;grid-row:1;justify-self:center}
@media(max-width:820px){
  .tb-editorial-gallery{padding-block:65px 75px}
  .tb-editorial-gallery__heading{display:block}
  .tb-editorial-gallery__heading p{margin-top:14px}
  .tb-editorial-gallery__grid{grid-template-columns:1fr 1fr}
  .tb-editorial-gallery__grid .tb-gallery-trigger:first-child{min-height:320px;grid-column:span 2;grid-row:auto;height:320px}
  .tb-editorial-gallery__grid .tb-gallery-trigger{height:185px}
  .ex-gallery-item.featured .tb-gallery-trigger{min-height:330px}
}
@media(max-width:560px){
  .tb-editorial-gallery__grid{gap:7px}
  .tb-editorial-gallery__grid .tb-gallery-trigger:first-child{height:270px;min-height:270px}
  .tb-editorial-gallery__grid .tb-gallery-trigger{height:140px}
  .tb-lightbox{padding:68px 11px 28px;gap:12px}
  .tb-lightbox__stage{grid-template-columns:1fr;}
  .tb-lightbox__image{grid-column:1;grid-row:1;width:calc(100% - 26px);margin-inline:auto}
  .tb-lightbox__prev,.tb-lightbox__next{
    position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;
    z-index:1;grid-column:auto;grid-row:auto
  }
  .tb-lightbox__prev{left:0}
  .tb-lightbox__next{right:0}
  .tb-lightbox__close{top:12px;right:14px;width:42px;height:42px}
  .tb-lightbox__details{display:block;text-align:center;max-width:94%}
  .tb-lightbox__caption{font-size:12px;line-height:1.5}
  .tb-lightbox__number{display:block;margin-top:7px;font-size:10px}
  .tb-photo-credits{margin-bottom:30px}
}
@media(prefers-reduced-motion:reduce){.tb-lightbox button{transition:none}}

/* V7.6: preserve V5.1 gallery composition when a journey has 1–2 photos.
   Additional slots become visible as the editor adds licensed photographs. */
.trip-gallery--single{grid-template-columns:1fr;height:clamp(360px,48vw,690px)}
.trip-gallery--pair{grid-template-columns:1.27fr 1fr;height:clamp(360px,45vw,660px)}
.trip-gallery--pair .gallery-side{grid-template-rows:1fr}
.trip-gallery--single .tb-gallery-trigger,.trip-gallery--pair .tb-gallery-trigger{height:100%;min-height:0}
@media(max-width:720px){
 .trip-gallery--single,.trip-gallery--pair{display:grid;grid-template-columns:1fr;height:auto;min-height:0}
 .trip-gallery--single .tb-gallery-trigger,.trip-gallery--pair .tb-gallery-trigger{height:300px;min-height:0}
 .trip-gallery--pair .gallery-side{display:grid;grid-template-columns:1fr;grid-template-rows:1fr;height:240px}
 .trip-gallery--pair .gallery-side .tb-gallery-trigger{height:240px;min-height:0}
}
