.vvi-planning,.vvi-planning-supplement{margin:2rem 0;padding:1.5rem;border:1px solid #8885;border-radius:12px}.vvi-planning-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem}.vvi-planning-facts dt{font-size:.85rem;opacity:.8}.vvi-planning-facts dd{margin:.3rem 0 0;font-weight:700}.vvi-planning-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.7rem 1.5rem;padding-left:1.2rem}.vvi-planning-table{overflow-x:auto}.vvi-planning-table table{width:100%;border-collapse:collapse}.vvi-planning-table th,.vvi-planning-table td{text-align:left;padding:.75rem;border-bottom:1px solid #8885}.vvi-planning-review{font-size:.85rem;opacity:.85}.vvi-planning-supplement p{max-width:75ch}@media(max-width:480px){.vvi-planning,.vvi-planning-supplement{padding:1rem}.vvi-planning-facts{grid-template-columns:1fr 1fr;gap:1rem}.vvi-planning-links{display:block}.vvi-planning-links li{margin:.65rem 0}}

/* Voyage companion: same data, one visible presentation at the theme's 840px breakpoint. */
.vvi-companion{color:var(--color--text);line-height:1.45;text-align:left}
.vvi-companion h2{font-size:1.5rem;line-height:1.2;margin:0 0 1.5rem;font-weight:750}
.vvi-companion h3{font-size:1.125rem;line-height:1.3;margin:0 0 1rem;font-weight:700}
.vvi-companion__fact{display:flex;gap:.75rem;align-items:center;margin:.9rem 0}
.vvi-companion__fact>div{min-width:0}
.vvi-companion__fact strong,.vvi-companion__fact a{font-size:1rem;font-weight:700;overflow-wrap:anywhere}
.vvi-companion__fact>div>span{display:block;color:var(--color--text-secondary);font-size:.875rem;margin-top:.15rem}
.vvi-companion__icon[aria-hidden="true"]{display:flex!important;flex:0 0 1.75rem;align-items:center;justify-content:center;color:var(--color--text-link)}
.vvi-companion__icon .icon{width:1.75rem;height:1.75rem;margin:0}
.vvi-companion__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.25rem 0 .75rem;padding:0;gap:0}
.vvi-companion__metrics>div{position:relative;display:grid;grid-template-columns:1.5rem minmax(0,1fr);grid-template-rows:auto auto;column-gap:.4rem;padding:0 .6rem;border-right:1px solid var(--color--border);min-width:0}
.vvi-companion__metrics>div:first-child{padding-left:0}
.vvi-companion__metrics>div:last-child{border-right:0;padding-right:0}
.vvi-companion__metrics dt{display:contents}
.vvi-companion__metrics dt>.vvi-companion__icon{grid-column:1;grid-row:1 / 3;align-self:center}
.vvi-companion__metrics dt>.vvi-companion__icon .icon{width:1.5rem;height:1.5rem}
.vvi-companion__metrics dt>span:not(.vvi-companion__icon){grid-column:2;grid-row:2;font-size:.8rem;color:var(--color--text-secondary)}
.vvi-companion__metrics dd{grid-column:2;grid-row:1;font-size:1.35rem;line-height:1.25;font-weight:750;margin:0}
.vvi-companion__group{margin-top:1.3rem;padding-top:1.3rem;border-top:1px solid var(--color--border)}
.vvi-companion__group ul{list-style:none;padding:0;margin:0}
.vvi-companion__group li{padding:0;margin:0;border-bottom:1px solid var(--color--border)}
.vvi-companion__group li:last-child{border-bottom:0}
.vvi-companion__link{display:grid;grid-template-columns:1.75rem minmax(0,1fr) .75rem;gap:.65rem;align-items:center;padding:.8rem 0;min-height:52px;text-decoration:none}
.vvi-companion__link-copy{min-width:0;overflow-wrap:anywhere}
.vvi-companion__link-label{display:block;text-decoration:underline;text-underline-offset:3px;font-size:.9375rem;font-weight:600}
.vvi-companion__link-description{display:block;color:var(--color--text-secondary);font-size:.8125rem;line-height:1.4;margin-top:.2rem}
.vvi-companion__chevron[aria-hidden="true"]{display:block!important;color:var(--color--text-secondary)}
.vvi-companion__chevron .icon{width:.75rem;height:.75rem;margin:0}
.vvi-companion a:hover .vvi-companion__link-label{text-decoration-thickness:2px}
.vvi-companion a:focus-visible,.vvi-companion summary:focus-visible{outline:2px solid var(--color--text-link);outline-offset:4px;border-radius:2px}
.vvi-companion--inline{margin:2rem 0;padding:1.5rem 0;border-top:1px solid var(--color--border);border-bottom:1px solid var(--color--border)}
.vvi-companion--sidebar{display:none}
@media(min-width:600px) and (max-width:839px){.vvi-companion--inline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.vvi-companion--inline>h2{grid-column:1/-1;margin:0}.vvi-companion--inline>.vvi-companion__group{margin:0}}
@media(min-width:840px){.vvi-companion--inline{display:none}.site-sidebar>.vvi-companion--sidebar{display:block;padding:var(--size--spacing-l)}.site-sidebar>.vvi-companion--sidebar>h2{font-size:1.5rem}}

