
    /* Definición de la animación */
    @keyframes picaTresVeces {
        0% { bottom: 300px; animation-timing-function: ease-in; } /* Caída inicial */
  
        /* Rebote 1 */
        20% { bottom: 0; animation-timing-function: ease-out; } 
        30% { bottom: 150px; animation-timing-function: ease-in; } 
        
        /* Rebote 2 */
        45% { bottom: 0; animation-timing-function: ease-out; }
        55% { bottom: 70px; animation-timing-function: ease-in; }
        
        /* Rebote 3 */
        70% { bottom: 0; animation-timing-function: ease-out; }
        75% { bottom: 20px; animation-timing-function: ease-in; }
        
        /* Se queda sin movimiento */
        85%, 100% { bottom: 0; transform: translateX(-50%) scaleY(1); }       
    }

    .stage {
        width: 100%; /* 80vw; */
        /*max-width: 800px;*/
        height: auto;
        background: linear-gradient(180deg, #222, #0b2540);
        /*border-radius: 10px;*/
        position: relative;
        overflow: hidden;
        padding: 120px 20px;
    }

    .stage-bottom {
        margin-top: -50px;
        position: relative;
        background: #fff7ec;
        color: #F59E35;
        padding: 120px 20px;
        overflow: hidden;
    }

    #confettiCanvas {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    .controls {

    }

    button {
        padding: 8px 12px;
        border-radius: 6px;
        border: none;
        background: #ffcc00;
        cursor: pointer;
    }

    text {
        font-family: sans-serif;
        font-size: 32px;
        font-weight: bold;
        fill: #3498db; /* Color del texto */
    }

    /* Opcional: Para visualizar la línea del arco */
    path {
        stroke: #ddd; 
        stroke-width: 2;
    }

    .petro-gradient {
        /* Sintaxis: linear-gradient(dirección, color1, color2) */
        background: #FE7A00;
        background: linear-gradient(180deg,rgba(254, 122, 0, 1) 0%, rgba(255, 251, 248, 1) 100%, rgba(255, 251, 248, 1) 100%);
    }

    #div-gradient {
        margin-top: -5px;
        height: 120px;
    }

    .rotate-5 {
        transform: rotate(-5deg);
    }

    .rotate-4 {
        transform: rotate(-3deg);
    }

    .img-tag {
        position: relative;
        width: 15rem;
        height: auto;
    }

    .img-tag-top {
        top: -80px;
    }

    .img-tag-top-l {
        top:-50px;
    }

    .img-tag-top-md {
        top: -20px;    }

    .text-carga {
        position: relative;
        top: -140px;
    }

    .text-registra {
        position: relative;
        top: -120px;
    }

    .h-button {
        position: relative;
        top: -50px;
    } 

    .img-static {
        width: 300px;
        height: auto;
    }

    .action-title {
        font-size: 1.8rem;
    }

    .description-action {
        display: block;
    }
 
    .stage .card{
        border-radius: 30px;
    }

    /* Countdown */

    .promo-countdown {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 35px;
      padding: 35px 20px;
      background: #fff7ec;
      /*border-top: 4px solid #00162e;*/
      flex-wrap: wrap;
    }

    .promo-info {
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .icon-clock {
      font-size: 90px;
      color: #ff7900;
    }

    .promo-text h2 {
      margin: 0;
      font-size: 28px;
      font-weight: 900;
      color: #07172d;
    }

    .promo-text p {
      margin: 8px 0 0;
      font-size: 22px;
      color: #07172d;
    }

    .countdown {
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .time-box {
      width: 125px;
      height: 125px;
      border: 2px solid #ffb66c;
      border-radius: 16px;
      background: #fff7ec;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      box-shadow: 0 0 10px rgba(255, 121, 0, 0.08);
    }

    .time-box span {
      font-size: 52px;
      font-weight: 900;
      color: #ff7900;
      line-height: 1;
    }

    .time-box small {
      margin-top: 18px;
      font-size: 16px;
      font-weight: 800;
      color: #07172d;
    }

    .separator {
      font-size: 48px;
      font-weight: bold;
      color: #ff7900;
    }
    @media (min-width: 900px) and (max-width:1399px) {
      .action-title {
        font-size: 1.25rem;
      }

      #section-como-participar .fs-5 {
        font-size: 0.95rem !important;
      }

      #contenedor-premios h3 {
        font-size: 1.3rem !important;
      }

      #contenedor-premios .p-4 {
        padding: 0;
      }

      #contenedor-premios .fs-1 {
        font-size: 1.3rem !important;
      }

      .img-static {
        width: 210px;
        height: auto;
      }
    }

    @media (min-width:768px) and (max-width:899px) {
      .action-title {
        font-size: 1rem;
      }

      #section-como-participar .fs-5 {
        font-size: 0.75rem !important;
      }

      .img-static {
        width: 190px;
        height: auto;
      }

      #contenedor-premios .fs-1 {
        font-size: 1.5rem !important;
      }
    }

    @media (max-width: 768px) {
      .promo-countdown {
        gap: 25px;
      }

      .promo-info {
        flex-direction: column;
        text-align: center;
      }

      .countdown {
        flex-wrap: wrap;
        justify-content: center;
      }

      .separator {
        display: none;
      }

      .time-box {
        width: 110px;
        height: 110px;
      }

      .time-box span {
        font-size: 42px;
      }

      .action-title {
        font-size: 1.2rem;
      }

      #section-como-participar .fs-5 {
        font-size: 0.85rem !important;
      }

      .img-static {
        width: 240px;
        height: auto;
      }
    }