@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&display=swap');

:root {
    --primary: #00AEEF;
    --dark: #0f172a;
    --light-bg: #f8fafc;
    --card-bg: #ffffff;
    --text-main: #1e293b;
    --text-muted: #64748b;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Inter', sans-serif; background-color: var(--light-bg); color: var(--text-main); line-height: 1.6; }

/* NAVIGATION */
.nav-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 8%; background: white; }
.nav-tabs { display: flex; gap: 30px; background: #f1f5f9; padding: 10px 30px; border-radius: 50px; }
.nav-tabs a { text-decoration: none; color: #64748b; font-size: 14px; font-weight: 600; transition: 0.3s; }
.nav-tabs a:hover { color: var(--primary); }
.dropdown { position: relative; }
.dropdown-content { display: none; position: absolute; background: white; min-width: 160px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); border-radius: 12px; z-index: 10; margin-top: 10px; }
.dropdown:hover .dropdown-content { display: block; }
.dropdown-content a { color: #1e293b; padding: 12px 16px; display: block; border-radius: 8px; }

/* HERO */
.hero { margin: 0 5% 40px 5%; background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%); border-radius: 40px; padding: 100px 40px; color: white; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 20px; }
.hero h1 { font-size: 3.5rem; font-weight: 800; line-height: 1.1; }
.btn-main { background: var(--primary); color: white; padding: 18px 45px; border-radius: 50px; text-decoration: none; font-weight: 700; transition: 0.3s; }

/* BENTO */
.container { padding: 20px 5%; max-width: 1300px; margin: 0 auto; }
.bento-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 25px; }
.card { background: var(--card-bg); border-radius: 32px; padding: 40px; box-shadow: 0 10px 40px rgba(0,0,0,0.03); text-decoration: none; color: inherit; }
.span-2 { grid-column: span 2; }
.dark-card { background: var(--dark); color: white; }
.badge { background: #e0f2fe; color: var(--primary); padding: 6px 14px; border-radius: 20px; font-size: 11px; font-weight: 800; text-transform: uppercase; margin-bottom: 20px; display: inline-block; }

/* NEW UNIVERSAL FOOTER */
.site-footer { padding: 80px 5% 40px; text-align: center; background: white; margin-top: 60px; }
.footer-socials { display: flex; justify-content: center; gap: 40px; margin-bottom: 25px; }
.footer-socials a { font-size: 2.2rem; color: #000; transition: 0.3s; }
.footer-socials a:hover { color: var(--primary); transform: scale(1.1); }
.copyright-text { font-size: 13px; color: #64748b; font-weight: 600; letter-spacing: 0.5px; }

@media (max-width: 900px) { .bento-grid { grid-template-columns: 1fr; } .span-2 { grid-column: span 1; } }
/* --- MOBILE SHRINK: Keeps your design, just makes it fit --- */
@media screen and (max-width: 600px) {
    /* 1. Shrink the overall font and spacing */
    body {
        font-size: 14px; /* Makes text slightly smaller */
    }

    .container {
        width: 95%; /* Gives more room on the sides */
        margin: 20px auto;
    }

    /* 2. Shrink the Bento cards so they don't feel huge */
    .card {
        padding: 20px; /* Less bulk inside the cards */
        border-radius: 24px; /* Smaller curves for smaller screens */
    }

    /* 3. Scale down your headings */
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.2rem; }

    /* 4. Fix the Nav Tabs so they don't run off */
    .nav-tabs {
        gap: 15px; 
        flex-wrap: wrap;
        justify-content: center;
    }

    .nav-tabs a {
        font-size: 12px; /* Smaller menu links */
    }
}
/* --- FIXES ONLY THE CLUTTERED TOP TAB ON MOBILE --- */
@media screen and (max-width: 600px) {
    .nav-header {
        flex-direction: column; /* Stacks the logo and the links so they have room */
        padding: 15px 10px;
        gap: 10px;
    }

    .nav-tabs {
        width: 100%;
        justify-content: center; /* Centers the links under the logo */
        gap: 15px; /* Tightens the space so 'Support' stays inside */
        flex-wrap: wrap; /* Allows links to move to a new line if they get too crowded */
    }

    .nav-tabs a {
        font-size: 13px; /* Slightly smaller text just for the phone */
    }

    /* Prevents the 'Support' button from popping out weirdly */
    .nav-tabs a[href*="donate"], 
    .nav-tabs a:last-child {
        margin-left: 0; 
    }
}
