.mobile-globe-toggle {
  display: none;
  position: fixed;
  right: calc(1rem + env(safe-area-inset-right, 0px));
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  z-index: 1040;
  width: 3rem;
  height: 3rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  background: var(--bs-primary, #9e2727);
  color: #fff;
  font-size: 1.65rem;
  box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.25);
}

.mobile-globe-toggle:focus-visible {
  outline: 3px solid var(--bs-body-color, #212529);
  outline-offset: 3px;
}

.mobile-globe-dialog {
  --reporting-border: rgba(33, 37, 41, 0.14);
  --reporting-muted: #5f6872;
  width: min(26rem, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  padding: 1rem;
  margin: auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--reporting-border);
  border-radius: 0.75rem;
  background: #fff;
  color: var(--bs-body-color, #212529);
}

.mobile-globe-dialog::backdrop {
  background: rgba(0, 0, 0, 0.5);
}

.mobile-globe-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.mobile-globe-header h2 { margin: 0; font-size: 1.2rem; }
.mobile-globe-header button { min-width: 2.75rem; min-height: 2.75rem; }
.mobile-globe-dialog [data-persistent-globe-card],
.mobile-globe-dialog .mobile-navigation-card { border: 0; margin: 0 !important; }
.mobile-globe-dialog .card-body { padding: 0 !important; }
.mobile-globe-dialog .sidebar-local-conditions { display: none; }
.mobile-globe-dialog .sidebar-globe-wrap { width: min(100%, 16.5rem); margin: 0.75rem auto; }
.mobile-globe-dialog .compact-globe { aspect-ratio: 1; }
.mobile-globe-dialog .sidebar-globe-instructions,
.mobile-globe-help { font-size: 0.8rem; color: var(--reporting-muted); text-align: center; }
.mobile-globe-help { margin: 0.5rem 0 0; }

/* Same country picker as the sidebar, scoped for its temporary dialog home. */
.mobile-globe-dialog .region-country-selector { position: relative; z-index: 5; min-width: 0; }
.mobile-globe-dialog .region-country-control {
  display: flex; align-items: center; gap: 0.75rem;
  min-height: 3.25rem; padding: 0.55rem 0.9rem;
  border: 1px solid var(--reporting-border); border-radius: 0.45rem;
}
.mobile-globe-dialog .region-country-search {
  width: 100%; min-width: 0; flex: 1; border: 0; background: transparent;
  color: inherit; font: inherit; font-size: 1rem;
}
.mobile-globe-dialog .region-country-arrow {
  border-top: 0.4rem solid #52606d;
  border-inline: 0.36rem solid transparent;
}
.mobile-globe-dialog .region-country-options {
  position: absolute; inset: 100% 0 auto; z-index: 20;
  max-height: min(22rem, 45dvh); overflow-y: auto; overscroll-behavior: contain;
  border: 1px solid var(--reporting-border); background: #fff;
  box-shadow: 0 0.3rem 0.65rem rgba(33, 37, 41, 0.14);
}
.mobile-globe-dialog .region-country-option {
  display: flex; align-items: center; gap: 0.75rem;
  min-height: 3rem; padding: 0.65rem 0.9rem; color: inherit; text-decoration: none;
}
.mobile-globe-dialog .region-country-option[hidden] { display: none; }
.mobile-globe-dialog .region-country-option:hover,
.mobile-globe-dialog .region-country-option.is-active,
.mobile-globe-dialog .region-country-option.is-selected { background: var(--bs-light, #f8f9fa); }
.mobile-globe-dialog .region-country-option-flag { width: 30px; height: 20px; object-fit: cover; }
.mobile-globe-dialog .region-country-empty { margin: 0; padding: 0.9rem; }

html.mobile-globe-open { overflow: hidden; }

@media (max-width: 991.98px) {
  .mobile-globe-toggle:not([hidden]) { display: flex; }
  .main { padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px)); }
}