@charset "utf-8";
/* 프레쉬랩 게시판 브랜드 톤 보정 — gw_basic / gw_gallery 등 그누위즈 기본 게시판 스킨의
   버튼 · 분류탭 · 페이징 색상을 --fl-* 토큰으로 덮어쓴다.
   각 스킨 style.css(우선순위 0) 보다 늦게 로드되도록 head.php 에서 우선순위 1로 추가한다.
   레이아웃/구조는 건드리지 않고 색상·보더만 재정의한다. */

/* 버튼 */
.gw-btn01 {border-color: var(--fl-ink, #1d2320) !important;color: var(--fl-ink, #1d2320) !important;}
.gw-btn01:hover {background: var(--fl-ink, #1d2320) !important;color: #fff !important;}
.gw-btn0102 {border-color: var(--fl-primary, #e5484d) !important;background: var(--fl-primary, #e5484d) !important;color: #fff !important;}
.gw-btn0102:hover {border-color: var(--fl-primary-dark, #c7353a) !important;background: var(--fl-primary-dark, #c7353a) !important;}
.gw-btn02 {background: var(--fl-ink-2, #4a524e) !important;}
.gw-btn03 {border-color: var(--fl-line, #e7e3dc) !important;background: var(--fl-cream, #fbf8f3) !important;color: var(--fl-ink-2, #4a524e) !important;}

/* 분류 탭 */
.gw-tabs {background: var(--fl-cream, #fbf8f3) !important;}
.gw-tabs > li > a.active {color: var(--fl-primary, #e5484d) !important;}
.bo_cate_link,
.sticky02 {border-color: var(--fl-primary, #e5484d) !important;color: var(--fl-primary-dark, #c7353a) !important;}
.sticky01,
.notice_icon {background: var(--fl-ink, #1d2320) !important;color: #fff !important;}
.new_icon {background: var(--fl-primary, #e5484d) !important;}
#gw-bo-list .td_subject:hover .bo_cate_link {background: var(--fl-primary, #e5484d) !important;color: #fff !important;}
.cnt_cmt {color: var(--fl-primary, #e5484d) !important;}
#bo_cate_on {color: var(--fl-primary, #e5484d) !important;}

/* 페이징 */
.pg_current {border-bottom-color: var(--fl-primary, #e5484d) !important;color: var(--fl-primary, #e5484d) !important;}
.pg_page {color: var(--fl-ink-3, #8a918d) !important;}

/* 체크박스 · 라디오 · 검색 포커스 */
input[type="checkbox"]:checked + .check-label:before,
input[type="radio"]:checked + .radio-label:before {border-color: var(--fl-primary, #e5484d) !important;background: var(--fl-primary, #e5484d) !important;}
.sel-wrap.focus,
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus {border-color: var(--fl-primary, #e5484d) !important;}
.sch_btn:hover {color: var(--fl-primary, #e5484d) !important;}
.sch_word {background: var(--fl-primary, #e5484d) !important;}

/* 테이블 헤더 강조선 */
.gw-table01 {border-top-color: var(--fl-ink, #1d2320) !important;}
.gw-table01 th {border-top-color: var(--fl-ink, #1d2320) !important;}
.gw-empty-list {border-top-color: var(--fl-ink, #1d2320) !important;}

/* 추천/비추천, 링크 카운트 등 포인트 텍스트 */
.bo_v_good i,
.bo_v_act_good i {color: var(--fl-mango, #f5a524);}

/* 갤러리 게시판(메뉴·오늘의 과일): 4:3 썸네일, 카드 메타(추천·첨부 아이콘, 작성자·댓글 수) 숨김 */
#gall_ul .gall_img img { width: 100%; height: auto !important; max-height: none !important; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
#gall_ul .bo_cate_link .icon-wrap { display: none; }
#gall_ul .gall_info { display: none; }
#gall_ul .gall_con { border-radius: var(--fl-radius-sm); overflow: hidden; }
#gall_ul .bo_tit { font-family: var(--fl-font); font-weight: 800; letter-spacing: -0.01em; }

/* 목록 표(소식) 추천·첨부 아이콘 정리, 본문 이미지 가운데 정렬 */
#bo_list .fa-heart, #gw-bo-list .fa-heart { display: none; }
#bo_v_img, #bo_v_con .view-img, #bo_v_file_img { text-align: center; }
#bo_v_img img, #bo_v_con img { margin-left: auto; margin-right: auto; border-radius: var(--fl-radius-sm); }

/* 메뉴 카탈로그(fl_menu) 스킨 — 배지 칩, 영문명, 한 줄 소개, 관련 메뉴 카드
   reset.css 의 a:link 가 링크 색을 덮으므로 fl-related-card 등 링크 요소는 :link,:visited 까지 명시한다. */
.fl-menu-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.fl-menu-en { display: block; margin-top: 4px; font-size: 12.5px; font-weight: 600; letter-spacing: .02em; color: var(--fl-ink-3, #8a918d); }
.fl-menu-desc { margin-top: 8px; line-height: 1.6; }

.fl-menu-v-en { display: block; margin-top: 8px; font-size: 15px; font-weight: 600; color: var(--fl-ink-3, #8a918d); }
.fl-menu-v-desc { font-size: 15.5px; line-height: 1.7; color: var(--fl-ink-2, #4a524e); }
.fl-menu-v-season { display: block; }

#fl-menu-related-ul .fl-related-card,
#fl-menu-related-ul .fl-related-card:link,
#fl-menu-related-ul .fl-related-card:visited { display: block; color: var(--fl-ink, #1d2320); text-decoration: none; }
#fl-menu-related-ul .fl-related-img { aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--fl-radius-sm, 10px); }
#fl-menu-related-ul .fl-related-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
#fl-menu-related-ul .fl-related-body { padding: 12px 2px; }
#fl-menu-related-ul .fl-related-body strong { display: block; font-size: 15px; }

/* 카탈로그 정보 작성폼 박스 */
#fl-catalog-box.gw-box01 { background: var(--fl-cream, #fbf8f3); }

/* 모바일: 분류 탭은 한 줄 가로 스크롤(글자 세로 쪼개짐 방지), 갤러리 2열 */
@media (max-width: 768px) {
    #bo_cate .gw-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; gap: 4px; }
    #bo_cate .gw-tabs::-webkit-scrollbar { display: none; }
    #bo_cate .gw-tabs > li { flex: 0 0 auto; width: auto !important; }
    #bo_cate .gw-tabs > li > a { white-space: nowrap; padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 576px) {
    #gall_ul.gall_row { display: flex; flex-wrap: wrap; }
    #gall_ul .gall_li { width: 50% !important; padding: 6px !important; }
    #gall_ul .gall_li .content { padding: 12px 10px 14px; }
    #gall_ul .bo_tit { font-size: 14px; }
    #gall_ul .fl-menu-desc { display: none; }
}

/* ---------------------------------------------------------------------
   프레쉬랩 톤 게시판 공용 — 크림 바탕, 분류 알약 + 알약 검색, 페이지 번호, 글 보기(.fl-galv).
   목록: .fl-gal(오늘의 과일·이야기, gw_gallery 카드) · .fl-nt(소식, gw_basic 줄 목록)
   글 보기: .fl-galv(gw_gallery·gw_basic 공용 — 흰 둥근 본문 + 이전·목록·다음)
--------------------------------------------------------------------- */
body:has(.fl-gal), body:has(.fl-nt), body:has(.fl-rv), body:has(.fl-galv),
body:has(.fl-gal) #container_wr, body:has(.fl-nt) #container_wr, body:has(.fl-rv) #container_wr, body:has(.fl-galv) #container_wr,
body:has(.fl-gal) #container, body:has(.fl-nt) #container, body:has(.fl-rv) #container, body:has(.fl-galv) #container,
body:has(.fl-gal) .gw-footer-container, body:has(.fl-nt) .gw-footer-container, body:has(.fl-rv) .gw-footer-container, body:has(.fl-galv) .gw-footer-container { background: var(--fl-cream) !important; }
.fl-gal.gw-bbs-con, .fl-nt.gw-bbs-con, .fl-rv.gw-bbs-con, .fl-galv.gw-bbs-con { width: auto; max-width: calc(var(--fl-container) + 2 * var(--fl-gutter)); padding: 0 var(--fl-gutter); box-sizing: border-box; }

/* 분류 + 검색 */
.fl-gal-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: clamp(64px, 6vw, 96px) 0 clamp(32px, 3vw, 48px); }
.fl-gal-cate ul { display: flex; flex-wrap: wrap; gap: 8px; }
.fl-gal-cate a {
    display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px; border: 1.5px solid var(--fl-line); border-radius: 999px;
    background: var(--fl-white); font-size: 15px; font-weight: 700; text-decoration: none; transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.fl-gal-cate a:link, .fl-gal-cate a:visited { color: var(--fl-ink-2); }
.fl-gal-cate a:hover { border-color: var(--fl-dark); color: var(--fl-dark); }
.fl-gal-cate #bo_cate_on, .fl-gal-cate #bo_cate_on:link, .fl-gal-cate #bo_cate_on:visited { border-color: var(--fl-dark); background: var(--fl-dark); color: var(--fl-white) !important; box-shadow: none; } /* 위의 #bo_cate_on 색(!important)을 덮는다 */
.fl-gal-search { display: flex; align-items: center; box-sizing: border-box; max-width: 100%; height: 48px; padding: 0 5px 0 20px; border: 1.5px solid var(--fl-line); border-radius: 999px; background: var(--fl-white); transition: border-color .25s ease; }
.fl-gal-search:focus-within { border-color: var(--fl-dark); }
.fl-gal-search input[type="text"] { width: 220px; height: 100%; padding: 0 10px 0 4px; border: 0; background: transparent; font-size: 15px; color: var(--fl-ink); }
.fl-gal-search input[type="text"]:focus { outline: none; }
.fl-gal-search button { flex: none; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--fl-dark); color: var(--fl-white); font-size: 16px; cursor: pointer; }

/* 페이지 번호 */
.fl-gal-pages { padding: clamp(48px, 5vw, 72px) 0; }
.fl-gal-pages .pg { gap: 6px; }
.fl-gal-pages .pg_page, .fl-gal-pages .pg_current { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 50%; font-family: var(--fl-font-en); font-size: 15px; }
.fl-gal-pages .pg_current { border-bottom-color: transparent !important; background: var(--fl-dark); color: var(--fl-white) !important; }
/* 처음·이전·다음·끝: 두꺼운 기본 아이콘 대신 가는 선 화살표(사이트 아이콘 두께) */
.fl-gal-pages :is(.pg_start, .pg_prev, .pg_next, .pg_end) { position: relative; width: 40px; overflow: hidden; border: 0 !important; background: none !important; font-size: 0 !important; text-indent: 0 !important; color: var(--fl-dark) !important; }
.fl-gal-pages :is(.pg_start, .pg_prev, .pg_next, .pg_end)::after { display: none !important; }
.fl-gal-pages :is(.pg_start, .pg_prev, .pg_next, .pg_end)::before { content: "" !important; position: static; display: block; width: 18px; height: 18px; margin: 0; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6l-6 6 6 6M18 6l-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6l-6 6 6 6M18 6l-6 6 6 6'/%3E%3C/svg%3E") center / contain no-repeat; font-size: 0; }
.fl-gal-pages :is(.pg_start, .pg_prev, .pg_next, .pg_end)::before { /* 처음·끝도 겹화살표 대신 한 개짜리 화살표 */ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E"); }
.fl-gal-pages :is(.pg_next, .pg_end)::before { transform: scaleX(-1); }
.fl-gal-pages :is(.pg_start, .pg_prev, .pg_next, .pg_end):hover { background: var(--fl-white) !important; }
.fl-gal-pages .pg_page:hover { background: var(--fl-white); }
.fl-gal .btn_bo_user, .fl-nt .btn_bo_user, .fl-rv .btn_bo_user { padding-bottom: clamp(56px, 6vw, 88px); }

/* ---------- 글 보기 ---------- */
.fl-galv { padding-top: clamp(64px, 6vw, 96px) !important; }
.fl-galv-head { max-width: 860px; margin: 0 auto; text-align: left; } /* 분류·제목·날짜 왼쪽 정렬 */
.fl-galv-cate { display: inline-flex; padding: 6px 16px; border-radius: 999px; background: var(--fl-primary-soft); font-size: 14px; font-weight: 700; text-decoration: none; }
.fl-galv-cate:link, .fl-galv-cate:visited { color: var(--fl-primary-dark); }
.fl-galv-cate:hover { background: var(--fl-dark); color: var(--fl-white); }
.fl-galv-title { margin-top: 14px; font-size: clamp(20px, 1.7vw, 24px); font-weight: 800; line-height: 1.35; letter-spacing: -0.035em; color: var(--fl-dark); word-break: keep-all; }
.fl-galv-date { margin-top: 10px; font-family: var(--fl-font-en); font-size: 15px; color: var(--fl-ink-3); }
#bo_v_atc.fl-galv-body { max-width: 860px; min-height: 0; margin: clamp(28px, 3vw, 40px) auto 0; padding: 0; box-sizing: border-box; border: 0; border-radius: 0; background: transparent; } /* 흰 박스 없이 크림 바탕 위에 바로 */
/* 첨부 사진은 스마트스토어 상세처럼 간격 없이 이어 붙이고, 묶음 전체의 위·아래 모서리만 둥글게 */
.fl-galv-body #bo_v_img { overflow: hidden; border-radius: 20px; }
.fl-galv-body #bo_v_img img { display: block; width: 100%; height: auto; border-radius: 0; }
.fl-galv-body #bo_v_con img { border-radius: 20px; }
.fl-galv-body #bo_v_img a { display: block; margin: 0; }
.fl-galv-body #bo_v_img:has(img) + #bo_v_con { margin-top: 32px; } /* 사진이 있을 때만 — 글만 있는 글은 빈 사진 영역 때문에 위가 비지 않게 */
.fl-galv-body #bo_v_con { font-size: 17px; line-height: 1.85; color: var(--fl-ink); word-break: keep-all; }
/* 이전·다음 글: 한 줄씩 전체 폭으로 쌓아 긴 제목도 넉넉히, 목록 버튼은 아래 가운데 알약 */
.fl-galv-nav { display: flex; flex-direction: column; max-width: 860px; margin: clamp(40px, 4vw, 64px) auto 0; border-top: 1px solid var(--fl-line); }
.fl-galv-nav-prev, .fl-galv-nav-next { display: grid; grid-template-columns: 24px 64px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 68px; padding: 0 4px; border-bottom: 1px solid var(--fl-line); text-decoration: none; color: var(--fl-dark); }
.fl-galv-nav-prev.is-empty, .fl-galv-nav-next.is-empty { display: none; }
.fl-galv-nav-next { order: 2; }
.fl-galv-nav-next i { grid-column: 1; grid-row: 1; } /* 다음 글도 화살표를 왼쪽 첫 칸에 */
.fl-galv-nav-next span { grid-column: 2; grid-row: 1; }
.fl-galv-nav-next strong { grid-column: 3; grid-row: 1; }
.fl-galv-nav a span { font-size: 14px; font-weight: 700; white-space: nowrap; color: var(--fl-ink-3); }
.fl-galv-nav a strong { overflow: hidden; font-size: 16px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; transition: color .25s ease; }
.fl-galv-nav a i { font-size: 20px; transition: transform .3s ease; }
.fl-galv-nav-prev i { transform: rotate(90deg); } /* 이전 글 ↑ · 다음 글 ↓ */
.fl-galv-nav-next i { transform: rotate(90deg); }
.fl-galv-nav-list { order: 3; align-self: center; display: inline-flex; align-items: center; gap: 8px; height: 48px; margin-top: 28px; padding: 0 22px 0 18px; border: 1.5px solid var(--fl-line); border-radius: 999px; background: var(--fl-white); font-size: 15px; font-weight: 700; text-decoration: none; color: var(--fl-dark); transition: border-color .25s ease, background .25s ease, color .25s ease; }
.fl-galv-nav-list:link, .fl-galv-nav-list:visited { color: var(--fl-dark); }
.fl-galv-nav a.fl-galv-nav-list span { color: inherit; font-size: 15px; }
.fl-galv-nav-list .fl-ico { width: 20px; height: 20px; } /* 동그란 점 9개 목록 아이콘 */
.fl-galv-nav-list:hover { border-color: var(--fl-dark); background: var(--fl-dark); color: var(--fl-white); }
.fl-galv-nav-prev:hover strong, .fl-galv-nav-next:hover strong { color: var(--fl-primary); }
.fl-galv-nav-prev:hover i { transform: rotate(90deg) translateX(-3px); }
.fl-galv-nav-next:hover i { transform: rotate(90deg) translateX(3px); }
.fl-galv #bo_v_file, .fl-galv #bo_v_link, .fl-galv #bo_vc, .fl-galv .btn_bo_user { max-width: 860px; margin-left: auto; margin-right: auto; }
.fl-galv .btn_bo_user { margin-top: 40px; }
.fl-galv::after { content: ""; display: block; height: clamp(72px, 7vw, 120px); }

@media screen and (max-width: 768px) {
    /* 목록 위 여백: 서브 탭 상자 아래로 20px 만 (메뉴 게시판과 같게) */
    #container:has(.fl-gal-bar) { padding-top: 0; }
    .fl-gal-bar { padding-top: 20px; }
}
@media screen and (max-width: 576px) {
    .fl-gal-bar { flex-direction: column; align-items: stretch; }
    /* 분류 알약: 가로로 밀어 넘기면 잘린 분류를 알아채기 어려우므로 같은 폭 칸으로 나눠 모두 보이게 한다.
       (줄마다 남는 폭을 나눠 갖게 하면 마지막 줄에 혼자 남은 알약이 한 줄을 다 차지해 길어진다) */
    .fl-gal-cate { min-width: 0; }
    .fl-gal-cate ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .fl-gal-cate a { justify-content: center; width: 100%; box-sizing: border-box; min-height: 40px; padding: 0 14px; font-size: 14px; white-space: nowrap; }
    .fl-gal-search input[type="text"] { flex: 1; width: auto; min-width: 0; }
    .fl-galv-nav-prev, .fl-galv-nav-next { grid-template-columns: 20px 56px minmax(0, 1fr); gap: 8px; min-height: 60px; }
    .fl-galv-nav a strong { font-size: 15px; }
}
@media screen and (max-width: 440px) {
    .fl-gal-cate ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    .fl-galv-nav a i { transition: none; }
}

/* ---------- 관리자 버튼(관리자·글쓰기·리스트 옵션·답변 등): 오른쪽 정렬 알약, 글쓰기는 진한 초록 채움 ---------- */
:is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .btn_bo_user { width: auto !important; flex-direction: row !important; place-content: center; justify-content: center; /* 모든 게시판 가운데 */ flex-wrap: wrap; gap: 8px; margin-top: clamp(24px, 3vw, 40px); }
:is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .btn_bo_user > li { position: relative; flex: none; width: auto !important; margin: 0; }
:is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .btn_bo_user .gw-btn01 {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px; width: auto; height: 44px; padding: 0 20px;
    border: 1.5px solid var(--fl-line) !important; border-radius: 999px; background: var(--fl-white) !important;
    font-size: 14px; font-weight: 700; line-height: 1; color: var(--fl-dark) !important; transition: border-color .25s ease, background .25s ease, color .25s ease;
}
:is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .btn_bo_user .gw-btn01 i { font-size: 16px; }
:is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .btn_bo_user .gw-btn01:hover { border-color: var(--fl-dark) !important; }
:is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .btn_bo_user .gw-btn01[title="글쓰기"] { border-color: var(--fl-dark) !important; background: var(--fl-dark) !important; color: var(--fl-white) !important; }
:is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .btn_bo_user .gw-btn01[title="글쓰기"]:hover { border-color: var(--fl-primary) !important; background: var(--fl-primary) !important; }
/* 리스트 옵션 펼침 메뉴: 둥근 흰 카드 */
:is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .more_opt { top: 52px; right: 0; overflow: hidden; padding: 6px; border: 1px solid var(--fl-line); border-radius: 18px; background: var(--fl-white); box-shadow: 0 16px 36px rgba(28, 17, 10, .12); }
:is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .more_opt::before, :is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .more_opt::after { display: none; }
:is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .more_opt li { width: 150px; padding: 0; border: 0; }
:is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .more_opt li button, :is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .more_opt li a { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 10px 12px; border-radius: 12px; background: transparent; font-size: 14px; color: var(--fl-dark); }
:is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .more_opt li:hover button, :is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .more_opt li:hover a { background: var(--fl-cream); color: var(--fl-dark); }
:is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .more_opt li i { color: inherit !important; }
@media screen and (max-width: 576px) {
    :is(.fl-gal, .fl-nt, .fl-rv, .fl-galv, .fl-menu-cat, .fl-iqa, .fl-iqv) .btn_bo_user .gw-btn01 { height: 40px; padding: 0 16px; font-size: 13px; }
}

/* ---------------------------------------------------------------------
   게시판 글쓰기 공통 (.fl-bw) — 소식·오늘의 과일·이야기·메뉴·고객 후기 글쓰기(관리자 화면).
   크림 바탕 위 가운데 흰 둥근 카드, 둥근 입력칸·선택칸·체크, 파일 선택 알약, 가운데 작성완료 알약.
--------------------------------------------------------------------- */
body:has(.fl-bw), body:has(.fl-bw) #container_wr, body:has(.fl-bw) #container, body:has(.fl-bw) .gw-footer-container { background: var(--fl-cream) !important; }
body:has(.fl-bw) #container { padding-bottom: 0; }
#gw-bo-w.fl-bw { width: auto; max-width: 960px; margin: 0 auto; padding: clamp(56px, 5vw, 80px) var(--fl-gutter) clamp(80px, 8vw, 120px); box-sizing: content-box; }
.fl-bw-head { margin-bottom: 24px; text-align: center; }
.fl-bw-en { font-family: var(--fl-font-display); font-size: 16px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--fl-mango); }
.fl-bw-title { margin-top: 8px; font-size: clamp(24px, 2.2vw, 30px); font-weight: 800; letter-spacing: -0.035em; color: var(--fl-dark); }
#gw-bo-w.fl-bw form#fwrite { width: auto !important; padding: clamp(24px, 3.4vw, 44px); box-sizing: border-box; border-radius: 32px; background: var(--fl-white); }
#gw-bo-w.fl-bw form#fwrite > div { margin-bottom: 0 !important; padding-bottom: 22px !important; border-bottom: 0 !important; }

/* 항목 이름 */
#gw-bo-w.fl-bw .NotoKr_B { font-size: 14px; font-weight: 800; color: var(--fl-dark); }
#gw-bo-w.fl-bw .NotoKr_B i { margin-right: 4px; font-size: 16px; vertical-align: -1px; color: var(--fl-mango); }
#gw-bo-w.fl-bw .gw-color-666 { font-weight: 500; color: var(--fl-ink-3) !important; }

/* 입력칸 */
#gw-bo-w.fl-bw input[type="text"], #gw-bo-w.fl-bw input[type="password"], #gw-bo-w.fl-bw input[type="number"], #gw-bo-w.fl-bw input[type="date"], #gw-bo-w.fl-bw input[type="url"], #gw-bo-w.fl-bw textarea:not([id^="wr_content"]) {
    width: 100%; height: 52px; padding: 0 18px; box-sizing: border-box; border: 1.5px solid var(--fl-line) !important; border-radius: 16px; background: var(--fl-cream) !important; font-size: 15px; color: var(--fl-ink); transition: border-color .25s ease, background .25s ease;
}
#gw-bo-w.fl-bw textarea#wr_content { width: 100%; padding: 16px 18px; box-sizing: border-box; border: 1.5px solid var(--fl-line); border-radius: 16px; background: var(--fl-cream); font-size: 15px; line-height: 1.7; }
#gw-bo-w.fl-bw input:focus, #gw-bo-w.fl-bw textarea:focus { outline: none; border-color: var(--fl-dark) !important; background: var(--fl-white) !important; }
#gw-bo-w.fl-bw .required { background-image: none !important; }
#gw-bo-w.fl-bw input[hidden] { display: none !important; } /* hidden 속성이 입력칸 공통 스타일에 밀리지 않게(후기 출처 '기타' 입력칸 등) */ /* 기본 필수 빨간 점 */
#gw-bo-w.fl-bw input::placeholder, #gw-bo-w.fl-bw textarea::placeholder { color: var(--fl-ink-3); }
/* 선택칸 */
#gw-bo-w.fl-bw .sel-wrap > select { height: 52px; padding: 0 44px 0 18px !important; line-height: 49px !important; /* appearance:none 선택칸은 글자가 위로 붙어 줄 높이로 가운데 */ border: 1.5px solid var(--fl-line); border-radius: 16px; background: var(--fl-cream); font-size: 15px; color: var(--fl-ink); }
#gw-bo-w.fl-bw .sel-wrap > select:focus { border-color: var(--fl-dark); background: var(--fl-white); }
#gw-bo-w.fl-bw .sel-wrap:after { right: 18px; color: var(--fl-dark); }
/* 체크(공지·배지 등) */
#gw-bo-w.fl-bw .bo_v_option, #gw-bo-w.fl-bw .chk_box { align-items: center; }
#gw-bo-w.fl-bw input[type="checkbox"] + .check-label { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--fl-ink); cursor: pointer; }
#gw-bo-w.fl-bw input[type="checkbox"] + .check-label:before { width: 22px; height: 22px; margin: 0; box-sizing: border-box; border: 1.5px solid var(--fl-line); border-radius: 7px; line-height: 19px; }
#gw-bo-w.fl-bw input[type="checkbox"]:checked + .check-label:before { border-color: var(--fl-dark); background: var(--fl-dark); }
#gw-bo-w.fl-bw .gw-flex.gw-mb-20.gw-pb-20:has(.bo_v_option) { align-items: center; gap: 16px; }
#gw-bo-w.fl-bw .gw-flex.gw-mb-20.gw-pb-20:has(.bo_v_option) > .gw-w-15 { width: auto !important; flex: none; }
#gw-bo-w.fl-bw .check-label > span:empty { display: none; } /* 체크와 글자 사이 빈 칸 */
#gw-bo-w.fl-bw .gw-flex.gw-mb-20.gw-pb-20:has(.bo_v_option) > .gw-w-15 { display: flex; align-items: center; height: 22px; line-height: 1; }
#gw-bo-w.fl-bw .bo_v_option { width: auto !important; margin: 0; padding: 0; list-style: none; }
/* 임시 저장 버튼 */
#gw-bo-w.fl-bw #autosave_wrapper { position: relative; }
#gw-bo-w.fl-bw #btn_autosave { position: absolute; top: 18px; right: 8px; margin: 0; transform: none; line-height: 1; /* 제목칸(위 여백 10px, 높이 52px) 안 세로 가운데 */ height: 36px; padding: 0 14px; border: 1.5px solid var(--fl-line); border-radius: 999px; background: var(--fl-white); font-size: 13px; font-weight: 700; color: var(--fl-ink-2); }
/* 에디터 */
#gw-bo-w.fl-bw .wr_content > div, #gw-bo-w.fl-bw .cheditor-container, #gw-bo-w.fl-bw iframe { max-width: 100%; }
#gw-bo-w.fl-bw .wr_content .cheditor-container, #gw-bo-w.fl-bw .wr_content > .editor_wrap { overflow: hidden; border-radius: 16px; }

/* 메뉴 글쓰기: 카탈로그·상세 정보 상자 */
#gw-bo-w.fl-bw form#fwrite > .gw-box01 { margin-bottom: 22px !important; }
#gw-bo-w.fl-bw .gw-box01 { padding: 24px !important; border: 0 !important; border-radius: 22px; background: var(--fl-cream) !important; }
#gw-bo-w.fl-bw .gw-box01 input[type="text"], #gw-bo-w.fl-bw .gw-box01 input[type="number"], #gw-bo-w.fl-bw .gw-box01 .sel-wrap > select { background: var(--fl-white) !important; }
#gw-bo-w.fl-bw .gw-box01 label.NotoKr_B, #gw-bo-w.fl-bw .gw-box01 div.NotoKr_B { margin-bottom: 8px !important; }

/* 파일 첨부: 파일 이름 칸 + 파일 선택 알약 */
#gw-bo-w.fl-bw .gw-file-input-container { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#gw-bo-w.fl-bw .file-name { flex: 1; min-width: 0; width: auto; height: 52px; padding: 0 18px; box-sizing: border-box; overflow: hidden; border: 1.5px dashed var(--fl-line); border-radius: 16px; background: var(--fl-cream); font-size: 14px; line-height: 49px; color: var(--fl-ink-2); }
#gw-bo-w.fl-bw .gw-file-input-button { position: static; width: auto !important; height: 52px; padding: 0 22px; border-radius: 999px; background: var(--fl-dark); font-size: 14px; font-weight: 700; line-height: 52px; color: var(--fl-white); }
#gw-bo-w.fl-bw .gw-file-input-button:hover { background: var(--fl-primary); }
#gw-bo-w.fl-bw .gw-file-input-container .frm_file { position: absolute; width: 1px; height: 1px; opacity: 0; }
#gw-bo-w.fl-bw .gw-file-input-container input[name="bf_content[]"] { flex-basis: 100%; }
#gw-bo-w.fl-bw .file_del { margin-left: 8px; padding: 0; border: 0; background: none; }

/* 자동등록방지 */
#gw-bo-w.fl-bw #captcha { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
#gw-bo-w.fl-bw #captcha legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
#gw-bo-w.fl-bw #captcha #captcha_key { width: 140px; height: 52px; border: 1.5px solid var(--fl-line) !important; border-radius: 16px; background: var(--fl-cream) !important; text-align: center; }

/* 작성완료 · 취소 */
#gw-bo-w.fl-bw .gw-btn-wrap { display: flex; flex-direction: row !important; justify-content: center; gap: 10px; width: auto !important; margin: 12px auto 0; }
#gw-bo-w.fl-bw .gw-btn-wrap .gw-btn0102, #gw-bo-w.fl-bw .gw-btn-wrap .gw-btn01 { flex: none; margin: 0; display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: 120px; height: 52px; padding: 0 28px; box-sizing: border-box; border-radius: 999px; font-size: 16px; font-weight: 800; }
#gw-bo-w.fl-bw .gw-btn-wrap .gw-btn0102 { min-width: 180px; border: 0 !important; background: var(--fl-dark) !important; color: var(--fl-white) !important; }
#gw-bo-w.fl-bw .gw-btn-wrap .gw-btn0102:hover { background: var(--fl-primary) !important; }
#gw-bo-w.fl-bw .gw-btn-wrap .gw-btn01 { border: 1.5px solid var(--fl-line) !important; background: var(--fl-white) !important; color: var(--fl-ink-2) !important; }
#gw-bo-w.fl-bw .gw-btn-wrap .gw-btn01:hover { border-color: var(--fl-dark) !important; color: var(--fl-dark) !important; }

@media screen and (max-width: 576px) {
    #gw-bo-w.fl-bw form#fwrite { border-radius: 24px; }
    #gw-bo-w.fl-bw .gw-box01 { padding: 18px !important; }
    #gw-bo-w.fl-bw .gw-flex.gw-gap-20 { flex-direction: column; gap: 16px; }
    #gw-bo-w.fl-bw .gw-flex.gw-gap-20 > .gw-w-50 { width: 100%; }
    #gw-bo-w.fl-bw .gw-btn-wrap .gw-btn0102 { flex: 1; min-width: 0; }
}
