body {
  font-family: "Roboto", sans-serif;
}

button {
  cursor: pointer;
}

.content a {
  text-decoration-line: underline;
}
.content menu,
.content ol,
.content ul {
  list-style: disc !important;
  padding-left: 16px;
}
.content h1 {
  font-size: 32px;
  font-weight: 700;
  line-height: normal;
  margin-top: 24px;
  margin-bottom: 10px;
}
.content h2 {
  font-size: 28px;
  font-weight: 700;
  line-height: normal;
  margin-top: 24px;
  margin-bottom: 10px;
}
.content h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
  margin-top: 16px;
  margin-bottom: 6px;
}
.content h4 {
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
  margin-top: 16px;
  margin-bottom: 6px;
}

.menu-filter-button.active {
  background-color: #f5ead7;
}

.leaflet-popup-content-wrapper {
  border-radius: 8px;
}
.location-card {
  transition: all 0.3s ease;
  cursor: pointer;
}
.location-card:hover {
  background-color: #f0f0f0;
}
.location-card.active {
  background-color: #97002e;
  color: white;
}
.custom-marker-wrapper {
  background: transparent;
  border: none;
}

.custom-marker {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
  transition: all 0.3s ease;
}

.custom-marker:hover {
  transform: scale(1.1);
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.4));
}

/* Custom popup styles */
.custom-popup .leaflet-popup-content-wrapper {
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  border: none;
}

.custom-popup .leaflet-popup-tip {
  background: white;
  border: none;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.swiper-button-disabled {
  opacity: 0.5;
}

.form-select {
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%237C8494' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-size: 0.7rem;
  background-position: right 0.7rem center;
  background-repeat: no-repeat;
  appearance: none;
}

.overshoot {
  transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}

.mobile-menu {
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-menu.open {
  transform: translateX(0);
}

.menu-backdrop {
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.menu-backdrop.open {
  opacity: 1;
  visibility: visible;
}

.menu-item {
  transition: all 0.2s ease;
}

.menu-item:hover {
  background-color: rgb(245 234 215 / 0.1);
}

.submenu {
  max-height: 0;
  overflow: hidden;
}

.submenu.open {
  max-height: 1000px;
}

.category-arrow {
  transition: transform 0.3s ease;
}

.category-arrow.open {
  transform: rotate(180deg);
}
