/* General */
* {
  outline: none;
}
:root {
  --primary: #004486;
  --primary-rgb: 0, 68, 134;
  --secondary: #0052a3;
  --tertiary: #f8c364;
  --text: #112b44;
}
@font-face {
  font-family: Lato;
  src: url("../fonts/Lato.ttf");
}
@font-face {
  font-family: Raleway;
  src: url("../fonts/Raleway.ttf");
}

main {
  min-height: 80vh;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: Raleway;
}
h1,
h2,
h3 {
  font-weight: 600;
}
h1 {
  font-size: calc(2.986rem + ((1vw - 4px) * 0.5264));
}
h2 {
  font-size: calc(2.488rem + ((1vw - 4px) * 0.5264));
}
h3 {
  font-size: calc(2.074rem + ((1vw - 4px) * 0.5264));
}
h4 {
  font-size: calc(1.728rem + ((1vw - 4px) * 0.5264));
}
h5 {
  font-size: calc(1.44rem + ((1vw - 4px) * 0.5264));
}
h6 {
  font-size: calc(1.2rem + ((1vw - 4px) * 0.5264));
  margin-bottom: 0rem !important;
}

p,
.leaflet-container,
.nav-link,
.page-link,
.message,
.p {
  font-family: "Lato" !important;
  font-size: calc(1rem + ((1vw - 4px) * 0.2632));
}
body,
p,
small,
input,
label,
h1,
h2,
h3,
h4,
h5,
h6,
.p,
.form-select,
.form-control,
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year,
.leaflet-container{
  color: var(--text);
}

a {
  color: var(--primary);
}
a:hover {
  --bs-link-color-rgb: var(--secondary);
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: var(--secondary);
  --bs-btn-hover-border-color: var(--secondary);
  --bs-btn-active-bg: var(--secondary);
  --bs-btn-active-border-color: var(--secondary);
  --bs-btn-disabled-bg: var(--primary);
  --bs-btn-disabled-border-color: var(--primary);
}
.btn-outline-primary {
  --bs-btn-color: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--secondary);
  --bs-btn-hover-border-color: var(--secondary);
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--secondary);
  --bs-btn-active-border-color: var(--secondary);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--primary);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--primary);
  --bs-gradient: none;
}

.bg-primary {
  background-color: var(--primary) !important;
}

.text-primary {
  color: var(--primary) !important;
}
.form-select:focus,
.form-control:focus,
.flatpickr-input:focus {
  color: var(--text);
  border-color: transparent;
  outline: 0;
  box-shadow: 0 0 0 0.25rem #00448640;
}

/* Card */
i.list-icon {
  color: var(--secondary);
  width: 24px;
}
.card-header,
.card-footer {
  background-color: transparent;
}
.page-link {
  color: var(--primary);
}
.page-link:hover,
.page-link:focus {
  color: var(--secondary);
  box-shadow: none;
}
.active > .page-link {
  background-color: var(--primary);
  border-color: var(--primary);
}
.active > .page-link:focus,
.active > .page-link:hover {
  color: #ffffff;
}

.select2-container--bootstrap-5 .select2-selection {
  width: 100%;
  height: 50px !important;
  align-items: center;
  display: flex;
}

.card.scale {
  transition: transform 0.3s ease;
}

.card.scale:hover {
  transform: translateY(-6px);
}

.leaflet-popup-content-wrapper {
  padding: 12px !important;
}

.leaflet-popup-content {
  margin: 0 !important;
  width: 460px !important;
}

.leaflet-popup-close-button {
  font-size: 2.25rem !important;
  top: 15px !important;
  right: 15px !important;
  color: #000 !important;
}

/* Arrotonda il box della Select principale */
.select-stato + .select2-container .select2-selection--single {
  border-radius: 30px !important;
  padding-left: 12px;
  padding-right: 12px;
  height: 58px !important;
}

.menu-arrotondato {
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
}

/* Voce SELEZIONATA / ATTIVA */
.select2-container--bootstrap-5
  .select2-dropdown
  .select2-results__options
  .select2-results__option.select2-results__option--selected,
.select2-container--bootstrap-5
  .select2-dropdown
  .select2-results__options
  .select2-results__option[aria-selected="true"]:not(
    .select2-results__option--highlighted
  ) {
  background-color: var(--primary) !important;
  color: #fff !important;
}

/* Voce al PASSAGGIO DEL MOUSE / HOVER */
.select2-container--bootstrap-5
  .select2-dropdown
  .select2-results__options
  .select2-results__option--highlighted {
  background-color: #f1f3f5 !important;
  color: #000 !important;
}

.contenitore-btn {
  padding: 10px;
  background: #fff;
  border-radius: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 58px;
}

/* 1. Stile base del bottone (Estruso / Sollevato) */
.btn {
  box-shadow: 6px 6px 10px -1px rgba(0, 0, 0, 0.15),
    -6px -6px 10px -1px rgba(255, 255, 255, 0.7) !important;
  border: 1px solid rgba(0, 0, 0, 0) !important;
  transition: transform 0.4s, box-shadow 0.4s !important;
}

/* 2. Stato PREMUTO  */
.btn:active {
  box-shadow: inset 4px 4px 6px -1px rgba(0, 0, 0, 0.2),
    inset -4px -4px 6px -1px rgba(255, 255, 255, 0.7),
    -0.5px -0.5px 0px rgba(255, 255, 255, 1),
    0.5px 0.5px 0px rgba(0, 0, 0, 0.15), 0px 12px 10px -10px rgba(0, 0, 0, 0.05) !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  transform: translateY(0.3em) !important;
}

.border-primary {
  border-color: rgba(var(--primary-rgb)) !important;
}

/* Animazione ultra-morbida e rallentata per le card */
.event-card-item {
  animation: fadeInSlow 1.2s cubic-bezier(0.05, 0.7, 0.1, 1) forwards;
  opacity: 0;
  will-change: transform, opacity;
}

@keyframes fadeInSlow {
  from {
    opacity: 0;
    transform: translateY(35px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Ritardi a cascata distanziati */
.event-card-item:nth-child(1) {
  animation-delay: 0.12s;
}
.event-card-item:nth-child(2) {
  animation-delay: 0.24s;
}
.event-card-item:nth-child(3) {
  animation-delay: 0.36s;
}
.event-card-item:nth-child(4) {
  animation-delay: 0.48s;
}
.event-card-item:nth-child(5) {
  animation-delay: 0.6s;
}
.event-card-item:nth-child(6) {
  animation-delay: 0.72s;
}
.event-card-item:nth-child(7) {
  animation-delay: 0.84s;
}
.event-card-item:nth-child(8) {
  animation-delay: 0.96s;
}
.event-card-item:nth-child(9) {
  animation-delay: 1.08s;
}

/* Accessibilità */
@media (prefers-reduced-motion: reduce) {
  .event-card-item {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* MediaQuery Popup */
@media screen and (min-width: 300px) and (max-width: 992px) {
  .leaflet-popup-close-button {
    font-size: 1.85rem !important;
    top: 5px !important;
    right: 5px !important;
  }
  .leaflet-popup-content {
    margin: 0 !important;
    width: 260px !important;
  }
}
