body {
    margin: 0;
    font-family: 'Roboto', sans-serif;
    background-color: #121212;
    color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    text-align: center;
    padding: 1rem;
    box-sizing: border-box;
}

.container {
    max-width: 25rem; /* Equivalent to 400px */
    width: 100%;
    box-sizing: border-box;
    padding-top: 1rem; /* Add padding for demonstration */
}

.profile-photo {
    width: 10rem; /* Equivalent to 150px */
    height: 10rem; /* Equivalent to 150px */
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 0.625rem; /* Equivalent to 10px */
}

h1 {
    font-size: 2rem; /* Equivalent to 32px */
    margin: 0.3125rem 0; /* Equivalent to 5px */
}

h2 {
    font-size: 1.2rem; /* Equivalent to 19.2px */
    margin: 0.3125rem 0 1.25rem; /* Equivalent to 5px 0 20px */
    color: #bbbbbb;
}

.contact-links-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 1rem; /* Equivalent to 10px */
    margin-bottom: 0.625rem; /* Equivalent to 10px */
}

.email-container,
.phone-container {
    background-color: #1e1e1e;
    padding: 0.625rem; /* Equivalent to 10px */
    border-radius: 0.625rem; /* Equivalent to 10px */
    display: flex;
    justify-content: center;
    align-items: center; /* Center content vertically */
    box-sizing: border-box;
    width: 48%; /* Ensure slight space between containers */
}

.button {
    background-color: #1f1f1f;
    color: #ffffff;
    padding: 0.5rem 0.9375rem; /* Equivalent to 8px 15px */
    text-decoration: none;
    border-radius: 0.3125rem; /* Equivalent to 5px */
    transition: background-color 0.3s;
    display: flex;
    align-items: center;
    justify-content: center; /* Center content horizontally */
    gap: 0.625rem; /* Equivalent to 10px */
    text-align: center; /* Center text horizontally */
    width: 100%; /* Ensure buttons take full width */
    box-sizing: border-box;
}

.button img {
    width: 1.75rem; /* Equivalent to 28px */
    height: 1.75rem; /* Equivalent to 28px */
}

.button span {
    display: flex; /* Ensure text and icon are aligned */
    align-items: center; /* Center text and icon vertically */
}

.button:hover {
    background-color: #333333;
}

.social-links-container {
    background-color: #1e1e1e;
    padding: 0.625rem; /* Equivalent to 10px */
    border-radius: 0.625rem; /* Equivalent to 10px */
    margin-bottom: 0.625rem; /* Equivalent to 10px */
    width: 100%;
    box-sizing: border-box;
}

.social-links {
    display: flex;
    justify-content: center;
    flex-wrap: nowrap; /* Ensure items do not wrap on desktop */
    gap: 0.3125rem; /* Equivalent to 5px */
}

.social-button {
    background-color: #1f1f1f;
    padding: 0.625rem; /* Equivalent to 10px */
    border-radius: 0.3125rem; /* Equivalent to 5px */
    transition: background-color 0.3s;
    box-sizing: border-box;
    flex: 1 1 2.8125rem; /* Equivalent to 45px */
    max-width: 2.8125rem; /* Ensure buttons don't exceed max width */
}

.social-button img {
    width: 1.75rem; /* Equivalent to 28px */
    height: 1.75rem; /* Equivalent to 28px */
}

.social-button:hover {
    background-color: #333333;
}

.additional-links-container {
    display: flex;
    justify-content: space-between; /* Ensure items are side by side */
    gap: 1rem; /* Equivalent to 10px */
    background-color: #1e1e1e;
    padding: 0.625rem; /* Equivalent to 10px */
    border-radius: 0.625rem; /* Equivalent to 10px */
    width: 100%;
    box-sizing: border-box;
    white-space: nowrap; /* Prevent text from wrapping */
}

/* Media queries for responsiveness */
@media (max-width: 600px) {
    .profile-photo {
        width: 7.5rem; /* Equivalent to 120px */
        height: 7.5rem; /* Equivalent to 120px */
    }

    h1 {
        font-size: 1.5rem; /* Equivalent to 24px */
    }

    h2 {
        font-size: 1rem; /* Equivalent to 16px */
    }

    .contact-links-wrapper {
        display: flex;
        flex-direction: row; /* Keep items side by side */
        gap: 0.625rem; /* Equivalent to 10px */
        justify-content: space-between; /* Ensure they are spaced out evenly */
    }

    .email-container,
    .phone-container {
        width: 48%; /* Ensure slight space between containers */
    }

    .button {
        padding: 0.375rem 0.625rem; /* Equivalent to 6px 10px */
    }

    .social-links {
        flex-wrap: nowrap; /* Prevent items from wrapping */
        justify-content: space-between; /* Distribute icons evenly */
        gap: 0.25rem; /* Reduce gap to 4px */
    }

    .social-button {
        padding: 0.5rem; /* Equivalent to 8px */
        width: 2.5rem; /* Equivalent to 40px */
    }

    .button img,
    .social-button img {
        width: 2rem; /* Increase size to 32px */
        height: 2rem; /* Increase size to 32px */
    }

    /* Reduce blank space above the profile photo */
    .container {
        padding-top: 0.5rem; /* Reduce padding top for mobile */
    }
}
