/*공통*/
#container{background:#f8f8f8;padding-bottom:170px;}
.gw-bbs-con{margin:0 auto;width: 1200px;}

.more_opt {display: none;position:absolute;top: 45px;right:0;background: #fff;border: 1px solid #ddd;z-index: 100;box-shadow: 70px 70px 130px rgb(39 49 108 / 20%);}
.more_opt:before {content: "";position: absolute;top: -8px;right: 13px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #b8bfc4 transparent;}
.more_opt:after {content: "";position: absolute;top: -6px;right: 13px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;}
.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:154px;margin:0;color:#666;text-align:left}
.more_opt li:last-child {border-bottom:0}
.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#666;text-align: left;}
.more_opt li:hover a,
.more_opt li:hover button {color:#000}
.more_opt li i {float:right;line-height:20px}

/* 페이징 */
.pg_wrap {display: flex;align-items: center;place-content: center;font-family: "Outfit", sans-serif; font-weight: 600;}
.pg {text-align:center;display: flex;}
.pg_page,.pg_current { min-width: 20px;padding: 0 3px;margin: 0 6px;text-align: center;}
.pg_page{color:#999 !important;}
.pg_current{border-bottom:2px solid #000;}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_start {text-indent:-999px;overflow:hidden;padding:0;background: url('img/gw-bbs-start.png') no-repeat 50% 50%;background-size: 100%;}
.pg_prev {text-indent:-999px;overflow:hidden;padding:0;background: url('img/gw-bbs-prev.png') no-repeat 50% 50%;background-size: 100%;}
.pg_end {text-indent:-999px;overflow:hidden;padding:0;background: url("img/gw-bbs-end.png") no-repeat 50% 50%;background-size: 100%;}
.pg_next {text-indent:-999px;overflow:hidden;padding:0;background: url('img/gw-bbs-next.png') no-repeat 50% 50%;background-size: 100%;}

/*list*/
#gw-bo-list #gall_ul {display:flex;flex-wrap:wrap;margin:12px -12px 0;padding:0;list-style:none;zoom:1;}
#gw-bo-list #gall_ul:after {display:block;visibility:hidden;clear:both;content:""}
.gall_row .col-gn-0,.gall_row .col-gn-1,.gall_row .col-gn-2,.gall_row .col-gn-3,.gall_row .col-gn-4,.gall_row .col-gn-5,.gall_row .col-gn-6,.gall_row .col-gn-7,.gall_row .col-gn-8,.gall_row .col-gn-9,.gall_row .col-gn-10 {position:relative;min-height:1px;padding:12px;*padding-left:0;*padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0}
.gall_row .col-gn-0,.gall_row .col-gn-1 {width:100%}
.gall_row .col-gn-2 {width:50%}
.gall_row .col-gn-3 {width:33.33333333%}
.gall_row .col-gn-4 {width:25%}
.gall_row .col-gn-5 {width:20%}
.gall_row .col-gn-6 {width:16.66666667%}
.gall_row .col-gn-7 {width:14.28571428%}
.gall_row .col-gn-8 {width:12.5%}
.gall_row .col-gn-9 {width:11.11111111%}
.gall_row .col-gn-10 {width:10%}

#gw-bo-list .search-container {padding:80px 0;position: relative;width: 700px;margin: 0 auto;display: flex;gap: 15px;}
#gw-bo-list .search-container button {position: absolute;right: 17px;top:50%;transform:translateY(-50%);}
#gw-bo-list .sch_input {padding:12px 17px;height:55px;border: 2px solid #ddd;border-radius: 5px;background: #fff;}
#gw-bo-list .sch_input::placeholder{text-align: left;font-family: "Noto Sans KR", sans-serif; font-weight: 500; color:#666;}
#gw-bo-list .sch_input:focus{text-align: left;border-color: #000;}
input[type="text"]:not(:focus) {text-align: left;}
#bo_cate_on{background: #fff;box-shadow: 0 15px 10px rgba(34, 34, 34, .02);color: var(--main-color);}
#bo_cate ul {zoom:1;}
#gw-bo-list .btn_bo_user > li {position: relative;}
#gw-bo-list .btn_bo_user{place-content: center;align-items:flex-start;}
#gw-bo-list .icon-wrap {position: absolute;right: 0;top: 0;font-size: 20px;color: #000;}
#gw-bo-list .new_icon {font-size:14px;font-family: "Outfit", sans-serif; font-weight: 600;color: #fff;width: 20px;height: 20px;display: block;text-align: center;line-height: 20px;background: var(--main-color);}
#gw-bo-list .icon-wrap .fa-download:before {content: "\eb7c";font-family: xeicon;}
#gw-bo-list .icon-wrap .fa-link:before {content: "\e9c0";font-family: xeicon;}
#gw-bo-list .fa-lock:before {content: "\e964";font-family: xeicon;}
#gw-bo-list .cnt_cmt {color: var(--main-color);}
#gw-bo-list .bo-list-wrap {flex-wrap: wrap;}
#gw-bo-list .gallery{position:relative;cursor: pointer;}
#gw-bo-list .gallery > a {display: block;width: 100%;height: 100%;}
#gw-bo-list .gallery .gw-gall-line {position: absolute;top: 0;left: 0;width: 100%;height: 100%;border: 0px solid;transition: all .3s;}
#gw-bo-list .gallery .gall_img > a:hover .gw-gall-line{border-width:10px;border-color: var(--main-color);}
#gw-bo-list .gallery .gall_con{position:relative;border:1px solid #ddd;box-shadow:0 15px 10px rgba(34, 34, 34, .02);}
#gw-bo-list .gallery .gall_img{position:relative;display: block;overflow: hidden;}
#gw-bo-list .gallery .gall_img > a {display: block;width: 100%;}
#gw-bo-list .gallery .gall_img > a > img {object-fit: cover;width: 100%;height: 100%;}
#gw-bo-list .gallery .gall_chk {position: absolute;right: 20px;top: 20px;z-index: 1;}
#gw-bo-list .gallery .content {position:relative;padding: 20px;background: #fff;border-top: 1px solid #ddd;min-height:185px;display:flex;flex-direction:column;place-content:center;}
#gw-bo-list .gallery .bo_cate_link .sticky02{transition: all .3s;}
#gw-bo-list .gallery:hover .bo_cate_link .sticky02{background: var(--main-color);color: #fff;}
#gw-bo-list .bo_tit {position:relative;font-size: var(--main-title04);display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;text-overflow: ellipsis;overflow: hidden;}
#gw-bo-list .gall_info {border-top: 1px solid #ddd;gap: 5px;flex-wrap: wrap;}
#gw-bo-list .gall_info > li{flex-shrink: 0;}
#gw-bo-list .gall_info a {color: #666;}
#gw-bo-list .gall_info .sv {display: none;}
#gw-bo-list .profile_img{display: none;}
#gw-bo-list .gw-empty-list{border-top: 2px solid #000;}
#gw-bo-list .gw-empty-list {padding: 40px 0;border-bottom: 1px solid #ddd;border-top:2px solid #ddd;}
#gw-bo-list .gw-empty-list > h3 {font-size: var(--main-title03);}
#gw-bo-list .no_image {background: #ddd;}



/*view*/
#gw-bo-v{padding-top: 120px;}
#gw-bo-v .profile_img {display: none;}
#bo_v_info .profile_info{text-align: center;padding-bottom: 40px;margin-bottom: 40px;border-bottom: 1px solid #ddd;}
#bo_v_atc {min-height: 250px;border: 2px solid #ddd;border-radius: 5px;background: #fff;padding: 20px;}
#gw-bo-v .bo_v_nb{padding-top:60px;margin-bottom:60px;align-items:center;border-top: 1px solid #ddd;text-align: center;}
#gw-bo-v .bo_v_nb > li > a {display: block;width: 100%;transition: all .3s;text-transform: uppercase;font-size: var(--main-title04);}
#gw-bo-v .bo_v_nb > li > .list-btn {display:inline-block;width: 60px;height: 60px;background: #000;color: #fff;position: relative;box-shadow: 0 20px 30px rgba(0, 0, 0, .05);transition: all .3s;}
#gw-bo-v .bo_v_nb > li > .list-btn:hover {background: var(--main-color);}
#gw-bo-v .bo_v_nb > li > a.disabled-link {color: #ccc;}
#gw-bo-v .btn_bo_user {place-content: center;align-items:flex-start;}
#bo_v_link .gw-box01 {margin-bottom: 30px;}
#bo_v_link .gw-box01 .gw-flex {align-items: center;gap: 10px;}
.gw-empty-list {padding: 40px 0;border-bottom: 1px solid #ddd;border-top:2px solid #ddd;}
.gw-empty-list > h3 {font-size: var(--main-title03);}
#wr_content{background: #fff;}
#bo_vc .cmt_contents {background: #fff;}
#bo_vc .gw-box02 {border: 2px solid #ddd;margin-bottom: 20px;}
#bo_v_sns{place-content: center;}
#bo_v_sns > li {width: 40px;height: 40px;line-height:40px;border: 1px solid #ddd;}
#bo_v_sns > li > a {display: block;width: 100%;height: 100%;color: #666;}
#bo_v_sns > li > a.disabled {color: #ccc;}
#bo_v_act {place-content: center;}
#bo_vc_w .bo_vc_w_wr input{background: #fff;}
#gw-bo-v .bo_v_nb > li > a{position: relative;}
#gw-bo-v .bo_v_nb > li:not(:nth-of-type(2)) >a:before {content: "";display: block;width: 100%;height: 3px;background: var(--main-color);position: absolute;top: -80px;opacity: 0;transition: all .3s;}
#gw-bo-v .bo_v_nb > li:not(:nth-of-type(2)) >a:hover:before{opacity: 1;}
#gw-bo-v .bo_v_nb > li > .prev > i {transition: all .3s;}
#gw-bo-v .bo_v_nb > li > .prev:hover{color: var(--main-color);}
#gw-bo-v .bo_v_nb > li > .prev:hover > i {transform: translateX(-10px);}
#gw-bo-v .bo_v_nb > li > .next > i {transition: all .3s;}
#gw-bo-v .bo_v_nb > li > .next:hover{color: var(--main-color);}
#gw-bo-v .bo_v_nb > li > .next:hover > i {transform: translateX(10px);}
#gw-bo-v .bo_v_nb > li:not(:nth-of-type(2)) >a.disabled-link:before {opacity: 0;}
#gw-bo-v .bo_v_nb > li > .disabled-link:hover > i {transform: translateX(0);}



/* 게시판 쓰기 */
#char_count_desc {display:block;margin:0 0 5px;padding:0}
#char_count_wrap {margin:5px 0 0;text-align:right}
#char_count {font-weight:bold}

#autosave_wrapper {position:relative}
#autosave_wrapper .gw-btn03 {position: absolute;right: 17px;top: 50%;transform: translateY(-50%);}
#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #ddd;background:#fff;box-shadow:70px 70px 130px rgb(39 49 108 / 20%);}
#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent}
#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */
#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden}
#autosave_pop div {text-align:center;margin:0 !important}
#autosave_pop button {margin:0;padding:0;border:0}
#autosave_pop ul {padding:15px;border-top:1px solid #ddd;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #ddd}
#autosave_pop li {padding:10px;border-bottom:1px solid #fff;background:#f3f3f3;zoom:1}
#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""}
#autosave_pop a {display:block;float:left}
#autosave_pop span {display:block;float:right;color:#999;font-family: 'Poppins_R', sans-serif;}
.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em}
.autosave_close:hover {background:#f3f3f3;color:#3597d9}
.autosave_content {display:none}
.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px}

/*글쓰기*/
#gw-bo-w{padding-top: 120px;width: 1000px;}
#gw-bo-w > h2 {padding-bottom: 40px;margin-bottom: 20px;border-bottom: 2px solid #000;}
#gw-bo-w > form > div:not(:last-child) {border-bottom: 1px solid #ddd;}
#gw-bo-w > form input {margin-top:10px;background: #fff;}
#gw-bo-w .file-name {background: #fff;width: calc(80% - 3px);}
#gw-bo-w .file-name .num {border-bottom: 1px solid #000;margin-left: 10px;}
#gw-bo-w .gw-btn-wrap {margin: 0 auto;}
#gw-bo-w .file_del {position: absolute;right: 17px;top: 50%;transform: translateY(-50%);}
.btn_cke_sc{font-size:14px;}
.cke_sc_def{font-size:14px;}

@media screen and (max-width:1280px){
	#container{padding-bottom:120px;}
    .gw-bbs-con{width: 100%;padding: 0 40px;}

    /*write*/
    #gw-bo-w{width: 100%;}
}

@media screen and (max-width:1024px){
    .gw-bbs-con{width: 100%;padding: 0 20px;}

    /*list*/
    #gw-bo-list .search-container{padding: 60px 0;width:100%;}
    #gw-bo-list .gallery .gw-gall-line{display: none;}
}

@media screen and (max-width:768px){
	#container{padding-bottom:60px;}

    /*list*/
    .gall_row .col-gn-3 {width:50%}
    .gall_row .col-gn-4 {width:50%}
    .gall_row .col-gn-5 {width:50%}
    .gall_row .col-gn-6 {width:50%}
    .gall_row .col-gn-7 {width:50%}
    .gall_row .col-gn-8 {width:50%}
    .gall_row .col-gn-9 {width:50%}
    .gall_row .col-gn-10 {width:50%}
    

    /*write*/
    #gw-bo-w{padding-top: 60px;}

    /*view*/
    #gw-bo-v{padding-top: 60px;}
}

@media screen and (max-width:576px){
    /*공통*/
    .pg_page, .pg_current{height: 25px;}

    /*말풍선*/
    #gw-bo-list .sv_wrap .sv{right: auto;}
    #gw-bo-list .sv_wrap .sv:before {left: 15px;right: auto;}
    #gw-bo-list .sv_wrap .sv:after {left: 15px;right: auto;}

    /*list*/
    #gw-bo-list .search-container{padding: 40px 0;width: 100%;flex-wrap: wrap;}
    .gall_row .col-gn-0, .gall_row .col-gn-1, .gall_row .col-gn-2, .gall_row .col-gn-3, .gall_row .col-gn-4, .gall_row .col-gn-5, .gall_row .col-gn-6, .gall_row .col-gn-7, .gall_row .col-gn-8, .gall_row .col-gn-9, .gall_row .col-gn-10{padding-left: 0;padding-right: 0;}
	.gall_row .col-gn-2 {width:100%}
    .gall_row .col-gn-3 {width:100%}
    .gall_row .col-gn-4 {width:100%}
    .gall_row .col-gn-5 {width:100%}
    .gall_row .col-gn-6 {width:100%}
    .gall_row .col-gn-7 {width:100%}
    .gall_row .col-gn-8 {width:100%}
    .gall_row .col-gn-9 {width:100%}
    .gall_row .col-gn-10 {width:100%}
    #gw-bo-list .btn_bo_user{width: 100%;flex-direction:column;}
    #gw-bo-list .btn_bo_user > li{flex: 1;font-size: 12px;}
    #gw-bo-list #gall_ul{margin: 0;}
    #gw-bo-list .gallery .gall_img{height: 47vw;}
	#gw-bo-list .gallery .gall_img > a > img{height: 47vw !important;}
	#gw-bo-list .gallery .content{min-height:auto;}

    /*write*/
    #gw-bo-w > form > div {flex-direction: column;}
    #gw-bo-w > form > div .gw-w-15 {width: 100% !important;margin-bottom: 10px;}
    #gw-bo-w > form > div .gw-w-85 {width: 100% !important;flex-wrap: wrap;}
    #gw-bo-w > form > div .gw-w-85 > li {width: 40%;}
    #gw-bo-w > form > div > .gw-w-50:first-child {border-bottom: 1px solid #ddd;padding-bottom: 10px;}
    #gw-bo-w .file-name{width: calc(75% - 3px);}
    .gw-file-input-button{width: 25% !important;}
    .btn_cke_sc{font-size:12px;}
    .cke_sc_def{font-size:12px;}
    .cke_sc_def dd{text-align:center;}

    /*view*/
    #bo_vc .cm_wrap > .gw-flex-btw {flex-direction: column;gap: 10px;text-align:center;}
    #bo_vc .cmt_contents{margin-bottom: 0 !important;}
    #gw-bo-v .bo_v_nb{margin-bottom: 30px;}
    #gw-bo-v .gw-btn0102 {width: 100% !important;}
    #gw-bo-v .btn_bo_user{width: 100%;flex-direction:column;}
    #gw-bo-v .btn_bo_user > li{flex: 1;font-size: 12px;}
    #bo_v_info .profile_info{padding-bottom: 20px;margin-bottom: 20px;font-size: 12px;}
    #gw-bo-v .bo_v_nb {padding-top: 30px;}
    #gw-bo-v .bo_v_nb > li:not(:nth-of-type(2)) >a:before{top: -50px;}
    .more_opt li{width:122px;}
}

@media screen and (max-width:375px){
	 /*list*/
	.pg_page, .pg_current{margin:0 3px;}

    /*view*/
    #gw-bo-v .bo_v_nb > li > .list-btn{width:50px;height:50px;}
}

@media screen and (max-width:320px) {
    .gw-none-320{display: none;}
    .gw-file-input-button{font-size: 12px;}
}
/* ---------------------------------------------------------------------
   메뉴 카탈로그 목록 (.fl-menu-cat) — 레퍼런스: 백미당 메뉴. 분류별 묶음을 한 페이지에 모두 보여 주고,
   PC 는 왼쪽 세로 분류 목록(스크롤해도 제자리), 1024px 이하는 위쪽 가로 글자 탭으로 이동한다.
--------------------------------------------------------------------- */
body:has(.fl-menu-cat) { overflow-x: clip; overflow-y: visible; } /* gw.css 의 overflow-x: hidden 이 sticky 를 막아 clip 으로 바꾼다 */
body:has(.fl-menu-cat), body:has(.fl-menu-cat) #container_wr, body:has(.fl-menu-cat) #container, body:has(.fl-menu-cat) .gw-footer-container { background: var(--fl-cream) !important; }
.fl-menu-cat.gw-bbs-con { width: auto; max-width: calc(var(--fl-container) + 2 * var(--fl-gutter)); padding: 0 var(--fl-gutter); box-sizing: border-box; }

/* 배치: PC 는 왼쪽 분류 목록 | 오른쪽 메뉴 묶음 */
.fl-menu-layout { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: clamp(40px, 5vw, 88px); align-items: start; padding-top: clamp(64px, 6vw, 96px); }
.fl-menu-layout > form { min-width: 0; }
.fl-menu-intro { padding-top: clamp(64px, 6vw, 96px); text-align: center; } /* 분류 없는 게시판의 목록 위 제목 */
.fl-menu-intro .fl-menu-group-title { margin-top: 0; }
.fl-menu-intro + .fl-menu-layout { padding-top: clamp(40px, 4vw, 56px); }
.fl-menu-layout.is-single { grid-template-columns: minmax(0, 1fr); } /* 분류가 하나뿐이면 왼쪽 분류 목록 없이 전체 폭 */
.fl-menu-layout.is-single .fl-menu-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* 분류 목록(PC 세로) — 위 페이지 탭(흰 둥근 상자)과 겹치지 않게 상자 없이 글자 + 항목 사이 얇은 선. 스크롤해도 헤더 아래 제자리 */
.fl-menu-cat-nav { position: sticky; top: calc(var(--fl-hd-total) + 32px); z-index: 5; }
.fl-menu-cat-nav ul { position: relative; display: flex; flex-direction: column; }
.fl-menu-cat-nav li:not(.fl-menu-cat-bar) { border-bottom: 1px solid var(--fl-line); }
.fl-menu-cat-tab {
    display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 64px; padding: 0 4px;
    font-size: 18px; font-weight: 700; white-space: nowrap; text-decoration: none; transition: color .25s ease;
}
.fl-menu-cat-tab:link, .fl-menu-cat-tab:visited { color: var(--fl-ink-3); }
.fl-menu-cat-tab:hover { color: var(--fl-dark); }
.fl-menu-cat-tab.is-active { color: var(--fl-mango); } /* 선택된 분류는 포인트색 글자 */
.fl-menu-cat-count { font-family: var(--fl-font-display); font-size: 14px; font-weight: 600; color: var(--fl-mango); }
.fl-menu-cat-tab:focus-visible { outline-offset: -4px; }
/* 지금 보는 분류 표시 막대 — 세로 목록에서는 쓰지 않고(포인트색 글자로만 표시) 가로 바에서만 밑줄. 스크립트가 위치·크기를 옮긴다 */
.fl-menu-cat-bar { display: none; position: absolute; top: 0; left: 0; width: 3px; height: 0; background: var(--fl-primary); transition: transform .45s cubic-bezier(.22, .8, .24, 1), width .45s cubic-bezier(.22, .8, .24, 1), height .45s cubic-bezier(.22, .8, .24, 1); }

/* 분류 묶음 */
.fl-menu-group { padding-bottom: clamp(72px, 7vw, 112px); }
.fl-menu-group + .fl-menu-group { padding-top: clamp(64px, 6vw, 96px); border-top: 1px solid var(--fl-line); }
.fl-menu-group-head { margin-bottom: clamp(32px, 3vw, 48px); }
.fl-menu-group-en { font-family: var(--fl-font-display); font-size: 17px; font-weight: 600; text-transform: uppercase; letter-spacing: .02em; color: var(--fl-mango); }
.fl-menu-group-title { margin-top: 8px; font-size: clamp(28px, 3vw, 40px); font-weight: 800; letter-spacing: -0.03em; color: var(--fl-dark); }
.fl-menu-group-desc { margin-top: 12px; font-size: 16px; line-height: 1.7; color: var(--fl-ink-2); word-break: keep-all; }

/* 메뉴 카드 3열 — 사진 + 가운데 정렬 이름 */
.fl-menu-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(40px, 4vw, 56px) clamp(16px, 2vw, 28px); }
.fl-menu-item { position: relative; }
.fl-menu-item-link { display: block; text-decoration: none; }
.fl-menu-item-img { display: block; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 24px; background: var(--fl-white); }
.fl-menu-item-img img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) contrast(.96); transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.fl-menu-item-link:hover .fl-menu-item-img img, .fl-menu-item-link:focus-visible .fl-menu-item-img img { transform: scale(1.06); }
.fl-menu-item-media { position: relative; display: block; }
.fl-menu-item-body { display: flex; flex-direction: column; align-items: center; gap: 4px; padding-top: 18px; text-align: center; }
/* 배지: 사진 왼쪽 위에 겹쳐 둔다 */
.fl-menu-item-badges { position: absolute; top: 14px; left: 14px; z-index: 1; display: flex; flex-wrap: wrap; gap: 6px; max-width: calc(100% - 28px); pointer-events: none; }
.fl-menu-item-badges .fl-chip { padding: 4px 12px; font-family: var(--fl-font-display); font-size: 13px; font-weight: 600; letter-spacing: .04em; }
.fl-menu-item-name { font-size: 18px; font-weight: 800; letter-spacing: -0.02em; color: var(--fl-dark); word-break: keep-all; transition: color .25s ease; }
.fl-menu-item-link:hover .fl-menu-item-name { color: var(--fl-primary); }
.fl-menu-item-en { font-family: var(--fl-font-display); font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; color: var(--fl-ink-3); }
.fl-menu-item-flag { font-size: 13px; font-weight: 700; color: var(--fl-mango); }
.fl-menu-item.is-hidden .fl-menu-item-img { opacity: .45; }
/* 타코야끼 메뉴(history): 사진을 타코야끼 알처럼 동그랗게 — 목록·상세·관련 메뉴 모두 */
.fl-menu--history .fl-menu-item-img, .fl-menu--history .fl-mv-photo { aspect-ratio: 1; border-radius: 50% !important; }
.fl-menu--history .fl-menu-item-img img { transform-origin: center; }
.fl-menu--history .fl-menu-item-link:hover .fl-menu-item-img img, .fl-menu--history .fl-menu-item-link:focus-visible .fl-menu-item-img img { transform: scale(1.1) rotate(8deg); }
.fl-menu--history .fl-mv-photo { width: min(100%, 520px); justify-self: center; }
.fl-menu--history .fl-mv-photo img { object-fit: cover; }
.fl-menu--history .fl-menu-item-badges { top: 8%; left: 8%; }
.fl-menu--history .fl-menu-layout.is-single .fl-menu-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1040px; margin: 0 auto; column-gap: clamp(24px, 4vw, 64px); } /* 타코야끼는 3개씩 */
.fl-menu-item-chk { position: absolute; top: 14px; right: 14px; z-index: 1; }
.fl-menu-empty { padding: 80px 0; text-align: center; font-size: 17px; color: var(--fl-ink-2); }
.fl-menu-cat .btn_bo_user { padding-bottom: clamp(56px, 6vw, 88px); }

@media screen and (max-width: 1024px) {
    /* 좁은 화면: 분류 목록을 위쪽 가로 글자 탭으로(헤더 아래 고정, 화면 폭 크림 띠) */
    .fl-menu-layout { display: block; padding-top: 0; }
    .fl-menu-layout.is-single { padding-top: 56px; }
    .fl-menu-cat-nav { top: var(--fl-hd-total); z-index: 50; margin: 40px calc(50% - 50vw) 40px; background: var(--fl-cream); border-bottom: 1px solid var(--fl-line); transition: box-shadow .3s ease; }
    .fl-menu-cat-nav.is-stuck { box-shadow: 0 10px 24px rgba(28, 17, 10, .06); }
    .fl-menu-cat-nav ul { flex-direction: row; justify-content: center; gap: 28px; padding: 0 var(--fl-gutter); border-top: 0; overflow-x: auto; scrollbar-width: none; }
    .fl-menu-cat-nav ul::-webkit-scrollbar { display: none; }
    .fl-menu-cat-nav li:not(.fl-menu-cat-bar) { border-bottom: 0; }
    .fl-menu-cat-tab { justify-content: flex-start; min-height: 58px; padding: 0; font-size: 17px; }
    .fl-menu-cat-bar { display: block; top: auto; bottom: 0; width: 0; height: 3px; }
    .fl-menu-grid, .fl-menu-layout.is-single .fl-menu-grid, .fl-menu--history .fl-menu-layout.is-single .fl-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 768px) {
    /* 메뉴 목록 페이지(모바일): 서브 비주얼·페이지 탭과 분류 탭 사이의 기본 위아래 패딩(gw.css 90px / 60px)을 없애고,
       분류 탭 띠 위 20px·아래 50px 로 간격을 직접 준다(상세 페이지는 그대로) */
    #container:has(#gw-bo-list.fl-menu-cat) { padding-top: 0; padding-bottom: 0; }
    .fl-menu-cat-nav { margin-top: 20px; margin-bottom: 50px; }
}
@media screen and (max-width: 576px) {
    .fl-menu-cat-nav ul { justify-content: flex-start; gap: 24px; }
    .fl-menu-cat-tab { min-height: 54px; font-size: 16px; }
    .fl-menu-grid { gap: 32px 12px; }
    .fl-menu-item-img { border-radius: 18px; }
    .fl-menu-item-body { padding-top: 14px; }
    .fl-menu-item-name { font-size: 16px; }
    .fl-menu-item-en { font-size: 11px; }
    .fl-menu-item-badges { top: 10px; left: 10px; max-width: calc(100% - 20px); }
    .fl-menu-item-badges .fl-chip { padding: 3px 9px; font-size: 11px; }
}
/* 420px 이하(320px 까지): 분류 탭 4개가 가로 스크롤 없이 한 줄에 다 들어오도록 글자를 줄이고 양 끝 정렬.
   양옆 여백은 화면 끝(데스크톱에서는 스크롤바 밑)에 마지막 탭이 걸리지 않게 두고, 탭이 더 늘면 가로 스크롤로 넘어간다 */
@media screen and (max-width: 420px) {
    .fl-menu-cat-nav ul { justify-content: space-between; gap: 12px; padding: 0 20px; }
    .fl-menu-cat-tab { gap: 5px; font-size: 15px; }
    .fl-menu-cat-count { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .fl-menu-item-img img, .fl-menu-cat-tab, .fl-menu-cat-bar { transition: none; }
}

/* ---------------------------------------------------------------------
   메뉴 상세 (.fl-mv) — 레퍼런스: 백미당·설빙·서오릉피자 메뉴 상세.
   왼쪽 분류·이름·배지·설명·정보표 / 오른쪽 큰 사진 → 영양정보 두 열 표 → 이전·목록·다음 → 같은 분류 메뉴
--------------------------------------------------------------------- */
body:has(.fl-mv), body:has(.fl-mv) #container_wr, body:has(.fl-mv) #container, body:has(.fl-mv) .gw-footer-container { background: var(--fl-cream) !important; }
#gw-bo-v.fl-mv { width: auto; max-width: calc(var(--fl-container) + 2 * var(--fl-gutter)); padding: clamp(64px, 6vw, 104px) var(--fl-gutter) 0; box-sizing: border-box; }

.fl-mv-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.fl-mv-cate { display: inline-block; font-family: var(--fl-font); font-size: 15px; font-weight: 700; text-decoration: none; }
.fl-mv-cate:link, .fl-mv-cate:visited { color: var(--fl-mango); }
.fl-mv-cate:hover { text-decoration: underline; text-underline-offset: 3px; }
.fl-mv-title { margin-top: 12px; font-size: clamp(30px, 3.4vw, 46px); font-weight: 800; line-height: 1.25; letter-spacing: -0.035em; color: var(--fl-dark); word-break: keep-all; }
.fl-mv-en { margin-top: 8px; font-family: var(--fl-font-display); font-size: 18px; font-weight: 500; text-transform: uppercase; color: var(--fl-ink-3); }
.fl-mv-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.fl-mv-badges .fl-chip { padding: 4px 12px; font-family: var(--fl-font-display); font-size: 13px; font-weight: 600; letter-spacing: .04em; }
.fl-mv-lead { margin-top: 24px; font-size: 18px; font-weight: 700; line-height: 1.6; color: var(--fl-dark); word-break: keep-all; }
.fl-mv-desc { margin-top: 12px; font-size: 16px; line-height: 1.85; color: var(--fl-ink-2); word-break: keep-all; }
.fl-mv-desc img, .fl-mv-desc figure, .fl-mv-desc .view_image { display: none; } /* 사진은 오른쪽에 따로 보여 준다 */
.fl-mv-desc p { margin: 0; }
.fl-mv-desc, .fl-mv-desc * { word-break: keep-all; overflow-wrap: break-word; }

/* 정보표 */
.fl-mv-spec { margin-top: 28px; }
.fl-mv-spec > div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; align-items: center; padding: 16px 2px; border-bottom: 1px solid var(--fl-line); }
.fl-mv-spec dt { font-size: 15px; font-weight: 800; color: var(--fl-dark); }
.fl-mv-spec dd { font-size: 15px; line-height: 1.6; color: var(--fl-ink-2); word-break: keep-all; }
.fl-mv-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.fl-mv-tags span { display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; border: 1px solid var(--fl-line); border-radius: 999px; background: var(--fl-white); font-size: 14px; font-weight: 600; color: var(--fl-dark); }

.fl-mv-photo { overflow: hidden; aspect-ratio: 6 / 5; margin: 0; border-radius: 32px; background: var(--fl-white); }
.fl-mv-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) contrast(.96); }