@media(max-width:839px){
    .vvi-companion--inline>h2{margin-bottom:1.25rem}
    .vvi-companion--inline .vvi-companion__essentials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
    .vvi-companion--inline .vvi-companion__essentials>h3{display:none}
    .vvi-companion--inline .vvi-companion__fact{margin:0;align-items:flex-start;gap:.5rem}
    .vvi-companion--inline .vvi-companion__fact>.vvi-companion__icon{flex-basis:1.4rem}
    .vvi-companion--inline .vvi-companion__fact .icon{width:1.4rem;height:1.4rem}
    .vvi-companion--inline .vvi-companion__metrics{grid-column:1/-1;margin:.5rem 0 0}
    .vvi-companion--inline .vvi-companion__group{margin-top:0;padding-top:0}
    .vvi-companion__disclosure>summary{cursor:pointer;padding:1rem 0;min-height:48px;font-size:1rem;font-weight:700}
    .vvi-companion__group-count{font-size:.75rem;font-weight:400;color:var(--color--text-secondary);margin-left:.6rem;white-space:nowrap}
    .vvi-companion__disclosure>summary:focus-visible{outline:2px solid var(--color--text-link);outline-offset:2px}
}
/* Keep the existing site-menu control inside the smallest supported voyage viewport. */
@media(max-width:360px){.single-voyage .site-header-row{gap:.4rem}}

/* Destination photographs retain their proportions and visible attribution. */
.vvi-port-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,480px);gap:2rem;align-items:center}
.vvi-port-intro__copy{min-width:0}
.vvi-port-intro .vvi-port-intro__image{margin:0;text-align:center}
.vvi-port-intro__image img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;border-radius:12px;background:white}
.vvi-port-intro__image figcaption{font-size:.8rem;color:var(--color--text-secondary);margin-top:.5rem}
@media(max-width:700px){.vvi-port-intro{grid-template-columns:1fr;gap:1rem}.vvi-port-intro .vvi-port-intro__image{width:100%;justify-self:center}}

