/* Adopted component notices and maintained-source provenance:
 * libs/presentation/THIRD-PARTY-NOTICES.txt; docs/frontend-asset-provenance.md.
 * 2ip modifications include split product styling and Bootstrap5 selectors. */

/* Ordinary button presentation is owned by shared-ui.css. */
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: 0;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: 0;
}

.twoip-checkbox label {
  cursor: pointer;
  padding-left: 0;
  color: var(--twoip-on-surface-variant);
}
.twoip-checkbox input[type=checkbox] {
  opacity: 0;
  position: absolute;
  margin: 0;
  z-index: -1;
  width: 0;
  height: 0;
  overflow: hidden;
  left: 0;
  pointer-events: none;
}
.twoip-checkbox .checkbox-material {
  vertical-align: middle;
  position: relative;
  top: 3px;
}
.twoip-checkbox .checkbox-material:before {
  display: block;
  position: absolute;
  left: 0;
  content: "";
  background-color: var(--twoip-on-surface-variant);
  height: 20px;
  width: 20px;
  border-radius: 100%;
  z-index: 1;
  opacity: 0;
  margin: 0;
  transform: scale3d(2.3, 2.3, 1);
}
.twoip-checkbox .checkbox-material .check {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid var(--twoip-outline);
  border-radius: 2px;
  overflow: hidden;
  z-index: 1;
}
.twoip-checkbox .checkbox-material .check:before {
  position: absolute;
  content: "";
  transform: rotate(45deg);
  display: block;
  margin-top: -4px;
  margin-left: 6px;
  width: 0;
  height: 0;
  box-shadow: 0 0 0 0,
        0 0 0 0,
        0 0 0 0,
        0 0 0 0,
        0 0 0 0,
        0 0 0 0,
        0 0 0 0 inset;
  animation: checkbox-off 0.3s forwards;
}
.twoip-checkbox input[type=checkbox]:focus + .checkbox-material .check:after {
  opacity: 0.2;
}
.twoip-checkbox input[type=checkbox]:checked + .checkbox-material .check:before {
  box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
  animation: checkbox-on 0.3s forwards;
}
.twoip-checkbox input[type=checkbox]:not(:checked) + .checkbox-material:before {
  animation: rippleOff 500ms;
}
.twoip-checkbox input[type=checkbox]:checked + .checkbox-material:before {
  animation: rippleOn 500ms;
}
.twoip-checkbox input[type=checkbox]:not(:checked) + .checkbox-material .check:after {
  animation: rippleOff 500ms forwards;
}
.twoip-checkbox input[type=checkbox]:checked + .checkbox-material .check:after {
  animation: rippleOn 500ms forwards;
}
fieldset[disabled] .twoip-checkbox,
fieldset[disabled] .twoip-checkbox input[type=checkbox],
.twoip-checkbox input[type=checkbox][disabled]:not(:checked) ~ .checkbox-material .check:before,
.twoip-checkbox input[type=checkbox][disabled]:not(:checked) ~ .checkbox-material .check,
.twoip-checkbox input[type=checkbox][disabled] + .circle {
  opacity: 0.5;
}
.twoip-checkbox input[type=checkbox][disabled] + .checkbox-material .check:after {
  background-color: var(--twoip-on-surface-variant);
  transform: rotate(-45deg);
}
.twoip-checkbox input[type=checkbox]:checked + .checkbox-material .check:after,
.checkbox-default input[type=checkbox]:checked + .checkbox-material .check:after {
  background-color: var(--twoip-primary);
}
.checkbox-black input[type=checkbox]:checked + .checkbox-material .check:after {
  background-color: var(--twoip-on-surface);
}
.checkbox-white input[type=checkbox]:checked + .checkbox-material .check:after {
  background-color: var(--twoip-surface);
}
.checkbox-inverse input[type=checkbox]:checked + .checkbox-material .check:after {
  background-color: var(--twoip-primary);
}
.checkbox-primary input[type=checkbox]:checked + .checkbox-material .check:after {
  background-color: var(--twoip-primary);
}
.checkbox-success input[type=checkbox]:checked + .checkbox-material .check:after {
  background-color: var(--twoip-success);
}
.checkbox-info input[type=checkbox]:checked + .checkbox-material .check:after {
  background-color: var(--twoip-primary);
}
.checkbox-warning input[type=checkbox]:checked + .checkbox-material .check:after {
  background-color: var(--twoip-warning);
}
.checkbox-danger input[type=checkbox]:checked + .checkbox-material .check:after {
  background-color: var(--twoip-error);
}
.twoip-checkbox input[type=checkbox]:checked + .checkbox-material .check:before,
.checkbox-default input[type=checkbox]:checked + .checkbox-material .check:before {
  color: var(--twoip-primary);
}
.checkbox-black input[type=checkbox]:checked + .checkbox-material .check:before {
  color: var(--twoip-on-surface);
}
.checkbox-white input[type=checkbox]:checked + .checkbox-material .check:before {
  color: var(--twoip-surface);
}
.checkbox-inverse input[type=checkbox]:checked + .checkbox-material .check:before {
  color: var(--twoip-primary);
}
.checkbox-primary input[type=checkbox]:checked + .checkbox-material .check:before {
  color: var(--twoip-primary);
}
.checkbox-success input[type=checkbox]:checked + .checkbox-material .check:before {
  color: var(--twoip-success);
}
.checkbox-info input[type=checkbox]:checked + .checkbox-material .check:before {
  color: var(--twoip-primary);
}
.checkbox-warning input[type=checkbox]:checked + .checkbox-material .check:before {
  color: var(--twoip-warning);
}
.checkbox-danger input[type=checkbox]:checked + .checkbox-material .check:before {
  color: var(--twoip-error);
}
.twoip-checkbox input[type=checkbox]:checked + .checkbox-material .check,
.checkbox-default input[type=checkbox]:checked + .checkbox-material .check {
  color: var(--twoip-primary);
}
.checkbox-black input[type=checkbox]:checked + .checkbox-material .check {
  color: var(--twoip-on-surface);
}
.checkbox-white input[type=checkbox]:checked + .checkbox-material .check {
  color: var(--twoip-surface);
}
.checkbox-inverse input[type=checkbox]:checked + .checkbox-material .check {
  color: var(--twoip-primary);
}
.checkbox-primary input[type=checkbox]:checked + .checkbox-material .check {
  color: var(--twoip-primary);
}
.checkbox-success input[type=checkbox]:checked + .checkbox-material .check {
  color: var(--twoip-success);
}
.checkbox-info input[type=checkbox]:checked + .checkbox-material .check {
  color: var(--twoip-primary);
}
.checkbox-warning input[type=checkbox]:checked + .checkbox-material .check {
  color: var(--twoip-warning);
}
.checkbox-danger input[type=checkbox]:checked + .checkbox-material .check {
  color: var(--twoip-error);
}
.twoip-checkbox input[type=checkbox]:checked + .checkbox-material .check,
.checkbox-default input[type=checkbox]:checked + .checkbox-material .check {
  border-color: var(--twoip-primary);
}
.checkbox-black input[type=checkbox]:checked + .checkbox-material .check {
  border-color: var(--twoip-on-surface);
}
.checkbox-white input[type=checkbox]:checked + .checkbox-material .check {
  border-color: var(--twoip-surface);
}
.checkbox-inverse input[type=checkbox]:checked + .checkbox-material .check {
  border-color: var(--twoip-primary);
}
.checkbox-primary input[type=checkbox]:checked + .checkbox-material .check {
  border-color: var(--twoip-primary);
}
.checkbox-success input[type=checkbox]:checked + .checkbox-material .check {
  border-color: var(--twoip-success);
}
.checkbox-info input[type=checkbox]:checked + .checkbox-material .check {
  border-color: var(--twoip-primary);
}
.checkbox-warning input[type=checkbox]:checked + .checkbox-material .check {
  border-color: var(--twoip-warning);
}
.checkbox-danger input[type=checkbox]:checked + .checkbox-material .check {
  border-color: var(--twoip-error);
}
@keyframes checkbox-on {
  0% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px;
  }
  50% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px;
  }
  100% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
  }
}
@keyframes checkbox-off {
  0% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
  }
  25% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
  }
  50% {
    transform: rotate(45deg);
    margin-top: -4px;
    margin-left: 6px;
    width: 0px;
    height: 0px;
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset;
  }
  51% {
    transform: rotate(0deg);
    margin-top: -2px;
    margin-left: -2px;
    width: 20px;
    height: 20px;
    box-shadow: 0 0 0 0,
      0 0 0 0,
      0 0 0 0,
      0 0 0 0,
      0 0 0 0,
      0 0 0 0,
      0px 0px 0 10px inset;
  }
  100% {
    transform: rotate(0deg);
    margin-top: -2px;
    margin-left: -2px;
    width: 20px;
    height: 20px;
    box-shadow: 0 0 0 0,
      0 0 0 0,
      0 0 0 0,
      0 0 0 0,
      0 0 0 0,
      0 0 0 0,
      0px 0px 0 0px inset;
  }
}
@keyframes rippleOn {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 0;
  }
}
@keyframes rippleOff {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 0;
  }
}

