/**
 * Boot splash + site status banner styles.
 */

.site-status-banner {
  position: fixed;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9500;
  width: min(440px, calc(100vw - 1.5rem));
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 120, 100, 0.45);
  background: linear-gradient(160deg, rgba(40, 14, 14, 0.98), rgba(12, 8, 10, 0.98));
  color: #ffe8e4;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.55);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.site-status-banner[data-level='info'] {
  border-color: rgba(100, 200, 255, 0.45);
  background: linear-gradient(160deg, rgba(14, 28, 40, 0.98), rgba(8, 12, 18, 0.98));
  color: #e8f4ff;
}

.site-status-banner[data-level='warn'] {
  border-color: rgba(255, 190, 80, 0.5);
  background: linear-gradient(160deg, rgba(40, 30, 10, 0.98), rgba(16, 12, 6, 0.98));
  color: #fff3d6;
}

.site-status-banner__title {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 0.35rem;
}

.site-status-banner__body {
  font-size: 0.88rem;
  line-height: 1.4;
  opacity: 0.92;
  margin-bottom: 0.45rem;
}

.site-status-banner__contact {
  font-size: 0.8rem;
  line-height: 1.4;
  opacity: 0.85;
  margin-bottom: 0.65rem;
}

.site-status-banner__contact a {
  color: #7fd0ff;
}

.site-status-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.site-status-banner__btn {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.08);
  color: inherit;
  border-radius: 8px;
  padding: 0.35rem 0.7rem;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 600;
}

.site-status-banner__btn:hover {
  background: rgba(255, 255, 255, 0.16);
}

.site-status-banner__btn--ghost {
  opacity: 0.85;
}

html.boot-loading body > *:not(#bootLoader) {
  /* Keep splash on top; no pointer trapping needed beyond z-index */
}