/* Port option 2: compact editorial introduction, rich sidebar and narrow disclosures. */
.vvi-port-landing{color:var(--color--text)}
.vvi-port-breadcrumbs{font-size:.8rem;line-height:1.5;margin-bottom:1.5rem;color:var(--color--text-secondary)}
.vvi-port-breadcrumbs>span[aria-hidden]{display:inline!important;margin:0 .4rem}
.vvi-port-header .vvi-port-eyebrow{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;margin:0 0 .65rem}
.vvi-port-header h1{font-size:clamp(2rem,3.2vw,3rem);line-height:1.08;margin:0 0 1rem;letter-spacing:-.025em}
.vvi-port-header .vvi-port-lead{font-size:1.0625rem;line-height:1.5;margin:0 0 1rem;max-width:65ch}
.vvi-port-header .vvi-port-cta{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1.25rem;min-height:44px}
.vvi-port-cta .vvi-companion__icon{color:inherit;flex-basis:1.25rem}
.vvi-port-cta .icon{width:1.25rem;height:1.25rem}
.vvi-port-header .vvi-port-photo{margin:0}
.vvi-port-photo img{display:block;width:100%;height:auto;aspect-ratio:3.2;object-fit:cover;border-radius:6px}
.vvi-port-photo figcaption{font-size:.75rem;line-height:1.45;margin-top:.5rem;color:var(--color--text-secondary)}
.vvi-port-jumps{display:flex;flex-wrap:wrap;gap:1.5rem;margin:1.5rem 0;border-bottom:1px solid var(--color--border)}
.vvi-port-jumps a{padding:.65rem 0;text-underline-offset:5px;font-size:.9375rem;min-height:44px}
.vvi-port-jumps a:first-child{border-bottom:3px solid var(--color--text-link);font-weight:700}
.vvi-port-sailings,.vvi-port-notes{scroll-margin-top:100px}
.vvi-port-sailings__heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.vvi-port-sailings h2{font-size:1.5rem;margin:0;line-height:1.25}
.vvi-port-sailings__heading p{font-size:.8rem;color:var(--color--text-secondary);margin:0}
.vvi-port-month{display:flex;gap:.6rem;align-items:center;font-size:.8125rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;margin:1.5rem 0 .25rem}
.vvi-port-month:after{content:"";height:1px;flex:1;background:var(--color--border)}
.vvi-port-sailing{display:grid;grid-template-columns:100px minmax(0,1fr);gap:1rem;padding:1rem 0;border-bottom:1px solid var(--color--border);align-items:center}
.vvi-port-sailing time{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;line-height:1.35}
.vvi-port-sailing time strong{font-weight:650}
.vvi-port-sailing__link{display:flex;align-items:center;gap:1rem;min-width:0;color:var(--color--text);text-decoration:none}
.vvi-port-sailing__link img{width:100px;aspect-ratio:1.5;height:auto;object-fit:cover;border-radius:5px;flex:none}
.vvi-port-sailing__copy{flex:1;min-width:0;line-height:1.4}
.vvi-port-sailing__copy>strong{font-size:1rem;font-weight:750}
.vvi-port-sailing__copy h4{font-size:.9375rem;font-weight:400;margin:.25rem 0;line-height:1.4;overflow-wrap:anywhere}
.vvi-port-sailing__copy>span,.vvi-port-sailing__copy>small{display:block;font-size:.8125rem;color:var(--color--text-secondary)}
.vvi-port-sailing__link:hover h4{text-decoration:underline;text-underline-offset:3px}
.vvi-port-sailing__link>.vvi-companion__chevron{color:var(--color--text-link)}
.vvi-port-sailing a:focus-visible,.vvi-port-jumps a:focus-visible{outline:2px solid var(--color--text-link);outline-offset:4px}
.vvi-port-results-note,.vvi-port-companion__note{font-size:.8125rem;line-height:1.5;color:var(--color--text-secondary);margin:1.25rem 0}
.vvi-port-companion .vvi-companion__group{margin-top:1.25rem;padding-top:1.25rem}
.vvi-port-companion .vvi-companion__group h3{font-size:1rem;margin-bottom:.25rem}
.vvi-port-companion .vvi-companion__metrics{margin:0 0 1.25rem}
.vvi-port-sidebar{display:none}
.vvi-port-notes{margin-top:2rem}
@media(min-width:840px){.vvi-port-sidebar{display:inline-block}.vvi-port-sidebar>.vvi-port-companion{padding-left:1.5rem;border-left:1px solid var(--color--border);margin-top:var(--size--spacing-l)}}
@media(max-width:839px){
 .vvi-port-header h1{font-size:2rem}.vvi-port-header .vvi-port-lead{font-size:.9375rem}
 .vvi-port-breadcrumbs{margin-bottom:1rem}.vvi-port-photo img{aspect-ratio:2.5}
 .vvi-port-companion.vvi-companion--inline{display:block;margin:1.25rem 0;padding:1rem 0 0}
 .vvi-port-companion.vvi-companion--inline>h2{font-size:1.125rem;margin-bottom:1rem}
 .vvi-port-companion.vvi-companion--inline .vvi-companion__group{margin:0;padding:0}
 .vvi-port-companion .vvi-companion__disclosure>summary{padding:.8rem 0;font-size:.9375rem;min-height:44px}
 .vvi-port-jumps{display:none}.vvi-port-sailings__heading{display:block;margin-top:1.5rem}
 .vvi-port-sailings__heading p{margin-top:.4rem}
 .vvi-port-sailing{grid-template-columns:72px minmax(0,1fr);gap:.6rem;padding:.85rem 0}
 .vvi-port-sailing time{font-size:.75rem}.vvi-port-sailing__link{gap:.6rem}
 .vvi-port-sailing__link img{width:64px}.vvi-port-sailing__copy>strong{font-size:.875rem}
 .vvi-port-sailing__copy h4{font-size:.8125rem}.vvi-port-sailing__copy>span{font-size:.75rem}
}
@media(min-width:840px) and (max-width:1050px){.vvi-port-sailing__link img{width:64px}.vvi-port-sailing{grid-template-columns:80px minmax(0,1fr);gap:.65rem}.vvi-port-sailing__link{gap:.65rem}}
@media(max-width:360px){.tax-port .site-header-row{gap:.4rem}.vvi-port-sailing__link img{width:48px}.vvi-port-sailing{grid-template-columns:65px minmax(0,1fr);gap:.5rem}}