/* 영양정보 */
.fl-mv-sub { font-size: clamp(22px, 2vw, 28px); font-weight: 800; letter-spacing: -0.03em; color: var(--fl-dark); }
.fl-mv-nut { margin-top: clamp(64px, 6vw, 96px); border-top: 1px solid var(--fl-line); }
.fl-mv-nut-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 2px; border-bottom: 1px solid var(--fl-line); }
.fl-mv-nut-title { font-size: 20px; font-weight: 700; color: var(--fl-dark); }
.fl-mv-nut-base { font-size: 15px; color: var(--fl-ink-2); }
.fl-mv-nut-base strong { font-weight: 800; color: var(--fl-dark); }
/* 두 열 표: 왼쪽 열 → 오른쪽 열 순서로 채우고, 열 사이는 점선 */
.fl-mv-nut-table { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, auto); grid-auto-flow: column; position: relative; padding: 14px 0; border-bottom: 1px solid var(--fl-line); }
.fl-mv-nut-table::before { content: ""; position: absolute; top: 24px; bottom: 24px; left: 50%; border-left: 1px dashed var(--fl-line); } /* 열 사이 점선(표 높이 전체) */
.fl-mv-nut-table > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 24px 12px 2px; }
.fl-mv-nut-table > div:nth-child(n+4) { padding: 12px 2px 12px 24px; }
.fl-mv-nut-table dt { font-size: 15px; color: var(--fl-ink-2); }
.fl-mv-nut-table dt span { color: var(--fl-ink-3); }
.fl-mv-nut-table dd { font-size: 15px; font-weight: 700; color: var(--fl-dark); font-variant-numeric: tabular-nums; }
.fl-mv-note { margin-top: 12px; font-size: 13px; line-height: 1.6; color: var(--fl-ink-3); word-break: keep-all; }

