/* Buggy Smart: the one header, footer and skip link used on every page. Scoped to bs- classes only. */
.bs-top, .bs-top *, .bs-footer, .bs-footer * { box-sizing: border-box; }
.bs-top { position: sticky; top: 0; z-index: 900; background: #FBF7F4; border-bottom: 1px solid #E7DDE4; font-family: 'Inter', system-ui, sans-serif; line-height: 1.3; }
.bs-top-in { max-width: 1080px; margin: 0 auto; padding: .15rem 16px; display: flex; align-items: center; gap: .5rem .75rem; flex-wrap: wrap; }
.bs-logo { font: 900 1.15rem 'Schibsted Grotesk', sans-serif; color: #2A1433; text-decoration: none; display: inline-flex; align-items: center; gap: .45rem; white-space: nowrap; min-height: 44px; margin: 0; }
.bs-logo img { width: 28px; height: 28px; display: block; }
.bs-nav { display: flex; gap: .15rem; margin-left: auto; align-items: center; flex-wrap: wrap; }
.bs-nav a:not(.bs-places-link) { color: #2A1433; text-decoration: none; font-weight: 600; font-size: .9rem; min-height: 44px; display: inline-flex; align-items: center; padding: 0 .6rem; }
.bs-nav a:not(.bs-places-link):hover { color: #4A1F5C; text-decoration: underline; }
.bs-nav a:focus-visible { outline: 3px solid #4A1F5C; outline-offset: -3px; border-radius: 8px; }
.bs-nav [data-bs-places] { margin-left: .25rem; }
.bs-nav .bs-places-link { min-height: 44px; }
@media (max-width: 640px) {
  /* Row one: logo and My places. Row two: the five page links, evenly spread. */
  .bs-nav { display: contents; }
  .bs-nav [data-bs-places] { order: 2; margin-left: auto; }
  .bs-nav a:not(.bs-places-link) { order: 3; flex: 1 1 auto; justify-content: center; padding: 0 .3rem; font-size: .85rem; }
  .bs-top-in::after { content: ''; order: 2; flex: 0 0 100%; height: 0; }
  .bs-top-in { gap: 0 .1rem; }
  .bs-logo { order: 1; margin-right: auto; }
}

.bs-wrap { max-width: 1080px; margin: 0 auto; padding: 0 16px; }
.bs-footer { border-top: 1px solid #E7DDE4; margin-top: 3rem; padding: 1rem 16px 3rem; font: 400 .85rem 'Inter', system-ui, sans-serif; color: #5E5263; display: flex; flex-wrap: wrap; gap: 0 .25rem; background: #FBF7F4; }
.bs-footer a { color: #5E5263; text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; padding: 0 .6rem 0 0; margin: 0; }
.bs-footer a:hover { color: #4A1F5C; text-decoration: underline; }
.bs-skip { position: absolute; left: -9999px; } .bs-skip:focus { left: 16px; top: 8px; z-index: 2000; background: #fff; padding: .5rem; }
.bs-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
:focus-visible { outline: 3px solid #4A1F5C; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
/* Tap targets: controls at least 44px tall on every page (WCAG 2.5.5 target size) */
button, select, input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), .chip, [role="button"] { min-height: 44px; }
.leaflet-touch .leaflet-bar a { width: 44px; height: 44px; line-height: 44px; }
/* "Was this right?" confirmations (js/bs-confirm.js) */
.bs-confirm { margin: 1rem 0; font-family: 'Inter', sans-serif; }
.bs-confirm-count { margin: 0 0 .5rem; font-weight: 600; color: #2E6B3A; font-size: .9rem; }
.bs-confirm-count:empty { display: none; }
.bs-confirm-ask { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.bs-confirm-q { width: 100%; font-weight: 600; color: #2A1433; font-size: .9rem; }
.bs-confirm-ask button { min-height: 44px; padding: 0 1rem; border-radius: 100px; border: 1.5px solid #4A1F5C; background: #fff; color: #4A1F5C; font: 600 .85rem 'Inter', sans-serif; cursor: pointer; }
.bs-confirm-ask .bs-confirm-yes { background: #4A1F5C; color: #fff; }
.bs-confirm-ask button:disabled { opacity: .6; cursor: default; }
.bs-confirm-thanks { margin: 0; color: #2A1433; font-size: .9rem; }
.bs-confirm [hidden] { display: none !important; }