/* Neutralise editorial heading/figure padding inside the compact introduction. */
.vvi-port-header h1{padding:0}
.vvi-port-header .vvi-port-photo{padding:0}
.vvi-port-photo figcaption{text-align:left}
.vvi-port-companion .vvi-companion__metrics dt>span:not(.vvi-companion__icon){line-height:1.35}
@media(min-width:840px){.vvi-port-sailings,.vvi-port-notes{scroll-margin-top:160px}}

.vvi-port-companion .vvi-companion__link{box-sizing:border-box;min-height:48px;padding:.65rem 0}
.vvi-port-group--ships .vvi-companion__link{min-height:40px;padding:.4rem 0}
.vvi-port-group--ships .vvi-companion__icon .icon{width:1.25rem;height:1.25rem}

/* Optional live activity previews use the existing sidebar and mobile disclosure. */
[data-vvi-excursions][hidden]{display:none!important}
.vvi-excursions-desktop{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--color--border)}
.vvi-excursions h3{font-size:1.125rem;margin:0 0 .75rem;line-height:1.3}
.vvi-excursions__disclosure,.vvi-excursions__note{font-size:.75rem;line-height:1.45;color:var(--color--text-secondary);margin:.75rem 0}
.vvi-excursions ul{list-style:none;margin:0;padding:0}
.vvi-excursions li{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--color--border)}
.vvi-excursions__product{display:grid;grid-template-columns:80px minmax(0,1fr);gap:.75rem;padding:1rem 0;text-decoration:none;align-items:start}
.vvi-excursions__product img{width:80px;height:64px;object-fit:cover;border-radius:4px;display:block}
.vvi-excursions__copy>strong{display:block;font-size:.875rem;line-height:1.35;font-weight:650;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.vvi-excursions__copy>span{display:block;font-size:.75rem;margin-top:.4rem;color:var(--color--text-secondary);line-height:1.4}
.vvi-excursions__copy>.vvi-excursions__action{color:var(--color--text-link);font-weight:650}
.vvi-excursions__product:focus-visible{outline:2px solid var(--color--text-link);outline-offset:3px}
.vvi-excursions-mobile .vvi-excursions h3{display:none}
.vvi-excursions-mobile .vvi-excursions__disclosure{margin-top:0}

/* Port summary: selected editorial snapshot, independent of voyage metrics. */
.vvi-port-companion.vvi-companion>h2{font-size:1.25rem;line-height:1.3;font-weight:700;margin:0 0 1.25rem}
.vvi-port-summary{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;margin:0 0 1.25rem;padding:0}
.vvi-port-summary>div{min-width:0}
.vvi-port-summary dt,.vvi-port-summary dd{margin:0;padding:0}
.vvi-port-summary__primary{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .65rem;flex-basis:100%}
.vvi-port-summary__primary dd{order:-1;font-size:2.5rem;font-weight:750;letter-spacing:-.04em;line-height:1.15;font-variant-numeric:tabular-nums}
.vvi-port-summary__primary dt{font-size:1rem;line-height:1.4;color:var(--color--text-secondary)}
.vvi-port-summary__secondary{display:flex;align-items:center;gap:.3rem;font-size:.875rem;line-height:1.4}
.vvi-port-summary__secondary dt{display:contents}
.vvi-port-summary__secondary dt>span:not(.vvi-companion__icon){order:2;color:var(--color--text-secondary)}
.vvi-port-summary__secondary dd{order:1;font-size:.9375rem;font-weight:700;font-variant-numeric:tabular-nums}
.vvi-port-summary__secondary>.vvi-companion__icon,.vvi-port-summary__secondary dt>.vvi-companion__icon{flex:0 0 1.125rem;margin-right:.2rem}
.vvi-port-summary__secondary .vvi-companion__icon .icon{width:1.125rem;height:1.125rem}
@media(max-width:839px){.vvi-port-companion.vvi-companion>h2{font-size:1.0625rem;margin-bottom:.75rem}.vvi-port-summary{gap:.65rem 1.25rem;margin-bottom:1rem}.vvi-port-summary__primary dd{font-size:2.25rem}}

/* Upcoming sailings: photo-led editorial rows with the shared fleet badges. */
.vvi-port-sailing--editorial{display:block;padding:1.25rem 0}
.vvi-port-sailing--editorial .vvi-port-sailing__link{display:grid;grid-template-columns:144px minmax(0,1fr) .75rem;gap:1.25rem;align-items:center}
.vvi-port-sailing--editorial .vvi-port-sailing__link img{width:144px;height:96px;aspect-ratio:1.5;object-fit:cover;border-radius:5px}
.vvi-port-sailing--editorial .vvi-port-sailing__link--no-image{grid-template-columns:minmax(0,1fr) .75rem}
.vvi-port-sailing--editorial time.vvi-port-sailing__date{display:block;font-size:.75rem;font-weight:600;letter-spacing:.09em;line-height:1.35;text-transform:uppercase;color:var(--color--text-secondary);margin:0 0 .45rem}
.vvi-port-sailing--editorial .vvi-port-sailing__copy h4{font-size:1.125rem;font-weight:650;line-height:1.35;margin:0 0 .6rem;overflow-wrap:anywhere}
.vvi-port-sailing__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .65rem;color:var(--color--text-secondary);font-size:.8125rem;line-height:1.4}
.vvi-port-sailing__meta .ship-tag{font-size:.75rem;padding:.2rem .55rem;white-space:nowrap}
.vvi-port-sailing__meta>span:not(.ship-tag)+span:not(.ship-tag){padding-left:.65rem;border-left:1px solid var(--color--border)}
.vvi-port-sailing--editorial .vvi-port-sailing__copy>small{margin-top:.4rem}
@media(max-width:1050px){.vvi-port-sailing--editorial .vvi-port-sailing__link{grid-template-columns:112px minmax(0,1fr) .65rem;gap:.9rem}.vvi-port-sailing--editorial .vvi-port-sailing__link img{width:112px;height:84px}.vvi-port-sailing--editorial .vvi-port-sailing__link--no-image{grid-template-columns:minmax(0,1fr) .65rem}}
@media(max-width:599px){.vvi-port-sailing--editorial{padding:1rem 0}.vvi-port-sailing--editorial .vvi-port-sailing__link{grid-template-columns:76px minmax(0,1fr) .5rem;gap:.75rem;align-items:start}.vvi-port-sailing--editorial .vvi-port-sailing__link img{width:76px;height:76px}.vvi-port-sailing--editorial .vvi-port-sailing__link--no-image{grid-template-columns:minmax(0,1fr) .5rem}.vvi-port-sailing--editorial .vvi-port-sailing__copy h4{font-size:1rem;margin-bottom:.5rem}.vvi-port-sailing--editorial time.vvi-port-sailing__date{font-size:.6875rem;margin-bottom:.35rem}.vvi-port-sailing__meta{font-size:.75rem;gap:.35rem .5rem}.vvi-port-sailing--editorial .vvi-companion__chevron{align-self:center}}

