html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

#blazor-error-ui {
  background: lightyellow;
  bottom: 0;
  box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
  display: none;
  left: 0;
  padding: 0.6rem 1.25rem 0.7rem 1.25rem;
  position: fixed;
  width: 100%;
  z-index: 1000;
}

#blazor-error-ui .dismiss {
  cursor: pointer;
  position: absolute;
  right: 0.75rem;
  top: 0.5rem;
}

/* Remove default button card styling so cards look like cards, not buttons */
button.card {
  background: #fff;
  text-align: left;
}

/* ---- Dealing animation: flip-reveal ---- */
.vp-card-slot {
  position: relative;
  width: 100%;
}

.vp-card-flip {
  position: relative;
  width: 100%;
  min-height: 160px;
  transform-style: preserve-3d;
  /* `backwards` keeps the face-down start state during the stagger delay */
  animation: vp-deal-flip 300ms ease-out backwards;
}

.vp-card-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border-radius: 0.375rem;
}

.vp-card-front {
  transform: rotateY(0deg);
  background: #fff;
}

.vp-card-back {
  background: #1d3a8a;
  border: 2px solid #fff;
  border-radius: 0.375rem;
  background-image: repeating-linear-gradient(45deg,
      rgba(255, 255, 255, 0.18) 0, rgba(255, 255, 255, 0.18) 6px,
      transparent 6px, transparent 12px);
}

/* Within a flip, the back face is rotated away so it shows before the flip. */
.vp-card-flip .vp-card-back {
  transform: rotateY(180deg);
}

/* Static (non-flipping) card back shown in the slots before the first deal. */
.vp-card-static-back {
  width: 100%;
  min-height: 160px;
}

@keyframes vp-deal-flip {
  from { transform: rotateY(180deg); }
  to   { transform: rotateY(0deg); }
}

.vp-card-slot.held {
  outline: 3px solid gold;
  border-radius: 0.375rem;
}

.vp-held-badge {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.75rem;
  font-weight: bold;
  color: gold;
  text-shadow: 0 0 3px #000;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .vp-card-flip {
    animation: none;
  }
}