.months {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   column-gap: 0.3em;
   row-gap: 0.3em;
   max-width: 300px;
   margin: 0 auto;
}
[name="month-radio"] {
   display: none;
}
[name="month-radio"] + label {
   display: flex;
   padding: 0.5em;
   background-color: #ccc;
   cursor: pointer;
}
[name="month-radio"]:checked + label {
   font-weight: bold;
   background-color: var(--yellow);
}

.days {
   display: grid;
   grid-template-columns: repeat(7, 1fr);
   column-gap: 0.3em;
   row-gap: 0.3em;
   max-width: 300px;
   margin: 0 auto;
}
[name="day-radio"] {
   display: none;
}
[name="day-radio"] + label {
   display: flex;
   justify-content: center;
   align-items: center;
   aspect-ratio: 1;
   border-radius: 50%;
   color: black;
   background-color: #ccc;
   cursor: pointer;
}
[name="day-radio"]:checked + label {
   background-color: var(--yellow);
}


.places {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   column-gap: 0.3em;
   row-gap: 0.3em;
   max-width: 400px;
   margin: 0 auto;
}

@keyframes pulse {
   0% {
      transform: scale(1);
      opacity: 1;
   }
   50% {
      transform: scale(1.5);
      opacity: 0.7;
   }
   100% {
      transform: scale(1);
      opacity: 1;
   }
}
.pulse {
   animation: pulse 3s infinite ease-in-out;
}

.plz-input-wrapper {
   border: 3px solid var(--yellow2);
   padding: 0.5em;
}
.plz-input-wrapper input {
   font-size: 1em;
   font-family: inherit;
   width: 5em;
   text-align: center;
}
.plz-input-wrapper input[type=number]::-webkit-outer-spin-button,
.plz-input-wrapper input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.plz-input-wrapper input[type=number] { -moz-appearance: textfield; }
