@import url(reset.css);

@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansLight.woff') format('woff');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}

#wrap { width: 100%; }


/* 헤더-------------------------------------------------------- *
헤더 설정 (배너 위로 투명하게 겹치기) */
header { 
    width: 100%; 
    position: absolute;  /* ⭐ 배너 위로 띄움 */
    top: 0; 
    left: 0; 
    z-index: 1000;       /* ⭐ 가장 최상단 레이어 */
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); 
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); /* 아래로 퍼지는 그림자 */
}


.header { 
    position: relative; 
    width: 1500px; 
    margin: 0 auto; 
    display: flex;
}

/* 로고 */
h1 { width: 30%; padding: 49px 0 10px 0; }
h1 img { width: 28%;}

/* 네비게이션 (GNB) */
nav { width: 70%; }
nav > ul.gnb { margin-top: 75px; display: flex; justify-content: space-around; }
nav > ul.gnb > li { position: relative; width: 20%; text-align: center; padding-bottom: 25px; }
nav > ul.gnb > li > a { font-size: 20px; color: #fff; font-weight: 500; transition: all 0.3s; }
nav > ul.gnb > li:hover > a {  }

/* 서브메뉴 & 배경판 */
nav ul.sub { 
    position: absolute; 
    top: 51px; /* GNB와 살짝 떨어뜨려 여유공간 확보 */
    left: 0; 
    z-index: 999; 
    width: 100%; 
    display: none; 
    
    /* 투명 느낌을 위한 핵심 속성 */
    background: rgba(0, 0, 0, 0.2); /* 아주 어두운 투명 배경 (글씨 보호용) */
    backdrop-filter: blur(8px);    /* 뒤쪽 배경(빵 이미지)을 흐릿하게 만들어 글씨 강조 */
    border-radius: 0 0 8px 8px;    /* 하단 모서리만 둥글게 */
    overflow: hidden;              /* 호버 시 배경색이 삐져나가지 않게 */
}

/* 2. 서브메뉴 각 항목(Link) */
nav ul.sub li a { 
    padding: 15px 0; 
    display: block; 
    color: #fff;           /* 투명 배경 위에는 흰색 글씨가 가장 잘 보입니다 */
    font-size: 16px; 
    font-weight: 400;
    transition: all 0.3s;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); /* 항목 간 아주 연한 구분선 */
}

/* 마지막 항목의 구분선 제거 */
nav ul.sub li:last-child a { border-bottom: none; }

/* 3. 서브메뉴 호버 시 효과 */
nav ul.sub li a:hover { 
    background: rgba(255, 255, 255, 0.3); /* 호버 시 조금 더 밝아지는 효과 */
    color: #fff; 
    font-weight: 600;
}

.nav_bg { 
    background: #fff; 
    width: 100%; 
    height: 300px;
    position: absolute; 
    top: 130px; 
    left: 0; 
    z-index: 888; 
    display: none;
}


.toggle { display: none;}

.nav_480 { 
    background: #55321f;
    width: 0;
    height: 100%;
    position: fixed; top: 0; right: 0;
    z-index: 100000;
    overflow-x: hidden;
    transition: 0.3s;
}