.twoip-radio label {
  cursor: pointer;
  color: var(--twoip-on-surface-variant);
}
.twoip-radio label :is(.circle,.check) {
  display: block;
  position: absolute;
  left: 10px;
  top: 2px;
  transition-duration: 0.2s;
}
.twoip-radio label .circle {
  border: 2px solid var(--twoip-outline);
  height: 15px;
  width: 15px;
  border-radius: 100%;
}
.twoip-radio label .check {
  height: 15px;
  width: 15px;
  border-radius: 100%;
  background-color: var(--twoip-primary);
  transform: scale3d(0, 0, 0);
}
.twoip-radio label .check:after {
  display: block;
  position: absolute;
  content: "";
  background-color: var(--twoip-on-surface-variant);
  left: -18px;
  top: -18px;
  height: 50px;
  width: 50px;
  border-radius: 100%;
  z-index: 1;
  opacity: 0;
  margin: 0;
  transform: scale3d(1.5, 1.5, 1);
}
.twoip-radio label input[type=radio]:not(:checked) ~ .check:after {
  animation: rippleOff 500ms;
}
.twoip-radio label input[type=radio]:checked ~ .check:after {
  animation: rippleOn 500ms;
}
.twoip-radio input[type=radio]:checked ~ .check,
.radio-default input[type=radio]:checked ~ .check {
  background-color: var(--twoip-primary);
}
.radio-black input[type=radio]:checked ~ .check {
  background-color: var(--twoip-on-surface);
}
.radio-white input[type=radio]:checked ~ .check {
  background-color: var(--twoip-surface);
}
.radio-inverse input[type=radio]:checked ~ .check {
  background-color: var(--twoip-primary);
}
.radio-primary input[type=radio]:checked ~ .check {
  background-color: var(--twoip-primary);
}
.radio-success input[type=radio]:checked ~ .check {
  background-color: var(--twoip-success);
}
.radio-info input[type=radio]:checked ~ .check {
  background-color: var(--twoip-primary);
}
.radio-warning input[type=radio]:checked ~ .check {
  background-color: var(--twoip-warning);
}
.radio-danger input[type=radio]:checked ~ .check {
  background-color: var(--twoip-error);
}
.twoip-radio input[type=radio]:checked ~ .circle,
.radio-default input[type=radio]:checked ~ .circle {
  border-color: var(--twoip-primary);
}
.radio-black input[type=radio]:checked ~ .circle {
  border-color: var(--twoip-on-surface);
}
.radio-white input[type=radio]:checked ~ .circle {
  border-color: var(--twoip-surface);
}
.radio-inverse input[type=radio]:checked ~ .circle {
  border-color: var(--twoip-primary);
}
.radio-primary input[type=radio]:checked ~ .circle {
  border-color: var(--twoip-primary);
}
.radio-success input[type=radio]:checked ~ .circle {
  border-color: var(--twoip-success);
}
.radio-info input[type=radio]:checked ~ .circle {
  border-color: var(--twoip-primary);
}
.radio-warning input[type=radio]:checked ~ .circle {
  border-color: var(--twoip-warning);
}
.radio-danger input[type=radio]:checked ~ .circle {
  border-color: var(--twoip-error);
}
.twoip-radio input[type=radio][disabled] ~ .check,
.twoip-radio input[type=radio][disabled] ~ .circle {
  opacity: 0.5;
}
.twoip-radio input[type=radio] {
  opacity: 0;
  height: 0;
  width: 0;
  overflow: hidden;
}
.twoip-radio input[type=radio]:checked ~ .check {
  transform: scale3d(0.55, 0.55, 1);
}
.twoip-radio input[type=radio][disabled] ~ .circle {
  border-color: var(--twoip-outline);
}
.twoip-radio input[type=radio][disabled] ~ .check {
  background-color: var(--twoip-on-surface-variant);
}
@keyframes rippleOn {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 0;
  }
}
@keyframes rippleOff {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 0;
  }
}

