/* Public site — zoom & language toolbar (bottom center) */
.site-access-toolbar {
  position: fixed;
  left: 50%;
  right: auto;
  bottom: var(--float-edge-y, max(1rem, env(safe-area-inset-bottom, 0px)));
  transform: translateX(-50%);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 2px;
  padding: 6px 10px;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(27, 73, 101, 0.15);
  border-radius: 999px;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.14);
  backdrop-filter: blur(10px);
  max-width: min(calc(100vw - 2rem), 420px);
  transition: bottom 0.25s ease, transform 0.25s ease;
}

.site-access-toolbar.is-stacked {
  bottom: calc(var(--float-edge-y, 1rem) + var(--scroll-top-size, 52px) + var(--float-stack-gap, 0.75rem));
  transform: translateX(-50%);
}

.site-access-toolbar__btn {
  border: none;
  background: transparent;
  color: var(--md-secondary, #1b4965);
  cursor: pointer;
  border-radius: 999px;
  min-width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0 8px;
  transition: background 0.15s, color 0.15s;
}

.site-access-toolbar__btn:hover,
.site-access-toolbar__btn.is-active {
  background: rgba(232, 93, 4, 0.12);
  color: var(--md-primary, #e85d04);
}

.site-access-toolbar__btn .material-icons-round {
  font-size: 1.15rem;
}

.site-access-toolbar__label {
  font-size: 0.72rem;
  font-weight: 700;
  color: #64748b;
  min-width: 36px;
  text-align: center;
}

.site-access-toolbar__sep {
  width: 1px;
  height: 22px;
  background: #e2e8f0;
  margin: 0 4px;
}

html.site-zoom-80 { font-size: 80%; }
html.site-zoom-90 { font-size: 90%; }
html.site-zoom-100 { font-size: 100%; }
html.site-zoom-110 { font-size: 110%; }
html.site-zoom-120 { font-size: 120%; }
html.site-zoom-130 { font-size: 130%; }
html.site-zoom-140 { font-size: 140%; }
html.site-zoom-150 { font-size: 150%; }

@media (max-width: 480px) {
  .site-access-toolbar {
    padding: 5px 8px;
    max-width: calc(100vw - 1.25rem);
    bottom: max(0.75rem, env(safe-area-inset-bottom, 0px));
  }

  .site-access-toolbar.is-stacked {
    bottom: calc(max(0.75rem, env(safe-area-inset-bottom, 0px)) + var(--scroll-top-size, 48px) + var(--float-stack-gap, 0.55rem));
  }

  .site-access-toolbar__btn {
    min-width: 30px;
    height: 30px;
    font-size: 0.7rem;
  }
}

@media print {
  .site-access-toolbar { display: none !important; }
}
