body {background-color: #C0E0FA;}

/* 오버레이 */
.nb-overlay{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.6);
  z-index: 9998;
}
/* 카드배너 */
.notice-banner{
  position: fixed; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: min(500px, calc(100% - 40px));
  background:#000;
  color:#fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
  z-index: 9999;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.notice-banner > img{
  display:block; width:100%; height:auto;
}

.nb-actions{
  display:flex; justify-content:space-between; align-items:center;
  gap:12px; background:#111; padding:10px 12px; font-size:14px;
}

.nb-check{ display:flex; align-items:center; gap:8px; user-select:none; }
.nb-close{
  border:0; background:#2b2b2b; color:#fff;
  padding:6px 12px; border-radius:8px; cursor:pointer; font-size:13px;
}
.nb-close:hover{ background:#3a3a3a; }


/* 본문 컨텐츠 */
.wrap {
    padding-top: 130px;
    width: calc(100% - 30px);
    margin: 0 auto;
}
.tab_menu {}

.tab_menu {
    width: 100%;
}
.tabs {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}
.tab {
    color: #666;
    padding: 0 15px;
    cursor: pointer;
    border-left: 1px solid #666; box-sizing: border-box;
    line-height: 1rem;
}
.tabs li:nth-child(1) {
    border-left: none;
}
.tab.active {
    font-weight: bold;
    color: #008eff;
}
.tab_content.active {
    display: block;
}

.tab_content {
    display: none;
    margin: 0 auto;
}
.intro {
    color: #222;
    font-weight: 500;
    text-align: center;
    margin-bottom: 30px;
    line-height: 160%;
}

.gallery {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(2, 1fr);
}
.gallery  .poster {
    width: 100%;
    aspect-ratio: 1 / 1.414;
    overflow: hidden;
    background-color: #ccc;
}
.gallery  .poster img {width: 100%;}

/* br 설정 */
.pc_only {display: none;}


/************ media query_Tablet ************/
@media all and (min-width: 768px) {
    .wrap {width: calc(100% - 40px);}
    .tab_menu {
        margin-top: 40px;
    }
    .tabs {margin-bottom: 60px;}
    .tab {
        font-size: 2rem;
        padding: 0 20px;
        line-height: 1.6rem;
    }
    .intro {
        font-size: 2rem;
        margin-bottom: 40px;
    }
    .gallery {
        gap: 2rem;
    }
}


/************ media query_PC **************/
@media all and (min-width: 1025px) {
    .wrap {
        width: calc(100% - 40px);
        max-width: 2400px;
    }
    .tab_menu {
        margin-top: 60px;
    }
    .tabs {margin-bottom: 80px;}
     .tab {
        font-size: 2rem;
        padding: 0 30px;
        line-height: 1.8rem;
        cursor: url(./img/cursor_pointer01.png), pointer;
    }
    .intro {
        font-size: 2.2rem;
        margin: 50px 0;
        line-height: 160%;
    }
    .gallery {
        gap: 2rem;
        grid-template-columns: repeat(4, 1fr);
        padding: 2rem;
    }
    .poster {
        position: relative;
        overflow: hidden;
    }
    .poster img {
        width: 100%;
        display: block;
        transition: transform 0.3s ease;
    }
    .poster_info {
        position: absolute;
        inset: 0;
        background-color: rgba(0, 0, 0, 0.6);
        color: #fff;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        opacity: 0;
        transition: opacity 0.3s ease;
        text-align: cetner;
        padding: 10px;
    }
    .poster:hover .poster_info {opacity: 1;}
    .poster:hover img {transform: scale(1.05);}
    .poster_info .title {
        font-size: 2.8rem;
        font-weight: 500;
    }
    .poster_info .designer {
        margin-top: 5px;
    }

    .pc_only {display: block;}
}