/* =========================================================
   SECTION
========================================================= */

.menu-section{

    position:relative;

    width:100%;

    padding:
        105px 30px
        115px;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #f8f3ed 0%,
            #f5eee7 100%
        );

}


/* 배경 장식 */

.menu-section::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:
        rgba(181,145,111,.08);

    left:-220px;

    top:100px;

}

.menu-section::after{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    background:
        rgba(181,145,111,.06);

    right:-300px;

    bottom:-200px;

}


/* =========================================================
   CONTAINER
========================================================= */

.menu-container{

    position:relative;

    z-index:2;

    width:100%;

    max-width:1320px;

    margin:0 auto;

}


/* =========================================================
   TITLE
========================================================= */

.menu-heading{

    text-align:center;

    margin-bottom:45px;

}

.menu-heading .small-title{

    display:block;

    margin-bottom:9px;

    color:#a9876e;

    font-size:11px;

    font-weight:700;

    letter-spacing:2px;

}

.menu-heading h2{

    color:#392b23;

    font-size:32px;

    font-weight:600;

    letter-spacing:-1.8px;

}

.menu-heading p{

    margin-top:13px;

    color:#9a9089;

    font-size:14px;

    line-height:1.7;

}


/* =========================================================
   CATEGORY TABS
========================================================= */

.menu-tabs{

    display:flex;

    justify-content:center;

    align-items:center;

    margin-bottom:42px;

    gap:6px;

    flex-wrap:wrap;

}


/* 탭 */

.menu-tab{

    position:relative;

    min-width:110px;

    height:43px;

    padding:0 25px;

    border:1px solid #ded5cd;

    border-radius:3px;

    background:
        rgba(255,255,255,.65);

    color:#887c74;

    font-size:14px;

    font-weight:600;

    letter-spacing:1px;

    cursor:pointer;

    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .3s ease;

}


/* hover */

.menu-tab:hover{

    color:#674a38;

    border-color:#bda997;

    background:#fff;

}


/* active */

.menu-tab.active{

    color:#fff;

    border-color:#72513d;

    background:#72513d;

    box-shadow:
        0 7px 18px
        rgba(82,53,37,.13);

}


/* active 아래 포인트 */

.menu-tab.active::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:-4px;

    width:7px;

    height:7px;

    background:#72513d;

    transform:
        translateX(-50%)
        rotate(45deg);

}


/* =========================================================
   MENU SLIDER WRAPPER
========================================================= */

.menu-slider{

    position:relative;

    width:100%;

    overflow:hidden;

}


/* =========================================================
   PAGE
========================================================= */

.menu-page{

    width:100%;

    display:grid;

    grid-template-columns:
        repeat(5,1fr);

    gap:9px;

    animation:
        menuFade .45s ease;

}


/* =========================================================
   CARD
========================================================= */

.menu-card{

    position:relative;

    min-width:0;

    padding:
        20px
        16px
        23px;

    background:#fff;

    border-radius:5px;

    text-align:center;

    box-shadow:
        0 3px 15px
        rgba(70,45,30,.035);

    transition:
        transform .35s ease,
        box-shadow .35s ease;

}


/* hover */

.menu-card:hover{

    transform:
        translateY(-7px);

    box-shadow:
        0 18px 35px
        rgba(70,45,30,.10);

}


/* 번호 */

.menu-card-number{

    position:absolute;

    top:14px;

    left:15px;

    color:#c2b6ae;

    font-size:12px;

    letter-spacing:1px;

}


/* =========================================================
   IMAGE
========================================================= */

.menu-card-image{

    width:100%;

    height:170px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:10px;

    overflow:hidden;

}


/* 실제 이미지 */

.menu-card-image img{

    display:block;

    width:100%;

    height:100%;

    object-fit:contain;

    transition:
        transform .45s ease;

}


/* 이미지 hover */

.menu-card:hover
.menu-card-image img{

    transform:
        scale(1.07);

}


/* =========================================================
   INFO
========================================================= */

.menu-card-name{

    color:#3b2c24;

    font-size:18px;

    font-weight:600;

    letter-spacing:-.5px;

}


.menu-card-en{

    margin-top:5px;

    color:#aaa09a;

    font-family:
        Arial,
        sans-serif;

    font-size:12px;

    letter-spacing:.2px;

}


