.site-navbar {
    background: #ffffff;
}

.navbar-brand {
    font-family: "Playfair Display", serif;
}

.site-navbar .navbar-brand {
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: lowercase;
}

.site-navbar .nav-link {
    font-weight: 600;
    color: #3f4a5a;
}

.site-navbar .nav-link:hover,
.site-navbar .nav-link:focus {
    color: #111827;
}

.nav-icon {
    color: #4b5563;
}

.nav-icon:hover,
.nav-icon:focus {
    color: #111827;
}

.nav-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.nav-avatar-fallback {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #475569;
    font-weight: 700;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.nav-avatar-toggle {
    border: 0;
    background: transparent;
    padding: 0;
}

.nav-avatar-toggle::after {
    display: none;
}

.has-fixed-navbar {
    padding-top: 56px;
}

.filter-controls {
    row-gap: 0.75rem;
}

.filter-controls .dropdown {
    flex: 0 0 auto;
}

.filter-pill {
    border: 1px solid #d5dbe5;
    color: #3a4656;
    background: #fff;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.45rem 0.95rem;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    box-shadow: none;
}

.filter-pill i {
    color: #8d98a8;
    font-size: 0.9rem;
}

.filter-pill:hover,
.filter-pill:focus {
    border-color: #b9c3d1;
    color: #2d3748;
}

.filter-pill.dropdown-toggle::after {
    margin-left: 0.5rem;
    border-top: 0.3em solid #9aa3af;
    border-right: 0.25em solid transparent;
    border-left: 0.25em solid transparent;
}

.filter-pill--active {
    border-color: #f1a5a7;
    color: #c4474e;
    background: rgba(244, 88, 102, 0.08);
}

.filter-pill--active i {
    color: #c4474e;
}

.filter-pill--active.dropdown-toggle::after {
    border-top-color: #c4474e;
}

.filter-search {
    flex: 1 1 240px;
    max-width: 320px;
}

.filter-search-input {
    border: 1px solid #d5dbe5;
    padding-right: 2.3rem;
    padding-left: 1rem;
    height: 42px;
    font-weight: 500;
    color: #4b5563;
}

.filter-search-input::placeholder {
    color: #9aa3af;
}

.filter-search-input:focus {
    border-color: #b9c3d1;
    box-shadow: none;
}

.filter-search-icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #9aa3af;
    font-size: 1rem;
    pointer-events: none;
}

.filter-summary {
    flex: 1 1 auto;
}

.filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: #e9f7ef;
    border: 1px solid #a5e0b9;
    color: #1f7a45;
    font-size: 0.85rem;
    font-weight: 600;
}

.filter-chip a {
    color: inherit;
    text-decoration: none;
    margin-left: 0.25rem;
}

.filter-chip i {
    font-size: 0.75rem;
}

.filter-chip a:hover {
    opacity: 0.8;
}

.filter-clear {
    color: #9aa3af;
    font-size: 0.85rem;
    text-decoration: none;
    margin-left: 0.5rem;
}

.filter-clear:hover {
    color: #6b7280;
    text-decoration: underline;
}

.filter-count {
    color: #6b7280;
    font-size: 0.9rem;
    margin-left: auto;
}

.filter-count strong {
    color: #111827;
}

.filter-suggest {
    color: #d84c43;
    text-decoration: none;
}

.filter-suggest:hover {
    text-decoration: underline;
}

@media (max-width: 992px) {
    .filter-search {
        max-width: none;
        width: 100%;
    }

    .filter-count {
        width: 100%;
        text-align: left;
    }
}

.card:hover .card-hover-overlay {
    display: block !important;
}

.card:hover .normal-state {
    display: none !important;
}

.community-avatars {
    display: flex;
    align-items: center;
}

.community-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 2px solid #ffffff;
    background: #f1f5f9;
    color: #475569;
    font-weight: 700;
    font-size: 0.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-left: -10px;
}

.community-avatar:first-child {
    margin-left: 0;
}

.community-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.community-avatar-count {
    min-width: 34px;
    padding: 0 8px;
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-weight: 700;
    font-size: 0.75rem;
    margin-left: -10px;
}

.location-map-header {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden;
}

.location-map {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.location-map-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.15) 0%, rgba(15, 23, 42, 0.35) 100%);
    z-index: 1;
}

.location-map-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: flex-end;
    padding: 1.5rem 0;
}
