/* Product-interest selectors in the public contact form. */
.modal-content .product-categories {
  display: grid;
  gap: 0.9rem;
}

.modal-content .prod-category {
  display: grid;
  gap: 0.4rem;
}

.modal-content .prod-cat-title {
  color: #9edc58;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.modal-content .prod-cat-items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.modal-content .prod-check-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2rem;
  padding: 0.36rem 0.62rem;
  border: 1px solid rgba(95, 196, 185, 0.54);
  border-radius: 0.45rem;
  background: #082a43;
  color: #d9f2ed;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.modal-content .prod-check-label:hover {
  border-color: #78d5c7;
  background: #0b354f;
}

.modal-content .prod-check-label:has(.prod-check-input:checked) {
  border-color: #a5df5b;
  background: #104957;
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(165, 223, 91, 0.2);
}

.modal-content .prod-check-input {
  appearance: none;
  display: grid;
  width: 0.9rem;
  height: 0.9rem;
  margin: 0;
  place-content: center;
  border: 1px solid #83cfc4;
  border-radius: 0.22rem;
  background: #041d31;
  cursor: pointer;
}

.modal-content .prod-check-input:checked {
  border-color: #b7ed66;
  background: #a5df5b;
}

.modal-content .prod-check-input:checked::after {
  width: 0.27rem;
  height: 0.48rem;
  border: solid #05243a;
  border-width: 0 2px 2px 0;
  content: '';
  transform: rotate(45deg) translate(-0.03rem, -0.08rem);
}

.modal-content .prod-check-input:focus-visible {
  outline: 2px solid #d5ff64;
  outline-offset: 2px;
}

@media (max-width: 640px) {
  .modal-content .prod-check-label {
    min-height: 2.1rem;
    font-size: 0.7rem;
  }
}
