/* Public documents share the product palette, type and controls. No app layouts
   or server-rendered SEO/content/booking contracts are replaced here. */
.gz-public-shell { background:var(--gz-bg);color:var(--gz-ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
.gz-public-shell :is(h1,h2,h3) { font-family:Poppins,Inter,sans-serif;overflow-wrap:anywhere; }
.gz-public-shell :is(button,a,summary):focus-visible { outline:3px solid var(--gz-brand);outline-offset:3px; }
.gz-public-shell :is(.seo-card,.seo-section,.simple-card,.simple-panel,.policy-content) { border-color:var(--gz-line);background:var(--gz-surface);box-shadow:var(--gz-shadow);color:var(--gz-ink);border-radius:20px; }
.gz-public-shell .site-footer { background:var(--gz-surface);color:var(--gz-ink-2);border-color:var(--gz-line); }
.gz-public-shell .site-footer :is(.brand,h2) { color:var(--gz-ink); }
.gz-public-shell .site-footer :is(p,a) { color:inherit; }
.gz-public-shell .site-footer a:hover { color:var(--gz-brand); }
.gz-public-shell .site-footer-bottom { border-color:var(--gz-line);color:var(--gz-ink-2); }
.gz-public-shell .footer-socials a { background:var(--gz-chip);border-color:var(--gz-line); }
.gz-public-shell :is(.footer-socials,.footer-contact) img { filter:brightness(0);opacity:.7; }
html[data-theme=dark] .gz-public-shell :is(.footer-socials,.footer-contact) img { filter:none;opacity:1; }

.gz-site-header.public-topbar { position:relative;z-index:40;display:flex;align-items:center;gap:30px;min-height:88px;padding:18px max(32px,calc((100vw - 1200px)/2));border:0;background:var(--gz-brand);color:#fff;backdrop-filter:none; }
.gz-site-header .brand { flex:0 0 auto; }
.gz-site-header .brand-logo { display:block;width:86px;height:40px; }
.gz-site-header .logo-primary { fill:#fff; }
.gz-site-header .public-nav { display:flex;align-items:center;justify-content:flex-start;gap:22px;margin-right:auto; }
.gz-site-header .public-nav .nav-item { display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#eef4ff;font-size:13px;font-weight:600;white-space:nowrap; }
.gz-site-header .public-nav .nav-item:is(:hover,:focus-visible,.active) { color:#fff;background:none; }
.gz-site-header .public-nav .nav-item.active { text-decoration:underline;text-underline-offset:7px; }
.gz-site-actions { display:flex;align-items:center;gap:10px;margin-left:auto; }
.gz-site-header .blog-language-switcher { margin:0; }
.gz-site-header .blog-language-switcher summary { display:flex;min-width:44px;min-height:44px;padding:8px;gap:6px;border:0;border-radius:50%;background:#ffffff2e;color:#fff; }
.gz-site-header .blog-language-chevron { width:6px;height:6px; }
.gz-site-header .gz-site-download { display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:1px solid #ffffff80;border-radius:24px;color:#fff;font-size:13px;font-weight:600; }
.gz-site-header :is(a,summary):focus-visible { outline-color:#fff; }
.gz-site-header .blog-language-menu :is(a,button) { outline-color:var(--gz-brand); }
.gz-site-menu { position:relative;display:none; }
.gz-site-menu > summary { display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#ffffff2e;color:#fff;cursor:pointer;list-style:none; }
.gz-site-menu > summary::-webkit-details-marker { display:none; }
.gz-site-menu > summary svg { width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round; }
.gz-site-header .gz-site-menu .public-nav { position:absolute;right:0;top:calc(100% + 12px);z-index:50;display:grid;width:260px;max-width:calc(100vw - 32px);gap:3px;margin:0;padding:8px;border:1px solid var(--gz-line);border-radius:18px;background:var(--gz-surface);box-shadow:var(--gz-shadow); }
.gz-site-menu:not([open]) > nav { display:none!important; }
.gz-site-header .gz-site-menu .nav-item { min-width:0;padding:10px 14px;border-radius:12px;color:var(--gz-ink);white-space:normal; }
.gz-site-header .gz-site-menu .nav-item:is(.active,:hover) { background:var(--gz-chip);color:var(--gz-brand);text-decoration:none; }
.gz-site-header .gz-site-menu .nav-item:focus-visible { outline-color:var(--gz-brand); }
.gz-site-badge { padding:3px 5px;border-radius:7px;background:#ff7348;color:#fff;font:700 9px/1 Inter,sans-serif; }

/* Remove the old purple language-control palette in every web context. */
.blog-language-switcher summary { border-color:var(--gz-line);background:var(--gz-surface);color:var(--gz-brand);min-height:44px; }
.blog-language-switcher summary:hover { border-color:var(--gz-brand);background:var(--gz-surface); }
.blog-language-switcher summary:focus-visible { outline-color:var(--gz-brand); }
.blog-language-menu { border-color:var(--gz-line);background:var(--gz-surface);box-shadow:var(--gz-shadow); }
.blog-language-menu :is(a,button) { min-height:44px;color:var(--gz-ink);font-weight:600; }
.blog-language-menu :is(a,button):is(:hover,.active) { background:var(--gz-chip);color:var(--gz-brand); }
.blog-language-menu :is(a,button):focus-visible { outline-color:var(--gz-brand); }

/* Blog listing, article and city filter: same visual hierarchy as current web. */
.blog-body { --blog-font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:var(--gz-bg);font-family:var(--blog-font-family); }
.blog-page,.blog-index-page { width:min(1264px,100%);margin-inline:auto;padding:28px 32px 64px; }
.blog-index-hero { display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:center;gap:32px;padding:40px;border:0;border-radius:28px;background:var(--gz-brand);box-shadow:none;color:#fff; }
.blog-index-hero .eyebrow,.blog-index-hero .blog-city-control-label,.blog-index-hero p:not(.eyebrow) { color:#eef4ff; }
.blog-index-hero h1 { max-width:700px;color:#fff;font:700 clamp(28px,3vw,40px)/1.2 Poppins,Inter,sans-serif;letter-spacing:-.8px;text-wrap:balance; }
.blog-index-hero p:not(.eyebrow) { margin-top:16px;font-size:16px;line-height:1.6; }
.blog-index-hero p.blog-city-control-label { margin:0 0 10px;font-size:12px;line-height:1.4;font-weight:600;text-transform:none;letter-spacing:0; }
.blog-city-control { min-width:0; }
.blog-city-trigger { border-color:var(--gz-line);background:var(--gz-surface);color:var(--gz-ink);box-shadow:var(--gz-shadow); }
.blog-city-trigger:hover { border-color:var(--gz-brand);box-shadow:var(--gz-shadow);transform:none; }
.blog-city-trigger:focus-visible { outline-color:var(--gz-brand); }
.blog-city-trigger-icon,.blog-empty-state > span { background:var(--brand-primary-soft);color:var(--gz-brand); }
.blog-city-trigger-copy > span,.blog-filter-status,.blog-card-meta { color:var(--gz-ink-2); }
.blog-city-trigger-chevron { color:var(--gz-brand); }
.blog-list-section { padding-top:36px; }
.blog-section-heading h2 { color:var(--gz-ink);font:700 26px/1.3 Poppins,Inter,sans-serif; }
.blog-card-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
.blog-post-card { display:flex;flex-direction:column;border-color:var(--gz-line);border-radius:20px;background:var(--gz-surface);box-shadow:var(--gz-shadow); }
.blog-card-image { flex-shrink:0;aspect-ratio:1.6;background:var(--gz-chip); }
.blog-card-copy { display:flex;flex:1;flex-direction:column;padding:22px; }
.blog-card-meta { display:flex;flex-wrap:wrap;gap:8px;font-size:12px;font-weight:500; }
.blog-card-copy h2 { margin:14px 0 0;color:var(--gz-ink);font:600 20px/1.4 Inter,sans-serif;letter-spacing:0; }
.blog-card-copy p { margin:12px 0 20px;color:var(--gz-ink-2);font-size:14px;line-height:1.65; }
.blog-read-link { display:inline-flex;align-items:center;min-height:44px;margin-top:auto;color:var(--gz-brand);font-size:14px;font-weight:600; }
.blog-hero-copy { padding:32px;border-color:var(--gz-line);border-radius:24px;background:var(--gz-surface);box-shadow:var(--gz-shadow); }
.blog-hero-intro { grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:32px; }
.blog-hero-copy h1 { color:var(--gz-ink);font:700 clamp(28px,3vw,38px)/1.25 Poppins,Inter,sans-serif;letter-spacing:-.6px;text-wrap:balance; }
.blog-deck { margin-top:16px;color:var(--gz-ink-2);font-size:16px;line-height:1.75; }
.blog-byline { color:var(--gz-ink-2);font-size:13px; }
.blog-byline strong { color:var(--gz-ink); }
.blog-hero-media,.blog-section-media { border-color:var(--gz-line);border-radius:20px;background:var(--gz-chip);box-shadow:none; }
.blog-hero-media { max-height:340px; }
.blog-article-layout { grid-template-columns:240px minmax(0,1fr);gap:28px;margin-top:28px; }
.blog-toc-rail { top:24px;padding:20px;border:1px solid var(--gz-line);border-radius:20px;background:var(--gz-surface); }
.blog-toc-rail h2 { color:var(--gz-ink-2);font:600 12px/1.4 Inter,sans-serif; }
.blog-toc-rail ol { border-color:var(--gz-line); }
.blog-toc-rail a { min-height:44px;display:flex;align-items:center;color:var(--gz-ink-2);font-weight:500; }
.blog-toc-rail a:is(:hover,.is-active) { border-color:var(--gz-brand);color:var(--gz-brand); }
.blog-toc-mobile { border-color:var(--gz-line);background:var(--gz-surface);box-shadow:var(--gz-shadow); }
.blog-toc-mobile summary { min-height:48px;color:var(--gz-ink);font-weight:600; }
.blog-toc-mobile summary::after,.blog-toc-mobile li { color:var(--gz-brand); }
.blog-toc-mobile a { display:flex;align-items:center;min-height:44px;color:var(--gz-ink-2); }
.blog-content { padding:32px;border-color:var(--gz-line);border-radius:20px;background:var(--gz-surface);color:var(--gz-ink-2);box-shadow:var(--gz-shadow);font:400 17px/1.8 Inter,sans-serif; }
.blog-content :is(h2,h3),.blog-content strong { color:var(--gz-ink); }
.blog-content h2 { font:700 26px/1.4 Poppins,Inter,sans-serif;margin-top:40px; }
.blog-content h3 { font:600 21px/1.45 Inter,sans-serif; }
.blog-content :is(a,.blog-read-link) { color:var(--gz-brand);font-family:inherit;font-weight:600; }
.blog-content hr,.blog-author-note { border-color:var(--gz-line);color:var(--gz-ink-2); }
.blog-content hr { background:var(--gz-line); }
.blog-callout { border-color:var(--gz-line);border-left-color:var(--gz-brand);background:color-mix(in srgb,var(--gz-brand) 6%,var(--gz-surface)); }
.blog-table-wrap,.blog-content :is(th,td) { border-color:var(--gz-line); }
.blog-content table { background:var(--gz-surface); }
.blog-content th { background:var(--gz-chip);color:var(--gz-ink); }
.blog-empty-state { border-color:var(--gz-line);background:var(--gz-surface);color:var(--gz-ink-2); }
.blog-empty-state h3 { color:var(--gz-ink); }
.blog-empty-state button { min-height:44px;background:var(--gz-brand);font-weight:600; }
.blog-city-dialog { color:var(--gz-ink); }
.blog-city-dialog::backdrop { background:rgb(15 23 42 / 50%);backdrop-filter:blur(3px); }
.blog-city-dialog-panel { border-color:var(--gz-line);background:var(--gz-surface);box-shadow:var(--gz-shadow); }
.blog-city-dialog-header { border-color:var(--gz-line); }
.blog-city-dialog-header h2 { color:var(--gz-ink);font:700 23px/1.4 Poppins,Inter,sans-serif; }
.blog-city-dialog-close { width:44px;height:44px;background:var(--gz-chip);color:var(--gz-ink); }
.blog-city-search { background:var(--gz-bg);color:var(--gz-brand);border-color:transparent; }
.blog-city-search:focus-within { border-color:var(--gz-brand); }
.blog-city-search input { min-height:48px;color:var(--gz-ink);font-size:16px;outline:0;box-shadow:none; }
.blog-city-search input::placeholder { color:var(--gz-ink-2); }
.blog-city-option { color:var(--gz-ink); }
.blog-city-option:hover { background:var(--gz-chip); }
.blog-city-option.is-selected { border-color:var(--gz-brand);background:color-mix(in srgb,var(--gz-brand) 9%,var(--gz-surface));color:var(--gz-brand); }
.blog-city-option > span:first-child { background:var(--gz-chip);color:var(--gz-ink-2); }
.blog-city-option.is-selected > span:first-child { background:var(--gz-brand);color:#fff; }
.blog-city-option-check { color:var(--gz-brand); }
.blog-city-no-results { color:var(--gz-ink-2); }

/* Other public screen families previously bypassed the current product chrome. */
.gz-public-shell :is(.seo-page,.affiliate-page) { width:min(1200px,calc(100% - 64px));margin:0 auto;padding:28px 0 64px; }
.gz-public-shell :is(.seo-hero,.affiliate-hero) { border-color:var(--gz-line);border-radius:24px;background:var(--gz-surface);box-shadow:var(--gz-shadow);color:var(--gz-ink); }
.gz-public-shell :is(.seo-hero,.affiliate-hero,.policy-content) h1 { font-size:clamp(28px,3.2vw,40px);line-height:1.25;letter-spacing:-.6px; }
.gz-public-shell :is(.simple-card,.simple-panel) h1 { font-size:clamp(28px,3.2vw,40px);line-height:1.25;letter-spacing:-.6px; }
.gz-public-shell :is(.seo-hero,.affiliate-hero) p:not(.eyebrow) { color:var(--gz-ink-2);font-size:16px;line-height:1.7; }
.gz-public-shell :is(.seo-card h2,.seo-section h2,.affiliate-section h2,.policy-content h2) { font-size:26px;line-height:1.4; }
.gz-public-shell :is(.seo-links a,.seo-related-links a) { border-color:var(--gz-line);background:var(--gz-surface);color:var(--gz-ink);border-radius:14px; }
.gz-public-shell .seo-hero .eyebrow { color:var(--gz-brand); }
.gz-public-shell :is(.primary-link,.primary-button) { background:var(--gz-brand);border-color:var(--gz-brand);color:#fff;border-radius:14px; }
.gz-public-shell :is(.seo-action-row,.seo-grid,.seo-card,.seo-section,.affiliate-section) { min-width:0; }
.gz-public-shell .affiliate-hero { min-height:0;padding:32px; }
.gz-public-shell .policy-content { padding:32px;font-size:16px;line-height:1.8; }
.gz-public-shell .policy-content h1 { color:var(--gz-ink); }

@media (min-width:761px) {
  .account-screen:not(.social-product-screen) .gz-product-header h2 { font:700 clamp(26px,2.2vw,32px)/1.3 Poppins,Inter,sans-serif;letter-spacing:-.5px; }
  .account-screen .gz-product-header p:not(.gz-kicker) { font-size:14px;line-height:1.6; }
}

@media (max-width:1100px) and (min-width:761px) {
  .blog-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1000px) {
  .gz-site-header.public-topbar { gap:16px; }
  .gz-site-header > .public-nav { display:none; }
  .gz-site-menu { display:block; }
}
@media (max-width:920px) {
  .blog-hero-intro,.blog-index-hero { grid-template-columns:minmax(0,1fr); }
  .blog-article-layout { grid-template-columns:minmax(0,1fr);gap:0; }
  .blog-hero-media { aspect-ratio:16/9;max-height:300px; }
}
@media (max-width:760px) {
  .gz-site-header.public-topbar { min-height:68px;padding:10px 16px;gap:12px; }
  .gz-site-header .gz-site-download { display:none; }
  .gz-site-header .blog-language-switcher { grid-column:auto;justify-self:auto; }
  .gz-public-shell:is(.f86-home-detail-body,.f86-place-detail-body,.f86-trip-detail-body) > .gz-site-header { display:none; }
  .gz-public-shell :is(.seo-page,.affiliate-page) { width:calc(100% - 32px);padding-top:20px; }
  .blog-page,.blog-index-page { padding:20px 16px 40px; }
  .blog-index-hero,.blog-hero-copy { padding:24px 20px;border-radius:20px; }
  .blog-index-hero { gap:24px; }
  .blog-index-hero h1 { font-size:30px; }
  .blog-hero-copy h1 { font-size:28px; }
  .blog-deck { font-size:15px; }
  .blog-card-grid { grid-template-columns:minmax(0,1fr);gap:20px; }
  .blog-card-copy { padding:20px; }
  .blog-section-heading { align-items:start;flex-direction:column;gap:10px; }
  .blog-section-heading h2 { font-size:24px; }
  .blog-content { padding:24px 20px;font-size:16px; }
  .blog-content h2 { font-size:23px; }
  .blog-content h3 { font-size:20px; }
  .blog-callout { padding:18px; }
  .gz-public-shell .policy-content { padding:24px 20px; }
  .gz-public-shell .affiliate-hero { padding:24px 20px; }
}
