/* ==============================================
   CITY FLAG FIX - No Background, Direct on Gradient
   ============================================== */

/* Ultra-specific selectors with maximum priority */
.city-image .city-flag,
.city-card .city-image .city-flag,
div.city-card div.city-image div.city-flag,
div.city-flag {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    top: 0.75rem !important;
    left: 0.75rem !important;
    font-size: 2.5rem !important;
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    line-height: 1 !important;
    z-index: 100 !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
    pointer-events: auto !important;
    text-align: center !important;
    border: none !important;
    
    /* Force color emoji font rendering */
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif !important;
    font-variant-emoji: emoji !important;
    text-rendering: optimizeLegibility !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    
    /* Add subtle text shadow for visibility on gradients */
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

/* Force emoji rendering - remove any pseudo-elements */
.city-flag::before,
.city-flag::after {
    content: none !important;
    display: none !important;
}

/* Ensure city-image allows positioning */
.city-card .city-image {
    position: relative !important;
    overflow: hidden !important;
}

/* Make absolutely sure flags aren't being treated as empty */
.city-flag:not(:empty) {
    display: block !important;
}

/* Remove any :empty hiding rule interference */
.city-image .city-flag:empty {
    display: none !important;
}