/* Voyage companion: balanced essentials and equal, baseline-aligned counts. */
.vvi-voyage-companion{scroll-margin-top:6rem}
.vvi-voyage-companion.vvi-companion>h2{font-size:1.25rem;line-height:1.3;margin:0 0 1.25rem}
.vvi-voyage-companion .vvi-companion__essentials{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.vvi-voyage-companion .vvi-companion__fact{margin:0;gap:.65rem;align-items:center}
.vvi-voyage-companion .vvi-companion__fact>.vvi-companion__icon{flex-basis:1.25rem}
.vvi-voyage-companion .vvi-companion__fact>.vvi-companion__icon .icon{width:1.25rem;height:1.25rem}
.vvi-voyage-companion .vvi-companion__fact>div{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.vvi-voyage-companion .vvi-companion__fact>div>span{order:-1;margin:0;font-size:.6875rem;line-height:1.3;letter-spacing:.04em;text-transform:uppercase}
.vvi-voyage-companion .vvi-companion__fact strong,.vvi-voyage-companion .vvi-companion__fact a{font-size:.9375rem;line-height:1.35}
.vvi-voyage-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-column:1/-1;gap:0;margin:.25rem 0 0;padding:0;border:1px solid var(--color--border);border-radius:.5rem;overflow:hidden}
.vvi-voyage-metrics>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-width:0;padding:1rem .25rem;border-inline-end:1px solid var(--color--border);box-sizing:border-box}
.vvi-voyage-metrics>div:last-child{border-inline-end:0}
.vvi-voyage-metrics dt{display:flex;align-items:center;justify-content:center;gap:.3rem;margin:0;font-size:.75rem;font-weight:400;line-height:1.3;color:var(--color--text-secondary);white-space:nowrap}
.vvi-voyage-metrics dt>.vvi-companion__icon[aria-hidden="true"]{flex:0 0 1rem}
.vvi-voyage-metrics dt>.vvi-companion__icon .icon{width:1rem;height:1rem}
.vvi-voyage-metrics dd{order:-1;margin:0;font-size:1.75rem;font-weight:750;line-height:1;font-variant-numeric:tabular-nums;color:var(--color--text)}
.vvi-voyage-companion .vvi-companion__group{margin-top:1.25rem;padding-top:1.25rem}
.vvi-voyage-companion .vvi-companion__group h3{font-size:1rem;margin-bottom:.35rem}
.vvi-voyage-companion .vvi-companion__link{grid-template-columns:1.25rem minmax(0,1fr) .75rem;gap:.6rem;padding:.65rem 0;min-height:48px;box-sizing:border-box}
.vvi-voyage-companion .vvi-companion__link>.vvi-companion__icon .icon{width:1.25rem;height:1.25rem}
.vvi-voyage-companion .vvi-companion__link-label{font-size:.875rem;line-height:1.35}
.vvi-voyage-companion .vvi-companion__link-description{font-size:.75rem}
.vvi-voyage-disclosure-meta{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.vvi-voyage-disclosure-chevron[aria-hidden="true"]{display:flex!important;color:var(--color--text-link);transition:transform .15s ease}
.vvi-voyage-disclosure-chevron .icon{width:.75rem;height:.75rem;margin:0}
.vvi-voyage-companion details[open]>summary .vvi-voyage-disclosure-chevron{transform:rotate(90deg)}
@media(max-width:839px){
 .vvi-voyage-companion.vvi-companion--inline{display:block;margin:1.5rem 0;padding:1.25rem 0}
 .vvi-voyage-companion.vvi-companion>h2{font-size:1.125rem;margin-bottom:1rem}
 .vvi-voyage-companion .vvi-companion__essentials{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem .75rem}
 .vvi-voyage-companion .vvi-companion__fact{align-items:center;gap:.5rem}
 .vvi-voyage-companion .vvi-companion__fact strong,.vvi-voyage-companion .vvi-companion__fact a{font-size:.875rem}
 .vvi-voyage-companion .vvi-companion__group{margin:0;padding:0}
 .vvi-voyage-companion .vvi-companion__essentials+.vvi-companion__group{margin-top:1rem}
 .vvi-voyage-companion .vvi-companion__disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;min-height:48px;box-sizing:border-box;font-size:.9375rem;line-height:1.3;font-weight:600;color:var(--color--text);text-decoration:none;list-style:none}
 .vvi-voyage-companion .vvi-companion__disclosure>summary::-webkit-details-marker{display:none}
 .vvi-voyage-companion .vvi-companion__disclosure>summary::marker{content:''}
 .vvi-voyage-companion .vvi-companion__group-count{margin:0;font-size:.75rem;text-decoration:none}
 .vvi-voyage-companion details[open]>nav{padding-bottom:.75rem}
}
@media(prefers-reduced-motion:reduce){.vvi-voyage-disclosure-chevron{transition:none}}

