main {
    max-width: 720px !important;
    position: relative;
    z-index: 2;
}

input[type="number"] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
}


label:has(+ input:required,
          + select:required,
          + textarea:required,
          + .required,
          + .input-group > input:required,
          + .number-input > input:required)::after {
    content: " *";
    font-weight: bold;
    color: red;
}

.canvas-signature {
    aspect-ratio: 3 / 2;
}

article img {
    object-fit: contain;
}

.liste-produits,
#conteneurCommande {
    max-height: 50vh;
    overflow-y: scroll;
}

.liste-produits > :not(:last-child),
#conteneurCommande > :not(:last-child) {
    margin-bottom: 1rem;
}

.number-input-minus,
.number-input-plus {
    width: 2.5rem;
    height: 2.5rem;
    aspect-ratio: 1;
    padding: 0;
}

.custom-select {
  height: 50vh;
  border: 1px solid #ccc;
  overflow-y: auto;
}
 
.custom-select__option {
  padding: 4px;
  cursor: pointer;
}
 
.custom-select__option:hover {
  background: #eee;
}

.selected {
  color: white !important;
  background: rgb(33, 110, 62) !important;
}

.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
    background-color: rgb(33, 110, 62) !important;
    border-color: rgb(33, 110, 62) !important;
}

.btn-outline-primary {
    color: rgb(33, 110, 62) !important;
    border-color: rgb(33, 110, 62) !important;
}

.btn-outline-primary:hover,
.btn-check:checked + .btn-outline-primary {
    background-color: rgb(33, 110, 62) !important;
    border-color: rgb(33, 110, 62) !important;
    color: white !important;
}

.btn-complété {
    position: relative;
}

.btn-complété::after {
    content: "✓";
    position: absolute;
    top: 50%;
    right: 0.85rem;
    transform: translateY(-50%);
    font-weight: bold;
    font-size: 1rem;
    color: white;
    background: rgba(255,255,255,0.25);
    border-radius: 50%;
    width: 1.4rem;
    height: 1.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
}