


@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    50% { transform: translateX(5px); }
    75% { transform: translateX(-5px); }
}

.input-error {
    border-color: #ef4444 !important;
    animation: shake 0.4s ease-in-out;
}


@media (min-width: 1024px) {
    body .desktop-seamless-card {
        background-color: var(--bg-primary);
        border-color: var(--card-border-color);
        transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.4s ease, background-color 0.4s ease;
        will-change: transform, box-shadow;
    }

    body .desktop-seamless-card:hover {
        transform: translateY(-8px);
        border-color: var(--hover-green-border);
        box-shadow: 0 12px 30px var(--hover-green-shadow);
        z-index: 10;
    }
}

@media (max-width: 1023px) {
    .mobile-no-border {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}


#map {
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    z-index: 1;
}

.leaflet-popup-content-wrapper {
    font-family: 'Vazirmatn', sans-serif;
    text-align: right;
    direction: rtl;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    border-radius: 0.5rem;
}

.leaflet-popup-tip {
    background-color: var(--bg-primary);
}