/* Gabetti — Galería premium de tarjetas V17.7 */

.property-card .property-image.gbt-card-gallery {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 280px !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background: #eaf1f7 !important;
    touch-action: pan-y !important;
    -webkit-tap-highlight-color: transparent;
}

.property-card .property-image.gbt-card-gallery::before,
.property-card .property-image.gbt-card-gallery::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 12;
    width: 76px;
    opacity: .76;
    pointer-events: none;
    transition: opacity .24s ease;
}

.property-card .property-image.gbt-card-gallery::before {
    left: 0;
    background: linear-gradient(90deg, rgba(2, 14, 27, .28), rgba(2, 14, 27, 0));
}

.property-card .property-image.gbt-card-gallery::after {
    right: 0;
    background: linear-gradient(270deg, rgba(2, 14, 27, .28), rgba(2, 14, 27, 0));
}

.property-card:hover .property-image.gbt-card-gallery::before,
.property-card:hover .property-image.gbt-card-gallery::after {
    opacity: 1;
}

.gbt-card-gallery__link {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    display: block !important;
    overflow: hidden !important;
    cursor: grab !important;
    text-decoration: none !important;
    touch-action: pan-y !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
}

.gbt-card-gallery.is-grabbing .gbt-card-gallery__link {
    cursor: grabbing !important;
}

.gbt-card-gallery__track {
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    z-index: 1 !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    transition: transform .52s cubic-bezier(.22, .72, .18, 1) !important;
    will-change: transform;
}

.gbt-card-gallery__track.is-dragging {
    transition: none !important;
}

.gbt-card-gallery__slide {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    flex: 0 0 100% !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
    pointer-events: none !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
}

.gbt-card-gallery .property-status,
.gbt-card-gallery .property-code {
    z-index: 24 !important;
}

.gbt-card-gallery__arrow {
    position: absolute !important;
    top: 50% !important;
    z-index: 30 !important;
    display: grid !important;
    place-items: center !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, .62) !important;
    border-radius: 999px !important;
    color: #fff !important;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .04)),
        rgba(3, 20, 36, .64) !important;
    box-shadow:
        0 14px 34px rgba(0, 0, 0, .30),
        inset 0 1px 0 rgba(255, 255, 255, .34) !important;
    -webkit-backdrop-filter: blur(16px) saturate(135%) !important;
    backdrop-filter: blur(16px) saturate(135%) !important;
    cursor: pointer !important;
    opacity: .96 !important;
    visibility: visible !important;
    transform: translateY(-50%) !important;
    transition:
        transform .20s ease,
        background .20s ease,
        border-color .20s ease,
        box-shadow .20s ease !important;
    -webkit-tap-highlight-color: transparent;
}

.gbt-card-gallery__arrow svg {
    width: 24px !important;
    height: 24px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.15 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    pointer-events: none !important;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .26));
}

.gbt-card-gallery__arrow--prev { left: 14px !important; }
.gbt-card-gallery__arrow--next { right: 14px !important; }

.gbt-card-gallery__arrow:hover,
.gbt-card-gallery__arrow:focus-visible {
    border-color: rgba(255, 255, 255, .96) !important;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .25), rgba(255, 255, 255, .06)),
        rgba(3, 20, 36, .86) !important;
    box-shadow:
        0 16px 38px rgba(0, 0, 0, .35),
        0 0 0 4px rgba(255, 255, 255, .16),
        inset 0 1px 0 rgba(255, 255, 255, .40) !important;
    outline: none !important;
}

.gbt-card-gallery__arrow--prev:hover,
.gbt-card-gallery__arrow--prev:focus-visible {
    transform: translateY(-50%) translateX(-2px) scale(1.04) !important;
}

.gbt-card-gallery__arrow--next:hover,
.gbt-card-gallery__arrow--next:focus-visible {
    transform: translateY(-50%) translateX(2px) scale(1.04) !important;
}

.gbt-card-gallery__arrow:active {
    transform: translateY(-50%) scale(.92) !important;
}

.gbt-card-gallery__counter {
    position: absolute !important;
    right: 14px !important;
    bottom: 13px !important;
    z-index: 28 !important;
    min-width: 59px !important;
    padding: 7px 11px !important;
    border: 1px solid rgba(255, 255, 255, .40) !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(3, 20, 36, .67) !important;
    box-shadow: 0 9px 24px rgba(0, 0, 0, .23) !important;
    -webkit-backdrop-filter: blur(12px) saturate(130%) !important;
    backdrop-filter: blur(12px) saturate(130%) !important;
    text-align: center !important;
    font: 800 11px/1 Manrope, Arial, sans-serif !important;
    letter-spacing: .045em !important;
    pointer-events: none !important;
}

.gbt-card-gallery__dots {
    position: absolute !important;
    left: 50% !important;
    bottom: 17px !important;
    z-index: 27 !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
}

.gbt-card-gallery__dots span {
    display: block !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .55) !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .25) !important;
    transition: width .22s ease, background .22s ease !important;
}

.gbt-card-gallery__dots span.is-active {
    width: 16px !important;
    background: #fff !important;
}

@media (max-width: 700px) {
    .property-card .property-image.gbt-card-gallery {
        height: 270px !important;
    }

    .gbt-card-gallery__arrow {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
    }

    .gbt-card-gallery__arrow svg {
        width: 22px !important;
        height: 22px !important;
    }

    .gbt-card-gallery__arrow--prev { left: 10px !important; }
    .gbt-card-gallery__arrow--next { right: 10px !important; }
    .gbt-card-gallery__counter { right: 10px !important; bottom: 10px !important; }
    .gbt-card-gallery__dots { bottom: 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .gbt-card-gallery__track,
    .gbt-card-gallery__arrow,
    .gbt-card-gallery__dots span {
        transition: none !important;
    }
}
