.guirnalda-muertos {
    position: relative;
    height: 92px;
    margin-bottom: 14px;
    overflow: hidden;
    pointer-events: none;
    visibility: hidden;
}

.guirnalda-muertos--colgada {
    visibility: visible;
}

.guirnalda-muertos__plantillas {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.guirnalda-muertos__hilo {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.guirnalda-muertos__hilo path {
    fill: none;
    stroke-linecap: round;
}

.guirnalda-muertos__hilo-sombra {
    stroke: rgba(0, 0, 0, 0.45);
    stroke-width: 3.5;
    transform: translateY(1.5px);
}

.guirnalda-muertos__hilo-cuerda {
    stroke: #e9dcbf;
    stroke-width: 1.8;
}

.guirnalda-muertos__hilo-torcido {
    stroke: rgba(255, 255, 255, 0.7);
    stroke-width: 0.7;
    stroke-dasharray: 3 2.5;
}

.guirnalda-muertos__nudos circle {
    fill: #d9c8a4;
    stroke: rgba(0, 0, 0, 0.45);
    stroke-width: 1;
}

.guirnalda-muertos__colgante {
    position: absolute;
    top: 0;
    left: 0;
    width: 46px;
    transform-origin: 50% 0;
    transform: rotate(var(--inclinacion, 0deg));
    animation: guirnalda-muertos-rafaga 9s ease-in-out var(--fase, 0s) infinite;
}

.guirnalda-muertos__colgante[hidden] {
    display: none;
}

.guirnalda-muertos__bandera {
    display: block;
    width: 46px;
    height: 46px;
    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.45));
    transform-origin: 50% 0;
    animation: guirnalda-muertos-vaiven 2.6s ease-in-out var(--retraso) infinite;
}

@keyframes guirnalda-muertos-vaiven {
    0%, 100% {
        transform: rotate(-5deg) skewX(2deg) scaleY(1);
    }

    25% {
        transform: rotate(0deg) skewX(0deg) scaleY(0.96);
    }

    50% {
        transform: rotate(5deg) skewX(-2deg) scaleY(1);
    }

    75% {
        transform: rotate(0deg) skewX(0deg) scaleY(0.97);
    }
}

@keyframes guirnalda-muertos-rafaga {
    0%, 62%, 100% {
        transform: rotate(var(--inclinacion, 0deg));
    }

    68% {
        transform: rotate(calc(var(--inclinacion, 0deg) - 16deg)) scaleY(0.82);
    }

    74% {
        transform: rotate(calc(var(--inclinacion, 0deg) + 7deg)) scaleY(0.95);
    }

    80% {
        transform: rotate(calc(var(--inclinacion, 0deg) - 4deg));
    }

    86% {
        transform: rotate(calc(var(--inclinacion, 0deg) + 1.5deg));
    }
}

@media (max-width: 767px) {
    .guirnalda-muertos {
        height: 68px;
    }

    .guirnalda-muertos__colgante,
    .guirnalda-muertos__bandera {
        width: 36px;
    }

    .guirnalda-muertos__bandera {
        height: 36px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .guirnalda-muertos__colgante,
    .guirnalda-muertos__bandera {
        animation: none;
    }
}
