.main-container {
    margin-top: 120px;
    display: grid;
    grid-template-rows: auto;
    padding-left: 10px;
    padding-right: 10px;
    font-family: 'Roboto', Arial, sans-serif;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.part1 {
    
    min-height: 200px;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px 0;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;   /* prevents overflow horizontally */
    gap: 14px;         /* space between h1 and p */
}

.part1 h1 {
    font-size: 50px;
    color: #3e3a5a;
    margin: 0;
    text-align: center;
    word-break: break-word;
    line-height: 1.1;
}

/* Responsive paragraph box */
.part1 p {
    width: 80%;
    max-width: 600px;           /* limits width on larger screens */
    box-sizing: border-box;
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.7;
    color: #5b5478;
    background: #f4f5fa;
    padding: 18px 24px;
    border-radius: 14px;
    box-shadow: 0 2px 18px rgba(132,88,179,0.07);
    letter-spacing: 0.02em;
    border-left: 3px solid #8458b3;
    transition: box-shadow 0.2s, background 0.2s;
    text-align: left;
}

/* Hover effect remains */
.part1 p:hover {
    box-shadow: 0 4px 28px rgba(132,88,179,0.18);
    background: #e5eaf5;
}


.part2-heading {
    margin: 10px 0;              /* small balanced vertical spacing */
    padding: 0;
    font-size: 3rem;           /* slightly larger for emphasis */
    font-weight: 700;            /* bold and clear */
    color: #9b59b6;              /* vibrant purple tone */
    font-family: 'Courier New', Courier, monospace; /* retro vibe font */
    text-transform: uppercase;   /* for a retro, blocky look */
    letter-spacing: 0.1em;       /* spaced letters for style */
    border-bottom: 2px solid #7d3c98; /* subtle underline in darker purple */
    padding-bottom: 6px;
    text-align: center;
}



.part2 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 20px;
    
}

.tool-category {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    padding: 20px;
}

.tool-category h2 {
    font-size: 1.5rem;
    margin-bottom: 10px;
    color: #222;
    font-weight: bold;
}

.tool-category ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tool-category li {
    font-size: 1.1rem;
    margin-bottom: 8px;
}

.tool-category a {
    text-decoration: none;
    color: #3977f0;
    font-weight: 500;
    transition: color 0.2s;
}

.tool-category a:hover {
    color: #174ca6;
    text-decoration: underline;
}


.site-footer {
    background-color: #5e3a78; /* deep retro purple */
    color: #eee;               /* light text for contrast */
    text-align: center;
    padding: 15px 10px;
    font-size: 0.9rem;          /* base size */
    margin-top: 30px;           /* space before footer */
    line-height: 1.5;
}

.site-footer a {
    color: #d6b3e0;             /* light lavender link */
    text-decoration: none;
}

.site-footer a:hover {
    color: #ffffff;             /* white hover for contrast */
    text-decoration: underline;
}



#user-text{
    text-transform: none;
}


/* ----------- Responsive Styles ----------- */

/* For tablets */
@media (max-width: 820px) {
    .main-container {
        grid-template-rows: auto;
        padding-left: 4vw;
        padding-right: 4vw;
    }
    .part1 h1 {
        font-size: 40px;
    }
    .part1 p {
        width: 95%;
        max-width: 95vw;
        font-size: 1.8rem;
        padding: 14px 16px;
    }
}

/* For mobiles */
@media (max-width: 540px) {
    .main-container {
        margin-top: 80px;
        padding-left: 2vw;
        padding-right: 2vw;
    }
    .part1 {
        min-height: 100px;
        padding: 12px 0;
        gap: 10px;
    }
    .part1 h1 {
        font-size: 26px;
    }
    .part1 p {
        width: 98%;
        max-width: 98vw;
        font-size: 1.3rem;
        padding: 8px 9px;
        border-radius: 8px;
    }
}

/* Mobile - 1 box per row */
@media screen and (max-width: 768px) {
    .part2 {
        grid-template-columns: 1fr;
    }
}


/* Tablet view adjustments */
@media (max-width: 820px) {
    .site-footer {
        font-size: 0.9rem; /* slightly smaller text */
        padding: 12px 8px;
    }
}

/* Mobile view adjustments */
@media (max-width: 540px) {
    .site-footer {
        font-size: 0.85rem; /* even smaller text on tiny screens */
        padding: 10px;
    }
    .site-footer p {
        margin: 0;
        display: flex;
        flex-direction: column; /* stack on small screens */
        gap: 4px;               /* space between lines when stacked */
    }
}