.menu-card-price{

    display:block;

    margin-top:11px;

    color:#594238;

    font-size:13px;

    font-weight:600;

}


/* =========================================================
   SLIDER CONTROLS
========================================================= */

.menu-controls{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:30px;

    margin-top:30px;

}


/* 좌우 버튼 */

.menu-arrow{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid #d8cec6;

    border-radius:50%;

    background:#fff;

    color:#765b48;

    cursor:pointer;

    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease;

}


/* arrow icon */

.menu-arrow span{

    display:block;

    font-size:19px;

    font-weight:300;

    line-height:1;

}


/* hover */

.menu-arrow:hover{

    background:#72513d;

    border-color:#72513d;

    color:#fff;

    transform:scale(1.05);

}


/* disabled */

.menu-arrow.disabled{

    opacity:.35;

    pointer-events:none;

}


/* =========================================================
   PAGE NUMBER
========================================================= */

.menu-page-number{

    min-width:70px;

    text-align:center;

    color:#8d8179;

    font-family:
        Arial,
        sans-serif;

    font-size:14px;

    letter-spacing:2px;

}


/* =========================================================
   DOTS
========================================================= */

.menu-dots{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:7px;

    margin-top:18px;

}


.menu-dot{

    width:5px;

    height:5px;

    padding:0;

    border:0;

    border-radius:50%;

    background:#d3c9c2;

    cursor:pointer;

    transition:
        width .3s ease,
        background .3s ease;

}


.menu-dot.active{

    width:22px;

    border-radius:5px;

    background:#765441;

}


/* =========================================================
   ALL MENU BUTTON
========================================================= */

.menu-bottom{

    display:flex;

    justify-content:center;

    margin-top:38px;

}


.menu-all-button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:130px;

    height:40px;

    padding:0 22px;

    border:1px solid #bdb1a8;

    border-radius:3px;

    background:transparent;

    color:#65574e;

    font-size:10px;

    cursor:pointer;

    transition:
        all .3s ease;

}


.menu-all-button:hover{

    background:#72513d;

    border-color:#72513d;

    color:#fff;

}


/* =========================================================
   EMPTY
========================================================= */

.menu-empty{

    grid-column:
        1 / -1;

    padding:70px 20px;

    text-align:center;

    color:#999;

    font-size:13px;

}


/* =========================================================
   ANIMATION
========================================================= */

@keyframes menuFade{

    from{

        opacity:0;

        transform:
            translateY(10px);

    }

    to{

        opacity:1;

        transform:
            translateY(0);

    }

}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1000px){

    .menu-section{

        padding:
            80px 25px
            90px;

    }

    .menu-page{

        grid-template-columns:
            repeat(3,1fr);

        gap:10px;

    }

    .menu-card-image{

        height:160px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px){

    .menu-section{

        padding:
            70px 16px
            80px;

    }


    .menu-heading{

        margin-bottom:32px;

    }


    .menu-heading h2{

        font-size:25px;

    }


    .menu-heading p{

        font-size:14px;

    }


    /* 탭 */

    .menu-tabs{

        display:grid;

        grid-template-columns:
            repeat(3,1fr);

        gap:5px;

        margin-bottom:28px;

    }


    .menu-tab{

        width:100%;

        min-width:0;

        height:39px;

        padding:0 5px;

        font-size:12px;

    }


    /* 카드 */

    .menu-page{

        grid-template-columns:
            repeat(2,1fr);

        gap:7px;

    }


    .menu-card{

        padding:
            14px
            10px
            18px;

    }


    .menu-card-image{

        height:135px;

    }


    .menu-card-name{

        font-size:17px;

    }


    .menu-card-en{

        font-size:8px;

    }


    .menu-card-price{

        font-size:11px;

    }


    .menu-card-number{

        top:9px;

        left:9px;

        font-size:8px;

    }


    /* 컨트롤 */

    .menu-controls{

        gap:20px;

        margin-top:25px;

    }


    .menu-arrow{

        width:36px;

        height:36px;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:420px){

    .menu-tabs{

        grid-template-columns:
            repeat(2,1fr);

    }


    .menu-page{

        grid-template-columns:
            repeat(2,1fr);

    }


    .menu-card-image{

        height:120px;

    }

}