@charset "UTF-8";

:root {
    --width-main : 600px;
}

/* 검색 시 로딩 화면 */
.loading-curtain { position: fixed; top: 0; left: 0; z-index: 100000; width: 100vw; height: 100vh; display: none; justify-content: center; align-items: center; background-color: rgba(0,0,0, .8); backdrop-filter: blur(5px); }
.loading-curtain[data-view="on"] { display: flex; }
.loading-content { display: flex; flex-direction: column; align-items: center; }

.loading-box { margin-bottom: 25px; display: flex; justify-content: center; align-items: center; gap: 12px; }
.loading-item { display: inline-block; font-size: 40px; line-height: 1; filter: drop-shadow(0 4px 4px rgba(0,0,0,0.5)); animation: foodWave 0.8s infinite alternate ease-in-out; }

.loading-item:nth-child(1) { animation-delay: 0s; }
.loading-item:nth-child(2) { animation-delay: 0.15s; }
.loading-item:nth-child(3) { animation-delay: 0.3s; }
.loading-item:nth-child(4) { animation-delay: 0.45s; }

.loading-text { color: #fff; font-size: 16px; font-weight: 500; letter-spacing: -0.5px; opacity: 0.9; }
/* 검색 시 로딩 화면 끝 */

/* 위아래로 튀어오르는 애니메이션 */
@keyframes foodWave {
    from { transform: translateY(0); opacity: 0.5; }
    to { transform: translateY(-20px); opacity: 1; }
}

.loading-curtain { position: fixed; top: 0; left: 0; z-index: 100000; width: 100vw; height: 100vh; display: none; justify-content: center; align-items: center; background-color: rgba(0,0,0, .8); backdrop-filter: blur(5px); }
.loading-curtain[data-view="on"] { display: flex; }
.loading-content { display: flex; flex-direction: column; align-items: center; }

.loading-box { margin-bottom: 25px; display: flex; justify-content: center; align-items: center; gap: 12px; }
.loading-item { display: inline-block; font-size: 40px; line-height: 1; filter: drop-shadow(0 4px 4px rgba(0,0,0,0.5)); animation: foodWave 0.8s infinite alternate ease-in-out; }

.loading-item:nth-child(1) { animation-delay: 0s; }
.loading-item:nth-child(2) { animation-delay: 0.15s; }
.loading-item:nth-child(3) { animation-delay: 0.3s; }
.loading-item:nth-child(4) { animation-delay: 0.45s; }

.loading-text { color: #fff; font-size: 16px; font-weight: 500; letter-spacing: -0.5px; opacity: 0.9; }

.layout-container { width: 100%; min-width: 0; min-height: 100vh; display: flex; flex-direction: column; align-items: center; }
.layout-container > .layout-header { position: sticky; top: 0; z-index: 99; width: 100%; height: 60px; background: #fff; }
.layout-container > .layout-header header { position: relative; height: 60px; display: flex; justify-content: space-between; align-items: center; }
.layout-container > .layout-body { flex: 1; }
.layout-container > .layout-footer { align-self: top; width: 100%; height: 50px; display: flex; justify-content: center; align-items: 
center; color: #444; background: #e3e3e3; }

.layout-container > .layout-header header > .back { width: 40px; height: 40px; background: url('../../images/user/arrow_back.svg') no-repeat center center / 38px; }
.layout-container > .layout-header header > h1 { font-size: 28px; }

/* gnb */
.gnbs { height: 60px; display: flex; align-items: center; font-size: 0; }
.gnbs .munu { width: 40px; height: 40px; background: url('../../images/icon/menu.svg') no-repeat center center / 36px; }
.gnbs ul { position: absolute; top: 60px; right: 0; width: 100%; display: none; font-size: 1rem; background: #fff;  box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;}
.gnbs ul[data-active="on"] { display: block; }

.gnbs ul a { width: 100%; height: 50px; display: block; line-height: 50px; text-align: center; font-weight: 500; }
.gnbs > ul > li:not(:last-child) { border-bottom: 1px solid #e3e3e3; }
.gnbs ul a[data-active="on"] { color: #fff; background: var(--cobalt); }
/* gnb */

.advert { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 9999; margin: auto;
  width: fit-content; height: fit-content; min-width: 280px; background: #fff; border-radius: 12px; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3); overflow: hidden; }
.advert .thumb { font-size: 0; line-height: 0; }
.advert img { width: auto; height: auto; max-width: 90vw; max-height: 90vh; display: block; object-fit: contain; }
.advert .controls { padding: 8px 12px; display: flex; justify-content: space-between; align-items: center; background: #222; }
.advert .controls button { padding: 6px 16px; font-size: 13px; color: #fff; cursor: pointer; border: none; opacity: 0.8; background: transparent; transition: opacity 0.2s; }
.advert .controls button:hover { opacity: 1; text-decoration: underline; }

@media (pointer: coarse) {

}

/* 모바일 */
@media screen and (max-width: 1024px) {
    .layout-container > .layout-header header { padding: 0 16px; }
    .layout-container > .layout-body { padding: 0 16px; width: 100%; }
    
    /* gnb */
    .gnbs ul a:active { color: #fff; background: var(--cobalt); }
}

@media screen and (min-width: 1025px) {
    .layout-container > .layout-body { width: var(--width-main); }
    .layout-container > .layout-header { display: flex; justify-content: center; }
    .layout-container > .layout-header header { width: var(--width-main); }

    /* gnb */
    .gnbs ul { width: 300px; }
    .gnbs ul a:hover { color: #fff; background: var(--cobalt); }
}