/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */

section[data-route='dc.show.serverstatus'] {
  @extend %serverstatus-route;
}
%serverstatus-route .server-failure-tolerance {
  @extend %server-failure-tolerance;
}
%serverstatus-route .redundancy-zones {
  @extend %redundancy-zones;
}
%redundancy-zones section {
  @extend %redundancy-zone;
}

/**/

%serverstatus-route h2,
%serverstatus-route h3 {
  @extend %display-300-semibold;
}

%server-failure-tolerance {
  @extend %panel;
  box-shadow: none;
  padding: var(--padding-y) var(--padding-x);
  max-width: 770px;
  display: flex;
  flex-wrap: wrap;
}
%server-failure-tolerance > header {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 0.5rem; /* 8px */
  margin-bottom: 1rem; /* 16px */
  border-bottom: var(--decor-border-100);
  border-color: var(--tone-border);
}

%server-failure-tolerance header em {
  @extend %pill-200;
  @extend %body-100-regular;
  background-color: var(--token-color-surface-interactive-active);

  text-transform: uppercase;
  font-style: normal;
}
%server-failure-tolerance > section {
  width: 50%;
}
%server-failure-tolerance > section,
%server-failure-tolerance dl {
  display: flex;
  flex-direction: column;
}
%server-failure-tolerance dl {
  flex-grow: 1;
  justify-content: space-between;
}
%server-failure-tolerance dd {
  display: flex;
  align-items: center;
}
%server-failure-tolerance dl.warning dd::before {
  --icon-name: icon-alert-circle;
  --icon-size: icon-800;
  --icon-color: var(--token-color-foreground-warning);
  content: '';
  margin-right: 0.5rem; /* 8px */
}
%server-failure-tolerance section:first-of-type dl {
  padding-right: 1.5rem; /* 24px */
}
%server-failure-tolerance dt {
  @extend %body-100-regular;
  color: var(--token-color-foreground-faint);
}
%server-failure-tolerance dd {
  @extend %display-300-semibold;
  color: var(--token-color-hashicorp-brand);
}
%server-failure-tolerance header span::before {
  --icon-name: icon-info;
  --icon-size: icon-300;
  --icon-color: var(--token-color-foreground-faint);
  vertical-align: unset;
  content: '';
}

%serverstatus-route section:not([class*='-tolerance']) h2 {
  margin-top: 1.5rem; /* 24px */
  margin-bottom: 1.5rem; /* 24px */
}
%serverstatus-route section:not([class*='-tolerance']) header {
  margin-top: 18px;
  margin-bottom: 18px;
}

%redundancy-zones h3 {
  @extend %display-300-semibold;
}
%redundancy-zone header {
  display: flow-root;
}
%redundancy-zone header h3 {
  float: left;
  margin-right: 0.5rem; /* 8px */
}

%redundancy-zone header dl {
  @extend %horizontal-kv-list;
  @extend %pill-500;
}
%redundancy-zone header dt {
  @extend %visually-unhidden;
}
%redundancy-zone header dl:not(.warning) {
  background-color: var(--token-color-surface-strong);
}
%redundancy-zone header dl.warning {
  background-color: var(--token-color-border-warning);
  color: var(--token-color-palette-amber-400);
}
%redundancy-zone header dl.warning::before {
  --icon-name: icon-alert-circle;
  --icon-size: icon-000;
  margin-right: 0.312rem; /* 5px */
  content: '';
}
%redundancy-zone header dt::after {
  content: ':';
  display: inline-block;
  vertical-align: revert;
  background-color: transparent;
}
