:root {
    --colore-primario: #000000;
    --colore-secondario: #2e2e2e;
    --colore-testo: #242424ce;
    --colore-accento: #242424;
  }
  
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
    /*outline: 1px solid red;*/
  }
    
  body {
    font-family: 'Helvetica Neue', sans-serif;
    background-color: #c9c6a9;
    color: var(--colore-testo);
  }

  html, body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .hero-video-container {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    z-index: 1;
  }

  .hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0; /* manda il video dietro a tutto */
    pointer-events: none; /* per evitare clic fino al primo click */
    display: block;
  }

  .hero-logo-top-left {
    position: absolute;
    top: 2vw;
    left: 3vw;
    z-index: 20;
  }

  .hero-overlay {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    text-align: center;
    padding: 1rem;
    box-sizing: border-box; /* ensures padding is counted in total width */
    width: 100%;
    max-width: 100vw; /* prevents any overflow */
    overflow-x: hidden; /* stops horizontal scrolling just in case */  
    color: white;
    background: rgba(0, 0, 0, 0.4); /* opzionale */
  }

  .hero-content {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    padding: 0rem 0rem;
    padding-right: 0rem;
    box-sizing: 0rem;
    gap: 1rem; /* spazio tra titolo e sottotitolo */
    max-width: 800px;
    margin: 0 auto;
  }

  .typing-text {
    font-size: 2rem;
    color: white;
    max-width: 600px;
    white-space: nowrap;
    overflow: hidden;
    border-right: 3px solid black;
    animation: typing 4s steps(52, end), blink-caret 0.75s step-end infinite;
  }

  #typing-text {
    font-size: clamp(1rem, 5vw, 1.5rem);
    text-align: center;
    color: white;
    margin: auto;
    max-width: 100%;
    font-family: 'Georgia', serif; /* opzionale: font elegante */

  }

  #subtitle-text {
    font-size: clamp(1rem, 3vw, 1rem);
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 0.2rem; /* spazio sotto il sottotitolo */
    font-family: 'Georgia', serif; /* opzionale: font elegante */
  }

  .hero-buttons-row {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap; /* permette ai bottoni di andare a capo se necessario */
  }

  .hero-btn {
    display: inline-block;
    background-color: white;
    color: black; /* personalizza */
    border: none;
    border-radius: 30px;
    padding: clamp(0.8rem, 1vw, 1.25rem) clamp(1.4rem, 2.5vw, 2rem); /* padding responsivo */
    margin: 0.5rem;
    text-decoration: none;
    font-weight: bold;
    font-size: clamp(14px, 1vw, 18px); /* font responsivo */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    opacity: 0;
    /*transform: translateY(30px);*/
    transition: all 1s ease;
  }

  .hero-btn:hover {
    transform: translateY(-3px); /* effetto sollevamento */
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.45);
  }

  .hero-btn:active {
    transform: translateY(1px); /* effetto pressione */
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
  }

  .button-group {
    display: flex;
    flex-wrap: wrap; /* permette di andare a capo */
    justify-content: center; /* centra i bottoni su più righe */
    gap: 0.5rem; /* spazio tra i bottoni */
    margin-top: 0rem;
  }

  .button-group.show .hero-btn {
    opacity: 1;
  }

  .hidden {
    visibility: hidden;
    pointer-events: none;
  }

  .button-group.show {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0.2s;
  }

  .site-header {
    position: fixed; /* oppure fixed se vuoi che resti sempre visibile */
    top: -100px;
    left: 0;
    width: 100%;
    background-color: white;
    padding: 1rem 1rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    z-index: 100;
    transition: top 0.3s ease; /* smooth slide-down */
  }

  .site-header.visible {
    top: 0;
  }

  .site-header-servizi {
    position: fixed; /* oppure fixed se vuoi che resti sempre visibile */
    top: 0;
    left: 0;
    width: 100%;
    background-color: white;
    padding: 1rem 1rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    z-index: 100;
    transition: top 0.3s ease; /* smooth slide-down */
  }

  .header-container {
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .logo img {
    height: 50px;
    max-width: 100%;
    padding-left: 1rem;
  }

  .nav-links {
    display: flex;
    gap: 1rem;
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .nav-links a {
    text-decoration: none;
    color: #000000;
    transition: color 0.3s ease;
    font-weight: 540;
    color: black;
    display: inline-block;
    text-align: center;
    white-space: normal; /* consente l'andata a capo */
    vertical-align: middle;
  }

  .nav-links a:hover {
    transform: scale(1.15);
    transition: transform 0.2s;
  }

  @media (max-width: 600px) {
    .nav-links a:hover{
      transform: scale(1);
      transition: transform 0s;
    }
  }

  #chi-sono {
    max-width: 100%;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    scroll-margin-top: 80px; /* spazio sopra per evitare sovrapposizione con l'header */
  }

  .chi-sono-container {
    max-width: 100%;
    margin: 3rem auto 2rem auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0rem 0rem;
    background: #e4e0c2;/* rgb(230, 205, 205)*/
    border-radius: 0px;
    box-shadow: 0 8px 32px rgba(60, 60, 60, 0.2), 0 1.5px 8px rgba(0,0,0,0.15);
    transition: box-shadow 0.3s;
    position: relative;
    overflow: hidden;
    
  }

  .chi-sono-testo {
    flex: 1;
    padding-left: 3rem;
    padding-right: 1rem;
    overflow-wrap: break-word;
    word-break: normal;
    white-space: normal;
    max-width: 100%;
  }

  .chi-sono-testo h2 {
    font-size: 2rem;
    margin-bottom: 2rem;
    padding: 0rem 1rem;
    font-weight: bold;
    color: black;
    font-family: 'Georgia', serif; /* opzionale: font elegante */
  }

  .chi-sono-testo p {
    font-size: 1.2rem;
    line-height: 1.25;
    padding: 0rem 1rem;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.75);
    font-family: 'Georgia', serif; /* opzionale: font elegante */
  }

  .highlight {
    position: relative;
    color: #242424;
    font-weight: bold;
    z-index: 1;
    transition: color 1.2s;
  }

  .highlight::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0.08em;
    width: 0;
    height: 60%;
    background: linear-gradient(90deg, #ffd902 60%, #ffbf00 100%);
    border-radius: 0.3em 0.3em 0.2em 0.2em;
    z-index: -1;
    transition: width 1.5s cubic-bezier(.4,2,.6,1);
    pointer-events: none;
  }

  .highlight.animate::before {
    width: 100%;
  }



  .chi-sono-bottoni {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
    
  }

  .chi-sono-img {
    position: relative;
    flex: 1;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 0rem;
    overflow: hidden; /* per evitare che la sfumatura esca dai bordi */
  }