.vvi-excursions__browse{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 0;min-height:44px;box-sizing:border-box;font-size:.8125rem;line-height:1.4;font-weight:650;text-underline-offset:3px}
.vvi-excursions__browse:focus-visible{outline:2px solid var(--color--text-link);outline-offset:3px}

.voyage-schedule .port-name .vvi-itinerary-port-link{display:inline-block;border-bottom:0;color:var(--color--text-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;min-height:24px;padding:.125rem 0;box-sizing:border-box}
.voyage-schedule .port-name .vvi-itinerary-port-link:hover{text-decoration-thickness:2px}
.voyage-schedule .port-name .vvi-itinerary-port-link:focus-visible{outline:2px solid var(--color--text-link);outline-offset:3px;border-radius:2px}

.vvi-excursions__browse>span[aria-hidden="true"]{display:block!important;flex-shrink:0}

.single-voyage .voyage-subtitle{text-transform:none;letter-spacing:.04em}
.vvi-port-month{text-transform:uppercase}

/* Port photography and sailing links follow the port landing-page hierarchy. */
.vvi-port-photo img{aspect-ratio:16 / 9;height:auto;object-fit:cover}
.vvi-port-sailing__copy h4{color:var(--color--text-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;border-bottom:0}

.vvi-port-fare-basis{font-size:.8125rem;line-height:1.5;color:var(--color--text-secondary);margin:0 0 1rem}
.vvi-port-sailing__fare{display:flex;flex-direction:column;gap:.2rem;min-height:2.8rem;margin-top:.6rem;color:var(--color--text)}
.vvi-port-sailing__fare strong{font-size:.875rem;font-weight:650}
.vvi-port-sailing__fare small{display:block;min-height:1rem;font-size:.6875rem;line-height:1.4;color:var(--color--text-secondary)}

/* Compact itinerary context under each port sailing; links remain independent of the voyage link. */
.vvi-port-sailing__schedule{margin:.75rem 0 0;color:var(--color--text-secondary);font-size:max(14px,.8rem);line-height:1.6;overflow-wrap:anywhere}
.vvi-port-sailing__schedule a{color:inherit;border-bottom:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}

.vvi-port-sailing__schedule>span[aria-hidden]{display:inline!important}
