.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-4 {
  margin-right: 1.5rem !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: .25rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-auto {
  margin-left: auto !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.ps-0 {
  padding-left: 0 !important;
}

@media (min-width: 576px) {
  .p-sm-5 {
    padding: 3rem !important;
  }
}

@media (min-width: 768px) {
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
}

@media (min-width: 992px) {
  .mx-lg-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (min-width: 992px) {
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
}

@media (min-width: 992px) {
  .mt-lg-auto {
    margin-top: auto !important;
  }
}

@media (min-width: 992px) {
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}

@media (min-width: 1200px) {
  .ms-xl-0 {
    margin-left: 0rem !important;
  }
}

@media (min-width: 1200px) {
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}
/* Miglioramenti responsive per mobile (fino a 576px) */
@media (max-width: 576px) {

  /* Navbar */
  .navbar-brand img {
    width: 28px;
    height: 28px;
  }

  /* Nasconde o riduce la ricerca su mobile */
  .navbar input[type="search"] {
    display: none; /* se vuoi mantenerla, sostituisci con width: 100px; */
  }

  /* Riduce padding e altezze */
  .navbar {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  /* Sezione Spazi */
  .caption-content {
    width: 90% !important; /* più spazio per il testo */
  }

  .caption-content h2 {
    font-size: 18px !important;
    line-height: 1.3;
  }

  .caption-content p {
    font-size: 14px;
  }

  /* Immagini portfolio full width */
  .portfolio-item img {
    width: 100% !important;
    height: auto !important;
  }

  /* Form contatto */
  .card-body {
    padding: 1rem !important;
  }

  .card-body h2 {
    font-size: 20px;
  }

  /* Bottone */
  button, .btn {
    font-size: 16px;
    padding: 0.5rem 1rem;
  }

  /* Footer: icone più piccole */
  footer svg {
    width: 0.9em;
    height: 0.9em;
  }
}

.dropdown-menu .submenu-wrapper {
  position: relative;
}

.dropdown-menu .submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 200px;
  background-color: rgb(52, 58, 64);
  border: 1px solid rgba(255,255,255,0.15);
  z-index: 1050;
  border-radius: var(--bs-border-radius);
}

@media (min-width: 992px) {
  .dropdown-menu .submenu-wrapper:hover .submenu {
    display: block;
  }
}

/* MOBILE - rendi il submenu "stacked" e controllabile via classe .submenu-open */
@media (max-width: 991.98px) {
  .dropdown-menu .submenu {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    background: transparent;
    border: none;
    padding-left: 0.25rem;
  }
  .dropdown-menu .submenu .dropdown-item {
    padding-left: 1.5rem;
  }
  .submenu-wrapper.submenu-open .submenu {
    display: block;
  }
}

.search-results {
  padding: 1.5rem;

  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.1) 0%,
    var(--bs-orange) 0%,
    rgba(252,132,33,0.9003) 45%,
    rgba(251,134,38,0.8649) 97%,
    rgba(254,162,86,0.7477) 113%,
    rgba(252,161,95,0.1) 113%
  );
  color: #3c3c3c; /* testo bianco di base */
}

.search-results a {
  color:  #003b75 !important;
  text-decoration: underline;
}

.search-results a:hover {
  text-decoration: none;
}

.search-results h6 {
  color: #292828 
}

.search-results .text-success {
  color: #eaffea !important; /* verde chiaro visibile sull'arancione */
}

.highlight {
  background: none;
  font-weight: bold;
}



