/* Shared by all product pages, including Hainan's frozen body stylesheet. */
body:has(.product-local-nav) { --ds-local-nav-height: 52px; }
.product-local-nav { display: block; position: sticky; top: 0; z-index: 90; height: var(--ds-local-nav-height); box-sizing: border-box; background: #fff; border-bottom: 1px solid #d9ded9; color: var(--ds-ink); font: 400 14px/1.4 var(--ds-font); }
.product-local-nav-inner { width: 100%; max-width: calc(var(--ds-container) + 2 * var(--ds-gutter)); height: 100%; margin: auto; padding-inline: var(--ds-gutter); display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 24px; box-sizing: border-box; }
.product-local-nav a { color: var(--ds-ink); text-decoration: none; }
.product-local-name { font-weight: 700; justify-self: start; white-space: nowrap; }
.product-local-links { display: flex; align-items: center; gap: 20px; }
.product-local-links a { padding-block: 16px; }
.product-local-links a:hover { color: var(--ds-brand); }
.product-local-links span { color: #5b6b66; }
.product-local-nav .product-local-consult { justify-self: end; background: var(--palette-action); color: var(--palette-action-ink); padding: 8px 18px; border-radius: 999px; white-space: nowrap; font-weight: 700; }
.product-local-select { display: none; }
body:has(.product-local-nav) :is(#camp-overview,#camp-schedule,#camp-safety,#camp-faq) { scroll-margin-top: calc(var(--ds-local-nav-height) + 24px); }
@media(max-width:859px) {
  .product-local-nav-inner { display: flex; gap: 12px; }
  .product-local-links { display: none; }
  .product-local-select { display: block; }
  .product-local-select select { width: 68px; max-width: 68px; border: 0; background: #fff; color: var(--ds-muted); font: 400 12px/1.4 var(--ds-font); min-height: 36px; cursor: pointer; }
  .product-local-name { font-size: 14px; margin-right: auto; }
  .product-local-nav .product-local-consult { padding: 8px 12px; font-size: 13px; }
}
@media(max-width:719px) {
  .product-local-nav-inner { gap: 8px; padding-inline: 16px; }
}
