/* Gallery 1.6: EJ itinerary reference, adapted for static Unilinks.
   Opted-in review pages only. Source captions remain in the no-JS/print HTML. */
.ej-ul-mount .ej-ul-gallery.ej-ul-gallery-preview { position:relative; display:block; overflow:hidden; border-radius:5px; background:transparent; }
.ej-ul-mount .ej-ul-gallery.ej-ul-gallery-preview figure { margin:0; }
.ej-ul-mount .ej-ul-gallery.ej-ul-gallery-preview a { position:relative; display:block; cursor:zoom-in; }
.ej-ul-mount .ej-ul-gallery.ej-ul-gallery-preview a::after { display:none; }
.ej-ul-mount .ej-ul-gallery.ej-ul-gallery-preview img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; border-radius:5px; }
.ej-ul-mount .ej-ul-gallery.ej-ul-gallery-preview figcaption { display:none; }
.ej-ul-mount .ej-ul-gallery-preview .ej-ul-view-photos { position:absolute; right:16px; bottom:16px; z-index:1; display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border:0; border-radius:9999px; background:rgba(247,243,236,.95); color:#0c2240; font:600 11.5px/1.5 Mulish,system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; box-shadow:0 6px 18px rgba(12,34,64,.22); pointer-events:none; transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1); }
.ej-ul-mount .ej-ul-gallery-preview .ej-ul-view-photos svg { width:14px; height:14px; flex:none; }
.ej-ul-mount .ej-ul-gallery-preview a:focus-visible { outline:3px solid #c6a15b; outline-offset:-4px; }
.ej-ul-mount .ej-ul-gallery-preview a:hover .ej-ul-view-photos { background:#f7f3ec; color:#7f5d23; box-shadow:0 8px 24px rgba(12,34,64,.3); }

/* A stable control row and a separate photo+caption group: no bottom-pinned caption. */
dialog.ej-ul-dialog.ej-ul-dialog-gallery { inset:0; width:100%; max-width:100%; height:100%; height:100dvh; max-height:100dvh; margin:0; padding:0; border:0; border-radius:0; overflow:hidden; background:transparent; color:#fbf9f4; font:16px/1.5 Mulish,Arial,sans-serif; }
dialog.ej-ul-dialog.ej-ul-dialog-gallery::backdrop { background:rgb(8 24 48 / 94%); backdrop-filter:blur(4px); }
dialog.ej-ul-dialog-gallery .ej-ul-viewer { box-sizing:border-box; display:grid; grid-template-rows:48px minmax(0,1fr) 52px; height:100%; padding:8px 88px 12px; gap:8px; }
dialog.ej-ul-dialog-gallery .ej-ul-viewer-stage { min-height:0; overflow:auto; overscroll-behavior:contain; display:flex; align-items:center; flex-direction:column; }
dialog.ej-ul-dialog-gallery .ej-ul-viewer-media { flex:none; width:100%; margin:auto 0; display:flex; align-items:center; flex-direction:column; }
dialog.ej-ul-dialog-gallery .ej-ul-viewer-media picture { display:flex; width:100%; justify-content:center; min-height:0; }
dialog.ej-ul-dialog.ej-ul-dialog-gallery .ej-ul-viewer-image { display:block; width:auto; height:auto; max-width:100%; max-height:70dvh; object-fit:contain; border-radius:5px; box-shadow:0 32px 90px #0007; }
dialog.ej-ul-dialog.ej-ul-dialog-gallery .ej-ul-caption { box-sizing:border-box; width:100%; max-width:760px; padding:12px 4px 0; margin:0; color:#f7f3ec; text-align:center; font:italic 400 clamp(23px,1.9vw,27px)/1.35 'Cormorant Garamond',Georgia,serif; overflow-wrap:anywhere; }
dialog.ej-ul-dialog-gallery .ej-ul-caption[hidden], dialog.ej-ul-dialog-gallery [hidden] { display:none; }
dialog.ej-ul-dialog-gallery .ej-ul-viewer-nav { display:flex; align-items:center; justify-content:center; gap:16px; }
dialog.ej-ul-dialog-gallery button { display:inline-flex; align-items:center; justify-content:center; flex:none; width:48px; height:48px; min-width:44px; min-height:44px; margin:0; padding:0; color:#f7f3ec; border:0; border-radius:50%; background:#ffffff1a; cursor:pointer; }
dialog.ej-ul-dialog-gallery button:hover { background:#ffffff30; }
dialog.ej-ul-dialog-gallery button svg { width:24px; height:24px; pointer-events:none; }
dialog.ej-ul-dialog-gallery button:focus-visible { outline:2px solid #dcc38a; outline-offset:3px; }
dialog.ej-ul-dialog-gallery .ej-ul-close { position:absolute; right:16px; top:8px; width:48px; height:48px; min-height:48px; padding:0; gap:0; background:transparent; color:#f7f3ec; border:0; border-radius:0; margin:0; font:600 16px/1.5 Mulish,Arial,sans-serif; }
dialog.ej-ul-dialog-gallery .ej-ul-close svg { width:22px; height:22px; }
dialog.ej-ul-dialog-gallery .ej-ul-close:hover { color:#dcc38a; background:transparent; }
dialog.ej-ul-dialog-gallery .ej-ul-viewer-nav [data-previous] { position:absolute; top:50%; left:24px; transform:translateY(-50%); }
dialog.ej-ul-dialog-gallery .ej-ul-viewer-nav [data-next] { position:absolute; top:50%; right:24px; transform:translateY(-50%); }
dialog.ej-ul-dialog-gallery .ej-ul-count { margin:0; min-width:68px; text-align:center; font:16px/1.5 Marcellus,Georgia,serif; letter-spacing:.08em; color:#f7f3eccc; }
dialog.ej-ul-dialog-gallery .ej-ul-photo-error { padding:24px; max-width:600px; text-align:center; color:#f7f3ec; }
@media(max-width:639px) {
 .ej-ul-mount .ej-ul-view-photos .ej-ul-view-word { display:none; }
 dialog.ej-ul-dialog-gallery .ej-ul-viewer { padding:8px 12px max(12px,env(safe-area-inset-bottom)); }
 dialog.ej-ul-dialog-gallery .ej-ul-close { right:8px; }
 dialog.ej-ul-dialog-gallery .ej-ul-viewer-nav [data-previous], dialog.ej-ul-dialog-gallery .ej-ul-viewer-nav [data-next] { position:static; transform:none; width:44px; height:44px; }
}
@media(max-height:450px) {
 dialog.ej-ul-dialog-gallery .ej-ul-viewer { grid-template-rows:48px minmax(0,1fr) 44px; gap:4px; padding-top:4px; padding-bottom:4px; }
 dialog.ej-ul-dialog-gallery .ej-ul-close { top:4px; }
}
@media print {
 .ej-ul-mount .ej-ul-gallery.ej-ul-gallery-preview { display:grid; overflow:visible; background:transparent; }
 .ej-ul-mount .ej-ul-gallery.ej-ul-gallery-preview figcaption { display:block; }
 .ej-ul-mount .ej-ul-gallery-preview .ej-ul-view-photos { display:none; }
}

/* Match the destination photo reference: DestPickCard uses rounded-[5px]. */
.ej-ul-mount figure img, .ej-ul-mount a[data-ej-inline-photo] { border-radius:5px; }
/* Explicitly override the older layout variants while preserving their compositions. */
.ej-ul-mount .ej-ul-catalog.ej-ul-source-first figure img { border-radius:5px; }
.ej-ul-mount .ej-ul-source-first .ej-ul-gallery.ej-ul-gallery-preview img { border-radius:5px; aspect-ratio:auto; object-fit:contain; }

/* Preserve the actual photograph. Portraits never become wide cropped banners. */
.ej-ul-mount .ej-ul-catalog .ej-cat-story-row figure img { height:auto; aspect-ratio:auto; object-fit:contain; }
.ej-ul-mount .ej-ul-catalog .ej-cat-story-row a[data-ej-inline-photo] { margin-inline:auto; }
.ej-ul-mount .ej-ul-catalog .ej-cat-portrait-story { display:flow-root; }
.ej-ul-mount .ej-ul-catalog .ej-cat-portrait-story > figure { float:left; width:40%; max-width:400px; margin:0 36px 24px 0; }
.ej-ul-mount .ej-ul-catalog .ej-cat-portrait-story.ej-cat-reverse > figure { float:right; margin:0 0 24px 36px; }
.ej-ul-mount .ej-ul-catalog .ej-cat-portrait-story > div { max-width:none; margin:0; }
.ej-ul-mount .ej-ul-source-first .ej-ul-gallery.ej-ul-gallery-preview a { aspect-ratio:auto; overflow:hidden; margin-inline:auto; }
.ej-ul-mount .ej-ul-source-first .ej-ul-gallery.ej-ul-gallery-preview picture { position:static; display:block; width:100%; }
.ej-ul-mount .ej-ul-source-first .ej-ul-gallery.ej-ul-gallery-preview img { width:100%; height:auto; max-width:100%; max-height:none; aspect-ratio:auto; object-fit:contain; }
@media(max-width:720px) {
 .ej-ul-mount .ej-ul-catalog .ej-cat-portrait-story > figure,
 .ej-ul-mount .ej-ul-catalog .ej-cat-portrait-story.ej-cat-reverse > figure { float:none; width:100%; max-width:400px; margin:0 auto 26px; }
}
@media print {
 .ej-ul-mount .ej-ul-source-first .ej-ul-gallery.ej-ul-gallery-preview picture { position:static; }
 .ej-ul-mount .ej-ul-source-first .ej-ul-gallery.ej-ul-gallery-preview a { aspect-ratio:auto; }
}

/* Private service uses the approved muted gold; group and mixed labels remain muted cream. */
.ej-ul-mount .ej-ul-source-first .ej-ul-service-badges { margin:24px 0 0; }
.ej-ul-mount .ej-ul-source-first .ej-ul-service-badge { display:block; background:none; border:0; border-radius:0; padding:0; box-shadow:none; cursor:default; font:400 25px/1.4 Marcellus,Georgia,serif; letter-spacing:.065em; text-transform:uppercase; color:rgb(247 243 236 / 80%); }
.ej-ul-mount .ej-ul-source-first .ej-ul-service-badge.ej-format-private { color:#dcc38a; }
.ej-ul-mount .ej-ul-source-first .ej-ul-service-badge.ej-format-group { font-size:22px; }
.ej-ul-mount .ej-ul-source-first .ej-ul-service-badge.ej-format-mixed { font-size:20px; }
.ej-ul-mount .ej-ul-source-first .ej-format-benefit { display:block; color:rgb(247 243 236 / 80%); font-size:inherit; margin-top:5px; }
@media(max-width:720px) {
 .ej-ul-mount .ej-ul-source-first .ej-ul-service-badge { font-size:22px; }
 .ej-ul-mount .ej-ul-source-first .ej-ul-service-badge.ej-format-group { font-size:20px; }
 .ej-ul-mount .ej-ul-source-first .ej-ul-service-badge.ej-format-mixed { font-size:18px; }
 .ej-ul-mount .ej-ul-source-first .ej-format-benefit { font-size:inherit; letter-spacing:inherit; }
}
@media print {
 .ej-ul-mount .ej-ul-source-first .ej-ul-service-badge.ej-format-private,
 .ej-ul-mount .ej-ul-source-first .ej-ul-service-badge,
 .ej-ul-mount .ej-ul-source-first .ej-format-benefit { color:black; }
}

/* The photo itself defines its frame. Only the gallery preview adds View N photos. */
.ej-ul-mount .ej-ul-source-first .ej-ul-gallery.ej-ul-gallery-preview { background:transparent; }
.ej-ul-mount .ej-ul-source-first a[data-ej-inline-photo]::after { display:none; }

/* Selected larger hero, with original opening and a separate gallery below. */
.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-ul-hero{min-height:clamp(640px,88svh,860px);align-items:flex-end}
.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-ul-hero::after{background:linear-gradient(90deg,rgba(8,24,48,.72) 0%,rgba(8,24,48,.33) 65%,rgba(8,24,48,.12)),linear-gradient(0deg,rgba(8,24,48,.87),transparent 80%)}
.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-ul-hero-content{position:relative;z-index:2;max-width:1200px;width:100%;padding:130px 40px 100px;pointer-events:none}
.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-ul-hero-content>*{pointer-events:auto}
.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-ul-hero h1{font-size:clamp(46px,5.2vw,72px);line-height:1.07;max-width:980px;letter-spacing:-.025em;text-wrap:balance}
.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-ul-service-badges{margin-top:24px}
.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-hero-deck{font:400 23px/1.55 Mulish,Arial,sans-serif;color:#f7f3ec;max-width:760px;margin:28px 0 0;text-wrap:pretty}
.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-hero-deck strong{font-weight:600}
@media(max-width:720px){
.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-ul-hero{min-height:0}
.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-ul-hero-content{padding:130px 24px 96px}
.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-ul-hero h1{font-size:clamp(36px,9.1vw,50px);line-height:1.1}
.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-hero-deck{font-size:20px;line-height:1.55;margin-top:24px}
.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-ul-service-badges{margin-top:22px}
}
@media(max-height:500px) and (min-width:721px){.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-ul-hero{min-height:0}.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-ul-hero-content{padding-top:64px;padding-bottom:90px}}
/* Match this long history block with two related source photographs. */
.ej-ul-mount .ej-ul-catalog .ej-cat-story-row.ej-colonia-history{align-items:start}
.ej-ul-mount .ej-colonia-history .ej-cat-photo-stack{display:grid;gap:20px;min-width:0}
.ej-ul-mount .ej-colonia-history .ej-cat-photo-stack figure{margin:0}
@media(max-width:900px){
.ej-ul-mount .ej-ul-catalog .ej-cat-story-row.ej-colonia-history{grid-template-columns:minmax(0,1fr)}
.ej-ul-mount .ej-colonia-history .ej-cat-photo-stack{display:contents}
.ej-ul-mount .ej-colonia-history .ej-cat-photo-stack>figure:first-child{order:1}
.ej-ul-mount .ej-colonia-history>div:not(.ej-cat-photo-stack){order:2}
.ej-ul-mount .ej-colonia-history .ej-cat-photo-stack>figure:last-child{order:3}
}
@media print{.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-ul-hero{min-height:0}.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-ul-hero-content{padding:24px 0;color:#0c2240}.ej-ul-mount .ej-ul-catalog.ej-hero-concept .ej-hero-deck{color:#0c2240}}

/* Approved shared behavior; original per-tour/property compositions remain. */
.ej-ul-mount .ej-ul-gallery.ej-ul-gallery-preview a { margin-inline:auto; }
.ej-ul-mount .ej-ul-gallery.ej-ul-gallery-preview a:hover img { filter:none; }
.ej-ul-mount .ej-ul-gallery.ej-ul-gallery-preview picture { display:block; width:100%; position:static; }
.ej-ul-mount .ej-ul-gallery.ej-ul-gallery-preview img { max-height:none; background:transparent; }
.ej-ul-mount a[data-ej-inline-photo] { position:relative; display:block; margin-inline:auto; cursor:zoom-in; }
.ej-ul-mount a[data-ej-inline-photo]::after { display:none; }
.ej-ul-mount a[data-ej-inline-photo] img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; border-radius:5px; }
.ej-ul-mount a[data-ej-inline-photo]:focus-visible { outline:3px solid #c6a15b; outline-offset:4px; }
.ej-ul-mount .ej-ul-catalog .ej-cat-story-row { align-items:start; }
.ej-ul-mount .ej-ul-catalog .ej-cat-opening { align-items:start; }
.ej-ul-mount .ej-ul-catalog .ej-cat-opening:has(.ej-cat-intro:empty) { display:block; }
.ej-ul-mount .ej-ul-catalog .ej-cat-opening:has(.ej-cat-intro:empty) .ej-sf-gallery { max-width:1000px; margin:auto; }
.ej-ul-mount .ej-ul-catalog .ej-cat-opening:has(.ej-cat-intro:empty) .ej-cat-intro { display:none; }
.ej-ul-mount .ej-ul-source-first .ej-ul-details .ej-ul-facts { grid-template-columns:minmax(0,1fr); }
.ej-ul-mount .ej-ul-source-first .ej-ul-details .ej-ul-facts dd { font-size:18px; }
.ej-ul-mount .ej-ul-source-first .ej-sf-attribution { font-size:18px; line-height:1.6; }
/* Property identity and the actual room category stay distinct from tour labels. */
.ej-hotel-approved .ej-hotel-hero { height:auto; max-height:none; min-height:clamp(640px,88svh,860px); }
.ej-hotel-approved .ej-hotel-hero::after { background:linear-gradient(90deg,rgba(8,24,48,.66),rgba(8,24,48,.14)),linear-gradient(0deg,rgba(8,24,48,.88),transparent 90%); }
.ej-hotel-approved .ej-hotel-hero-copy { max-width:1200px; width:100%; padding:120px clamp(24px,6vw,96px) 96px; }
.ej-hotel-approved .ej-hotel-hero-copy h1 { font-size:clamp(46px,5.2vw,72px); line-height:1.07; }
.ej-hotel-approved .ej-hotel-hero-copy>p:not(.ej-hotel-hero-line) { font:400 24px/1.45 Marcellus,Georgia,serif; color:rgb(247 243 236 / 80%); }
.ej-hotel-approved .ej-hotel-hero-copy>.ej-hotel-hero-line { font:400 25px/1.5 Mulish,Arial,sans-serif; color:#f7f3ec; max-width:800px; margin-top:28px; text-wrap:pretty; }
.ej-hotel-approved .ej-hotel-opening { display:block; max-width:1180px; margin:auto; }
.ej-hotel-approved .ej-hotel-opening>div { max-width:100%; }
.ej-hotel-approved .ej-hotel-feature.has-photo { align-items:start; }
.ej-hotel-approved .ej-hotel-feature figure { min-width:0; }
.ej-hotel-approved .ej-hotel-feature .ej-ul-photo-portrait { max-width:400px; margin-inline:auto; }
.ej-hotel-approved .ej-hotel-gallery { max-width:1080px; margin:0 auto 42px; padding-inline:24px; }
.ej-hotel-approved .ej-hotel-gallery .ej-ul-gallery.ej-ul-gallery-preview img { max-height:none; }
.ej-hotel-approved .ej-hotel-gallery .ej-ul-gallery.ej-ul-gallery-preview figure { margin:0; }
.ej-hotel-approved .ej-hotel-feature.has-photo>div { min-width:0; }
@media(max-width:900px) {
 .ej-ul-mount .ej-ul-catalog .ej-cat-story-row:not(.ej-cat-portrait-story),
 .ej-ul-mount .ej-ul-catalog .ej-cat-opening { grid-template-columns:minmax(0,1fr); }
 .ej-ul-mount .ej-ul-catalog .ej-cat-story-row.ej-cat-reverse>figure { order:0; }
 .ej-hotel-approved .ej-hotel-feature.has-photo { display:block; }
 .ej-hotel-approved .ej-hotel-feature.has-photo figure { margin-bottom:28px; }
}
@media(max-width:720px) {
 .ej-hotel-approved .ej-hotel-hero { min-height:0; max-height:none; }
 .ej-hotel-approved .ej-hotel-hero-copy { padding:130px 24px 96px; }
 .ej-hotel-approved .ej-hotel-hero-copy h1 { font-size:clamp(36px,9.1vw,50px); }
 .ej-hotel-approved .ej-hotel-hero-copy>p:not(.ej-hotel-hero-line) { font-size:21px; }
 .ej-hotel-approved .ej-hotel-hero-copy>.ej-hotel-hero-line { font-size:20px; line-height:1.55; margin-top:24px; }
 .ej-hotel-approved .ej-hotel-gallery { padding-inline:22px; }
}
@media print {
 .ej-hotel-approved .ej-hotel-hero { min-height:0; }
 .ej-hotel-approved .ej-hotel-hero-copy { padding:24px; }
 .ej-hotel-approved .ej-hotel-hero-copy>p { color:black; }
}

.ej-ul-mount .ej-ul-source-first a[data-ej-inline-photo][data-ej-caption] img { height:auto; aspect-ratio:auto; object-fit:contain; }
.ej-hotel-approved .ej-hotel-hero:not(:has(picture)) { min-height:0; }


/* Individually selected, related photo pairs; the full gallery remains on every screen. */
.ej-ul-mount .ej-ul-catalog .ej-cat-story-row.ej-editorial-paired { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; }
.ej-ul-mount .ej-editorial-paired .ej-cat-photo-stack { display:grid; gap:22px; min-width:0; }
.ej-ul-mount .ej-editorial-paired .ej-cat-photo-stack figure { margin:0; }
.ej-ul-mount .ej-editorial-paired.ej-cat-reverse .ej-cat-photo-stack { order:2; }
.ej-ul-mount .ej-ul-catalog .ej-cat-story-row.ej-cat-text-only { display:block; max-width:1000px; }
.ej-ul-mount .ej-ul-catalog .ej-cat-story-row.ej-cat-text-only>div { max-width:860px; margin:auto; }
@media(max-width:900px) {
 .ej-ul-mount .ej-ul-catalog .ej-cat-story-row.ej-editorial-paired { grid-template-columns:minmax(0,1fr); }
 .ej-ul-mount .ej-editorial-paired.ej-cat-reverse .ej-cat-photo-stack { order:0; }
 .ej-ul-mount .ej-editorial-paired .ej-editorial-second { display:none; }
}
@media print { .ej-ul-mount .ej-editorial-paired .ej-editorial-second { display:block; } }
