.voyage-page { --voyage-ink:#112d37; --voyage-gold:#b68e4d; max-width:1240px; margin-inline:auto; color:var(--voyage-ink); }
.voyage-page > .intro { padding:clamp(2rem,7vw,6rem); border:0; border-radius:22px; background:linear-gradient(125deg,#102731,#255061); color:#fffaf0; }
.voyage-page > .intro h1 { color:inherit; font-size:clamp(2.4rem,7vw,5.5rem); line-height:1.06; }
.voyage-page > .intro .eyebrow { color:#efd49e; }
.voyage-page > .intro p { max-width:54ch; }
.voyage-filters { display:flex; flex-wrap:wrap; gap:.55rem; margin:1rem 0; }
.voyage-filters .button { padding:.5rem .9rem; border-radius:999px; }
.voyage-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1rem,3vw,2rem); margin:1.5rem 0 2.5rem; align-items:start; }
.voyage-card { min-width:0; overflow:hidden; background:#fffdf8; border:1px solid #dac9a8; border-radius:18px; box-shadow:0 12px 32px #10273112; overflow-wrap:anywhere; }
.voyage-card-detail { margin:1rem 0 2rem; }
.voyage-card-copy { padding:clamp(1rem,3vw,2rem); }
.voyage-card h2 { margin:0 0 .6rem; font-size:clamp(1.6rem,3vw,2.45rem); }
.voyage-cover figure,.voyage-album figure { min-width:0; margin:0; }
.voyage-cover figure > a,.voyage-album figure > a { display:block; }
.voyage-cover img,.voyage-album img { display:block; width:100%; max-width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; background:#e8e0cf; }
.voyage-cover figcaption { padding:.45rem 1rem; font-size:.8rem; color:#42535a; }
.voyage-album { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:1rem; margin:1rem 0; }
.voyage-album img { border-radius:10px; }
.voyage-album figcaption { padding-top:.4rem; overflow-wrap:anywhere; }
.voyage-page > .panel { margin-block:1.5rem; border-radius:18px; }
.voyage-delete { display:inline-block; margin-left:.7rem; vertical-align:top; }
.voyage-delete summary { cursor:pointer; color:#9c2929; }
.footer-contact .footer-phone,.rayana-phone-preview .floating-phone { display:inline-flex; box-sizing:border-box; width:var(--nav-phone-width,180px); max-width:100%; min-width:0; justify-content:center; align-items:center; }
.rayana-phone-preview { margin-block:.65rem; }
@media(max-width:650px) { .voyage-grid { grid-template-columns:minmax(0,1fr); } }

.public-page header .site-nav,
.navbar-preview-wrap .navbar-preview {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:var(--nav-gap,8px);
    overflow:visible;
}
.public-page header .site-nav > :is(a,details),
.navbar-preview-wrap .navbar-preview > span {
    flex:0 0 auto;
    width:auto;
    min-width:min(100%,var(--nav-width,120px));
    max-width:100%;
    box-sizing:border-box;
}
.public-page header .site-nav > a,
.public-page header .site-nav > details > summary,
.navbar-preview-wrap .navbar-preview > span {
    white-space:normal;
    overflow-wrap:anywhere;
    text-overflow:clip;
    height:auto;
    padding-inline:.85em;
}
.public-page header .site-nav > a,
.public-page header .site-nav > details > summary,
.navbar-preview-wrap .navbar-preview > span { min-height:var(--nav-height,46px); }
@media(max-width:650px) {
    .public-page header .site-nav > a,
    .public-page header .site-nav > details > summary {
        min-height:var(--nav-mobile-height,42px);
        font-size:var(--nav-mobile-font,13px);
    }
}

.public-page.nav-placement-inline header .nav {
    column-gap:clamp(8px,1vw,16px);
}
.public-page.nav-placement-inline header .site-nav {
    justify-content:flex-start;
}
.public-page header .site-nav > :is(a,details),
.navbar-preview-wrap .navbar-preview > span {
    min-width:min-content;
    flex:0 1 var(--nav-width,120px);
}
.public-page.nav-placement-inline header .site-nav > :is(a,details) {
    flex:0 0 auto;
    min-width:min(100%,clamp(0px,calc(var(--nav-width,120px) - 35px),95px));
}

/* The header grid assigns the menu all space between the actual logo and CTA. */
.public-page.nav-placement-inline > header .nav {
    grid-template-columns:max-content minmax(0,1fr) max-content;
    column-gap:clamp(8px,1vw,16px);
}
.public-page > header .nav > nav.site-nav {
    flex-wrap:wrap;
    overflow:visible;
    scrollbar-width:none;
    padding-inline:0;
}
.public-page.nav-placement-inline > header .nav > nav.site-nav {
    justify-content:flex-start;
}
.public-page > header .nav > nav.site-nav > :is(a,details) {
    flex:1 0 auto;
    width:auto;
    min-width:0;
    max-width:100%;
}
.public-page > header .nav > nav.site-nav > a,
.public-page > header .nav > nav.site-nav > details > summary {
    white-space:normal;
    overflow:visible;
}
@media(max-width:900px) {
    .public-page.nav-placement-inline > header .nav { grid-template-columns:minmax(0,1fr) auto; }
    .public-page.nav-placement-inline > header .nav > nav.site-nav { grid-column:1/-1; grid-row:2; }
}
