/*! El Gaucho Gallery | (c) 2026 Cyril Gautschi | Proprietary License */
/* === Item loading placeholder === */
.egd-gallery .egd-gallery__item{background:#f0f0f0;position:relative}
.egd-gallery .egd-gallery__item::before{content:'';position:absolute;top:50%;left:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border:2px solid #ddd;border-top-color:#999;border-radius:50%;animation:egd-spin .6s linear infinite;z-index:0;pointer-events:none}
.egd-gallery .egd-gallery__item-link{position:relative;z-index:1}
.egd-gallery .egd-gallery__item--loaded::before{display:none}
.egd-gallery .egd-gallery__item--loaded{background:transparent}

/* === Lozad lazy loading fade-in === */
.egd-gallery .lozad{opacity:0;transition:opacity .4s ease !important}

/* === Filter Bar === */
.egd-gallery .egd-gallery__filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;align-items:center}
.egd-gallery .egd-gallery__filter-btn{padding:6px 16px;border:1px solid #ddd;border-radius:20px;background:#fff;font-size:14px;cursor:pointer;transition:all .2s ease}
.egd-gallery .egd-gallery__filter-btn:hover,
.egd-gallery .egd-gallery__filter-btn--active{background:#333;color:#fff;border-color:#333}
.egd-gallery .egd-gallery__filter-search{max-width:260px;margin-bottom:1rem}
.egd-gallery .egd-gallery__filter-search-input{min-width:160px;max-width:260px;width:100%}
@media(max-width:768px){.egd-gallery .egd-gallery__filter-search,.egd-gallery .egd-gallery__filter-search-input{max-width:none}}

/* === Counter === */
.egd-gallery .egd-gallery__counter{font-size:13px;color:#666;margin-bottom:12px}

/* === Link Icon === */
.egd-gallery .egd-gallery__link-icon{position:absolute;top:8px;right:8px;width:28px;height:28px;background:rgba(0,0,0,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:2}
.egd-gallery .egd-gallery__link-icon svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.egd-gallery .egd-gallery__item-link:hover .egd-gallery__link-icon{opacity:1}

/* === Download Icon === */
.egd-gallery .egd-gallery__download-icon{position:absolute;top:8px;left:8px;width:28px;height:28px;background:rgba(0,0,0,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;z-index:3;cursor:pointer;text-decoration:none}
.egd-gallery .egd-gallery__download-icon svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.egd-gallery .egd-gallery__item:hover .egd-gallery__download-icon{opacity:1}

/* === Pagination === */
.egd-gallery__pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:24px;flex-wrap:wrap}
.egd-gallery__pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:4px 12px;border:1px solid #ddd;border-radius:6px;background:#fff;font-size:14px;cursor:pointer;transition:all .2s ease;color:#333}
.egd-gallery__pagination-btn:hover{background:#f5f5f5;border-color:#bbb}
.egd-gallery__pagination-btn--active{background:#333;color:#fff;border-color:#333}
.egd-gallery__pagination-btn:disabled{opacity:.4;cursor:default;pointer-events:none}
.egd-gallery__pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;font-size:14px;color:#999}
.egd-gallery__pagination--load-more{justify-content:center}
.egd-gallery__pagination--load-more .egd-gallery__pagination-btn{padding:8px 28px;border-radius:20px;font-size:14px}

/* === Spinner === */
@keyframes egd-spin{to{transform:rotate(360deg)}}
.egd-gallery__spinner{display:inline-block;width:18px;height:18px;border:2px solid #ccc;border-top-color:#333;border-radius:50%;animation:egd-spin .6s linear infinite;vertical-align:middle}
.egd-gallery__infinite-spinner{display:flex;justify-content:center;padding:16px 0}

/* === Loading overlay (shown during AJAX page/filter transitions) === */
.egd-gallery__loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.55);z-index:10;pointer-events:none;opacity:0;transition:opacity .2s ease}
.egd-gallery__loading-overlay--visible{opacity:1}

/* === Responsive filter tweaks === */
@media(max-width:575px){.egd-gallery .egd-gallery__filter{gap:6px}.egd-gallery .egd-gallery__filter-btn{padding:5px 12px;font-size:13px}}

/* =========================================================================
   Likes (hearts)
   ========================================================================= */
.egd-gallery__like-wrap {
    position: absolute;
    bottom: 8px;
    right: 8px;
    z-index: 5;
}

.egd-gallery__like-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    background: rgba(0,0,0,.45);
    border: none;
    border-radius: 16px;
    padding: 4px 8px;
    cursor: pointer;
    color: #fff;
    font-size: 13px;
    line-height: 1;
    transition: background .2s ease, transform .15s ease;
    -webkit-tap-highlight-color: transparent;
}

.egd-gallery__like-btn:hover {
    background: rgba(0,0,0,.65);
}

.egd-gallery__like-btn:active {
    transform: scale(.9);
}

.egd-gallery__like-icon {
    display: flex;
    align-items: center;
}

.egd-gallery__like-count {
    min-width: 0;
}

.egd-gallery__like-count:empty {
    display: none;
}