legend {
  margin-bottom: 22px;
  font-size: 24px;
}
output {
  padding-top: 8px;
  font-size: 16px;
  line-height: 1.42857143;
}

.twoip-checkbox label {
  min-height: 22px;
}
.form-control-static {
  padding-top: 8px;
  padding-bottom: 8px;
  min-height: 38px;
}
.twoip-form-group-sm textarea.form-control,
.twoip-form-group-sm select[multiple].form-control {
  height: auto;
}
.twoip-form-group-sm .form-control-static {
  height: 26px;
  min-height: 34px;
  padding: 4px 0px;
  font-size: 12px;
  line-height: 1.5;
}
.twoip-form-group-lg textarea.form-control,
.twoip-form-group-lg select[multiple].form-control {
  height: auto;
}
.twoip-form-group-lg .form-control-static {
  height: 47px;
  min-height: 42px;
  padding: 10px 0px;
  font-size: 20px;
  line-height: 1.3333333;
}
.twoip-form-horizontal .twoip-checkbox,
.twoip-form-horizontal .radio-inline,
.twoip-form-horizontal .checkbox-inline {
  padding-top: 8px;
}
.twoip-form-horizontal .twoip-checkbox {
  min-height: 30px;
}
@media (min-width: 768px) {
}
@media (min-width: 768px) {
}
@media (min-width: 768px) {
}
.form-control,
.twoip-form-group .form-control {
  float: none;
}
.twoip-form-group {
  position: relative;
}
.twoip-form-group.is-focused .form-control {
  outline: none;
}

