@charset "ISO-8859-1";

body.mfp-zoom-out-cur,
body.mfp-open {
    overflow: hidden !important;
}

/* CSS Document */

       .cab-gymcana-header-container {
            position: relative !important;
            background: #df5f87 !important;
            max-height: 400px !important;
            overflow: visible !important;
            border-radius: 0 !important;
        }

        .cab-gymcana-header-content {
            position: relative !important;
            z-index: 3 !important;
            padding: 60px 30px 80px 30px !important;
            height: 100% !important;
        }

        .cab-gymcana-main-title {
            color: white !important;
            font-size: 68px !important;
            font-weight: 700 !important;
            line-height: 1.1 !important;
            margin-bottom: 20px !important;
            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
        }

        .cab-gymcana-cta-section {
            position: absolute !important;
            bottom: -10px !important;
            left: 50px !important;
            right: 50px !important;
            background: rgba(255, 138, 101, 1) !important;
            padding: 15px 25px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            border-radius: 15px !important;
            box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.1) !important;
            z-index: 4 !important;
        }

        .ccab-gymcana-cta-section::after {
            content: '' !important;
            position: absolute !important;
            bottom: -10px !important;
            left: 50% !important;
            transform: translateX(-50%) !important;
            width: 60px !important;
            height: 10px !important;
            background: rgba(255, 138, 101, 1) !important;
            border-radius: 0 0 8px 8px !important;
        }

        .cab-gymcana-cta-text {
            color: white !important;
            font-size: 18px !important;
            font-weight: 700 !important;
            margin: 0 !important;
        }

        .cab-gymcana-cta-section2 {
    position: absolute !important;
    left: 50px !important;
    right: 50px !important;
    background: rgba(255, 138, 101, 1) !important;
    padding: 10px 25px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 15px !important;
    box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.1) !important;
    z-index: 4 !important;
    margin-top: -30px;
        }
        .cab-gymcana-cta-text2 {
            color: white !important;
            font-size: 22px !important;
            font-weight: 800 !important;
            margin: 0 !important;
            text-align: center;
        }

        .ccab-gymcana-cta-section2::after {
            content: '' !important;
            position: absolute !important;
            bottom: -10px !important;
            left: 50% !important;
            transform: translateX(-50%) !important;
            width: 60px !important;
            height: 10px !important;
            background: rgba(255, 138, 101, 1) !important;
            border-radius: 0 0 8px 8px !important;
        }

        .cab-gymcana-cta-button {
            background: #2c3e50 !important;
            color: white !important;
            padding: 8px 20px !important;
            border-radius: 25px !important;
            text-decoration: none !important;
            font-weight: 600 !important;
            font-size: 14px !important;
            border: none !important;
            cursor: pointer !important;
            transition: all 0.3s ease !important;
            display: flex !important;
            align-items: center !important;
            gap: 8px !important;
        }

        .cab-gymcana-cta-button:hover {
            background: #34495e !important;
            color: white !important;
            transform: translateX(5px) !important;
        }

        .cab-gymcana-cta-button::after {
            content: '?' !important;
            font-size: 16px !important;
            transition: transform 0.3s ease !important;
        }

        .cab-gymcana-cta-button:hover::after {
            transform: translateX(3px) !important;
        }

        /* Círculos flotantes */
        .cab-gymcana-floating-circle {
            position: absolute !important;
            border-radius: 50% !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            font-weight: 700 !important;
            z-index: 5 !important;
            transition: all 0.3s ease !important;
            cursor: pointer !important;
        }

        .cab-gymcana-circle-primary {
            width: 70px !important;
            height: 70px !important;
            background: white !important;
            color: #ff6b9d !important;
            font-size: 48px !important;
            top: 60px !important;
            right: 50px !important;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
        }

        .cab-gymcana-circle-secondary {
            width: 50px !important;
            height: 50px !important;
            background: #7dd3fc !important;
            color: white !important;
            font-size: 20px !important;
            top: 45px !important;
            right: 30px !important;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
            z-index: 6 !important;
        }

        .cab-gymcana-floating-circle:hover {
            transform: scale(1.1) !important;
            box-shadow: 0 12px 35px rgba(0, 0, 0, 0.2) !important;
        }

        /* Patrón de fondo decorativo */
        .cab-gymcana-background-pattern {
            position: absolute !important;
            bottom: -50px !important;
            left: -50px !important;
            right: 0 !important;
            height: 200px !important;
            z-index: 1 !important;
            opacity: 0.1 !important;
        }



        /* Espaciado adicional para evitar solapamiento */
        .cab-gymcana-spacing {
            margin-bottom: 40px !important;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .cab-gymcana-header-container {
                margin-top: 20px !important;
            }

            .cab-gymcana-header-content {
                padding: 40px 20px 60px 20px !important;
            }

            .cab-gymcana-circle-primary {
                width: 70px !important;
                height: 70px !important;
                font-size:36px !important;
                right: 30px !important;
                top: -15px !important;
                font-family: var(--primary-font);
            }

            .cab-gymcana-circle-secondary {
                width: 40px !important;
                height: 40px !important;
                font-size: 16px !important;
                right: 15px !important;
                top: -25px !important;
            }

            .cab-gymcana-cta-section {
                flex-direction: column !important;
                gap: 10px !important;
                padding: 10px !important;
                text-align: center !important;
                left: 20px !important;
                right: 20px !important;
            }

            .cab-gymcana-number-controls {
                position: relative !important;
                margin: 20px auto !important;
                display: inline-block !important;
                z-index: 2000 !important;
            }
        }

        @media (max-width: 576px) {
            .cab-gymcana-header-container {
                margin-top: 20px !important;
            }

            .cab-gymcana-main-title {
                font-size: 40px !important;
            }

            .cab-gymcana-cta-text {
                font-size: 14px !important;
            }

            .cab-gymcana-circle-primary {
                width: 70px !important;
                height: 70px !important;
                font-size: 38px !important;
                right: 25px !important;
                top: -10px !important;
            }

            .cab-gymcana-circle-secondary {
                width: 35px !important;
                height: 35px !important;
                font-size: 14px !important;
                right: 12px !important;
                top: -20px !important;
            }
            .flecha {
                position: absolute;
                right: 10%;
            }
            .flecha img {
                width: 30px;
                line-height: 30px;
                margin-top: 25px;
                left:0px;
                /*filter: invert(61%) sepia(9%) saturate(2768%) hue-rotate(326deg) brightness(103%) contrast(106%);*/
            }
            .flecha2 {
                position: absolute;
                right: 45%;
            }
            .flecha2 img {
                width: 30px;
                line-height: 30px;
                margin-top: 60px;
                /*left:0px;
                filter: invert(61%) sepia(9%) saturate(2768%) hue-rotate(326deg) brightness(103%) contrast(106%);*/
            }
            .flecha-rosa {
                filter: invert(56%) sepia(19%) saturate(1584%) 
          hue-rotate(309deg) brightness(94%) contrast(88%)!important;

        }
        .separator {
          position: relative;
          height: 80px; /* alto del separador */
          background: linear-gradient(to bottom, #f5deb3, #fdf6e3); /* color papel */
          clip-path: polygon(
            0% 60%, 5% 65%, 10% 55%, 15% 68%, 20% 58%, 
            25% 66%, 30% 55%, 35% 63%, 40% 57%, 45% 65%, 
            50% 60%, 55% 68%, 60% 58%, 65% 66%, 70% 55%, 
            75% 63%, 80% 57%, 85% 65%, 90% 60%, 95% 66%, 100% 55%, 
            100% 100%, 0% 100%
          );
        }

/* MODAL */

.cab-modal { 
    background-color: #df5f87;
    padding:30px 40px 10px 40px; 
    border-top-left-radius:20px;
    border-top-right-radius:20px;
    color: white !important;
}

        /* Círculo superior con flecha */
        .modal-gym-top-circle {
            position: absolute !important;
            top: -25px !important;
            left: 50% !important;
            transform: translateX(-50%) !important;
            width: 60px !important;
            height: 60px !important;
            background: white !important;
            border: 3px solid #df5f87 !important;
            border-radius: 50% !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            font-size: 30px !important;
            color: #333 !important;
            cursor: pointer !important;
            transition: all 0.3s ease !important;
            z-index: 1000 !important;
        }

        .modal-gym-top-circle:hover {
            transform: translateX(-50%) scale(1.1) !important;
        }
        /* Botón inferior naranja */
        .modal-gym-bottom-btn {
            position: absolute !important;
            bottom: -25px !important;
            left: 20px !important;
            right: 20px !important;
            background: linear-gradient(135deg, #ffa726 0%, #ff9800 100%) !important;
            border: none !important;
            border-radius: 25px !important;
            color: white !important;
            font-size: 16px !important;
            font-weight: 600 !important;
            padding: 15px 20px !important;
            transition: all 0.3s ease !important;
            text-transform: uppercase !important;
            letter-spacing: 0.5px !important;
            cursor: pointer !important;
            z-index: 1000 !important;
        }

        .modal-gym-bottom-btn:hover {
            background: linear-gradient(135deg, #ff9800 0%, #f57c00 100%) !important;
            transform: translateY(-2px) !important;
            box-shadow: 0 8px 20px rgba(255, 152, 0, 0.4) !important;
        }

/* Para PWA en fullscreen 
body {
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}*/

/* Ocultar scroll bars 
body {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
body::-webkit-scrollbar {
    display: none;
}*/
        /* Botón inferior naranja */
        .modal-gym-inicio-btn {
            position: relative !important;
            border: none !important;
            border-radius: 25px !important;
            font-size: 16px !important;
            font-weight: 600 !important;
            padding: 15px 20px !important;
            transition: all 0.3s ease !important;
            text-transform: uppercase !important;
            letter-spacing: 0.5px !important;
            cursor: pointer !important;
            width: 80%;
        }

        .modal-gym-inicio-btn:hover {
            background: linear-gradient(135deg, #75aab1 0%, #75aab1 100%) !important;
            transform: translateY(-2px) !important;
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2) !important;
        }

.boton-azul {
    background: linear-gradient(135deg, #a1cdd3 0%, #a1cdd3 100%) !important;
    color: black !important;
}
.boton-azul:hover {
    background: linear-gradient(135deg, #75aab1 0%, #75aab1 100%) !important;
}
.boton-morado {
    background: linear-gradient(135deg, #53487a 0%, #53487a 100%) !important;
    color: white !important;
}
.boton-morado:hover {
    background: linear-gradient(135deg, #443a68 0%, #443a68 100%) !important;
}
.boton-naranja {
    background: linear-gradient(135deg, #e7b036 0%, #e7b036 100%) !important;
    color: white !important;
}
.boton-naranja:hover {
    background: linear-gradient(135deg, #d6a331 0%, #d6a331 100%) !important;
}
.boton-malva {
    background: linear-gradient(135deg, #a482e8 0%, #a482e8 100%) !important;
    color: white !important;
}
.boton-malva:hover {
    background: linear-gradient(135deg, #9372d4 0%, #9372d4 100%) !important;
}

.boton-rojo-claro {
    background: linear-gradient(135deg, #e17061 0%, #e17061 100%) !important;
    color: white !important;
}
.boton-rojo-claro:hover {
    background-color: linear-gradient(135deg, #d16455 0%, #d16455 100%) !important;
}
.boton-rosa {
    background: linear-gradient(135deg, #e26d71 0%, #e26d71 100%) !important;
    color: white !important;
}
.boton-rosa:hover {
    background: linear-gradient(135deg, #cb5077 0%, #cb5077 100%) !important;
}
.caja-rosa {
    background: linear-gradient(135deg, #e26d71 0%, #e26d71 100%) !important;
    color: white !important;
}
.campo-fondo {
    background-color: #e7f6f6;
    color:#283333;
    border:0px;
    border-radius: 25px !important;
    left: 20px !important;
    right: 20px !important;
    width: 80%;
    font-weight: 600;
    text-align: center;
    animation: tenue-fondo 2s infinite alternate;
}

@keyframes tenue-fondo {
    0% {
        background-color: #e7f6f6;
    }
    100% {
        background-color: #afd8d8;
    }
}

.campo-fondo:hover ,.campo-fondo:focus {
    background-color: #e7f6f6;
    color:#283333;
    border:0px;
}

    .custom-list-container {
            padding: 0;
            border-radius: 15px;
            /*max-width: 600px;*/
            margin: 2rem auto;
        }
        
        .custom-list-item {
            display: flex;
            align-items: flex-start;
            margin-bottom: 1.5rem;
            padding: 0;
            background: transparent;
            border: none;
        }
        
        .custom-list-item:last-child {
            margin-bottom: 0;
        }
        
        .arrow-icon {
            color: #2c3e50;
            font-size: 1.2rem;
            font-weight: bold;
            margin-right: 1rem;
            margin-top: 0.2rem;
            flex-shrink: 0;
        }
        
        .list-content {
            flex: 1;
            font-size: 1rem;
            line-height: 1.6;
            color: #2c3e50;
            font-weight: 500;
        }
        
        .highlight-box {
            background: linear-gradient(135deg, #c2185b 0%, #ad1457 100%);
            color: white;
            padding: 1.25rem 1.5rem;
            border-radius: 15px;
            margin: 0;
            box-shadow: 0 3px 10px rgba(194, 24, 91, 0.3);
            margin-bottom: 20px;
        }
        
        .highlight-box .list-content {
            color: white;
            font-weight: 600;
        }
        
        .highlight-box .arrow-icon {
            color: white;
        }
        
        .text-pink {
            color: #c2185b;
            font-weight: 700;
        }
        
        .text-bold {
            font-weight: 700;
        }
        
        @media (max-width: 768px) {
            .custom-list-container {
                /*margin: 1rem;
                padding: 1.5rem;*/
            }
            
            .list-content {
                font-size: 0.95rem;
            }
            
            .highlight-box {
                padding: 1rem 1.25rem;
            }
        }

.landscape-warning {
  display: none;
}

@media screen and (orientation: landscape) and (max-width: 900px) {
  .landscape-warning {
    display: flex !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: #df5f87 !important;
    color: #fff !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    font-size: 1.5em !important;
    font-weight: bold !important;
    z-index: 2147483647 !important;
  }
  
  .landscape-warning::after {
    content: "Por favor, usa la Yincana en vertical";
    white-space: pre-line;
    padding: 20px;
  }
}

        .audio-player-absoluto {
           margin-top: -40px;
              left: 0;
              right: 0;
            z-index: 99;
            position: absolute;
}
        .audio-player-blanco {
            background: transparent;
            padding:0px!important;
        }
        .audio-player {
            background: #a1cdd3;
            border-radius: 16px;
            padding: 20px 20px 4px 20px;
            max-width: 350px;
            width: 100%;
            margin: 0 auto;

        }
        .player-header {
            text-align: center;
            color: #1f2937;
            font-size: 14px;
            font-weight: 700;
            margin-bottom: 20px;
            line-height: 1.3;
        }
        .player-header strong {
            font-weight: 600;
            color:#fffffF;
        }
        .player-content {
            background: #ffffff;
            border-bottom-left-radius: 12px;
            border-bottom-right-radius: 12px;
            padding: 30px 30px 15px 30px;
            margin: 0 -14px 0 -14px;
        }
        .play-button {
            width: 60px;
            height: 60px;
            background: #000000;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 25px;
            cursor: pointer;
            transition: all 0.2s ease;
            border: none;
            position: relative;
        }
        .play-button:hover {
            background: #1a1a1a;
            transform: scale(1.02);
        }
        .play-button:active,
        .play-button:focus {
            transform: scale(0.98);
            box-shadow: none;
            outline: none;
        }
        .play-icon {
            width: 0;
            height: 0;
            border-left: 18px solid white;
            border-top: 12px solid transparent;
            border-bottom: 12px solid transparent;
            margin-left: 3px;
        }
        .play-button.playing .play-icon {
            border: none;
            width: 16px;
            height: 20px;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .play-button.playing .play-icon::before,
        .play-button.playing .play-icon::after {
            content: '';
            position: absolute;
            width: 4px;
            height: 20px;
            background: white;
        }
        .play-button.playing .play-icon::before {
            left: 2px;
        }
        .play-button.playing .play-icon::after {
            right: 2px;
        }
        .progress-container {
            margin-bottom: 12px;
            position: relative;
            height: 20px;
            display: flex;
            align-items: center;
        }
        .progress-track {
            width: 100%;
            height: 4px;
            background: #e5e7eb;
            border-radius: 2px;
            position: relative;
            cursor: pointer;
        }
        .progress-fill {
            height: 100%;
            background: #9ca3af;
            border-radius: 2px;
            width: 0%;
            position: absolute;
            top: 0;
            left: 0;
            transition: width 0.1s linear;
        }
        .progress-thumb {
            width: 14px;
            height: 14px;
            background: white;
            border: 2px solid #9ca3af;
            border-radius: 50%;
            position: absolute;
            top: 50%;
            left: 0%;
            transform: translateY(-50%);
            cursor: grab;
            z-index: 10;
            transition: left 0.1s linear;
        }
        .progress-thumb:hover {
            transform: translateY(-50%) scale(1.2);
            border-color: #6b7280;
        }
        .progress-thumb:active {
            cursor: grabbing;
        }
        .time-display {
            display: flex;
            justify-content: space-between;
            color: #9ca3af;
            font-size: 14px;
            font-weight: 400;
        }
        .hidden-audio {
            display: none;
        }
        .audio-player-container {
            padding: 0;
        }
        @media (max-width: 575.98px) {
            .audio-player {
                max-width: 320px;
                padding: 18px 18px 6px 18px;
            }
            .player-content {
                padding: 25px 25px 22px 25px;
            }
            .play-button {
                width: 65px;
                height: 65px;
            }
        }
        .audio-player * {
            box-sizing: border-box;
        }

        @keyframes shake {
  0% { transform: translateX(0); }
  20% { transform: translateX(-5px); }
  40% { transform: translateX(5px); }
  60% { transform: translateX(-5px); }
  80% { transform: translateX(5px); }
  100% { transform: translateX(0); }
}

.shake {
  animation: shake 0.4s;
  border: 2px solid red !important;
}

/* Mensaje de error */
.error-msg {
  color: red;
  font-size: 18px;
  margin-top: 0px;
  font-weight: 700;
  margin-bottom: 15px;
}

.foto-acierto {
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
    margin-top: -42px;
}