/* --- REVEAL ANIMATION --- */
    .reveal {
      opacity: 0;
      transform: translateY(40px);
      transition: all 0.8s ease;
    }
    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* --- WRAPPER --- */
    .mrv-gatto-wrapper {
      max-width: 1000px;
      margin: 0 auto;
      padding: 20px;
    }

    /* Benefits */
    .mrv-gatto-benefits {
      margin: 60px auto;
    }
    .mrv-gatto-benefits ul {
      list-style: none;
      padding: 0;
    }
    .mrv-gatto-benefits li {
      margin: 12px 0;
      padding-left: 28px;
      position: relative;
    }
    .mrv-gatto-benefits li::before {
      content: "✅";
      position: absolute;
      left: 0;
      top: 0;
    }

    /* CTA */
    .mrv-gatto-cta {
      text-align: center;
      margin: 40px auto;
    }

    /* Bottoni */
    .custom-js-btn {
      background-color: #1697c7; /* Celeste brand */
      color: white !important;
      font-size: 1.3rem;
      padding: 1rem 2rem;
      border-radius: 1rem;
      border: none;
      font-weight: 700;
      font-family: 'Quicksand', sans-serif;
      cursor: pointer;
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
      transition: background-color 0.3s ease, transform 0.2s ease;
    }
    .custom-js-btn:hover {
      background-color: #0e7ca5;
      transform: translateY(-2px);
    }
    .pulse {
      animation: pulse 2s infinite ease-in-out;
    }
    @keyframes pulse {
      0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(22, 151, 199, 0.4);
      }
      50% {
        transform: scale(1.03);
        box-shadow: 0 0 0 12px rgba(22, 151, 199, 0);
      }
      100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(22, 151, 199, 0);
      }
    }
    @media (max-width: 480px) {
      .custom-js-btn {
        font-size: 1.1rem;
        padding: 0.8rem 1.4rem;
      }
    }

    /* Recensioni */
    .mrv-gatto-recensioni {
      background: #ffffff;
      border-radius: 16px;
      box-shadow: 0 10px 30px rgba(2,12,27,.08);
      padding: 30px;
      margin: 60px auto;
    }
    .mrv-gatto-recensioni p {
      margin-bottom: 16px;
      font-style: italic;
    }

    /* FAQ Accordion */
    .mrv-gatto-faq {
      margin: 60px auto;
      padding: 30px;
      background: #f9fbfd;
      border-radius: 16px;
      box-shadow: 0 6px 18px rgba(2,12,27,.06);
    }
    .mrv-gatto-faq h2 {
      color: #1697c7;
      margin-bottom: 24px;
      text-align: center;
    }
    .faq-item {
      margin-bottom: 12px;
      border-bottom: 1px solid #ddd;
    }
    .faq-question {
      width: 100%;
      text-align: left;
      background: none;
      border: none;
      outline: none;
      font-size: 1.1rem;
      font-weight: 600;
      padding: 12px;
      cursor: pointer;
      color: #0b1220;
      transition: color 0.3s ease;
    }
    .faq-question:hover {
      color: #1697c7;
    }
    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease, padding 0.3s ease;
      padding: 0 12px;
    }
    .faq-answer p {
      margin: 12px 0;
      color: #333;
      line-height: 1.5em;
    }
    .faq-item.active .faq-answer {
      max-height: 200px;
      padding: 12px;
    }

    /* BONUS SECTION */
    .mrv-bonus {
        margin: 80px auto;
        padding: 60px 20px;
        background: #000; /* sfondo nero */
        color: #fff;
        border-radius: 16px;
        text-align: center;
        overflow: hidden;
    }
    .mrv-bonus h2 {
        color: #1697c7;
        margin-bottom: 16px;
    }

    /* Stato iniziale */
    .mrv-bonus-inner {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Attivazione al reveal */
    .mrv-bonus.visible .mrv-bonus-inner {
        animation: bounceIn 2.5s ease 0.5s forwards;
    }

    @keyframes bounceIn {
        0% {
          opacity: 0;
          transform: scale(0.3);
        }
        40% {
          opacity: 1;
          transform: scale(1.1);
        }
        60% {
          transform: scale(0.9);
        }
        80% {
          transform: scale(1.05);
        }
        100% {
          opacity: 1;
          transform: scale(1);
        }
    }

        /* Sezione universale */
    .mrv-universale {
      margin: 60px auto;
      padding: 40px 20px;
      background: #f9fbfd;
      border-radius: 16px;
      box-shadow: 0 6px 18px rgba(2,12,27,.06);
    }

    .mrv-universale h2 {
      color: #1697c7;
      margin-bottom: 16px;
      text-align: left;
    }

    .mrv-universale-box {
      margin-bottom: 30px;
    }

    .mrv-universale p,
    .mrv-universale li {
      color: #333;
      line-height: 1.6em;
    }

    .mrv-universale ul {
      list-style: none;
      padding: 0;
    }

    .mrv-universale li {
      margin: 10px 0;
      padding-left: 28px;
      position: relative;
    }

    .mrv-universale li::before {
      content: "✔️";
      position: absolute;
      left: 0;
      top: 0;
    }