.twoip-form-group textarea ~ .form-control-highlight {
  margin-top: -11px;
}

.twoip-form-group select ~ .material-input:after {
  display: none;
}
.form-control {
  margin-bottom: 7px;
}
.twoip-checkbox label,
.twoip-radio label,
label {
  font-size: 16px;
  line-height: 1.42857143;
  color: var(--twoip-on-surface-variant);
  font-weight: 400;
}
label.twoip-control-label {
  margin: 16px 0 0 0;
}
.twoip-help-block {
  margin-top: 0px;
  font-size: 12px;
}
.twoip-form-group {
  padding-bottom: 7px;
  margin: 28px 0 0 0;
}
.twoip-form-group .form-control {
  margin-bottom: 7px;
}
.twoip-form-group .twoip-checkbox label,
.twoip-form-group .twoip-radio label,
.twoip-form-group label {
  font-size: 16px;
  line-height: 1.42857143;
  color: var(--twoip-on-surface-variant);
  font-weight: 400;
}
.twoip-form-group label.twoip-control-label {
  margin: 16px 0 0 0;
}
.twoip-form-group.twoip-form-group-sm {
  padding-bottom: 3px;
  margin: 21px 0 0 0;
}
.twoip-form-group.twoip-form-group-sm .form-control {
  margin-bottom: 3px;
}
.twoip-form-group.twoip-form-group-sm .twoip-checkbox label,
.twoip-form-group.twoip-form-group-sm .twoip-radio label,
.twoip-form-group.twoip-form-group-sm label {
  font-size: 12px;
  line-height: 1.5;
  color: var(--twoip-on-surface-variant);
  font-weight: 400;
}
.twoip-form-group.twoip-form-group-sm label.twoip-control-label {
  margin: 16px 0 0 0;
}
.twoip-form-group.twoip-form-group-sm .twoip-help-block {
  margin-top: 0px;
  font-size: 9px;
}
.twoip-form-group.twoip-form-group-lg {
  padding-bottom: 9px;
  margin: 31px 0 0 0;
}
.twoip-form-group.twoip-form-group-lg .form-control {
  margin-bottom: 9px;
}
.twoip-form-group.twoip-form-group-lg .twoip-checkbox label,
.twoip-form-group.twoip-form-group-lg .twoip-radio label,
.twoip-form-group.twoip-form-group-lg label {
  font-size: 20px;
  line-height: 1.3333333;
  color: var(--twoip-on-surface-variant);
  font-weight: 400;
}
.twoip-form-group.twoip-form-group-lg label.twoip-control-label {
  margin: 16px 0 0 0;
}
.twoip-form-group.twoip-form-group-lg .twoip-help-block {
  margin-top: 0px;
  font-size: 15px;
}
select.form-control[multiple],
.twoip-form-group.is-focused select.form-control[multiple] {
  height: 85px;
}
.twoip-group-actions .btn {
  margin: 0 0 7px 0;
}
.twoip-form-group.twoip-form-group-sm .twoip-group-actions .btn {
  margin: 0 0 3px 0;
}
.twoip-form-group.twoip-form-group-lg .twoip-group-actions .btn {
  margin: 0 0 9px 0;
}
.input-group .twoip-group-actions {
  padding: 0 12px;
}
.input-group .input-group-text {
  border: 0;
  background: transparent;
}
.twoip-form-group input[type=file] {
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
}
.twoip-form-horizontal .twoip-checkbox,
.twoip-form-horizontal .radio-inline,
.twoip-form-horizontal .checkbox-inline {
  padding-top: 0px;
}
.twoip-form-horizontal label {
  text-align: right;
}
.twoip-form-horizontal label.twoip-control-label {
  margin: 0;
}

