html, body { font-family: 'Montserrat', sans-serif; overflow-x: hidden;}
        :root {
            --primary-teal: #1898ac;
            --secondary-pink: #e91e63;
            --dark-teal: #1a8791;
            --grey-light: #f2f2f2;
        }

        /* Navbar Custom */
        .navbar { background-color: var(--dark-teal); padding: 1rem 2rem; }
        .navbar-brand img { height: 167px; }
        .navbar-toggler { border: none; font-size: 2.5rem; color: white; }

        /* Contenitore navbar deve permettere al logo di uscire */
        .navbar {
          background-color: var(--dark-teal);
          height: 120px;
          display: flex;
          align-items: center;
        }

        .custom-logo {
          position: absolute;
          top: -20px; 
          left: 20px;
          z-index: 1030; 
        }

       .custom-logo img {
          height: 150px; 
          width: auto;
          filter: drop-shadow(0px 4px 6px rgba(0,0,0,0.1));
        }

       @media (max-width: 768px) {
        .custom-logo img {
         height: 80px;
         }
        .navbar {
         height: 80px;
         }
        }

        /* Hero Section */
        .hero-section {
          background: linear-gradient(135deg, #167391 0%, #7ec7d8 100%);
          color: white;
          padding: 60px 0 0 0;
          overflow: hidden;
        }
        .hero-title { font-family: 'Arvo', serif; font-size: clamp(2rem, 8vw, 4.5rem); line-height: 1.2; }
        .hero-img { max-height: 800px; width: auto; display: block; margin: 0 auto; }

        /* Banner App */
        .app-banner { background-color: #36ac98; color: white; padding: 15px 0; font-size: clamp(2rem, 8vw, 2.75rem); }

        /* Buttons */

       .btn-filter { 
          width: 320px;
          border-radius: 50px; 
          padding: 10px 0; 
          font-weight: bold; 
          border: 2px solid transparent; 
          transition: all 0.3s ease;
        }

       .btn-teal { 
          background-color: var(--primary-teal); 
          color: white; 
          border-color: var(--primary-teal);
        }

       .btn-teal:hover {
          background-color: transparent;
          color: var(--primary-teal);
          border-color: var(--primary-teal);
        }


       .btn-pink { 
          background-color: var(--secondary-pink); 
          color: white; 
          border-color: var(--secondary-pink);
        }

       .btn-pink:hover {
          background-color: transparent;
          color: var(--secondary-pink);
          border-color: var(--secondary-pink);
        }

        /* Cards */
        .contest-card { border: none; border-radius: 0; }
        .card-date-badge {
            background-color: var(--primary-teal);
            color: white;
            text-align: center;
            padding: 5px;
            font-size: 1.5rem;
        }
        .card-title { color: var(--primary-teal); font-weight: bold; }
        .card-link { color: #36ac98; text-decoration: underline; font-weight: bold; }
        .card-link:hover { color: var(--secondary-pink); transition: all 0.3s ease; }


       /* Linea di separazione tra gli elementi */
        .list-divider {
            border-bottom: 1px solid #e0e0e0;
            padding-bottom: 2rem;
            margin-bottom: 2rem;
        }

        /* Titoli delle iniziative */
        .initiative-title {
            color: #009999;
            font-weight: bold;
            font-size: 1.25rem;
        }

        /* Immagini nelle liste orizzontali */
        .img-list {
            max-width: 100%;
            height: auto;
            border-radius: 4px;
        }

        /* Testo descrittivo */
        .initiative-text {
            font-size: 0.95rem;
            color: #555;
            line-height: 1.5;
        }



        /* Footer */
        .footer-top { background-color: var(--grey-light); padding: 40px 0; border-top: 1px solid #eee; color:#115875; font-size:larger }
        .footer-bottom { color: white; font-size: 0.8rem; }
        .footer-bottom a { color: white; text-decoration: none; margin: 0 10px; }