/* Impostazione del font Century Gothic */
    body {
      font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
    }

    /* Stile per il menu dropdown */
    .dropdown {
      position: relative;
      display: inline-block;
    }

    .dropdown-content {
      display: none;
      position: absolute;
      background-color: #f9f9f9;
      min-width: 200px; /* Aumentato per nomi più lunghi */
      box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
      z-index: 1;
      border-radius: 0.375rem; /* Tailwind's rounded-md */
    }

    .dropdown:hover .dropdown-content {
      display: block;
    }

    .dropdown-item {
      padding: 12px 16px;
      text-decoration: none;
      display: block;
      color: #333; /* text-gray-800 */
      transition: background-color 0.2s;
    }

    .dropdown-item:hover {
      background-color: #e2e8f0; /* bg-gray-200 */
    }

    /* Animazione per il burger menu mobile */
    .menu-toggle span {
      transition: all 0.3s;
    }

    .menu-open span:nth-child(1) {
      transform: rotate(45deg) translate(5px, 5px);
    }

    .menu-open span:nth-child(2) {
      opacity: 0;
    }

    .menu-open span:nth-child(3) {
      transform: rotate(-45deg) translate(5px, -5px);
    }

    /* Stile per l'iframe responsive di Google Maps */
    .map-container-responsive {
        position: relative;
        overflow: hidden;
        padding-top: 56.25%; /* 16:9 Aspect Ratio */
    }
    .map-container-responsive iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }

    /* SLIDESHOW OTTIMIZZATO PER SCHERMO 14" */
    .slideshow-container {
      height: 60vh; /* Ridotto da 100vh-88px a 60vh per stare comodamente in uno schermo 14" */
      max-height: 500px; /* Altezza massima per evitare che diventi troppo grande */
      min-height: 350px; /* Altezza minima per mantenere proporzioni decenti */
    }

    .slideshow-image {
      width: 100%;
      height: 100%;
      object-fit: contain; /* Cambiato da contain a cover per riempire uniformemente */
      object-position: center; /* Centra l'immagine */
    }

    /* Migliore controllo della caption */
    .slideshow-caption {
      background: linear-gradient(transparent, rgba(0,0,0,0.8));
      padding: 20px;
      font-size: 1rem;
    }

    /* Controlli Swiper più visibili */
    .swiper-button-next,
    .swiper-button-prev {
      background: rgba(0,0,0,0.5);
      width: 44px;
      height: 44px;
      border-radius: 50%;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
      font-size: 18px;
      font-weight: bold;
    }

    .swiper-pagination-bullet {
      background: rgba(255,255,255,0.7);
      opacity: 1;
    }

    .swiper-pagination-bullet-active {
      background: white;
    }

    /* Responsive per schermi più piccoli */
    @media (max-width: 768px) {
      .slideshow-container {
        height: 50vh;
        max-height: 400px;
        min-height: 300px;
      }
      
      .slideshow-caption {
        padding: 15px;
        font-size: 0.9rem;
      }
    }

    @media (max-width: 480px) {
      .slideshow-container {
        height: 40vh;
        max-height: 350px;
        min-height: 250px;
      }
      
      .slideshow-caption {
        padding: 10px;
        font-size: 0.8rem;
      }
    }
    .signature-pad {
    cursor: crosshair;
    touch-action: none;
    user-select: none;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.spinner {
    animation: spin 1s linear infinite;
}

/* Schermi grandi - slideshow espanso */
@media (min-width: 1024px) {
  .slideshow-container {
    height: calc(100vh - 180px);
    max-height: none;
  }
}