/* REAL PROFESSIONAL FLAGS - Authentic flag designs with proper symbols */

.flag-container {
    display: inline-block;
    width: 32px;
    height: 24px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 2px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: transform 0.2s ease;
}

.flag-container:hover {
    transform: scale(1.1);
}

/* UK FLAG (Union Jack) - REAL DESIGN */
.flag-uk {
    background: #012169;
}
.flag-uk::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: 
        /* White crosses */
        linear-gradient(0deg, transparent 40%, #FFFFFF 40%, #FFFFFF 60%, transparent 60%),
        linear-gradient(90deg, transparent 40%, #FFFFFF 40%, #FFFFFF 60%, transparent 60%),
        /* Red crosses */
        linear-gradient(0deg, transparent 45%, #C8102E 45%, #C8102E 55%, transparent 55%),
        linear-gradient(90deg, transparent 45%, #C8102E 45%, #C8102E 55%, transparent 55%),
        /* Diagonal white */
        linear-gradient(26.57deg, transparent 47%, #FFFFFF 47%, #FFFFFF 53%, transparent 53%),
        linear-gradient(-26.57deg, transparent 47%, #FFFFFF 47%, #FFFFFF 53%, transparent 53%),
        linear-gradient(153.43deg, transparent 47%, #FFFFFF 47%, #FFFFFF 53%, transparent 53%),
        linear-gradient(-153.43deg, transparent 47%, #FFFFFF 47%, #FFFFFF 53%, transparent 53%);
}

/* FRANCE FLAG - REAL TRICOLOR */
.flag-fr {
    background: linear-gradient(to right, 
        #0055A4 33.33%, 
        #FFFFFF 33.33%, 
        #FFFFFF 66.66%, 
        #EF4135 66.66%);
}

/* GERMANY FLAG - REAL HORIZONTAL STRIPES */
.flag-de {
    background: linear-gradient(to bottom, 
        #000000 33.33%, 
        #DD0000 33.33%, 
        #DD0000 66.66%, 
        #FFCE00 66.66%);
}

/* SPAIN FLAG - WITH COAT OF ARMS AREA */
.flag-es {
    background: linear-gradient(to bottom, 
        #C60B1E 25%, 
        #FFC400 25%, 
        #FFC400 75%, 
        #C60B1E 75%);
}
.flag-es::after {
    content: '';
    position: absolute;
    left: 8px; top: 8px;
    width: 8px; height: 8px;
    background: #AA151B;
    border: 1px solid #F1BF00;
    border-radius: 1px;
}

/* ITALY FLAG - REAL TRICOLOR */
.flag-it {
    background: linear-gradient(to right, 
        #009246 33.33%, 
        #FFFFFF 33.33%, 
        #FFFFFF 66.66%, 
        #CE2B37 66.66%);
}

/* PORTUGAL FLAG - WITH SHIELD AREA */
.flag-pt {
    background: linear-gradient(to right, 
        #046A38 40%, 
        #DA020E 40%);
}
.flag-pt::after {
    content: '';
    position: absolute;
    left: 10px; top: 8px;
    width: 6px; height: 8px;
    background: #FFE900;
    border: 1px solid #046A38;
    border-radius: 50%;
}

/* POLAND FLAG - SIMPLE HORIZONTAL */
.flag-pl {
    background: linear-gradient(to bottom, 
        #FFFFFF 50%, 
        #DC143C 50%);
}

/* CZECH REPUBLIC - WITH BLUE TRIANGLE */
.flag-cz {
    background: linear-gradient(to bottom, 
        #FFFFFF 50%, 
        #D7141A 50%);
}
.flag-cz::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 0; height: 0;
    border-style: solid;
    border-width: 12px 0 12px 16px;
    border-color: transparent transparent transparent #11457E;
}

/* RUSSIA FLAG - REAL TRICOLOR */
.flag-ru {
    background: linear-gradient(to bottom, 
        #FFFFFF 33.33%, 
        #0039A6 33.33%, 
        #0039A6 66.66%, 
        #D52B1E 66.66%);
}

/* CHINA FLAG - WITH STARS */
.flag-zh {
    background: #DE2910;
}
.flag-zh::before {
    content: '★';
    position: absolute;
    top: 2px; left: 2px;
    font-size: 8px;
    color: #FFDE00;
}
.flag-zh::after {
    content: '★ ★ ★ ★';
    position: absolute;
    top: 1px; left: 12px;
    font-size: 3px;
    color: #FFDE00;
    letter-spacing: 1px;
}

/* USA FLAG (if needed for US English) */
.flag-us {
    background: 
        repeating-linear-gradient(0deg, 
            #B22234 0px, #B22234 2px, 
            #FFFFFF 2px, #FFFFFF 4px);
}
.flag-us::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 40%; height: 50%;
    background: #3C3B6E;
}
.flag-us::after {
    content: '★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★';
    position: absolute;
    top: 1px; left: 1px;
    width: 10px; height: 10px;
    font-size: 2px;
    color: #FFFFFF;
    line-height: 2px;
    overflow: hidden;
}

/* ADDITIONAL FLAGS */

/* NETHERLANDS */
.flag-nl {
    background: linear-gradient(to bottom, 
        #AE1C28 33.33%, 
        #FFFFFF 33.33%, 
        #FFFFFF 66.66%, 
        #21468B 66.66%);
}

/* SWEDEN */
.flag-se {
    background: #006AA7;
}
.flag-se::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: 
        linear-gradient(0deg, transparent 40%, #FECC00 40%, #FECC00 60%, transparent 60%),
        linear-gradient(90deg, transparent 25%, #FECC00 25%, #FECC00 35%, transparent 35%);
}

/* NORWAY */
.flag-no {
    background: #EF2B2D;
}
.flag-no::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: 
        linear-gradient(0deg, transparent 38%, #FFFFFF 38%, #FFFFFF 62%, transparent 62%),
        linear-gradient(90deg, transparent 23%, #FFFFFF 23%, #FFFFFF 37%, transparent 37%);
}
.flag-no::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: 
        linear-gradient(0deg, transparent 42%, #002868 42%, #002868 58%, transparent 58%),
        linear-gradient(90deg, transparent 27%, #002868 27%, #002868 33%, transparent 33%);
}

/* DENMARK */
.flag-dk {
    background: #C8102E;
}
.flag-dk::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: 
        linear-gradient(0deg, transparent 42%, #FFFFFF 42%, #FFFFFF 58%, transparent 58%),
        linear-gradient(90deg, transparent 27%, #FFFFFF 27%, #FFFFFF 33%, transparent 33%);
}

/* Responsive flag sizes */
@media (max-width: 768px) {
    .flag-container {
        width: 28px;
        height: 20px;
    }
}

/* Flag hover animations */
.flag-container {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.flag-container:hover {
    transform: scale(1.2) translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
}

/* Active flag (current language) */
.flag-container.active {
    box-shadow: 0 0 0 2px #60A5FA;
    transform: scale(1.05);
}

/* Default flag for unsupported languages */
.flag-default {
    background: linear-gradient(135deg, #4b5563, #6b7280);
}
.flag-default::before {
    content: '?';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 12px;
    font-weight: bold;
    color: #FFFFFF;
}