:root {
  --minus15: #2ea3f2;
  --minus30: #ff579c;
  --minus40: #932eb8;
  --minus100: #46c846;
}

/* ================================================= */
/* ===================INPUTS======================= */
/* =============================================== */

.calculator_illus {
  border-radius: 8px;
}

/* ================================================= */
/* ===================CALENDRIER=================== */
/* =============================================== */

/* container global du calendrier */
#date-calendar-container {
  box-shadow: var(--shadow-l);
  border-radius: 15px;
  padding: 30px;
}

@media screen and (max-width: 980px) {
  #date-calendar-container {
    box-shadow: none;
    border-radius: 0px;
    padding: 0px;
  }
}

/* Nom de changement de mois & flèches*/

#date-calendar-switch {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  gap: 20px;
  width: fit-content;
  border: 1px solid;
  margin: auto;
  background: #ffff;
  border-radius: 500px;
}
.date_calendar_switch_arrow {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: aliceblue;
  transition: all 0.3s;
  color: #fff;
}

.date_calendar_switch_arrow {
  background: var(--pri);
}

.date_calendar_switch_arrow.disabled {
  opacity: 0.2;
  pointer-events: none;
}

.date_calendar_switch_arrow:hover {
  cursor: pointer;
  background: var(--sec);
  transform: scale(1.05);
}

.date_calendar_switch_arrow i {
  display: inline-block;
  transform: translateY(3px);
  transition: all 0.3s;
}

#date-calendar-current {
  font-weight: 700;
  min-width: 100px;
  text-align: center;
  text-transform: capitalize;
}

#date-calendar-switch i:hover {
  cursor: pointer;
  transform: translateY(2px) scale(1.1);
}

/* Légende */

#date-calendar-legend {
  display: flex;
  justify-content: center;
}

#date-calendar-legend div {
  margin: 10px;
  border-radius: 4px;
}

#date-calendar-legend div span {
  text-align: center;
  font-size: 15px;
}

#date-calendar-legend div span::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  margin: auto;
  transform: translateY(2px);
  margin-right: 4px;
}

.calendar_legend_15::before {
  background: var(--minus15);
}

.calendar_legend_30::before {
  background: var(--minus30);
}

.calendar_legend_40::before {
  background: var(--minus40);
}

.calendar_legend_free::before {
  background: var(--minus100);
}

.calendar_legend {
  font-size: 12px;
  display: inline-block;
  border-radius: 3px;
  padding: 3px 5px;
  margin: 5px;
  font-weight: 600;
}

/* Jours du calendrier */

#date-calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  position: relative;
}

#date-calendar .skiday {
  display: none !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  padding: 3px;
  border: 1px solid #ebf0ff;
  border-radius: 10px;
  margin: 2px;
  height: auto;
  transition: all 0.1s;
  padding: 10px 0px;
}

@media screen and (max-width: 980px) {
  #date-calendar .skiday {
    width: auto;
    padding: 10px 0px;
    margin: 0;
    border-radius: 0px;
  }

  #date-calendar .skiday .skiday-date-label {
    font-size: 10px;
  }
}

#date-calendar .skiday:hover {
  cursor: pointer;
  transform: scale(1.05);
}

#date-calendar .skiday.active {
  display: flex !important;
}

#date-calendar .skiday.selected {
  border: 2px solid var(--darkblue);
}

#date-calendar .skiday.empty {
  background: #fff;
  pointer-events: none;
  display: block !important;
  border: none;
}

#date-calendar .skiday.active.past {
    opacity: .5;
}

#date-calendar .skiday.active.current {
    border: 2px solid #46c846;
    opacity: 1;
}

#date-calendar .skiday > * {
  pointer-events: none;
}

/*  */

#date-calendar .skiday .skiday-date-label {
  margin-bottom: 8px;
  font-weight: 700;
}

#date-calendar .skiday .skiday-date-label::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: block;
  margin: 0 auto;
}

#date-calendar .skiday .skiday-date-label.discount_15::before {
  background: var(--minus15);
}

#date-calendar .skiday .skiday-date-label.discount_30::before {
  background: var(--minus30);
}

#date-calendar .skiday .skiday-date-label.discount_40::before {
  background: var(--minus40);
}

#date-calendar .skiday .skiday-date-label.last_day::before,
#date-calendar .skiday .skiday-date-label.free_day::before {
  background: var(--minus100);
}

#date-calendar .skiday .skiday-day {
  text-transform: capitalize;
}

#date-calendar .skiday .skiday-public-price {
  color: var(--darkblue);
  text-decoration: line-through;
  font-size: 14px;
}

#date-calendar .skiday .skiday-nosouci-price {
  color: var(--darkblue);
  font-weight: 700;
  font-size: 16px;
}

@media screen and (max-width: 768px) {
  #date-calendar .skiday .skiday-public-price {
    font-size: 12px;
  }

  #date-calendar .skiday .skiday-nosouci-price {
    font-size: 14px;
  }
}

/*  Flou quand aucune station n'est sélectionnée*/
#calendar-blur-container {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: -webkit-fill-available;
  height: -webkit-fill-available;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(3px);
  text-align: center;
  opacity: 0;
  pointer-events: none;
}

#calendar-blur-container.active {
  opacity: 1;
  pointer-events: all;
}

#calendar-blur-message {
  width: fit-content;
  background-color: white;
  border-radius: 4px;
  box-shadow: var(--shadow-l);
  padding: 30px;
  margin: auto;
  margin-top: 25%;
  font-weight: 700;
  border-left: 9px solid var(--pri);
}

/* Popin de prix affichée au clic */

#calendar-popin {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  background: #fff;
  transform: translateY(-50%) translateX(-50%);
  box-shadow: 0px 0px 55px #659ac5;
  z-index: 99;
  padding: 50px;
  transition: all 0.3s;
  border-radius: 15px;
}

#calendar-popin.active {
  display: block;
}

#calendar-popin img {
  max-width: 140px;
}

#calendar-popin-close {
  background: var(--sec);
  width: 35px;
  height: 35px;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 30px;
  right: 30px;
  transition: all 0.3s;
}

#calendar-popin-close:hover {
  background: var(--pri);
  transform: scale(1.05);
  cursor: pointer;
}

#calendar-popin-close i {
  transform: translateY(2px);
}

#calendar-popin-recap {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 20px;
}

#calendar-popin-date,
#calendar-popin-resort,
#calendar-popin-category {
  font-size: 14px;
  background: aliceblue;
  padding: 8px 15px;
  border-radius: 500px;
}

#calendar-popin-public-price {
  text-decoration: line-through;
  font-size: 18px;
}

#calendar-popin-nosouci-price {
  font-size: 35px;
  font-weight: 900;
}

#calendar-popin-discount {
  background: #e0ffe0;
  color: green;
  padding: 5px;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 700;
  margin-left: 10px;
}

#calendar-popin p {
  padding: 3px 0px;
}

#calendar-popin a {
  padding: 13px 18px 16px 18px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 700;
  transition: all 0.3s;
  background: var(--sec);
  color: #fff;
  display: inline-block;
  margin: 15px 0px;
}

#calendar-popin a:hover {
  background: var(--pri);
}

#calendar-popin a i {
  display: inline-block;
  transform: translateY(3px);
  margin-left: 5px;
}

@media screen and (max-width: 800px) {
  #calendar-popin {
    width: 85vw;
  }
}
