@import url('variables.css');

/* =========================
   SECCIÓN CONTENEDORA
========================= */
.tour-section {
    padding: 40px 20px;
    text-align: center;
}

/* =========================
   CONTROLES
========================= */
.controls {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}

.controls button {
    padding: 10px 18px;

    background: var(--guinda);
    color: var(--blanco);

    border: none;
    border-radius: 20px;

    cursor: pointer;

    transition: .3s ease;
}

.controls button:hover {
    background: var(--guinda);
}

/* =========================
   PROGRESS
========================= */
.progress-container {
    position: relative;

    width: 100%;
    max-width: 320px;
    height: 26px;

    margin: 0 auto 16px;

    overflow: hidden;

    background: var(--gris_claro);

    border-radius: 10px;
}

.progress-bar {
    width: 0%;
    height: 100%;

    background:
        linear-gradient(90deg,
            var(--guinda),
            var(--dorado));

    transition: .4s ease;
}

.progress-label {
    position: absolute;
    inset: 0;

    font-size: 12px;
    font-weight: bold;

    line-height: 26px;

    text-align: center;
}

/* =========================
   MAPA
========================= */
.map-wrapper {
    position: relative;

    width: 100%;
    max-width: 1045px;

    aspect-ratio: 1045 / 590;

    margin: 0 auto;

    background:
        url('../img/iconos/Mapa.jpg') center center / 100% 100% no-repeat;

    border: 4px solid var(--guinda);
    border-radius: 12px;

    overflow: hidden;

    box-shadow: 0 10px 25px rgba(0, 0, 0, .15);

    contain: layout paint;
}

/* =========================
   LUCHO
========================= */
#lucho {
    position: absolute;

    left: 15.15%;
    top: 81.3%;

    transform: translate(-50%, -85%);

    display: flex;
    flex-direction: column;
    align-items: center;

    z-index: 20;

    will-change: left, top;
}

.lucho-img {
    width: 90px;

    max-width: 20vw;

    user-select: none;

    pointer-events: none;
}

/* =========================
   BURBUJA
========================= */
.bubble {
    width: 190px;

    margin-bottom: 6px;

    padding: 8px;

    font-size: 11px;

    text-align: center;

    background: var(--blanco);

    border: 3px solid var(--guinda);
    border-radius: 12px;

    box-shadow: 0 5px 15px rgba(0, 0, 0, .15);

    pointer-events: none;
}

.bubble h4 {
    margin: 0;

    color: var(--guinda);
}

.bubble ul {
    margin: 6px 0 0;

    padding-left: 16px;

    text-align: left;
}

/* =========================
   HUELLAS
========================= */
.huella {
    position: absolute;

    pointer-events: none;

    transform:
        translate(-50%, -50%) translateZ(0);

    border-radius: 50% 50% 45% 45%;

    opacity: 0;

    z-index: 5;

    background:
        var(--huella-color,
            rgba(0, 0, 0, .25));

    transition: opacity 2.5s linear;

    will-change: opacity;
}

.huella.traseraIzq,
.huella.traseraDer {
    width: 14px;
    height: 12px;
}

.huella.delanteraIzq,
.huella.delanteraDer {
    width: 10px;
    height: 8px;

    opacity: .75;
}

.huella::before {
    content: "";

    position: absolute;

    top: -4px;
    left: 1px;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: inherit;

    box-shadow:
        5px -2px 0 var(--huella-color),
        10px 0 0 var(--huella-color),
        15px -2px 0 var(--huella-color);
}

/* =========================
   RESPONSIVE
========================= */
@media(max-width:768px) {

    .bubble {
        width: 150px;
        font-size: 10px;
    }

    .lucho-img {
        width: 70px;
    }

}

@media(max-width:480px) {

    .bubble {
        width: 135px;
    }

}