/* immagine rettangolare
  .chi-sono-img img {
    max-width: 320px;
    width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.25), 0 1.5px 8px rgb(0, 0, 0);
  }
*/
  .chi-sono-img img {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    z-index: 1;
  }
  /* Ombreggiatura interna a sinistra sulla foto desktop */
  .chi-sono-img img.desktop-img {
    position: relative;
    z-index: 1;
  }

  .chi-sono-img img.mobile-img {
    display: none;
  }
  .chi-sono-img img.desktop-img {
    display: block;
  }

  @media (max-width: 600px) {
    .chi-sono-container {
      flex-direction: column;
      padding: 2rem 1rem;
      text-align: center;
    }
    .chi-sono-testo {
      padding-left: 0;
      padding-right: 0;
      margin-bottom: 0rem;
      margin: 0rem;
    }
    .chi-sono-img {
      padding-left: 0;
      padding-top: 2rem;
      padding-bottom: 2rem;
      justify-content: center;
    }
    .chi-sono-img img.desktop-img {
      display: none;
    }
    .chi-sono-img img.mobile-img {
      display: block;
      width: 50%;
      min-width: 0;
      max-width: 95vw;
      border-radius: 50%; 
      box-shadow: 0 0 24px 0 rgba(0,0,0,0.8); /* ombra tutto intorno */
    }

    .button-group-chi-sono {
      margin-top: 1rem; /* distanza dal testo sopra */
      display: flex;
      gap: 1rem; /* spazio tra i bottoni */
      flex-wrap: wrap;
      justify-content: center; /* centra i bottoni */
    }

    .chi-sono-bottoni {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1rem;
      margin-top: 1.5rem;
    }
  }

  .button-group-chi-sono {
    margin-top: 1rem; /* distanza dal testo sopra */
    padding-left: 1rem;
    display: flex;
    gap: 1rem; /* spazio tra i bottoni */
    flex-wrap: wrap;
  }

  .hero-btn-chi-sono {
    background-color: white;
    color: black;
    padding: clamp(0.8rem, 1vw, 1.25rem) clamp(1.4rem, 2.5vw, 2rem); /* padding responsivo */
    border: none;
    border-radius: 30px;
    font-weight: bold;
    font-size: clamp(14px, 1vw, 18px); /* font responsivo */
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    z-index: 10;
  }

  .hero-btn-chi-sono:hover {
    transform: translateY(-3px); /* effetto sollevamento */
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.45);
  }

  .hero-btn-chi-sono:active {
    transform: translateY(1px); /* effetto pressione */
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
  }

  footer {
    position: relative;
    max-width: 100%;
    background-color: white;
    padding: 10px 0;
    text-align: center;
  }
  
  footer p {
    margin: 0;
    font-size: 11px;
    color: #333;
  }

  #contatti {
    scroll-margin-top: 80px;
  }

  .contatti-container {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding: 2rem 1rem;
    display: flex;
    flex-direction: column;
  }

  .contatti-container h2 {
    font-size: 2rem;
    margin-bottom: 2rem;
    padding: 1rem 1rem;
    font-weight: bold;
    color: rgb(0, 0, 0, 0.8);
    font-family: 'Georgia', serif; /* opzionale: font elegante */
  }

  .contatti-container p {
    font-size: 1.2rem;
    line-height: 1.25;
    padding: 0rem 1rem;
    color: rgb(0, 0, 0, 0.8);
    font-family: 'Georgia', serif; /* opzionale: font elegante */
    font-weight: normal;
  }

  #contact-form {
    display: flex;
    flex-direction: column;
    max-width: 500px;
    margin: 2rem auto;
    gap: 1rem;
    padding: 1rem;
    background-color: #e4e0c2;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  }

  #contact-form p {
    color: rgb(0, 0, 0, 0.8);
  }
  
  #contact-form input,
  #contact-form textarea {
    padding: 1rem;
    border: 1px solid #919191;
    border-radius: 8px;
    font-size: 1rem;
    width: 100%;
  }
  
  #contact-form button {
    background-color: #077e10bb;
    color: white;
    border: none;
    padding: 1rem;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.3s;

  }
  
  #contact-form button:hover {
    background-color: #077e11e8;
  }

  .social-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0rem 0;
    padding-bottom: 3rem;
  }

  .social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(60px, 7vw, 80px);   /* min 60px, max 80px, responsive */
    height: clamp(60px, 7vw, 80px);
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    transition: box-shadow 0.2s, transform 0.2s;
    text-decoration: none;
    border: none;
    padding: 0;
  }

  .social-btn img {
    width: 80%;
    height: 80%;
    object-fit: contain;
    display: block;
  }

  .social-btn:hover,
  .social-btn:focus {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
    transform: scale(1.08);
    outline: none;
  }

  .tasti-privacy {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
    padding-bottom: 1rem;
  }












  /* PAGINA SERVIZI*/

  .servizi-container {
    position: relative;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    margin-top: 100px; /* spazio sopra per evitare sovrapposizione con l'header */
  }

  .titolo-sezione {
    text-align: center;
    font-size: 2.5rem;         /* grandezza leggibile e moderna */
    font-weight: 700;          /* grassetto elegante */
    color: rgb(0, 0, 0, 0.8);  /* o un colore a tua scelta */
    margin-bottom: 0rem;       /* spazio sotto al titolo */
    margin-top: 1rem;          /* spazio sopra, se serve */
    font-family: 'Georgia', serif; /* opzionale: font elegante */
  }

  .sottotitolo-servizi {
    text-align: center;
    font-size: 1.1rem;         /* grandezza leggibile e moderna */
    font-weight: 300;          /* grassetto elegante */
    color: rgb(0, 0, 0, 0.8);  /* o un colore a tua scelta */
    margin-bottom: 2rem;       /* spazio sotto al titolo */
    margin-top: 0.5rem;          /* spazio sopra, se serve */
    font-family: 'Georgia', serif; /* opzionale: font elegante */
  }

  .servizi-grid {
    display: flex;
    flex-wrap: wrap;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0rem;    /* distanza tra righe */
    max-width: 800px;
    margin: 0 auto;
  }

  .servizio-box-wrapper {
    flex: 1 1 100%;
    transition: all 1s ease;
    display: flex;
    flex-direction: column;
  }

  .servizio-box-wrapper.full-width-wrapper {
    flex: 1 1 100%;
  }

  .servizio-box {
    height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 12px;
    padding: 0rem;
    color: white;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  }

  .servizio-box::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0);
    z-index: 0;
    border-radius: 12px;
  }

  .servizio-box * {
    position: relative;
    z-index: 1;
  }

  .servizio-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.45);
  }

  .servizio-box.bg-1 { background-color: #D9C2A3; } /* marrone chiaro pastello */
  .servizio-box.bg-2 { background-color: #EAD6AD; } /* sabbia tenue */
  .servizio-box.bg-3 { background-color: #F3DEAA; } /* ocra chiarissimo */
  .servizio-box.bg-4 { background-color: #EFE3BC; } /* giallo canapa chiaro */
  .servizio-box.bg-5 { background-color: #e9e6b7; } /* salvia opaca */
  .servizio-box.bg-6 { background-color: #dce9b6; } /* verde oliva chiarissimo */


  /*
  .servizio-box img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    margin-bottom: 0rem;
  }*/

  .servizio-box.full-width {
    width: 100%;
    transition: all 0.3s ease;
  }

  .selected-servizio {
    flex: 1 1 100%;
    display: flex;
    flex-direction: column;
  }

  .titolo-servizio {
    text-align: center;
    font-size: 1.5rem;         /* grandezza leggibile e moderna */
    font-weight: 700;       /* grassetto elegante */
    color: rgba(0, 0, 0, 0.8);  /* o un colore a tua scelta */
    margin-bottom: 2rem;       /* spazio sotto al titolo */
    margin-top: 1rem;          /* spazio sopra, se serve */
    font-family: 'Georgia', serif; /* opzionale: font elegante */
  }
  
  .sottogruppi {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.5s ease, opacity 0.8s ease;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
  }
  

  .servizio-box-wrapper.selected-servizio .sottogruppi {
    max-height: 5000px; /* imposta un valore abbastanza grande */
    opacity: 1;
  }

  .sottogruppo {
    background-color: #7c625a;
    padding: 1rem;
    border-radius: 8px;
    flex: 1 1 100%;
    position: relative;
    cursor: pointer;
    width: 100%;  
  }

  .sottogruppo:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  }

  .sottogruppo.expanded {
    flex: 1 1 100%;
    width: 100%;
    z-index: 1;
  }

  .sottogruppo.full-width {
    width: 100%;
    transition: width 0.3s ease;
  }

  .sottogruppo.expanded .sottocontenuto {
    display: block;
    background-color: rgb(141, 120, 115);
    padding: 1rem;
    margin-top: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    animation: expandAnim 0.3s ease;
  }

  .sottotitolo {
    text-align: center;
    font-size: 1.2rem;         /* grandezza leggibile e moderna */
    font-weight: 700;       /* grassetto elegante */
    color: white;  /* o un colore a tua scelta */
    margin-bottom: 2rem;       /* spazio sotto al titolo */
    margin-top: 1rem;          /* spazio sopra, se serve */
    font-family: 'Georgia', serif; /* opzionale: font elegante */
  }

  .sottocontenuto {
    display: none;
    margin-top: 0.5rem;
  }

  .sottocontenuto img {
    width: 100%;
    height: auto;
    margin-top: 1rem;
    border-radius: 8px;
  }

  .button-group-servizi {
    margin-top: 1rem; /* distanza dal testo sopra */
    display: flex;
    gap: 1rem; /* spazio tra i bottoni */
    flex-wrap: wrap;
    z-index: 1000;
  }

  .hero-btn-servizi {
    background-color: white;
    color: black;
    padding: clamp(0.5rem, 1vw, 1.25rem) clamp(1rem, 2.5vw, 2rem); /* padding responsivo */
    border: none;
    border-radius: 30px;
    font-weight: bold;
    font-size: clamp(12px, 1vw, 18px); /* font responsivo */
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
  }

  .hero-btn-servizi:hover {
    transform: translateY(-3px); /* effetto sollevamento */
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.45);
  }

  .hero-btn-servizi:active {
    transform: translateY(1px); /* effetto pressione */
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
  }

















  /* carosello orizzontale */
  .carousel-section {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 1rem 0rem;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.5s ease, opacity 0.8s ease, padding 0.3s ease;
  }

  .servizio-box-wrapper.selected-servizio .carousel-section {
    max-height: 1000px; /* abbastanza grande da contenere le card */
    opacity: 1;
    padding: 1rem 0; /* visibile solo quando aperto */
  }

  .carousel {
    display: flex;
    gap: 1rem;
    padding: 0 0rem;
  }

  .carousel::after {
    content: '';
    flex: 0 0 1rem; /* oppure 2rem se vuoi più spazio */
  }

  .card {
    flex: 0 0 80%;
    scroll-snap-align: center;
    perspective: 10000px;
    height: 400px;;
    max-width: 1000px;
    margin: 0 0.2rem;
    overflow: hidden;
  }

  .card-inner {
    width: 100%;
    height: 100%;
    transition: transform 0.6s;
    will-change: transform;
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d; /* Safari fix */
    position: relative;
    cursor: pointer;
    transform: translateZ(0); /*Forces GPU acceleration (helps smoothness)*/
  }

  .card.flipped .card-inner {
    transform: rotateY(180deg);
  }

  .card-front,
  .card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden !important; /* Safari fix */
    border-radius: 15px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
    padding: 1rem;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
    flex-direction: column;
    isolation: isolate;
    background-color: rgba(0, 0, 0, 0.01); /* evita layer trasparenti puri */
  }

  .card-back {
    background-color: #383838;
    transform: rotateY(180deg);
  }

  .card-front {
    background-size: cover;
    background-position: center;
  }

  /* Overlay scuro sopra la foto della card-front */
  .card-front::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45); /* regola l'opacità per scurire di più o meno */
    z-index: 1;
    pointer-events: none;
  }

  /* Assicura che il testo sia sopra l'overlay */
  .card-front > * {
    position: relative;
    z-index: 2;
  }

  .card-info-text {
    position: absolute;
    bottom: 0.5rem;
    text-align: center;
    font-size: 0.8rem;
    color: #ffffff56;
    font-style: italic;
  }

  .button-group-card {
    position: absolute;
    left: 50%;
    bottom: 1.2rem;
    transform: translateX(-50%);
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    z-index: 1000;
    justify-content: center;
    width: 90%;
  }

  .hero-btn-card {
    background-color: white;
    color: black;
    padding: clamp(0.5rem, 1vw, 1.25rem) clamp(1rem, 2.5vw, 2rem); /* padding responsivo */
    border: none;
    border-radius: 30px;
    font-weight: bold;
    font-size: clamp(12px, 1vw, 18px); /* font responsivo */
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }

  .hero-btn-card:hover {
    transform: translateY(-3px); /* effetto sollevamento */
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.35);
  }

  .hero-btn-card:active {
    transform: translateY(1px); /* effetto pressione */
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
  }



  .card-front h3 {
    background-color: rgba(255, 255, 255, 0);
    padding: 0.5rem 1rem;
    border-radius: 10px;
    font-family: 'Georgia', serif; /* opzionale: font elegante */
  }

  .card-back p {
    font-family: 'Helvetica Neue';
    font-weight: 200;
    letter-spacing: 0.05em;
  }

  @media (min-width: 768px) {
    .card {
      flex: 0 0 37%;
    }
  }

  /* Nasconde scrollbar solo su desktop */
  @media (min-width: 768px) {
    .carousel-section {
      scrollbar-width: none;        /* Firefox */
    }

    .carousel-section::-webkit-scrollbar {
      display: none;                /* Chrome, Safari, Edge */
    }
  }

  @media (max-width: 768px) {
    .card {
      height: 500px;
    }
  }

