/* 이전·목록·다음 */
.fl-mv-nav { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 16px; margin-top: clamp(64px, 6vw, 96px); padding: 24px 0; border-top: 1px solid var(--fl-line); border-bottom: 1px solid var(--fl-line); }
.fl-mv-nav a { display: flex; align-items: center; gap: 10px; min-height: 48px; text-decoration: none; color: var(--fl-dark); }
.fl-mv-nav a span { font-size: 14px; font-weight: 700; color: var(--fl-ink-3); white-space: nowrap; }
.fl-mv-nav a strong { overflow: hidden; font-size: 16px; font-weight: 800; white-space: nowrap; text-overflow: ellipsis; }
.fl-mv-nav a i { font-size: 20px; transition: transform .3s ease; }
.fl-mv-nav-next { justify-content: flex-end; text-align: right; }
.fl-mv-nav-list { flex-direction: column; justify-content: center; gap: 4px !important; }
.fl-mv-nav-list i { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; font-size: 28px !important; color: var(--fl-dark); transition: color .25s ease; }
.fl-mv-nav-list:hover i { color: var(--fl-primary); }
.fl-mv-nav a:hover strong { color: var(--fl-primary); }
.fl-mv-nav-prev:hover i { transform: translateX(-4px); }
.fl-mv-nav-next:hover i { transform: translateX(4px); }

