/* Expander */

/* Como usar
       <details class="expander">
              <summary class="expander-header">
                     <h4 class="panel-title">Título del expander</h4>
                     <i class="fa fa-chevron-down expander-arrow" aria-hidden="true"></i>
              </summary>
              <div class="expander-content">
                     Contenido del expander
              </div>
       </details>
        */
.expander {
    margin-bottom: 10px;
    border-radius: 2px;
    border: 1px solid #ddd;
    background-color: #fff;

    &[open] .expander-header {
        border-bottom: 1px solid #ddd;
    }
}

.expander-header {
    cursor: pointer;
    user-select: none;
    position: relative;
    padding: 10px 12px;
    font-weight: 500;
    background-color: #f5f5f5;
}

.expander-arrow {
    transform: rotate(0deg);
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
}


.expander-content {
    font-weight: 400;
    padding: 12px;
}

.expander[open] summary i.expander-arrow {
    transform: rotate(180deg) translateY(calc(-50% + 1em));
    transition: transform 0.3s ease;
}

/* Skeleton */
/* 
    Como usar
         <div class="skeleton" style="width: 100px; height: 20px;"></div> // darle la forma deseada (por defecto es un rectángulo)
 */

.skeleton {
    display: block;
    position: relative;
    background-color: #e0e0e0;
    overflow: hidden;
    border-radius: 4px;
    width: 100%;
    margin-bottom: 0.5em;

    &::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100%);
        animation: shimmer 1.5s infinite;
    }

    &.skeleton-text {
        height: 1em;
    }

    &.skeleton-list {
        height: 5em;
    }

    &.skeleton-circle {
        aspect-ratio: 1 / 1;
        border-radius: 100%;
    }
    

}

@keyframes shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}