/* ================= GOLD SHIMMER TEXT ANIMATION ================= */
.animated-title {
    margin: 0; 
    font-size: 1.8rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    
    /* Base gold gradient color */
    background: linear-gradient(
        to right, 
        #bf953f 0%, 
        #fcf6ba 25%, 
        #b38728 50%, 
        #fbf5b7 75%, 
        #aa771c 100%
    );
    background-size: 200% auto;
    
    /* Text clipping trick */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    
    /* Background shadow effect & moving animation */
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.5));
    animation: goldShimmer 4s linear infinite;
}

/* Shimmer light movement */
@keyframes goldShimmer {
    0% { background-position: 0% center; }
    100% { background-position: 200% center; }
}

/* ================= MOBILE SCREEN OPTIMIZATION ================= */
@media (max-width: 600px) {
    .animated-title {
        font-size: 1.35rem; /* Title size that fits on mobile */
        text-align: center;
        letter-spacing: 0.5px;
    }
    
    /* Prevent iOS/Android auto-zoom when tapping an input */
    input {
        font-size: 16px !important; 
        padding: 8px 10px !important;
    }
    
    .btn {
        padding: 10px !important;
        font-size: 0.9rem !important;
    }

    .president-info-box {
        justify-content: center;
        width: 100%;
        box-sizing: border-box;
        gap: 6px !important;
        padding: 8px !important;
    }
    
    .card {
        padding: 10px !important;
    }

    /* === Hide table columns that are too long on mobile === */
    .hide-mobile {
        display: none !important;
    }

    /* Flexible table container */
    .table-container {
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    table {
        table-layout: auto !important;
        width: 100% !important;
        font-size: 0.78rem !important;
    }

    th, td {
        padding: 6px 3px !important;
        white-space: nowrap;
    }
}