/* 같은 분류 메뉴 */
.fl-mv-related { margin-top: clamp(64px, 6vw, 96px); }
.fl-mv-related .fl-mv-sub { margin-bottom: 28px; }
.fl-menu-grid.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fl-mv .btn_bo_user { margin-top: 48px; }
.fl-mv::after { content: ""; display: block; height: clamp(72px, 7vw, 120px); }

/* 관리자 글쓰기: 영양정보 다섯 칸 */
.fl-nut-inputs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.fl-nut-inputs label { display: block; margin-bottom: 4px; font-size: 13px; font-weight: 700; }

@media screen and (max-width: 1024px) {
    .fl-mv-hero { grid-template-columns: 1fr; }
    .fl-mv-photo { order: -1; }
    .fl-menu-grid.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fl-nut-inputs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media screen and (max-width: 768px) {
    /* 메뉴 목록 페이지(모바일): 서브 비주얼·페이지 탭과 분류 탭 사이의 기본 위아래 패딩(gw.css 90px / 60px)을 없애고,
       분류 탭 띠 위 20px·아래 50px 로 간격을 직접 준다(상세 페이지는 그대로) */
    #container:has(#gw-bo-list.fl-menu-cat) { padding-top: 0; padding-bottom: 0; }
    .fl-menu-cat-nav { margin-top: 20px; margin-bottom: 50px; }
}
/* 420px 이하(320px 까지): 분류 탭 4개가 가로 스크롤 없이 한 줄에 다 들어오도록 글자를 줄이고 양 끝 정렬.
   양옆 여백은 화면 끝(데스크톱에서는 스크롤바 밑)에 마지막 탭이 걸리지 않게 두고, 탭이 더 늘면 가로 스크롤로 넘어간다 */
@media screen and (max-width: 420px) {
    .fl-menu-cat-nav ul { justify-content: space-between; gap: 12px; padding: 0 20px; }
    .fl-menu-cat-tab { gap: 5px; font-size: 15px; }
    .fl-menu-cat-count { font-size: 13px; }
}
@media screen and (max-width: 576px) {
    .fl-mv-photo { border-radius: 22px; }
    .fl-mv-spec > div { grid-template-columns: 1fr; gap: 4px; }
    .fl-mv-nut-table { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
    .fl-mv-nut-table::before { display: none; }
    .fl-mv-nut-table > div, .fl-mv-nut-table > div:nth-child(n+4) { padding: 10px 2px; }
    .fl-mv-nav a strong { display: none; }
    .fl-nut-inputs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.fl-mv-nav-list .fl-ico { width: 26px; height: 26px; color: var(--fl-dark); transition: color .25s ease; } /* 동그란 점 9개 목록 아이콘 */
.fl-mv-nav-list:hover .fl-ico { color: var(--fl-primary); }
