/**
 * WP Query Load More - style
 *
 * @package WP_Query_Load_More
 */

/* Wrapper przycisku / sentinela */
.wqlm-load-more-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    margin-top: 1.5rem;
}

/* Przycisk */
.wqlm-load-more-btn {
    padding: 0.75rem 2rem;
    font-size: 1rem;
    font-weight: 500;
    color: #fff;
    background-color: #2271b1;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s ease, opacity 0.2s ease;
}

.wqlm-load-more-btn:hover:not(:disabled) {
    background-color: #135e96;
}

.wqlm-load-more-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.wqlm-load-more-btn:focus {
    outline: 2px solid #2271b1;
    outline-offset: 2px;
}

/* Sentinel (niewidoczny element dla Intersection Observer) */
.wqlm-load-more-sentinel {
    width: 1px;
    height: 1px;
    visibility: hidden;
    pointer-events: none;
}

/* Spinner */
.wqlm-spinner {
    display: none;
    width: 32px;
    height: 32px;
    margin-top: 1rem;
    border: 3px solid #e0e0e0;
    border-top-color: #2271b1;
    border-radius: 50%;
    animation: wqlm-spin 0.8s linear infinite;
}

.wqlm-spinner--active {
    display: block;
}

@keyframes wqlm-spin {
    to {
        transform: rotate(360deg);
    }
}

/* ============================================
   Animacje elementów Load More
   Czas trwania: 300-400ms
   ============================================ */

/* Bazowa klasa elementu */
.load-more-item {
    display: block;
}

/* Fade - pojawianie się przez opacity */
.load-more-item.lm-fade {
    opacity: 0;
    transition: opacity 0.35s ease-out;
}

.load-more-item.lm-fade.lm-animate {
    opacity: 1;
}

/* Slide - wjazd od dołu */
.load-more-item.lm-slide {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.35s ease-out, transform 0.35s ease-out;
}

.load-more-item.lm-slide.lm-animate {
    opacity: 1;
    transform: translateY(0);
}

/* Scale - powiększanie */
.load-more-item.lm-scale {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 0.35s ease-out, transform 0.35s ease-out;
}

.load-more-item.lm-scale.lm-animate {
    opacity: 1;
    transform: scale(1);
}

/* Sentinel prefetch (niewidoczny) */
.wqlm-prefetch-sentinel {
    width: 1px;
    height: 1px;
    visibility: hidden;
    pointer-events: none;
}

.wqlm-prefetch-spacer {
    pointer-events: none;
}
