/* Ensure the HTML and body take up the full height of the viewport */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

/* Flexbox layout for the body */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* The main content area should take up all available space */
.content-wrapper {
    flex: 1;
}

/* Footer styling */
.main-footer {
    background-color: #f8f9fa; /* Customize the background color */
    padding: 1rem;            /* Add padding for spacing */
    text-align: center;       /* Center the text */
    margin-top: auto;         /* Push the footer to the bottom */
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columns */
    gap: 20px; /* Add more space between the items */
    justify-items: center; /* Center items horizontally */
    align-items: center; /* Center items vertically */
    text-align: center; /* Center text beneath icons */
}

.peripheral-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.peripheral-item img {
    width: 50px;
    height: 50px;
    cursor: pointer;
    margin-bottom: 10px; /* Adds space between the icon and the text */
}

img[data-checked="false"] {
    filter: grayscale(100%);
}

@media (max-width: 1200px) {
    .grid-container {
        grid-template-columns: repeat(3, 1fr); /* 3 columns for medium screens */
    }
}

@media (max-width: 768px) {
    .grid-container {
        grid-template-columns: repeat(2, 1fr); /* 2 columns for small screens */
    }
}

@media (max-width: 480px) {
    .grid-container {
        grid-template-columns: 1fr; /* 1 column for very small screens */
    }
}
