/* Chart Containers */
.chart-container {
    position: relative;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    height: 350px;
    max-height: 400px;
}

@media (max-width: 768px) {
    .chart-container {
        height: 300px;
    }
}

/* Animations */
.fade-in {
    animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Page Transition Wrapper */
/* This controls the smooth language switch */
#page-wrapper {
    transition: opacity 0.3s ease-in-out;
    opacity: 1;
}

#page-wrapper.fade-out {
    opacity: 0;
}

/* Language Dropdown */
#lang-menu {
    transform-origin: top right;
    transition: transform 0.2s ease-out, opacity 0.2s ease-out;
}

#lang-menu.hidden {
    display: none;
}

/* Utilities */
.hidden-field {
    display: none;
    visibility: hidden;
}