/* Local Zao multipage candidate. Existing destination pages do not use these selectors. */
html.v2-zao-preview { scroll-behavior: auto; scroll-padding-top: var(--zpv-sticky-offset, 4.5rem); }
html.v2-zao-preview body { margin: 0; color: #193a50; background: #f7f8f6; font-family: "Noto Sans TC", "Microsoft JhengHei", sans-serif; line-height: 1.65; }
.v2-zao-preview *, .v2-zao-preview *::before, .v2-zao-preview *::after { box-sizing: border-box; }
.v2-zao-preview [hidden] { display: none !important; }
.v2-zao-preview :is(button, input, select) { font: inherit; }
.v2-zao-preview :is(a, button, summary, input, select):focus-visible { outline: 3px solid #126b9a; outline-offset: 4px; }
.zpv-container { width: min(1160px, calc(100% - 64px)); margin-inline: auto; min-width: 0; }
.zpv-fallback-nav { display: flex; flex-wrap: wrap; gap: 1rem; padding: 1rem; color: white; background: #06285f; }
.zpv-fallback-nav a { color: inherit; }
.zpv-preview-note { color: #6c592e; background: #f6efdc; font-size: .76rem; }
.zpv-preview-note .zpv-container { display: flex; justify-content: space-between; gap: .75rem; padding-block: .45rem; }
.zpv-preview-note b { display: inline-block; margin-right: .5rem; font-weight: 750; }
.zpv-breadcrumb { padding-block: 1rem .65rem; color: #70808b; font-size: .76rem; }
.zpv-breadcrumb nav { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.zpv-breadcrumb a { color: #587186; text-decoration: none; }
.zpv-section-nav { position: sticky; top: 0; z-index: 35; border-bottom: 1px solid #dfe6e8; background: #f7f8f6; }
.zpv-section-nav > div { display: flex; flex-wrap: nowrap; align-items: stretch; gap: 1.3rem; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #b2c3ca transparent; }
.zpv-section-nav a { display: flex; flex: 0 0 auto; align-items: center; min-height: 48px; padding: 3px .15rem 0; border-bottom: 3px solid transparent; color: #536c7c; text-decoration: none; font-size: .88rem; font-weight: 650; white-space: nowrap; }
.zpv-section-nav a:focus-visible { outline-offset: -3px; }
.zpv-section-nav a[aria-current="page"] { color: #163a50; border-bottom-color: #bc9154; }
.zpv-section-nav a:hover { color: #126b9a; }
.zpv-nav-hint { display: none; margin-block: 0; padding-block: .1rem .25rem; color: #617887; font-size: .65rem; text-align: right; }
.zpv-section-nav[data-overflow="true"] .zpv-nav-hint { display: block; }
.zpv-hero { position: relative; isolation: isolate; min-height: 390px; margin-top: 1.4rem; overflow: hidden; border-radius: 1rem; background: #294c66; }
.zpv-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgb(16 45 75 / 88%) 0%, rgb(16 45 75 / 62%) 42%, rgb(16 45 75 / 5%) 82%); }
.zpv-hero-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.zpv-hero-copy { max-width: 44rem; padding: 3rem; color: #fff; }
.zpv-hero-copy h1 { margin: .35rem 0 .8rem; color: #fff; font-size: clamp(2.1rem, 4vw, 3.25rem); font-weight: 750; letter-spacing: .08em; line-height: 1.3; }
.zpv-hero .zpv-eyebrow { color: #ddcfb1; letter-spacing: .17em; }
.zpv-hero-lead { margin: 0 0 1.5rem; color: #f4f7fb; font-size: 1rem; line-height: 1.9; }
.zpv-hero-caption { position: absolute; bottom: 1.1rem; right: 1.5rem; padding: .2rem .5rem; border-radius: .25rem; background: #102d4b88; color: #fff; font-size: .72rem; letter-spacing: .06em; }
.zpv-eyebrow { margin: 0 0 .4rem; color: #827458; font-size: .68rem; letter-spacing: .14em; font-weight: 700; }
.zpv-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; }
.zpv-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 1.2rem; padding: .65rem 1.2rem; border: 1px solid #b5c7cf; border-radius: .45rem; color: #244b60; background: #fff; font-size: .86rem; font-weight: 700; text-decoration: none; cursor: pointer; }
.zpv-button:hover { filter: brightness(.96); }
.zpv-button-gold { color: #21394b; background: #e9ca8b; border-color: #e9ca8b; }
.zpv-button-glass { border-color: #ffffff70; color: white; background: #193a5050; }
.zpv-button-navy { color: #fff; background: #173e59; border-color: #173e59; }
.zpv-section { margin-block: 2.8rem; }
.zpv-section-heading { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: .7rem 1.5rem; margin-bottom: 1.1rem; }
.zpv-section-heading h2, .zpv-orientation h2, .zpv-course h2 { margin: 0; color: #193a50; font-size: clamp(1.2rem, 2vw, 1.6rem); line-height: 1.5; }
.zpv-section-heading > p { margin: 0 0 .1rem; color: #75828c; font-size: .82rem; }
.zpv-orientation { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.5rem 1.8rem; border-top: 1px solid #dce4e3; border-bottom: 1px solid #dce4e3; background: #edf2ef; }
.zpv-orientation p:not(.zpv-eyebrow) { margin: .5rem 0 0; color: #677c76; font-size: .86rem; }
.zpv-text-link { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; color: #265c75; font-weight: 650; font-size: .87rem; text-decoration: underline; text-underline-offset: 5px; }
.zpv-orientation .zpv-actions { gap: 1.5rem; }
.zpv-map-section { scroll-margin-top: 0; }
.zpv-map-placeholder { display: flex; align-items: center; flex-wrap: wrap; gap: 1.2rem; padding: 1.7rem; border: 1px solid #d4dfe3; border-radius: .8rem; background: #eaf0f3; }
.zpv-map-placeholder h3 { margin: 0 0 .35rem; color: #24495f; font-size: 1.1rem; }
.zpv-map-placeholder p { margin: 0; color: #627a89; font-size: .83rem; }
.zpv-map-placeholder button { margin-left: auto; }
.zpv-map-symbol { display: grid; place-items: center; width: 58px; height: 58px; color: #829cae; border: 1px solid #c9d6dc; border-radius: 50%; font-size: 2.25rem; line-height: 1; }
.zpv-course { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.5rem; padding: 1.5rem 1.8rem; border-radius: .8rem; background: #f1ece2; }
.zpv-course p:not(.zpv-eyebrow) { margin: .5rem 0 0; color: #746f64; font-size: .84rem; }
.zpv-course h3 { margin: .7rem 0 0; font-size: 1rem; }
.zpv-guide-folds { display: grid; gap: .7rem; margin-block: 1rem 2rem; }
.zpv-guide-fold { border: 1px solid #d3e1e7; border-radius: .8rem; padding: .7rem 1.1rem; background: white; }
.zpv-guide-fold > summary { min-height: 44px; padding-block: .5rem; color: #224d64; font-weight: 700; cursor: pointer; }
.zpv-guide-fold > summary span { display: inline-block; padding-left: .5rem; color: #688079; font-size: .8rem; font-weight: 400; }
.zpv-guide-fold > .zpv-actions { margin-top: 1rem; }
.zpv-stay-heading > div { min-width: 0; max-width: 52rem; }
.zpv-source-note { margin: 1.5rem 0 2rem; color: #7c8890; font-size: .74rem; line-height: 1.8; }
.zpv-stay-main { padding-top: 2.2rem; }
.zpv-stay-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; padding-bottom: .65rem; }
.zpv-stay-heading h1 { margin: .25rem 0 .65rem; color: #193a50; font-size: clamp(1.9rem, 3vw, 2.5rem); letter-spacing: .04em; }
.zpv-stay-heading p:not(.zpv-eyebrow) { margin: 0; color: #607886; font-size: .9rem; line-height: 1.8; }
.zpv-topic-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .85fr); grid-template-areas: "copy media" "action media"; align-items: stretch; gap: .75rem 1.5rem; min-height: 18rem; padding-bottom: 1rem; }
.zpv-topic-hero > div { grid-area: copy; align-self: end; max-width: 44rem; }
.zpv-topic-hero > .zpv-text-link { grid-area: action; align-self: start; justify-self: start; }
.zpv-topic-hero-media { position: relative; grid-area: media; align-self: center; min-width: 0; width: 100%; height: clamp(18rem, 25vw, 20rem); min-height: 0; margin: 0; overflow: hidden; border: 1px solid #d7e2e7; border-radius: .9rem; background: #e9f0f2; box-shadow: 0 .45rem 1.4rem rgba(22, 58, 80, .08); }
.zpv-topic-hero-media :is(.v2-snow-media__image, .v2-snow-media__video, .v2-snow-media-placeholder) { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.zpv-topic-hero[data-hero-fit="contain"] .zpv-topic-hero-media :is(.v2-snow-media__image, .v2-snow-media__video) { padding: .8rem; object-fit: contain; background: #edf2f4; }
.zpv-topic-hero-media .v2-snow-media__caption { position: absolute; inset-inline: 0; bottom: 0; padding: .38rem .65rem; color: #173f5c; background: rgb(255 255 255 / 92%); font-size: .65rem; line-height: 1.45; }
.zpv-stay-next { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding: 1.3rem 1.5rem; background: #eaf0ed; border-radius: .8rem; }
.zpv-stay-next > .zpv-actions { margin-left: auto; }
.zpv-stay-next h2 { margin: 0 0 .5rem; color: #294f5c; font-size: 1.08rem; }
.zpv-stay-next p { margin: 0; color: #688079; font-size: .84rem; }
.zpv-return-status, .zpv-message { padding: .7rem 1rem; border: 1px solid #c8dbda; border-radius: .5rem; background: #eef7f4; color: #35665c; font-size: .85rem; }
.zpv-footer-fallback { display: flex; justify-content: center; flex-wrap: wrap; gap: 1.5rem; padding: 2rem 1rem; background: #12324c; }
.zpv-footer-fallback a { color: #fff; font-size: .86rem; }
@media (max-width: 80rem) { .zpv-container { width: min(1080px, calc(100% - 96px)); } }
@media (max-width: 60rem) {
  .zpv-hero-copy { padding: 2.5rem; }
}
@media (max-width: 47.5rem) {
  .zpv-container { width: calc(100% - 32px); }
  .zpv-preview-note .zpv-container { align-items: start; flex-wrap: wrap; gap: .15rem; padding-block: .4rem; }
  .zpv-preview-note { font-size: .68rem; }
  .zpv-breadcrumb { padding-block: .75rem .25rem; font-size: .7rem; }
  .zpv-section-nav > div { gap: 1.1rem; justify-content: flex-start; }
  .zpv-section-nav a { min-height: 48px; font-size: .84rem; }
  .zpv-hero { min-height: 350px; margin-top: .9rem; border-radius: .8rem; }
  .zpv-hero-image--zao-overview { object-position: 0 center; }
  .zpv-hero-copy { padding: 2rem 1.35rem 2.7rem; }
  .zpv-hero::after { background: linear-gradient(90deg, rgb(16 45 75 / 88%) 0%, rgb(16 45 75 / 58%) 60%, rgb(16 45 75 / 18%) 100%); }
  .zpv-hero-lead { font-size: .9rem; }
  .zpv-hero-copy h1 { font-size: 2.05rem; letter-spacing: .05em; }
  .zpv-hero-caption { bottom: .6rem; right: .75rem; font-size: .6rem; }
  .zpv-hero .zpv-actions { gap: .5rem; }
  .zpv-button { padding: .6rem .9rem; gap: .75rem; font-size: .8rem; }
  .zpv-section { margin-block: 2rem; }
  .zpv-section-heading { margin-bottom: .85rem; gap: .3rem; }
  .zpv-section-heading h2, .zpv-orientation h2, .zpv-course h2 { font-size: 1.24rem; }
  .zpv-section-heading > p { font-size: .78rem; }
  .zpv-orientation, .zpv-course { padding: 1.2rem; }
  .zpv-orientation .zpv-actions { gap: 1rem; }
  .zpv-map-placeholder { padding: 1.15rem; gap: .85rem; }
  .zpv-map-symbol { width: 42px; height: 42px; font-size: 1.65rem; }
  .zpv-map-placeholder > div { flex: 1; }
  .zpv-map-placeholder h3 { font-size: 1rem; }
  .zpv-map-placeholder button { width: 100%; }
  .zpv-stay-main { padding-top: 1.45rem; }
  .zpv-stay-heading { gap: .1rem; }
  .zpv-topic-hero { grid-template-columns: minmax(0, 1fr); grid-template-areas: "media" "copy" "action"; gap: .8rem; min-height: 0; }
  .zpv-topic-hero-media { min-height: 0; height: auto; aspect-ratio: 16 / 10; }
  .zpv-topic-hero-media :is(.v2-snow-media__image, .v2-snow-media__video, .v2-snow-media-placeholder) { min-height: 0; aspect-ratio: 16 / 10; }
  .zpv-topic-hero > div { align-self: start; }
  .zpv-stay-heading h1 { font-size: 1.85rem; }
  .zpv-stay-heading p:not(.zpv-eyebrow) { font-size: .84rem; }
  .zpv-desktop-break { display: none; }
  .zpv-stay-next { padding: 1.15rem; }
}
@media (max-width: 24rem) { .zpv-hero h1 { font-size: 1.75rem; letter-spacing: .025em; } }
@media (max-width: 22rem) { .zpv-hero .zpv-button { font-size: .73rem; padding-inline: .7rem; } }