.close_btn {
    position: absolute; top: 10px; right: 10px;
    
}
.close_btn a i { color: #fff; font-size: 26px;}

.menu { 
    width: 100%;
    max-width: 480px;
    margin: 50px 0;
}

.gnb_480 { 
    cursor: pointer;
    font-size: 18px;
    color: #fff;
    padding: 15px 0 10px 40px;
    border-bottom: 1px solid #fff;
    transition: all 0.4s ease;
    display: block;
}

.sub_480 { 
    background: #fff;
    display: none;

}
.sub_480 li a {
    color: #777;
    padding: 10px 50px 10px 50px;
    display: block;
    transition: all 0.4s ease-out;
}

.sns_480 { 
    position: absolute; bottom: 5%; left: 50%; 
    transform: translate(-50%, -50%); 
    width: 100%;
    text-align: center;
    max-width: 480px;
}
.sns_480 a i { color: #fff; font-size: 24px; margin: 0 7px;}

/* 헤더 반응형---------------------------------------------------------- */

@media ( max-width:1220px){ 
    .header { width: 100%;}
    h1 {padding: 55px 0 10px 20px;}
    h1 img { width: 25%;}
}

@media ( max-width:768px){ 
    .header { flex-wrap: wrap;}
    h1 { width: 100%; padding: 20px 0 20px 20px;}
    h1 img { width: 8%;}
    nav { width: 100%;}
    nav ul.gnb { margin-top: 0; border-top: 1px solid #999;}
    nav ul.gnb li { padding-bottom: 15px;}
    nav ul.gnb li a { font-size: 16px; display: block; padding: 10px 0 0 0;}
    nav ul.gnb li a:hover { border-top: 1px solid #555; }
    .nav_bg { 
    background: #fff; 
    height: 289px; 
    top: 150px; 
    left: 0; 
}
    nav ul.sub li a { padding: 5px 0 5px 0; display: block; }

    .top_link { top: 24px; right: 20px;}
    .top_link li {padding: 0 8px;}
    .top_link li a span { font-size: 1.3rem; }

}

@media ( max-width:480px){ 
    nav ul.gnb { display: none;}
    .top_link { display: none;}
    h1 img { width: 13%;}
    h1 { padding: 13px 0 7px 10px; }
    .toggle { display: block; position: absolute; top: 34px; right: 10px;}
    .toggle i { font-size: 1.5rem; color: #999;}
}

/* 이미지 슬라이드----------------------------------------------- */
.banner_480 { display: none;}
.banner_480 { position: relative; width: 100%; overflow: hidden; display: none;}

/* 1. 배너 컨테이너 설정 (수현 님 코드 유지) */
.banner {
    width: 100%;
    height: 100vh; /* 화면 꽉 차게 설정 */
    position: relative;
    overflow: hidden; /* ⭐ 중요: 이미지가 확대될 때 배너 밖으로 나가지 않게 */
}

.slide_item {
    width: 100%;
    height: 100%;
    position: relative;
}

/* 2. ⭐ 이미지 애니메이션 추가 */
.main_bread_img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 이미지가 비율에 맞게 꽉 차도록 */
    display: block;
    
    /* 애니메이션 적용: 6초 동안 은은하게 확대 */
    animation: imageZoomInOut 6s ease-in-out infinite alternate;
}

/* 이미지 애니메이션 Keyframes */
@keyframes imageZoomInOut {
    0% {
        transform: scale(1); /* 원래 크기 */
    }
    100% {
        transform: scale(1.04); /* ⭐ 미세하게 (3%) 확대 */
    }
}

/* 3. 텍스트 그룹 배치 */
.text_group {
    font-family: 'GMarketSans';
    position: absolute;
    top: 48%;
    left: 69%;
    transform: translate(-50%, -50%);
    text-align: left;
    width: 100%;
    z-index: 10;
}

/* 4. 텍스트 상세 스타일*/
.img_text {
    font-size: 70px;
    color: #fff;
    margin-bottom: 68px;
    text-shadow: 0 4px 15px rgba(0,0,0,0.4); /* 가독성 강화 */
    opacity: 0.5;
}

.img_text_2 {
    font-size: 62px;
    color: #fff;
    font-weight: 500;
}

.orange_text {
    font-weight: 800;
    color: #ffffff; /* 현재 흰색 설정 유지 */
}

@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansLight.woff') format('woff');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}
/* 틀-------------------------------------------------------------------- */
main { width: 100%;}
.cotents_wrap_1 { width: 100%; margin-top: 130px; padding: 0 10%; }
.cotents_wrap_2 { width: 100%; margin-top: 150px;}
.cotents_wrap_3 { 
    width: 100%; 
    margin-top: 150px;
    background: url(../images/f_banner.jpg) no-repeat fixed;
    background-size: cover;
    height: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.cotents_wrap_4 {
    width: 100%;
    max-width: 1300px; /* 전체 넓이 제한 */
    margin: 0 auto;    /* 중앙 정렬 */
    padding: 150px 0 0 0;   /* 위아래 여백 */
}

.contents { position: relative; width: 1300px; margin:0 auto; }

.sub_title { 
    width: 100%; 
    text-align: center; 
    color: #55321f; 
    font-size: 40px;
    font-family: 'GMarketSans';
    font-weight: 600;
}
.sub_text { width: 100; text-align: center; font-size: 18px; padding: 15px 0 70px 0;}

@media ( max-width:768px){ 
    .img_text { font-size: 6vw;}
    .banner img { width: 100%;}
}

@media ( max-width:480px){ 
    .banner { display: none;} 
    .banner_480 { display: block; } 
    .img_text { 
        font-size: 11vw; 
        line-height: 10vw;
        top: 50%; 
        left: 70%;
        width: 100%;
        }
}

/* 아이콘----------------------------------------------------------- */

.icon_wrap { display: flex;}
.icon {width: 12.5%; text-align: center;}
.icon span { font-size: 3rem; color: #411e0d;}
.icon span:hover { color: #adadad;}

.icon_text { font-size: 18px; padding-top: 15px; font-weight: 550;}

@media ( max-width:1220px){ 
    .cotents_wrap_1 {padding: 0 0%; }
}

@media ( max-width:768px){ 
    .icon_wrap { flex-wrap: wrap;}
    .cotents_wrap_1 { margin-top: 60px; }
    .icon {width: 25%; }
    .icon span { font-size: 2rem;}
    .mg_botton_30 { margin-bottom: 30px;}
    .icon_text { font-size: 16px; padding-top: 10px; }
}

@media ( max-width:480px){ 
    .cotents_wrap_1 { margin-top: 40px; }
    .icon span { font-size: 1.8rem;}
    .icon_text { font-size: 14px; padding-top: 5px; }

}

/* 베스트빵------------------------------------------------------------- */
.more { 
    position: absolute;
    top: 92px; 
    right: 0;
}

.more a { 
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #56321e;
    overflow: hidden; /* ⭐ 글자가 숨겨졌다 나타나야 하므로 필수 */
    padding: 5px;
}

/* 'MORE' 글자 기본 상태 (숨김) */
.more .text {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    opacity: 0;         /* 투명하게 */
    transform: translateX(20px); /* 오른쪽으로 20px 밀어둠 */
    transition: all 0.4s ease;
    margin-right: 0;
}

/* '+' 아이콘 기본 상태 */
.more .icon { 
    font-size: 2.5rem;  /* 기존 크기 유지 */
    transition: all 0.4s ease;
}

/* ⭐ 3. 호버 효과 */
.more a:hover .text { 
    opacity: 1;         /* 선명하게 */
    transform: translateX(0); /* 제자리로 이동 */
    margin-right: 2px; /* 아이콘과의 간격 생성 */
    color: #ff6600;
}

.more a:hover .icon { 
    color: #ff6600;
    transform: rotate(90deg); /* 90도만 살짝 회전 */
}

.best_bread_wrap { 
    display: flex; 
    margin: 0 -15px;
}

.bb_box_wrap { 
    width: 25%; 
    padding: 0 15px;
    box-sizing: border-box; /* 패딩이 넓이에 포함되도록 설정 */
}

.bb_box { 
    background: #ffffff; 
    border-radius: 10px; 
    transition: all 0.3s ease; /* 박스 자체에 트랜지션 부여 */
    position: relative;
    border: 1px solid transparent; /* 기본 상태에서 투명 테두리 추가 (떨림 방지) */
}

/* 이미지가 박스 밖으로 튀어나가지 않게 감싸는 곳에만 overflow 적용 */
.bb_box a {
    display: block;
    overflow: hidden; 
    border-radius: 10px;
}

.bb_box img {
    width: 100%;
    display: block;
    transition: all 0.3s ease;
}

/* [Hover 효과] 카드 전체가 위로 올라가며 그림자 생성 */
.bb_box_wrap:hover .bb_box { 
    transform: translateY(-10px); 
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); /* 그림자를 사방으로 부드럽게 */
    border: 1px solid #eee; /* 선택사항: 테두리가 필요하면 추가 */
}

.bb_text { 
    display: flex;
    justify-content: center; /* 가로 방향 중앙 정렬 */
    align-items: center;     /* 세로 방향 중앙 정렬 (필요시) */
    font-size: 18px; 
    padding-top: 17px; 
    font-weight: 550;
    line-height: 1.4;
    text-align: center;      /* flex가 깨질 경우를 대비해 유지 */
}
.bb_text span { 
    display: block; /* 가격을 다음 줄로 내리거나 간격을 벌리기 위해 설정 */
    font-family: 'GMarketSans'; 
    color: #55321f; 
    font-weight: 400;
    margin-top: 5px;
}


@media ( max-width:1220px){ 
    .contents { width: 100%; padding:  0 5%;}
    .more { right: 5%;}
}

@media ( max-width:768px){ 
    .cotents_wrap_2 {margin-top: 100px;}
    .best_bread_wrap {flex-wrap: wrap;}
    .bb_box_wrap { width: 50%; }
    .bb_box img { width: 100%;}
    .sub_title { font-size: 40px;}
    .sub_text { font-size: 16px; padding: 15px 0 50px 0;}
    .more { top: 70px;}

}

@media ( max-width:480px){ 
    .cotents_wrap_2 {margin-top: 70px;}
    .best_bread_wrap {  margin: 0 -10px;}
    .bb_box_wrap {padding: 0 10px;}
    .more { display: none;}
    .sub_title { font-size: 30px;}
    .sub_text { font-size: 14px; padding: 5px 0 30px 0;}
    .bb_text {  font-size: 16px; padding-top: 5px; }
    .bb_text span { font-size: 15px;}
}

/* 하단배너---------------------------------------------------------------------- */

.banner_title {
    font-size: 70px;
    /* font-family: 'Black Han Sans', sans-serif; */
    color: #FFF;
    font-weight: 400;
    padding: 0 0 40px 0;
    text-align: center;
}

.b_text { color: #b8b6b6;  padding:20px 0 40px 0; font-weight: 500; font-size: 19px; line-height: 30px; text-align: center;}
.b_text_480 { display: none; color: #b8b6b6;  padding:10px 0 50px 0; font-weight: 500; font-size: 20px; line-height: 30px;}

.b_more { 
    text-align: center; 
    margin-top: 30px; 
}

.b_more a { 
    display: inline-block;
    color: #FFF; /* 텍스트는 밝은 화이트 */
    border: 1px solid #FFF; /* 얇고 깔끔한 화이트 테두리 */ 
    font-size: 16px;
    padding: 10px 25px;
    text-decoration: none;
    transition: all 0.3s ease;
}

/* 호버 시: 배경이 하얗게 채워지고, 글자는 어둡게 반전 (가장 정석적인 고급 효과) */
.b_more a:hover { 
    background: #FFF; 
    color: #111; /* 글자는 진한 먹색이나 블랙으로 */
}


@media ( max-width:768px){ 
    .cotents_wrap_3 { height: 400px; margin-top: 100px;}
    .banner_title {font-size: 40px; padding: 0 0 20px 0;}
    .b_text { text-align: center; padding:10px 0 50px 0; font-weight: 500; font-size: 16px; line-height: 25px;}
    .b_more a { padding: 10px 20px; font-size: 14px;}
}

@media ( max-width:480px){ 
    .cotents_wrap_3 { height: 300px; margin-top: 70px;}
    .banner_title {font-size: 34px; padding: 0 0 10px 0;}
    .b_text { display: none;}
    .b_text_480 { display: block; padding:10px 10% 30px 10%; font-size: 14px; line-height: 20px; text-align: justify;}
    .b_more a { padding: 10px 20px; font-size: 12px;}
}


/* 이벤트-------------------------------------------------------------------------------- */

.event_wrap {
    display: flex;     /* 가로 배치를 위해 flex 사용 */
    gap: 30px;         /* ⭐ 아이템 사이의 간격 (원하는 만큼 조절) */
    justify-content: space-between; /* 아이템들을 양 끝으로 정렬 */
}


.bx-wrapper .bx-pager.bx-default-pager a {
    background: transparent !important; /* 배경은 투명하게 */
    border: 2px solid #56321e !important; /* 브라운 테두리만 */
    width: 12px !important;
    height: 12px !important;
    margin: 0 6px !important;
    transition: transform 0.3s;
}

/* ⭐ 현재 페이지: 색상이 채워지면서 살짝 커짐 */
.bx-wrapper .bx-pager.bx-default-pager a.active {
    background: #56321e !important;
    transform: scale(1.2); 
}

.event {
    overflow: hidden; /* 이미지가 박스 밖으로 안 나가게 */
    transition: all 0.4s ease;
}

.event img {
    transition: all 0.5s ease; /* 이미지 확대 속도는 더 느릿하게 */
}

.event:hover img {
    transform: scale(1.02); /* 8% 정도만 은은하게 확대 */
    filter: brightness(1.05); /* 살짝 밝게 해서 화사한 느낌 */
}

@media ( max-width:768px){ 
    .cotents_wrap_4 {margin-top: 100px; padding: 0 5%;}
    .event_wrap { flex-wrap: wrap;}
    .event {width: 50%;}
    .event img { width: 100%;}
}

@media ( max-width:480px){ 
    .event_wrap { margin: 0 -10px;}
    .event { padding: 0 10px;}
}



/* 매장안내------------------------------------------------------------------------------- */

.store_wrap { margin: 0 -15px; display: flex;}
.store_wrap::after { display: table; content:''; clear: both;}

.store { position: relative; width: 50%; padding: 0 15px;}

.store_box { overflow: hidden; background:#000; }
.store_box img { width: 100%;}
.store_box:hover img { transform: scale(1.08); opacity: 0.3;}
.store_box * { transition: all 0.3s ease;}

.store_text_1 { 
    position: absolute;
    top: 32%;
    left: 0;
    text-align: center;
    width: 100%;
    color: #ffffff;
    font-size: 24px;
    z-index: 1;
    transform: translateY(-50%);
    opacity: 0;
}

.store_box:hover .store_text_1 { 
    transform: translateY(0);
    opacity: 1;
    transition-delay: 0.2s;
}

.store_text_2 { 
    position: absolute;
    top: 45%;
    left: 0;
    text-align: center;
    width: 100%;
    color: #ffffff;
    font-size: 18px;
    line-height: 28px;
    z-index: 1;
    transform: translateY(-50%);
    opacity: 0;
}

.store_box:hover .store_text_2 { 
    transform: translateY(0);
    opacity: 1;
    transition-delay: 0.3s;
}

/* 기본 상태: 화면 중앙 하단쯤 숨겨둠 */
.map {
    position: absolute;
    top: 68%; /* 텍스트2(50%)보다 아래 배치 */
    left: 50%;
    transform: translateX(-50%) translateY(20px); /* 가로 중앙 맞춤 & 아래로 20px 이동 */
    z-index: 2;
    opacity: 0;
    
    /* 버튼 스타일 */
    color: #fff;
    font-size: 14px;
    padding: 8px 24px;
    border: 1px solid #fff;
    cursor: pointer;
    white-space: nowrap; /* 글자 줄바꿈 방지 */
}

/* 호버 상태: 슥 올라오면서 선명해짐 */
.store_box:hover .map {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    transition-delay: 0.4s; /* 텍스트2보다 조금 더 늦게 등장 */
}

/* 버튼 마우스 올렸을 때 반전 효과 */
.map:hover {
    background: #fff;
    color: #000;
}



@media ( max-width:768px){ 
    .store_wrap { flex-wrap: wrap;}
    .store { width: 100%;}
}

@media ( max-width:480px){ 
    
}

/* 풋터------------------------------------------------------------------------ */

footer { 
    width: 100%; 
    background: #242424; /* 좀 더 깊이 있는 다크 그레이 */
    margin-top: 150px; 
    padding: 80px 0;
    color: #aaaaaa;
}

.footer { 
    width: 1400px; 
    margin: 0 auto; 
    display: flex; 
    align-items: flex-start; /* 상단 정렬 */
    justify-content: space-between; /* 요소 간 간격 균등 */
}

/* 로고 */
.f_logo {  opacity: 0.8; }
.f_logo img { width: 70%; filter: grayscale(100%) brightness(2); } /* 로고를 흰색톤으로 변경 */

/* 주소 영역 */
.copy { 
    flex: 1; 
    font-size: 14px; 
    line-height: 1.8;
}
address { font-style: normal; }
.copyright { margin-top: 20px; color: #979797; font-size: 13px; }

/* 문의사항 영역 (핵심 포인트) */
.f_cs { 
    padding: 0 40px;
    border-left: 1px solid #444; /* 경계선 추가 */
    border-right: 1px solid #444; 
}
.f_cs h3 { 
    font-size: 14px; 
    color: #fff; 
    margin-bottom: 10px; 
    text-transform: uppercase; 
    letter-spacing: 1px;
}
.f_cs .tel { 
    font-size: 24px; 
    color: #fff; 
    font-weight: 700; 
    margin-bottom: 10px; 
}
.f_cs .time { font-size: 13px; color: #888; }

/* SNS 영역 */
.sns { display: flex; gap: 12px; padding-left: 40px; }
.sns a i {
    color: #FFF; 
    font-size: 1.5rem; 
    transition: all 0.3s ease;
}
.sns a i:hover { 
    color: #fff; 
    transform: translateY(-5px); /* 호버 시 살짝 위로 */
}

@media ( max-width:1220px){ 
    .footer { width: 100%; padding: 0 5%; }
}

@media ( max-width:900px){ 
    .footer {flex-wrap: wrap;}
    .f_logo { width: 100%;}
    .copy { padding: 10px 0 0 0; font-size: 16px; line-height: 24px;}
    .sns { padding-top: 10px;}
    .sns a i {font-size: 1.5rem; padding: 19px 20px;}
}

@media ( max-width:768px){ 
    footer { margin-top: 100px; padding: 70px  0;}
    .f_logo img { width: 8%;}
    .store_box img { width: 100%;}
}

@media ( max-width:480px){ 
    footer { margin-top: 70px; padding: 40px 0 40px 0;}
    .sns { display: none;}
    .f_logo img { width: 18%;}
    .copy { padding: 10px 0 0 0; font-size: 14px; line-height: 20px;}
    .store_box img { width: 100%;}
}