.alert {
  border: 0px;
  border-radius: 0;
}
.alert,
.alert-default {
  background-color: var(--twoip-surface);
  color: var(--twoip-on-surface);
}
.alert a:not(.twoip-inline-link),
.alert-default a:not(.twoip-inline-link),
.alert .alert-link,
.alert-default .alert-link {
  color: var(--twoip-on-surface);
}
.alert-black {
  background-color: var(--twoip-on-surface);
  color: var(--twoip-surface);
}
.alert-black a:not(.twoip-inline-link),
.alert-black .alert-link {
  color: var(--twoip-surface);
}
.alert-white {
  background-color: var(--twoip-surface);
  color: var(--twoip-on-surface);
}
.alert-white a:not(.twoip-inline-link),
.alert-white .alert-link {
  color: var(--twoip-on-surface);
}
.alert-inverse {
  background-color: var(--twoip-primary-container);
  color: var(--twoip-on-primary-container);
}
.alert-inverse a:not(.twoip-inline-link),
.alert-inverse .alert-link {
  color: var(--twoip-on-primary-container);
}
.alert-primary {
  background-color: var(--twoip-primary-container);
  color: var(--twoip-on-primary-container);
}
.alert-primary a:not(.twoip-inline-link),
.alert-primary .alert-link {
  color: var(--twoip-on-primary-container);
}
.alert-success {
  background-color: var(--twoip-success-container);
  color: var(--twoip-success);
}
.alert-success a:not(.twoip-inline-link),
.alert-success .alert-link {
  color: var(--twoip-success);
}
.alert-info {
  background-color: var(--twoip-primary-container);
  color: var(--twoip-on-primary-container);
}
.alert-info a:not(.twoip-inline-link),
.alert-info .alert-link {
  color: var(--twoip-on-primary-container);
}
.alert-warning {
  background-color: var(--twoip-warning-container);
  color: var(--twoip-warning);
}
.alert-warning a:not(.twoip-inline-link),
.alert-warning .alert-link {
  color: var(--twoip-warning);
}
.alert-danger {
  background-color: var(--twoip-error-container);
  color: var(--twoip-error);
}
.alert-danger a:not(.twoip-inline-link),
.alert-danger .alert-link {
  color: var(--twoip-error);
}
.alert-info,
.alert-danger,
.alert-warning,
.alert-success {
  color: inherit;
}
.alert-default a:not(.twoip-inline-link),
.alert-default .alert-link {
  color: var(--twoip-on-surface);
}

