/* Styles pour le menu mobile */
.offcanvas {
  max-width: 80vw;
}

.offcanvas-header {
  padding: 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.offcanvas-title {
  font-size: 1.25rem;
  font-weight: 600;
}

.mobile-menu-container {
  padding: 1rem 0;
}

.mobile-primary-menu,
.mobile-secondary-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mobile-primary-menu {
  margin-bottom: 2rem;
}

.mobile-primary-menu li,
.mobile-secondary-menu li {
  padding: 0.5rem 1rem;
}

.mobile-primary-menu a,
.mobile-secondary-menu a {
  color: #333;
  text-decoration: none;
  display: block;
  padding: 0.5rem 0;
  font-size: 1rem;
  transition: color 0.3s ease;
  position: relative;
  padding-right: 1.2rem;
}

.mobile-primary-menu a:hover,
.mobile-secondary-menu a:hover {
  color: #0073aa;
}

.mobile-primary-menu .sub-menu,
.mobile-secondary-menu .sub-menu {
  list-style: none;
  padding-left: 1rem;
  margin: 0.5rem 0 0;
  border-left: 2px solid rgba(0, 0, 0, 0.1);
  display: none;
}

.mobile-primary-menu .menu-item-has-children,
.mobile-secondary-menu .menu-item-has-children {
  position: relative;
}

.menu-arrow {
  position: absolute;
  right: 0.2rem;
  top: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.3s ease;
  cursor: pointer;
}

.mobile-primary-menu .menu-item-has-children > a .menu-arrow,
.mobile-secondary-menu .menu-item-has-children > a .menu-arrow {
  transform: translateY(-50%) rotate(45deg);
}

.mobile-primary-menu .menu-item-has-children > a .menu-arrow.active,
.mobile-secondary-menu .menu-item-has-children > a .menu-arrow.active {
  transform: translateY(-50%) rotate(-135deg);
}

.mobile-primary-menu .sub-menu,
.mobile-secondary-menu .sub-menu {
  background-color: rgba(0, 0, 0, 0.02);
  border-radius: 4px;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.mobile-primary-menu .sub-menu li,
.mobile-secondary-menu .sub-menu li {
  padding: 0.25rem 0;
}

.mobile-primary-menu .sub-menu a,
.mobile-secondary-menu .sub-menu a {
  padding: 0.25rem 0.5rem;
  font-size: 0.95rem;
}

.mobile-primary-menu .sub-menu a:hover,
.mobile-secondary-menu .sub-menu a:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

/* Séparateur avant le menu principal */
.mobile-primary-menu::before {
  content: '';
  display: block;
  height: 1px;
  background: rgba(0, 0, 0, 0.1);
  margin: 1rem 1rem 2rem;
} 