﻿/* Classe utilitária que preserva os gutters e espaçamentos do Bootstrap .col */
.zone-card-item.vago-d-none {
    display: none !important;
}

.favorites-wrapper {
    background-color: var(--bg-deep);
    min-height: 100vh;
    width: 100%;
    transition: background-color 0.3s ease;
}

.page-title, .zone-title {
    color: var(--text-main);
    transition: color 0.3s ease;
}

.zone-title {
    font-weight: 700;
    letter-spacing: -0.01em;
}

.rate-percentage-text {
    font-weight: 700;
    color: var(--text-main);
    transition: color 0.3s ease;
}

.text-muted-custom {
    color: var(--text-muted) !important;
    transition: color 0.3s ease;
}

.glass-card {
    background: var(--card-bg) !important;
    border: 1px solid var(--border-glass) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 20px !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

    .glass-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    }

.border-translucent {
    border-color: var(--border-glass) !important;
}

.custom-progress-bar {
    background-color: var(--border-glass) !important;
    border-radius: 99px;
    overflow: hidden;
}

.custom-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 700;
    border-radius: 999px;
    letter-spacing: 0.02em;
}

.badge-available {
    background: rgba(34, 197, 94, 0.15);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, 0.25);
}

.badge-warning {
    background: rgba(234, 179, 8, 0.15);
    color: #eab308;
    border: 1px solid rgba(234, 179, 8, 0.25);
}

.badge-occupied {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.25);
}

.custom-badge, .progress-bar {
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.pulse-update {
    animation: huduPulse 0.6s ease-out;
}

@keyframes huduPulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.03);
        opacity: 0.8;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}
