    /* Estilos personalizados para animaciones */
            @keyframes fadeInUp {
                from {
                    opacity: 0;
                    transform: translateY(30px);
                }
                to {
                    opacity: 1;
                    transform: translateY(0);
                }
            }

            @keyframes fadeInLeft {
                from {
                    opacity: 0;
                    transform: translateX(-30px);
                }
                to {
                    opacity: 1;
                    transform: translateX(0);
                }
            }

            @keyframes fadeInRight {
                from {
                    opacity: 0;
                    transform: translateX(30px);
                }
                to {
                    opacity: 1;
                    transform: translateX(0);
                }
            }

            @keyframes fadeInDown {
                from {
                    opacity: 0;
                    transform: translateY(-30px);
                }
                to {
                    opacity: 1;
                    transform: translateY(0);
                }
            }

            @keyframes zoomIn {
                from {
                    opacity: 0;
                    transform: scale(0.95);
                }
                to {
                    opacity: 1;
                    transform: scale(1);
                }
            }

            .animate-fade-in-up {
                animation: fadeInUp 0.8s ease-out forwards;
                opacity: 0;
            }

            .animate-fade-in-left {
                animation: fadeInLeft 0.8s ease-out forwards;
                opacity: 0;
            }

            .animate-fade-in-right {
                animation: fadeInRight 0.8s ease-out forwards;
                opacity: 0;
            }

            .animate-fade-in-down {
                animation: fadeInDown 0.8s ease-out forwards;
                opacity: 0;
            }

            .animate-zoom-in {
                animation: zoomIn 0.8s ease-out forwards;
                opacity: 0;
            }

            /* Estilos para el fondo decorativo */
            .bg-frutas {
                background: radial-gradient(circle at 20% 30%, rgba(255, 107, 107, 0.15) 0%, transparent 40%),
                    radial-gradient(circle at 80% 70%, rgba(107, 208, 255, 0.15) 0%, transparent 40%),
                    radial-gradient(circle at 50% 20%, rgba(255, 223, 107, 0.15) 0%, transparent 40%);
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                z-index: 0;
            }

            /* Estilo para las tarjetas con efecto de elevación */
            .card-hover {
                box-shadow:
                    0 4px 6px -1px rgba(0, 0, 0, 0.1),
                    0 2px 4px -1px rgba(0, 0, 0, 0.06);
                transition: all 0.3s ease;
            }

            .card-hover:hover {
                transform: translateY(-5px);
                box-shadow:
                    0 20px 25px -5px rgba(0, 0, 0, 0.1),
                    0 10px 10px -5px rgba(0, 0, 0, 0.04);
            }

            /* Estilo para el ícono de Gotita */
            .iconGotita {
                display: inline-block;
                width: 30px;
                height: 30px;
                background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%237E9C" d="M12,2C8.1,2,5,5.1,5,9c0,5.3,7,13,7,13s7-7.7,7-13C19,5.1,15.9,2,12,2z"/></svg>');
                background-size: contain;
                background-repeat: no-repeat;
                background-position: center;
                vertical-align: middle;
                margin-right: 8px;
            }

            .contentIconGotita {
                display: flex;
                align-items: center;
            }

            /* Animación para el video */
            .video-border {
                position: relative;
                border-radius: 12px;
                overflow: hidden;
            }

            .video-border::before {
                content: "";
                position: absolute;
                top: -2px;
                left: -2px;
                right: -2px;
                bottom: -2px;
                background: linear-gradient(45deg, #e3108c, #0ea5e9, #eef527, #e3108c);
                background-size: 400% 400%;
                border-radius: 14px;
                z-index: -1;
                animation: gradientBorder 4s linear infinite;
            }

            @keyframes gradientBorder {
                0% {
                    background-position: 0% 50%;
                }
                50% {
                    background-position: 100% 50%;
                }
                100% {
                    background-position: 0% 50%;
                }
            }

            /* Animación para las secciones */
            .section-animation {
                opacity: 0;
                transform: translateY(20px);
                transition:
                    opacity 0.8s ease,
                    transform 0.8s ease;
            }

            .section-visible {
                opacity: 1 !important;
                transform: translateY(0) !important;
            }

            /* Estilo para los botones con animación */
            .btn-hover {
                position: relative;
                overflow: hidden;
            }

            .btn-hover::before {
                content: "";
                position: absolute;
                top: 0;
                left: -100%;
                width: 100%;
                height: 100%;
                background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
                transition: left 0.5s;
            }

            .btn-hover:hover::before {
                left: 100%;
            }

            /* Estilo para el footer */
            .footer-link {
                transition: all 0.3s ease;
            }

            .footer-link:hover {
                transform: translateY(-3px);
                color: #eef527 !important;
            }

            /* Animación para las listas */
            .list-item {
                opacity: 0;
                transform: translateX(-20px);
                transition:
                    opacity 0.5s ease,
                    transform 0.5s ease;
            }

            .list-item-visible {
                opacity: 1 !important;
                transform: translateX(0) !important;
            }

            .delay-1 {
                transition-delay: 0.1s;
            }
            .delay-2 {
                transition-delay: 0.2s;
            }
            .delay-3 {
                transition-delay: 0.3s;
            }
            .delay-4 {
                transition-delay: 0.4s;
            }
            .delay-5 {
                transition-delay: 0.5s;
            }

            /* Ajustes para sección "árbol" y popups */
            #section_arbol {
                position: relative; /* referencias para posicionamiento absoluto de manzanas */
                min-height: 520px; /* asegura espacio suficiente por defecto */
                padding-top: 2rem;
                padding-bottom: 2rem;
                overflow: visible; /* permitir popups fuera si es necesario */
            }

            /* contenedor gráfico dentro de la sección */
            .tree-graphic {
                position: relative;
                width: 100%;
                height: 420px; /* área visual del árbol; ajusta según diseño */
                margin-bottom: 1rem;
            }

            /* manzanas (posicionadas) se referencian al contenedor padre */
            #section_arbol .apple,
            #section_arbol .appleangry,
            #section_arbol .applehappy,
            #section_arbol .applesurprised {
                position: absolute;
                width: 150px;
                height: 120px;
                background-size: contain;
                background-repeat: no-repeat;
                cursor: pointer;
            }

            /* Popups ocultos por defecto */
            #section_arbol .popup {
                display: none !important; /* oculto hasta que se active */
                position: fixed;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                width: 90%;
                max-width: 800px;
                background: rgba(23, 6, 66, 0.95);
                border-radius: 12px;
                padding: 2rem;
                z-index: 101;
                box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
                max-height: 90vh;
                overflow-y: auto;
                margin: 0;
            }

            /* Popups visibles cuando tienen la clase 'active' */
            #section_arbol .popup.active {
                display: block !important;
            }

            /* Overlay oculto por defecto */
            #overlaytree {
                position: fixed;
                top: 0;
                left: 0;
                inset: 0;
                background: rgba(0, 0, 0, 0.6);
                z-index: 100;
                display: none;
            }

            /* Overlay visible cuando está activo */
            #overlaytree.active {
                display: block;
            }

            /* Botón de cerrar popup */
            .close-btn {
                position: absolute;
                top: 1rem;
                right: 1rem;
                background: #ef4444;
                color: white;
                border: none;
                width: 2rem;
                height: 2rem;
                border-radius: 50%;
                font-size: 1.5rem;
                cursor: pointer;
                transition: background 0.3s;
                z-index: 102;
            }

            .close-btn:hover {
                background: #dc2626;
            }
            /* Fondo animado de árbol */
    .tree-container {
      position:relative;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-image: url('/assets/img/fondo%20apertura%20manzanas%20FINAL-01.png');
      background-size: cover;
      background-position: center;
      animation: fadeIn 3s ease-in-out;
      z-index: 1;
    }
    /* oculta el arbol al principio y luego lo hace visible 3 seg despues*/
    @keyframes fadeIn {
      0% { opacity: 0; }
      100% { opacity: 1; }
    } 

    /* Título principal */
    .title {
      position: absolute;
      top: 10px;
      left: 0;
      width: 100%;
      text-align: center;
      color: #004eff;
      font-size: 2.5em;
      text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.7);
      z-index: 2;
      animation: titleFloat 4s ease-in-out infinite;
      padding: 0 10px;
    }

    @keyframes titleFloat {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-10px); }
    }

    /* Botones manzana */
    .apple, .appleangry, .applehappy, .applesurprised {
      position: absolute;
      width: 220px;
      height: 176px;
      background-size: contain;
      background-repeat: no-repeat;
      cursor: pointer;
      z-index: 2;
      transition: transform 0.3s, filter 0.3s;
      filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.3));
    }

    .apple {
      background-image: url('/assets/img/manzana%201.png');
    }

    .appleangry {
      background-image: url('/assets/img/manzana%203.png');
    }

    .applehappy {
      background-image: url('/assets/img/manzana%204.png');
    }

    .applesurprised {
      background-image: url('/assets/img/manzana%205.png')
    }
    /* Efecto al pasar sobre el las manzanas*/
    .apple:hover, .appleangry:hover, .applehappy:hover, .applesurprised:hover {
      transform: scale(1.2) rotate(365deg);
      filter: drop-shadow(5px 5px 8px rgba(0, 0, 0, 0.4));
    }

    /* Popups */
    .popup {
      display: none;
      position: fixed;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 90%;
      max-width: 800px;
      max-height: 90vh;
      background: rgb(130, 68, 19);
      border-radius: 20px;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
      z-index: 100;
      padding: 20px;
      overflow-y: auto;
      animation: popupFadeIn 0.5s ease-out;
    }

    @keyframes popupFadeIn {
      0% { opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
      100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
    }

    .popup h2 {
      margin-top: 0;
      text-align: center;
      color: white;
      font-size: 1.8em;
      border-bottom: 2px solid #ff0030;
      padding-bottom: 10px;
      padding-right: 30px;
    }

    .popup-content {
      display: flex;
      flex-direction: column;
      height: 100%;
    }

    .video-container {
      flex: 1;
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 20px 0;
    }

    .popup iframe {
      width: 100%;
      height: 400px;
      border-radius: 99px;
      border:groove;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    }

    .popup-description {
      margin: 20px 0;
      padding: 15px;
      background: #f9f9f9;
      border-radius: 10px;
      border-left: 6px solid #59f759;
    }
/*botones dentro de los videos pantallas grandes*/
    .popup-buttons {
      display: flex;
      justify-content: center;
      gap: 15px;
      margin-top: 20px;
      flex-wrap: wrap;
    }

    .popup-btn {
      padding: 12px 25px;
      border:groove;
      border-color: #feff14;
      border-radius: 8px;
      cursor: pointer;
      font-size: 1em;
      font-weight: 600;
      transition: all 0.3s ease;
      display: flex;
      align-items: center;
      gap: 8px;
    }
/* Color de botones del popup*/
    .btn-primary {
      background: linear-gradient(135deg, #3f1bff 0%, #cf00ff 100%);
      color: white;
    }

    .btn-secondary {
      background: #6c757d;
      color: white;
    }

    .btn-success {
      background: #28a745;
      color: white;
    }
/* sombra al pasaro sobre los botones*/
    .popup-btn:hover {
      transform: translateY(-3px);
      box-shadow: 0 5px 15px rgb(190, 249, 0);
    }

    .close-btn {
      background: #ff6b6b;
      color: #fff;
      border: none;
      padding: 8px 12px;
      border-radius: 50%;
      cursor: pointer;
      position: absolute;
      top: 15px;
      right: 15px;
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      font-size: 1.2em;
      box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
      transition: all 0.3s ease;
      z-index: 101;
    }

    .close-btn:hover {
      background: #ff4757;
      transform: scale(1.1);
    }

    /* Overlay para popups (fondo oscuro detras del popup)*/
    .overlaytree {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.7);
      z-index: 99;
    }

    /* Información de progreso */
    .progress-info {
      position: absolute;
      bottom: 20px;
      right: 20px;
      background: rgba(255, 255, 255, 0.9);
      padding: 15px;
      border-radius: 15px;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
      z-index: 2;
      text-align: center;
    }

    .progress-bar {
      width: 200px;
      height: 10px;
      background: #b7dbff;
      border-radius: 5px;
      overflow: hidden;
      margin: 10px 0;
    }

    .progress {
      height: 100%;
      background: linear-gradient(135deg, #98FB98 0%, #32CD32 100%);
      width: 0%;
      transition: width 0.5s ease;
    }

    .progress-text {
      font-weight: bold;
      color: #2c5530;
    }

    /* Animación de hojas */
    .leaf {
      position: absolute;
      width: 40px;
      height: 30px;
      background-image: url('/assets/img/hoja%20de%20arboles.png');
      background-size: contain;
      background-repeat: no-repeat;
      z-index: 1;
      animation: leafFloat 8s linear infinite;
    }

    @keyframes leafFloat {
      0% { transform: translateY(0) rotate(0deg); opacity: 0; }
      10% { opacity: 1; }
      90% { opacity: 1; }
      100% { transform: translateY(100vh) rotate(360deg); opacity: 0; }
    }

    /* ===== ESTILOS DEL ROMPECABEZAS ===== */
    .puzzle-container {
      display: flex;
      flex-direction: column;
      gap: 20px;
      align-items: center;
      padding: 20px 0;
    }

    .puzzle-board {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-template-rows: repeat(2, 1fr);
      gap: 5px;
      background: rgba(255, 255, 255, 0.2);
      padding: 10px;
      border-radius: 15px;
      width: 450px;
      height: 300px;
    }

    .puzzle-slot {
      background: rgba(255, 255, 255, 0.5);
      border: 3px dashed rgba(255, 255, 255, 0.8);
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2em;
      color: rgba(255, 255, 255, 0.6);
      transition: all 0.3s ease;
    }

    .puzzle-slot.drag-over {
      background: rgba(152, 251, 152, 0.5);
      border-color: #32CD32;
      transform: scale(1.05);
    }

    .puzzle-slot.filled {
      border-style: solid;
      border-color: #32CD32;
    }

    .puzzle-pieces {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: center;
      padding: 15px;
      background: rgba(255, 255, 255, 0.2);
      border-radius: 15px;
      min-height: 120px;
      width: 450px;
    }

    .puzzle-piece {
      width: 140px;
      height: 90px;
      background-size: cover;
      background-position: center;
      border-radius: 8px;
      cursor: grab;
      border: 3px solid white;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
      transition: all 0.3s ease;
    }

    .puzzle-piece:hover {
      transform: scale(1.1) rotate(2deg);
      box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4);
    }

    .puzzle-piece.dragging {
      opacity: 0.5;
      cursor: grabbing;
    }

    .puzzle-piece.placed {
      cursor: not-allowed;
      opacity: 0.3;
    }

    .puzzle-info {
      background: rgba(255, 255, 255, 0.1);
      padding: 10px;
      border-radius: 10px;
      margin-bottom: 10px;
    }

    .puzzle-complete-message {
      position: fixed;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background: rgba(23, 6, 66, 0.98);
      border: 3px solid #eef527;
      border-radius: 16px;
      padding: 2rem;
      z-index: 200;
      text-align: center;
      max-width: 500px;
      width: 90%;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8);
      animation: zoomIn 0.5s ease-out;
      }

    .puzzle-complete-message h3 {
      color: #eef527;
      font-size: 2.5rem;
      margin-bottom: 1rem;
      animation: bounce 0.6s ease-out;
    }

    .puzzle-complete-message p {
      color: #fff;
      font-size: 1.1rem;
      margin-top: 1rem;
    }

    .puzzle-complete-image {
      margin: 1.5rem 0;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);
      max-height: 300px;
      }

      .puzzle-complete-image img {
      width: 100%;
      height: auto;
      display: block;
      border-radius: 8px;
      animation: slideIn 0.7s ease-out;
      }
      @keyframes bounce {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-20px); }
      }
      @keyframes slideIn {
      from {
      opacity: 0;
      transform: scale(0.8);
      }
      to {
      opacity: 1;
      transform: scale(1);
      }
      }
    /* ===== MEDIA QUERIES PARA RESPONSIVIDAD ===== */

    /* Tabletas en orientación horizontal y pantallas medianas (768px - 1024px) */
    @media screen and (max-width: 1024px) {
      .title {
        font-size: 2em;
        top: 10px;
      }

      .apple, .appleangry, .applehappy, .applesurprised {
        width: 201px;
        height: 203px;
      }

      .popup {
        width: 85%;
        padding: 15px;
      }

      .popup h2 {
        font-size: 1.5em;
      }

      .popup iframe {
        height: 300px;
      }

      .progress-info {
        padding: 10px;
        font-size: 0.9em;
      }

      .progress-bar {
        width: 150px;
      }
    }

    /* Tabletas en orientación vertical (481px - 768px) */
    @media screen and (max-width: 768px) {
      .title {
        font-size: 2em;
        top: 10px;
      }

      .apple, .appleangry, .applehappy, .applesurprised {
        width: 224px;
        height: 201px;
      }

      /* Reposicionar manzanas para tabletas */
      .apple {
        top: 15% !important;
        left: 10% !important;
      }

      .appleangry {
        top: 15% !important;
        left: 70% !important;
      }

      .applehappy {
        top: 50% !important;
        left: 10% !important;
      }

      .applesurprised {
        top: 50% !important;
        left: 70% !important;
      }

      .popup {
        width: 95%;
        padding: 15px;
        max-height: 85vh;
      }

      .popup h2 {
        font-size: 1.3em;
        padding-bottom: 8px;
      }

      .popup iframe {
        height: 250px;
      }

      .popup-description {
        font-size: 0.9em;
        padding: 12px;
      }

      .popup-btn {
        padding: 10px 20px;
        font-size: 0.9em;
      }

      .progress-info {
        bottom: 10px;
        right: 10px;
        padding: 8px;
        font-size: 0.8em;
      }

      .progress-bar {
        width: 120px;
        height: 8px;
      }

      .close-btn {
        width: 35px;
        height: 35px;
        font-size: 1em;
      }

      /* Rompecabezas responsive tabletas */
      .puzzle-board {
        width: 360px;
        height: 240px;
      }

      .puzzle-pieces {
        width: 360px;
      }

      .puzzle-piece {
        width: 110px;
        height: 72px;
      }
    }

    /* Dispositivos móviles (320px - 480px) */
    @media screen and (max-width: 480px) {
      body {
        overflow-y: auto;
        overflow-x: hidden;
      }

      .tree-container {
        height: 100vh;
        min-height: 600px;
      }

      .title {
        font-size: 2em;
        top: 5%;
        padding: 0 5px;
      }

      .apple, .appleangry, .applehappy, .applesurprised {
        width: 125px;
        height: 118px;
      }

      .apple:hover, .appleangry:hover, .applehappy:hover, .applesurprised:hover {
        transform: scale(1.1);
      }

      /* Reposicionar manzanas para móviles - layout vertical */
      .apple {
        top: 20% !important;
        left: 5% !important;
      }

      .appleangry {
        top: 20% !important;
        left: 70% !important;
      }

      .applehappy {
        top: 50% !important;
        left: 5% !important;
      }

      .applesurprised {
        top: 50% !important;
        left: 70% !important;
      }

      .popup {
        width: 95%;
        padding: 15px;
        max-height: 90vh;
        border-radius: 15px;
      }

      .popup h2 {
        font-size: 1.1em;
        padding-bottom: 5px;
        padding-right: 35px;
      }

      .popup iframe {
        height: 200px;
        border-radius: 10px;
      }

      .popup-description {
        font-size: 0.85em;
        padding: 10px;
        margin: 10px 0;
      }

      .popup-description p {
        margin: 5px 0;
      }

      .popup-buttons {
        gap: 8px;
        margin-top: 10px;
      }

      .popup-btn {
        padding: 8px 15px;
        font-size: 0.8em;
        flex: 1 1 45%;
        justify-content: center;
      }

      .progress-info {
        position: fixed;
        bottom: 5px;
        right: 5px;
        padding: 6px;
        font-size: 0.7em;
        border-radius: 10px;
      }

      .progress-bar {
        width: 100px;
        height: 6px;
      }

      .progress-text {
        font-size: 0.85em;
      }

      .close-btn {
        width: 30px;
        height: 30px;
        font-size: 0.9em;
        top: 10px;
        right: 10px;
      }

      .leaf {
        width: 30px;
        height: 18px;
      }

      /* Rompecabezas responsive móvil */
      .puzzle-board {
        width: 280px;
        height: 180px;
        gap: 3px;
        padding: 5px;
      }

      .puzzle-pieces {
        width: 280px;
        gap: 5px;
        padding: 10px;
      }

      .puzzle-piece {
        width: 85px;
        height: 55px;
      }

      .puzzle-info p {
        font-size: 0.85em;
      }

      #puzzleTimer {
        font-size: 0.9em;
      }

      .puzzle-complete-message {
        padding: 20px 30px;
      }

      .puzzle-complete-message h3 {
        font-size: 1.3em;
      }

      .puzzle-complete-message p {
        font-size: 0.9em;
      }
    }

    /* Dispositivos muy pequeños (menos de 360px) */
    @media screen and (max-width: 360px) {
      .title {
        font-size: 2em;
      }

      .apple, .appleangry, .applehappy, .applesurprised {
        width: 120px;
        height: 110px;
      }

      .popup h2 {
        font-size: 1em;
      }

      .popup iframe {
        height: 180px;
      }

      .popup-description {
        font-size: 0.8em;
      }

      .popup-btn {
        font-size: 0.75em;
        padding: 6px 12px;
      }
    }

    /* Pantallas grandes (más de 1440px) */
    @media screen and (min-width: 1440px) {
      .title {
        font-size: 3em;
      }

      .apple, .appleangry, .applehappy, .applesurprised {
        width: 250px;
        height: 200px;
      }

      .popup {
        max-width: 900px;
      }

      .popup iframe {
        height: 450px;
      }
    }