@import url('./layout.css');

.menu-page {
    padding: 4rem 0;
    width: 80%;
    font-family: var(--font-family-sans-serif);
    height: 100%;
    margin: 0 auto;
}

.menu-list {
    display: grid;
    grid-template-columns: auto auto auto;
    grid-template-rows: auto;
    grid-gap: 4rem;
    margin: 0;
    padding: 0;
}

.menu-list__item {
    list-style: none;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    position: relative;
    padding-bottom: 6.5rem;
}

.menu-list__item img {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}
.menu-list__item h2 {
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    font-family: var(--font-primary);
}
.menu-list__item h2,
.menu-list__item p,
.menu-list__item strong {
    padding: 1.6rem 1.6rem 0 1.6rem;
    margin: 0;
}

.menu-list__item p {
    margin: 0;
    line-height: 1.2;
}
.menu-list__item strong {
    font-size: 2.5rem;
    position: absolute;
    bottom: 1rem;
    color: #EF8B1C;
}

/* loader */
.is-list-visible .loader {
    display: none;
}

.loader {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 50%;
    top: 50%;
}
@keyframes loader-spin {
    0% { transform: rotate(0deg); }
    to { transform: rotate(1turn); }
}

@keyframes fade-in-out {
    0% { opacity: 0; }
    50% { opacity: 1; }
    100% { opacity: 0; }
}

.loader::before {
    animation: loader-spin .8s infinite linear;
    content: '';
    border-radius: 100%;
    width: 64px;
    height: 64px;
    border: 6px solid rgba(0,0,0,.1);
    border-top-color: #EF8B1C;
    display: block;
}

.loader::after {
    content: 'Loading...';
    font-size: 12px;
    animation: fade-in-out 2s infinite linear;
    color: #EF8B1C;
    position: absolute;
}

/* small devices/mobile portrait mode */
@media (max-width: 990px) {
    .menu-page {
        padding: 2rem 0;
        width: 94%;
    }
    .menu-list {
        grid-template-columns: auto auto;
        grid-gap: 4rem;
    }
}
@media (max-width: 576px) {
    .menu-list {
        grid-template-columns: auto;
        grid-gap: 2rem;
    }
}