.text-warning {
  color: var(--twoip-warning);
}
.text-primary {
  color: var(--twoip-primary);
}
.text-danger {
  color: var(--twoip-error);
}
.text-success {
  color: var(--twoip-success);
}
.text-info {
  color: var(--twoip-primary);
}

.vertical-alignment-helper {
  display: table;
  height: 100%;
  width: 100%;
}
.vertical-align-center {
  
  display: table-cell;
  vertical-align: middle;
}
.modal-content {
  box-shadow: 0 27px 24px 0 color-mix(in srgb, var(--twoip-on-surface) 20.0%, transparent), 0 40px 77px 0 color-mix(in srgb, var(--twoip-on-surface) 22.0%, transparent);
  border-radius: 2px;
  border: none;
  
  width: inherit;
  height: inherit;
  
  margin: 0 auto;
}
.modal-content .modal-header {
  border-bottom: none;
  padding-top: 24px;
  padding-right: 24px;
  padding-bottom: 0px;
  padding-left: 24px;
}
.modal-content .modal-body {
  padding-top: 24px;
  padding-right: 24px;
  padding-bottom: 16px;
  padding-left: 24px;
}
.modal-content .modal-footer {
  border-top: none;
  padding: 7px;
}
.modal-content .modal-footer button {
  margin: 0;
  padding-left: 16px;
  padding-right: 16px;
  width: auto;
}
.modal-content .modal-footer button.float-start {
  padding-left: 5px;
  padding-right: 5px;
  position: relative;
  left: -5px;
}
.modal-content .modal-footer button + button {
  margin-bottom: 16px;
}
.modal-content .modal-body + .modal-footer {
  padding-top: 0;
}
.twoip-label {
  border-radius: 1px;
}
.twoip-label,
.twoip-label-default {
  background-color: var(--twoip-surface-container-high);
}
.twoip-label-black {
  background-color: var(--twoip-on-surface);
}
.twoip-label-white {
  background-color: var(--twoip-surface);
}
.twoip-label-inverse {
  background-color: var(--twoip-primary-container);
}
.twoip-label-primary {
  background-color: var(--twoip-primary-container);
}
.twoip-label-success {
  background-color: var(--twoip-success-container);
}
.twoip-label-info {
  background-color: var(--twoip-primary-container);
}
.twoip-label-warning {
  background-color: var(--twoip-warning-container);
}
.twoip-label-danger {
  background-color: var(--twoip-error-container);
}

/* Authored before/after figures reuse the full article column and shell spacing. */
.twoip-editorial-comparison {
  --twoip-editorial-gap: var(--twoip-grid-gutter);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--twoip-editorial-gap);
  margin-block: var(--twoip-editorial-gap);
}
.twoip-editorial-comparison figure { margin: 0; min-width: 0; }
.twoip-editorial-comparison figcaption,
.twoip-editorial-figure figcaption {
  margin-block-start: var(--twoip-service-heading-gap);
  color: var(--twoip-on-surface-variant);
  font-size: var(--twoip-type-label);
  line-height: 1.5;
}
.twoip-editorial-stage { display: block; color: var(--twoip-on-surface); font-weight: 500; }
.twoip-editorial-comparison img,
.twoip-editorial-figure img { display: block; max-width: 100%; height: auto; border-radius: var(--twoip-radius-medium); }
.twoip-editorial-comparison figure > a,
.twoip-editorial-figure > a { display: block; max-width: 100%; border: 0; text-decoration: none; }
.twoip-editorial-comparison--logo { --twoip-editorial-logo-height: 160px; }
.twoip-editorial-comparison--logo figure { display: grid; grid-template-rows: var(--twoip-editorial-logo-height) auto; }
.twoip-editorial-comparison--logo a { display: flex; align-items: center; justify-content: center; }
/* Original light-logo assets keep a light reference canvas in either page theme. */
.twoip-editorial-comparison--logo img { width: auto; max-height: var(--twoip-editorial-logo-height); object-fit: contain; background: var(--twoip-on-primary); }
.twoip-editorial-figure { margin: var(--twoip-service-form-section-gap) 0; }
.twoip-editorial-figure--symbol img { border-radius: 0; }
@media (max-width: 767px) {
  .twoip-editorial-comparison { grid-template-columns: minmax(0, 1fr); }
}
