/* Shared navigation, language choice and readable mobile controls. */
.site-header .header-inner { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; }
.desktop-nav { justify-content:flex-end; }
.desktop-nav a[aria-current]:not(.nav-cta) { color:var(--forest); background:rgba(13,58,44,.08); }
.header-actions { display:flex; align-items:center; gap:8px; }
.header-actions .language-switcher__link,
.header-actions .language-switcher__catalogue-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 13px; border:1px solid var(--line); border-radius:999px; color:var(--forest); font-size:.85rem; font-weight:700; line-height:1.25; text-align:center; }
.language-switcher__catalogue-link { max-width:84px; }
.mobile-menu-toggle,.mobile-shortcuts { display:none; }
.mobile-menu { color:var(--ink); background:var(--surface); width:min(420px,calc(100% - 24px)); max-height:calc(100dvh - 40px); padding:20px; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow-md); overscroll-behavior:contain; }
.mobile-menu::backdrop { background:rgba(7,38,29,.5); }
.mobile-menu__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; position:sticky; top:0; z-index:1; background:var(--surface); }
.mobile-menu__heading h2 { font:700 1.15rem/1.3 system-ui,sans-serif; }
.mobile-menu__close { min-width:44px; min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:12px; background:var(--bg); color:var(--forest); font:600 .9rem/1.2 system-ui,sans-serif; cursor:pointer; }
.mobile-menu__links { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.mobile-menu__links a { display:flex; align-items:center; min-height:48px; padding:12px; border:1px solid var(--line); border-radius:12px; font-weight:600; line-height:1.35; }
.mobile-menu__links a[aria-current],.mobile-shortcuts a[aria-current] { background:var(--forest); color:var(--surface); }
.mobile-menu__links .nav-cta { grid-column:1/-1; justify-content:center; background:var(--forest); color:var(--surface); }
body.mobile-menu-open { overflow:hidden; }
.site-header a:focus-visible,.site-header button:focus-visible,
main a:focus-visible,main button:focus-visible,main input:focus-visible,main textarea:focus-visible { outline:3px solid var(--forest); outline-offset:3px; }
.meta,.meta-date,.article-date-row { color:var(--ink-soft); }
.translation-notice { padding:12px 16px; border-left:3px solid var(--clay); background:var(--bg); font-size:.9rem; line-height:1.6; }
.translation-notice a { text-decoration:underline; text-underline-offset:3px; }
[id] { scroll-margin-top:125px; }
@media (max-width:1024px) {
  /* Jump directly to distant topics and article sections on touch screens. */
  html { scroll-behavior:auto; }
  .site-header { background:var(--bg); }
  .site-header .header-inner { grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:10px 0; }
  .site-header .brand-subtitle { display:none; }
  .site-header .brand-link { gap:8px; }
  .site-header .brand-title { font-size:clamp(1.1rem,4.6vw,1.45rem); white-space:nowrap; }
  .site-header .brand-link:before { width:25px; height:25px; }
  .site-header .desktop-nav { display:none; }
  .site-header:not(.has-mobile-menu) .desktop-nav { display:grid; grid-template-columns:1fr 1fr; grid-column:1/-1; position:static; width:100%; padding:0; border:0; box-shadow:none; }
  .site-header:not(.has-mobile-menu) .desktop-nav a { width:auto; min-height:44px; padding:10px; }
  .has-mobile-menu .mobile-menu-toggle:not([hidden]) { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-width:44px; min-height:44px; padding:5px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--forest); font:600 .7rem/1.1 system-ui,sans-serif; cursor:pointer; }
  .mobile-menu-toggle svg { width:20px; height:20px; }
  .header-actions .language-switcher__link,.header-actions .language-switcher__catalogue-link { min-width:62px; padding:7px 9px; font-size:.78rem; }
  .mobile-shortcuts { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; padding-bottom:8px; }
  .mobile-shortcuts a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px; border:1px solid var(--line); border-radius:10px; color:var(--forest); background:var(--surface); font-weight:600; font-size:.85rem; line-height:1.3; }
  .mobile-menu { margin:auto; }
  .button,.chip,.share-links a { min-height:44px; }
  main .search-input,main .contact-form .search-input,main input:not([type=hidden]),main textarea,main select { font-size:16px; }
  main .search-input { width:100%; }
  .meta,.meta-date,.article-date-row { font-size:.9rem; line-height:1.6; }
  .article-card p,.page-intro { overflow-wrap:anywhere; }
  .page-title { font-size:clamp(1.7rem,7vw,2.4rem); line-height:1.18; }
  .breadcrumbs { font-size:.8rem; }
  .breadcrumbs > span:nth-last-child(-n+2) { display:none; }
  .article-toc--mobile summary { display:flex; align-items:center; justify-content:space-between; min-height:48px; cursor:pointer; }
  .article-toc--mobile summary::after { content:'+'; font:600 1.3rem/1 system-ui,sans-serif; }
  .article-toc--mobile[open] summary::after { content:'−'; }
  .article-toc .sidebar-link { display:flex; align-items:center; min-height:44px; padding-top:10px; padding-bottom:10px; }
  .page-home .stats-row { display:none; }
  main .hero-main,main .hero-side,main .section-card,main .article-card,main .quick-card { animation:none !important; opacity:1; transform:none; }
}
@media (max-width:360px) {
  .header-actions { gap:5px; }
  .site-header .brand-link { gap:5px; }
  .site-header .brand-link:before { width:22px; height:22px; }
  .site-header .brand-title:after { margin-left:3px; }
  .header-actions .language-switcher__link,.header-actions .language-switcher__catalogue-link { min-width:58px; padding:6px; }
  .header-actions .language-switcher__catalogue-link { max-width:74px; }
  .mobile-menu { padding:14px; }
  .mobile-menu__links { gap:6px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}

/* Destination affiliate links remain lightweight, server-rendered and usable without JavaScript. */
.stay-nearby { margin:32px 0; padding:24px; border:1px solid var(--line); border-radius:18px; background:var(--bg); }
.stay-nearby h2 { margin:8px 0 12px; font-size:clamp(1.4rem,3vw,1.8rem); line-height:1.3; }
.stay-nearby p { margin:12px 0; line-height:1.65; }
.stay-nearby__destinations { list-style:none; margin:18px 0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.stay-nearby__destinations a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:12px 16px; border:1px solid var(--forest); border-radius:12px; color:var(--forest); background:var(--surface); font-weight:700; line-height:1.4; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.stay-nearby__destinations a:hover { background:var(--forest); color:var(--surface); }
.stay-nearby .stay-nearby__disclosure { color:var(--ink-soft); font-size:.9rem; }
@media (max-width:600px) { .stay-nearby { padding:18px; } .stay-nearby__destinations { grid-template-columns:1fr; } }
