.travel-review-carousel{--review-accent: #ef6a4c;--review-arrow-size: 54px;--review-phone-width: 236px;--review-gap: 28px;display:grid;grid-template-columns:var(--review-arrow-size) var(--review-phone-width) var(--review-arrow-size);align-items:center;justify-content:center;gap:var(--review-gap);box-sizing:border-box;max-width:100%}.travel-review-carousel__arrow{display:grid;place-items:center;width:var(--review-arrow-size);height:var(--review-arrow-size);padding:0;color:var(--review-accent);border:0;border-radius:50%;background:transparent;cursor:pointer;transition:color .2s ease,transform .2s ease}.travel-review-carousel__arrow svg{display:block;width:min(30px,58%);height:min(30px,58%);overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(hover:hover){.travel-review-carousel__arrow:hover{transform:translateY(-2px)}}.travel-review-phone{position:relative;width:100%;aspect-ratio:1680 / 3403;min-width:0;overflow:hidden;border-radius:12.5%/6.2%;background:#08090b;filter:drop-shadow(0 18px 28px rgba(25,17,51,.2));isolation:isolate;transform:translateZ(0);touch-action:pan-y;cursor:grab}.travel-review-phone:active{cursor:grabbing}.travel-review-phone__screen{position:absolute;z-index:1;top:1.7%;right:3.9%;bottom:1.9%;left:3.9%;overflow:hidden;border-radius:12%/5.9%;background:#08090b;contain:layout paint;clip-path:inset(0 round 12% / 5.9%);-webkit-mask-image:-webkit-radial-gradient(white,black);transform:translateZ(0)}.travel-review-phone__slides{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;overflow:hidden;list-style:none}.travel-review-phone__slide{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease}.travel-review-phone__slide[data-active=true]{opacity:1;visibility:visible}.travel-review-phone__slide img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center top;transform:translateZ(0)}.travel-review-phone__frame{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.travel-review-carousel__counter{grid-column:1 / -1;margin:14px 0 0;text-align:center}@media(max-width:560px){.travel-review-carousel{--review-arrow-size: 44px;--review-phone-width: min(236px, calc(100vw - 104px) );--review-gap: 4px;width:100%;padding-inline:4px}.travel-review-carousel__arrow{min-width:44px;min-height:44px}}@media(prefers-reduced-motion:reduce){.travel-review-phone__slide,.travel-review-carousel__arrow{transition:none}}
/* Advertising galleries: a definite containing block, without nested GPU/mask
   layers that Safari can composite behind the opaque authored phone frame. */
main[data-advertising-tour-tablet] [data-advertising-review-hydrated] { z-index: 20 !important; }
main[data-advertising-tour-tablet] [data-advertising-review-hydrated] > .tn-atom__gallery { display:block !important; position:relative; width:100%; height:100%; }
main[data-advertising-tour-tablet] .advertising-review-gallery { position:absolute !important; inset:0; }
main[data-advertising-tour-tablet] .travel-review-phone,
main[data-advertising-tour-tablet] .travel-review-phone__screen,
main[data-advertising-tour-tablet] .travel-review-phone__slide img { transform:none; }
main[data-advertising-tour-tablet] .travel-review-phone__screen { contain:none; clip-path:none; -webkit-mask-image:none; }
main[data-advertising-tour-tablet] .travel-review-phone { cursor:zoom-in; }
main[data-advertising-tour-tablet] [data-advertising-review-hydrated] .advertising-review-gallery .travel-review-phone { border-radius:12% / 6%; }
/* The modal is in the browser top layer: independent of Zero Block zoom,
   transforms, phone decoration, site-shell widgets and page-specific selectors. */
.travel-review-lightbox { position:fixed; inset:0; box-sizing:border-box; width:100%; max-width:none; height:100%; max-height:none; margin:0; padding:24px; border:0; color:#fff; background:rgba(0,0,0,.88); overflow:hidden; }
.travel-review-lightbox::backdrop { background:rgba(0,0,0,.88); }
.travel-review-lightbox[open] { display:flex; align-items:center; justify-content:center; }
.travel-review-lightbox__panel { position:relative; display:grid; grid-template-columns:48px minmax(0,520px) 48px; grid-template-rows:minmax(0,1fr) auto; align-items:center; gap:12px; width:min(640px,100%); height:100%; min-height:0; max-width:100%; max-height:100%; }
.travel-review-lightbox__viewport { min-width:0; min-height:0; width:100%; height:100%; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; touch-action:pan-y pinch-zoom; }
.travel-review-lightbox__viewport:focus-visible { outline:2px solid #fff; outline-offset:2px; }
/* Readability owns the width, not the file's native resolution or its height.
   A long portrait scrolls inside the viewport; it is never cropped/shrunk to fit. */
.travel-review-lightbox__image { display:block; width:100%; height:auto; max-width:none; max-height:none; object-fit:contain; touch-action:pan-y pinch-zoom; user-select:none; }
.travel-review-lightbox button { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid #fff8; border-radius:50%; background:#222; color:#fff; font:32px/1 Arial,sans-serif; cursor:pointer; }
.travel-review-lightbox button:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.travel-review-lightbox [data-review-close] { position:fixed; top:12px; right:12px; z-index:1; }
.travel-review-lightbox p { grid-column:1/-1; margin:0; text-align:center; font:16px/1.4 Arial,sans-serif; }
/* Desktop/tablet: fit the whole portrait to the available viewport height.
   Mobile retains the accepted full-width, internally scrolling reader below. */
@media(min-width:561px) {
  .travel-review-lightbox__panel { width:auto; height:auto; grid-template-columns:48px minmax(0,auto) 48px; grid-template-rows:auto auto; }
  .travel-review-lightbox__viewport { display:flex; align-items:center; justify-content:center; width:auto; height:auto; overflow:visible; }
  .travel-review-lightbox__image { width:auto; height:min(90dvh,calc(100dvh - 84px)); max-width:calc(100vw - 168px); object-fit:contain; }
}
@media(max-width:560px) {
  .travel-review-lightbox { padding:64px 0 12px; }
  .travel-review-lightbox__panel { width:100%; grid-template-columns:1fr 1fr; grid-template-rows:minmax(0,1fr) auto auto; gap:8px; }
  .travel-review-lightbox__viewport { grid-column:1/-1; grid-row:1; justify-self:center; width:92vw; }
  .travel-review-lightbox [data-review-modal-prev] { justify-self:end; }
  .travel-review-lightbox [data-review-modal-next] { justify-self:start; }
}
