/* Server-rendered public/auth surfaces share the SPA's classic theme tokens. */
.bwrog-public {
  --bs-body-color: var(--color-text);
  --bs-body-bg: var(--color-body);
  --bs-border-color: var(--color-border);
  --bs-secondary-color: var(--color-text-muted);
  --bs-link-color: var(--color-accent);
  --bs-link-hover-color: var(--color-accent-hover);
  -webkit-font-smoothing: antialiased;
}

.bwrog-public .navbar-dark {
  --bs-navbar-color: var(--color-sidebar-muted);
  --bs-navbar-hover-color: var(--color-sidebar-text);
  --bs-navbar-active-color: var(--color-sidebar-text);
  --bs-navbar-brand-color: var(--color-sidebar-text);
  --bs-navbar-brand-hover-color: var(--color-sidebar-text);
  --bs-navbar-toggler-border-color: var(--color-sidebar-muted);
}

.bwrog-public a { color: var(--color-accent); }
.bwrog-public a:hover { color: var(--color-accent-hover); }
.bwrog-public .navbar-brand,
.bwrog-public .navbar-brand:hover { color: var(--color-sidebar-text); }
.bwrog-public .navbar .nav-link { color: var(--color-sidebar-muted); }
.bwrog-public .navbar .nav-link:hover { color: var(--color-sidebar-text); }

.bwrog-public .card,
.bwrog-public .alert-light {
  background: var(--color-surface);
  border-color: var(--color-border);
  border-radius: var(--radius-card);
  color: var(--color-text);
}

.bwrog-public .shadow-sm { box-shadow: var(--shadow-raised) !important; }
.bwrog-public .text-muted,
.bwrog-public .link-secondary { color: var(--color-text-muted) !important; }
.bwrog-public .link-secondary:hover { color: var(--color-accent-hover) !important; }

.bwrog-public .btn {
  border-radius: var(--radius-control);
  font-weight: var(--font-weight-semibold);
  min-height: 44px;
  align-content: center;
  color: var(--bs-btn-color);
  --bs-btn-focus-box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--color-focus) 25%, transparent);
}
.bwrog-public .btn:hover { color: var(--bs-btn-hover-color); }
.bwrog-public .btn-primary {
  --bs-btn-color: var(--color-accent-contrast);
  --bs-btn-bg: var(--color-accent);
  --bs-btn-border-color: var(--color-accent);
  --bs-btn-hover-color: var(--color-accent-contrast);
  --bs-btn-hover-bg: var(--color-accent-hover);
  --bs-btn-hover-border-color: var(--color-accent-hover);
  --bs-btn-active-color: var(--color-accent-contrast);
  --bs-btn-active-bg: var(--color-accent-hover);
  --bs-btn-active-border-color: var(--color-accent-hover);
  --bs-btn-disabled-color: var(--color-accent-contrast);
  --bs-btn-disabled-bg: var(--color-accent);
  --bs-btn-disabled-border-color: var(--color-accent);
}
.bwrog-public .btn-outline-primary,
.bwrog-public .btn-outline-secondary {
  --bs-btn-color: var(--color-accent);
  --bs-btn-border-color: var(--color-accent);
  --bs-btn-hover-color: var(--color-accent-contrast);
  --bs-btn-hover-bg: var(--color-accent);
  --bs-btn-hover-border-color: var(--color-accent);
  --bs-btn-active-color: var(--color-accent-contrast);
  --bs-btn-active-bg: var(--color-accent-hover);
  --bs-btn-active-border-color: var(--color-accent-hover);
}
.bwrog-public .btn-outline-light {
  --bs-btn-color: var(--color-sidebar-text);
  --bs-btn-border-color: var(--color-sidebar-muted);
  --bs-btn-hover-color: var(--color-sidebar);
  --bs-btn-hover-bg: var(--color-sidebar-text);
  --bs-btn-hover-border-color: var(--color-sidebar-text);
  --bs-btn-active-color: var(--color-sidebar);
  --bs-btn-active-bg: var(--color-sidebar-text);
  --bs-btn-active-border-color: var(--color-sidebar-text);
}
.bwrog-public .btn-light {
  --bs-btn-color: var(--color-sidebar);
  --bs-btn-bg: var(--color-sidebar-text);
  --bs-btn-border-color: var(--color-sidebar-text);
  --bs-btn-hover-color: var(--color-sidebar);
  --bs-btn-hover-bg: var(--color-sidebar-muted);
  --bs-btn-hover-border-color: var(--color-sidebar-muted);
  --bs-btn-active-color: var(--color-sidebar);
  --bs-btn-active-bg: var(--color-sidebar-muted);
  --bs-btn-active-border-color: var(--color-sidebar-muted);
}

.bwrog-public .bwrog-badge { background: var(--color-accent); color: var(--color-accent-contrast); }
.bwrog-public .bwrog-featured { border-color: var(--color-accent); }
.bwrog-public .bwrog-callout { background: var(--color-sidebar); }
.bwrog-public .bwrog-callout-text { color: var(--color-sidebar-text); }
.bwrog-public .bwrog-callout-muted { color: var(--color-sidebar-muted); }
.bwrog-public :where(a, button, input, summary):focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 2px;
}

@media (max-width: 767.98px) {
  .bwrog-public .navbar-toggler { min-width: 44px; min-height: 44px; }
  .bwrog-public .navbar .nav-link { padding-block: .75rem; }
}
