/**
 * Churches Near You - Styles
 */

/* Map container */
#map-container {
    position: relative;
}

/* Church list scrollbar */
#churches-list::-webkit-scrollbar {
    width: 6px;
}

#churches-list::-webkit-scrollbar-track {
    background: transparent;
}

#churches-list::-webkit-scrollbar-thumb {
    background-color: oklch(var(--bc) / 0.2);
    border-radius: 3px;
}

#churches-list::-webkit-scrollbar-thumb:hover {
    background-color: oklch(var(--bc) / 0.3);
}

/* Church card hover effect */
.church-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.church-card:hover {
    transform: translateY(-2px);
}

/* Featured church card photo */
.church-card figure img {
    transition: transform 0.3s ease;
}

.church-card:hover figure img {
    transform: scale(1.05);
}

/* Status badge pulse animation */
.church-status .badge-success {
    animation: pulse-success 2s infinite;
}

@keyframes pulse-success {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
}

/* Loading skeleton for church cards */
.church-card-skeleton {
    animation: skeleton-loading 1.5s ease-in-out infinite;
}

@keyframes skeleton-loading {
    0% {
        background-color: oklch(var(--b2));
    }
    50% {
        background-color: oklch(var(--b3));
    }
    100% {
        background-color: oklch(var(--b2));
    }
}

/* Map marker info window styling */
.gm-style-iw {
    padding: 0 !important;
}

.gm-style-iw-d {
    overflow: hidden !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    #churches-list {
        max-height: 350px;
    }

    #map-container {
        height: 300px !important;
    }
}

/* Address input focus state */
#address-input:focus {
    outline: none;
    border-color: oklch(var(--p));
    box-shadow: 0 0 0 2px oklch(var(--p) / 0.2);
}

/* Button loading state */
button[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Church detail modal photo */
#church-detail-modal .modal-box img {
    max-height: 250px;
    object-fit: cover;
}

/* Rating stars */
.church-rating .text-warning {
    filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.3));
}

/* Distance badge */
.church-distance {
    white-space: nowrap;
}

/* Smooth transitions for all interactive elements */
.btn, .card, .alert, .badge {
    transition: all 0.2s ease;
}
