@charset "utf-8";

/* 공통 */
#bo_list,
#bo_v,
#bo_w,
#fwrite {
max-width:1440px;
margin:0 auto;
box-sizing:border-box;
}

#bo_list {
padding:40px 20px 60px;
}

#bo_v {
padding:40px 20px 60px;
}

#bo_w {
padding:40px 20px 60px;
}

#fwrite {
width:100% !important;
}

#bo_list *,
#bo_v *,
#bo_w * {
box-sizing:border-box;
}

#bo_list img,
#bo_v img,
#bo_w img {
max-width:100%;
height:auto;
}

#bo_list a,
#bo_v a,
#bo_w a {
text-decoration:none;
transition:all .2s ease;
}

#bo_list ul,
#bo_v ul,
#bo_w ul {
list-style:none;
margin:0;
padding:0;
}

#bo_list .btn,
#bo_v .btn,
#bo_w .btn,
#bo_list button,
#bo_v button,
#bo_w button {
display:inline-flex;
align-items:center;
justify-content:center;
gap:6px;
min-height:46px;
padding:0 18px;
border:1px solid #d9e1ea;
border-radius:10px;
background:#fff;
color:#333;
font-size:15px;
font-weight:600;
cursor:pointer;
}

#bo_list .btn:hover,
#bo_v .btn:hover,
#bo_w .btn:hover,
#bo_list button:hover,
#bo_v button:hover,
#bo_w button:hover {
border-color:#2f6fed;
color:#2f6fed;
background:#f7faff;
}

#bo_list .btn_submit,
#bo_v .btn_submit,
#bo_w .btn_submit {
border:1px solid #2f6fed;
background:#2f6fed;
color:#fff;
}

#bo_list .btn_submit:hover,
#bo_v .btn_submit:hover,
#bo_w .btn_submit:hover {
background:#1f5ad1;
border-color:#1f5ad1;
color:#fff;
}

#bo_list .btn_cancel,
#bo_v .btn_cancel,
#bo_w .btn_cancel {
background:#f7f8fa;
color:#555;
border:1px solid #dcdfe5;
}

/* 상단 설명 영역 */
.con_area {
max-width:1440px;
margin:0 auto;
padding:0 20px 30px;
}

.con_area h4 {
margin:0 0 18px;
font-size:34px;
line-height:1.3;
font-weight:800;
color:#1f2937;
text-align:center;
}

.con_area h5 {
margin:40px 0 16px;
font-size:24px;
line-height:1.4;
font-weight:700;
color:#1f2937;
}

.con_area p {
font-size:17px;
line-height:1.8;
color:#4b5563;
}

.con_area > img {
display:block;
width:100%;
border-radius:18px;
}

/* list 업로드 폼 */
.frm {
max-width:1440px;
margin:0 auto 24px;
padding:0 20px;
display:flex;
align-items:center;
justify-content:flex-end;
gap:12px;
flex-wrap:wrap;
}

.frm input[type="file"] {
width:320px;
max-width:100%;
height:46px;
padding:10px 12px;
border:1px solid #d9e1ea;
border-radius:10px;
background:#fff;
font-size:14px;
color:#555;
}

.frm .btn_submit {
min-width:130px;
}

/* list 달력 래핑 */
#bo_list .cal {
width:100%;
background:#fff;
border:1px solid #e6ebf1;
border-radius:22px;
box-shadow:0 12px 36px rgba(15, 23, 42, 0.06);
overflow:hidden;
}

#bo_list .tbl_head01,
#bo_list .tbl_wrap {
margin:0;
border:0;
}

#bo_list .tbl_head01 table,
#bo_list .tbl_wrap table,
#bo_list .cal table {
width:100%;
border-collapse:collapse;
table-layout:fixed;
background:#fff;
}

/* 월간 주간 일간 / 이전 다음 / 오늘 버튼 대응용 */
#bo_list .today_btn,
#bo_list .cal_btn,
#bo_list .view_btn,
#bo_list .mode_btn,
#bo_list .btn_area,
#bo_list .btn_wrap,
#bo_list .calendar_top,
#bo_list .calendar_head,
#bo_list .cal_top {
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
flex-wrap:wrap;
padding:20px 24px;
border-bottom:1px solid #edf1f5;
background:#fbfcfe;
}

#bo_list .today_btn a,
#bo_list .today_btn button,
#bo_list .cal_btn a,
#bo_list .cal_btn button,
#bo_list .view_btn a,
#bo_list .view_btn button,
#bo_list .mode_btn a,
#bo_list .mode_btn button,
#bo_list .btn_area a,
#bo_list .btn_area button,
#bo_list .btn_wrap a,
#bo_list .btn_wrap button,
#bo_list .calendar_top a,
#bo_list .calendar_top button,
#bo_list .calendar_head a,
#bo_list .calendar_head button,
#bo_list .cal_top a,
#bo_list .cal_top button {
display:inline-flex;
align-items:center;
justify-content:center;
min-width:88px;
height:42px;
padding:0 16px;
border:1px solid #d7dfeb;
border-radius:999px;
background:#fff;
color:#334155;
font-size:14px;
font-weight:700;
line-height:1;
}

#bo_list .today_btn a:hover,
#bo_list .today_btn button:hover,
#bo_list .cal_btn a:hover,
#bo_list .cal_btn button:hover,
#bo_list .view_btn a:hover,
#bo_list .view_btn button:hover,
#bo_list .mode_btn a:hover,
#bo_list .mode_btn button:hover,
#bo_list .btn_area a:hover,
#bo_list .btn_area button:hover,
#bo_list .btn_wrap a:hover,
#bo_list .btn_wrap button:hover,
#bo_list .calendar_top a:hover,
#bo_list .calendar_top button:hover,
#bo_list .calendar_head a:hover,
#bo_list .calendar_head button:hover,
#bo_list .cal_top a:hover,
#bo_list .cal_top button:hover {
border-color:#2f6fed;
background:#f4f8ff;
color:#2f6fed;
}

#bo_list .today_btn .on,
#bo_list .today_btn .active,
#bo_list .cal_btn .on,
#bo_list .cal_btn .active,
#bo_list .view_btn .on,
#bo_list .view_btn .active,
#bo_list .mode_btn .on,
#bo_list .mode_btn .active,
#bo_list .btn_area .on,
#bo_list .btn_area .active,
#bo_list .btn_wrap .on,
#bo_list .btn_wrap .active,
#bo_list .calendar_top .on,
#bo_list .calendar_top .active,
#bo_list .calendar_head .on,
#bo_list .calendar_head .active,
#bo_list .cal_top .on,
#bo_list .cal_top .active {
background:#2f6fed;
border-color:#2f6fed;
color:#fff;
}

/* 달력 제목 */
#bo_list .calendar_title,
#bo_list .cal_title,
#bo_list .ym_txt,
#bo_list .month_txt,
#bo_list .date_tit,
#bo_list caption {
font-size:28px;
line-height:1.2;
font-weight:800;
color:#1f2937;
text-align:center;
padding:24px 20px 18px;
}

/* 달력 헤더 */
#bo_list .cal th,
#bo_list table th {
padding:16px 10px;
background:#f8fafc;
border-bottom:1px solid #e8edf3;
font-size:15px;
font-weight:700;
color:#475569;
text-align:center;
}

#bo_list .cal td,
#bo_list table td {
padding:12px 10px;
border-right:1px solid #eef2f6;
border-bottom:1px solid #eef2f6;
vertical-align:top;
background:#fff;
height:150px;
transition:background .2s ease;
}

#bo_list .cal tr td:last-child,
#bo_list table tr td:last-child {
border-right:0;
}

#bo_list .cal tbody tr:last-child td,
#bo_list table tbody tr:last-child td {
border-bottom:0;
}

#bo_list .cal td:hover,
#bo_list table td:hover {
background:#fbfdff;
}

/* 날짜 숫자 */
#bo_list .dayNum {
display:inline-flex;
align-items:center;
justify-content:center;
width:38px;
height:38px;
margin-bottom:10px;
border-radius:50%;
font-size:15px;
font-weight:800;
line-height:1;
color:#1f2937;
cursor:pointer;
}

#bo_list .dayNum:hover {
background:#eef4ff;
color:#2f6fed;
}

#bo_list td.today .dayNum,
#bo_list .today .dayNum {
background:#2f6fed;
color:#fff;
}

/* 공휴일 / 주말 */
#bo_list td.sun .dayNum,
#bo_list td:first-child .dayNum,
#bo_list th:first-child {
color:#e55353;;
}

#bo_list td.sat .dayNum,
#bo_list td:last-child .dayNum,
#bo_list th:last-child {
color:#2f6fed;
}

#bo_list .hol {
display:block;
margin-top:2px;
font-size:11px;
line-height:1.3;
font-weight:700;
color:#e55353;
}

/* 식단 내용 */
#bo_list .cal_info {
display:block;
border-radius:12px;
font-size:13px;
line-height:1.6;
font-weight:500;
color:#475569;
cursor:pointer;
word-break:keep-all;
}

#bo_list .cal_info{display:block;width:100%;}
#bo_list .cal_info table{width:100%;}
#bo_list .cal_info tr{display:block;}
#bo_list .cal_info td{display:block;width:100%;}

#bo_list .cal_info:hover {
border-color:#b9cffc;
background:#f4f8ff;
color:#2f6fed;
}

#bo_list .empty_table,
#bo_list .empty_list {
padding:80px 20px;
text-align:center;
font-size:15px;
font-weight:600;
color:#94a3b8;
}

/* remodal */
.remodal {
max-width:900px;
border-radius:20px;
overflow:hidden;
box-shadow:0 18px 50px rgba(15, 23, 42, 0.15);
}

.rs-header {
padding:18px 24px;
background:#2f6fed;
color:#fff;
font-size:20px;
font-weight:800;
}

.rs-body {
padding:24px;
font-size:15px;
line-height:1.8;
color:#475569;
}

.rs-footer {
padding:18px 24px;
background:#fafbfd;
border-top:1px solid #edf1f5;
}

.remodal-close2 {
top:12px;
right:12px;
width:40px;
height:40px;
border-radius:50%;
background:rgba(255,255,255,0.14);
font-size:0;
}

.remodal-close2:before {
content:"×";
display:block;
font-size:24px;
line-height:40px;
color:#fff;
text-align:center;
}

/* view */
#bo_v {
background:#fff;
border:1px solid #e6ebf1;
border-radius:24px;
box-shadow:0 12px 36px rgba(15, 23, 42, 0.06);
overflow:hidden;
}

#bo_v header {
padding:34px 36px 10px;
}

#bo_v_title {
margin:0;
}

#bo_v_title .bo_v_cate {
display:inline-flex;
align-items:center;
justify-content:center;
padding:7px 14px;
margin-bottom:14px;
border-radius:999px;
background:#eef4ff;
color:#2f6fed;
font-size:13px;
font-weight:800;
}

#bo_v_title .bo_v_tit {
display:block;
font-size:34px;
line-height:1.35;
font-weight:800;
color:#111827;
word-break:keep-all;
}

#bo_v_info {
padding:0 36px 26px;
border-bottom:1px solid #edf1f5;
}

#bo_v_info .profile_info {
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
flex-wrap:wrap;
width:100%;
margin:0;
}

#bo_v_info .pf_img {
flex:0 0 auto;
margin:0;
}

#bo_v_info .pf_img img {
width:56px;
height:56px;
border-radius:50%;
object-fit:cover;
}

#bo_v_info .profile_info_ct {
display:flex;
align-items:center;
gap:14px;
flex-wrap:wrap;
padding:0;
font-size:14px;
line-height:1.6;
color:#6b7280;
}

#bo_v_info .profile_info_ct strong {
margin:0;
font-weight:600;
color:#4b5563;
}

#bo_v_info .profile_info_ct strong:first-child {
font-size:16px;
font-weight:800;
color:#111827;
}

#bo_v_top {
margin-left:auto;
}

.bo_v_com {
display:flex;
align-items:center;
gap:8px;
float:none;
margin:0;
}

.bo_v_com > li {
margin:0;
}

.more_opt {
top:52px;
right:0;
min-width:130px;
padding:8px 0;
border:1px solid #dbe3ec;
border-radius:14px;
box-shadow:0 16px 30px rgba(15, 23, 42, 0.10);
}

.more_opt li {
width:100%;
padding:0;
border:0;
}

.more_opt li a,
.more_opt li button {
display:flex;
align-items:center;
justify-content:space-between;
width:100%;
padding:12px 16px;
font-size:14px;
font-weight:600;
color:#475569;
background:#fff;
}

/* 본문 */
#bo_v_atc {
min-height:auto;
padding:30px 36px 40px;
}

#bo_v_share {
padding:0 0 24px;
margin-bottom:24px;
border-bottom:1px solid #edf1f5;
}

#bo_v_img {
margin-bottom:26px;
}

#bo_v_img img {
display:block;
width:100%;
border-radius:18px;
margin-bottom:18px;
}

#bo_v_con {
margin:0;
font-size:17px;
line-height:1.9;
color:#374151;
word-break:keep-all;
}

#bo_v_con p {
margin:0 0 1.2em;
}

#bo_v_con a {
color:#2f6fed;
text-decoration:underline;
}

#bo_v_file,
#bo_v_link {
margin-top:30px;
padding-top:28px;
border-top:1px solid #edf1f5;
}

#bo_v_file h2,
#bo_v_link h2 {
position:static;
width:auto;
height:auto;
font-size:22px;
line-height:1.4;
font-weight:800;
color:#111827;
margin:0 0 18px;
overflow:visible;
}

#bo_v_file li,
#bo_v_link li {
display:flex;
align-items:flex-start;
gap:16px;
padding:18px 20px;
margin:0 0 12px;
border:1px solid #e7edf4;
border-radius:16px;
background:#fbfcfe;
box-shadow:none;
}

#bo_v_file li i,
#bo_v_link li i {
float:none;
margin:2px 0 0;
font-size:22px;
color:#2f6fed;
}

#bo_v_file a,
#bo_v_link a {
float:none;
display:block;
font-size:15px;
line-height:1.7;
font-weight:700;
color:#1f2937;
word-break:break-all;
}

#bo_v_file .bo_v_file_cnt,
#bo_v_link .bo_v_link_cnt {
display:block;
margin-top:4px;
font-size:13px;
line-height:1.5;
color:#6b7280;
}

.bo_v_nb {
margin:34px 0 0;
border-top:1px solid #edf1f5;
}

.bo_v_nb li {
padding:18px 10px;
border-bottom:1px solid #edf1f5;
}

.bo_v_nb li:hover {
background:#fafcff;
}

.bo_v_nb .nb_tit {
min-width:80px;
font-weight:700;
color:#64748b;
}

.bo_v_nb a {
color:#1f2937;
font-weight:600;
}

.bo_v_nb .nb_date {
font-size:13px;
color:#94a3b8;
}

/* 추천 영역 */
#bo_v_act {
margin:34px 0 0;
text-align:left;
}

#bo_v_act .bo_v_good,
#bo_v_act .bo_v_nogood {
width:auto;
min-width:110px;
height:48px;
line-height:46px;
padding:0 18px;
border-radius:999px;
}

/* 댓글 */
.cmt_btn {
padding:0 0 18px;
margin:40px 0 0;
border-bottom:1px solid #edf1f5;
font-size:20px;
font-weight:800;
color:#111827;
}

.cmt_btn span.total {
font-size:20px;
font-weight:800;
color:#2f6fed;
}

.cmt_btn span.total:after {
bottom:-19px;
height:3px;
border-radius:999px;
}

#bo_vc article {
padding:22px 0;
margin:0;
border-bottom:1px solid #edf1f5;
}

#bo_vc article .pf_img {
margin-right:14px;
}

#bo_vc article .pf_img img {
width:50px;
height:50px;
object-fit:cover;
}

#bo_vc article .cm_wrap {
float:none;
max-width:none;
width:auto;
overflow:hidden;
}

.bo_vc_hdinfo {
margin-bottom:10px;
font-size:14px;
line-height:1.6;
color:#6b7280;
}

#bo_vc .cmt_contents {
padding:0;
font-size:15px;
line-height:1.8;
color:#374151;
}

.bo_vc_w {
margin-top:26px;
padding:24px;
border:1px solid #e7edf4;
border-radius:18px;
background:#fbfcfe;
}

.bo_vc_w textarea {
height:140px;
padding:14px 16px;
border:1px solid #dbe3ec;
border-radius:14px;
background:#fff;
font-size:15px;
line-height:1.7;
}

.bo_vc_w .btn_submit {
min-width:140px;
}

/* write */
#bo_w {
background:#fff;
border:1px solid #e6ebf1;
border-radius:24px;
box-shadow:0 12px 36px rgba(15, 23, 42, 0.06);
}

#bo_w .write_div {
margin:0 0 18px;
padding:0 36px;
}

#bo_w .bo_w_info {
display:flex;
gap:14px;
flex-wrap:wrap;
}

#bo_w .bo_w_info .frm_input {
float:none;
margin:0;
}

#bo_w .half_input {
width:calc(50% - 7px);
}

#bo_w .full_input {
width:100%;
}

#bo_w .frm_input,
#bo_w select,
#bo_w textarea,
#bo_w .frm_file {
width:100%;
height:52px;
padding:0 16px;
border:1px solid #d9e1ea;
border-radius:14px;
background:#fff;
font-size:15px;
color:#334155;
}

#bo_w textarea {
height:160px;
padding:14px 16px;
line-height:1.7;
}

#bo_w .frm_input:focus,
#bo_w select:focus,
#bo_w textarea:focus,
#bo_w .frm_file:focus {
border-color:#2f6fed;
outline:none;
box-shadow:0 0 0 4px rgba(47, 111, 237, 0.10);
}

#bo_w .bo_w_select {
padding-top:36px;
}

#bo_w .bo_w_tit .frm_input {
padding-right:16px;
}

#bo_w .bo_v_option {
display:flex;
gap:10px;
flex-wrap:wrap;
}

#bo_w .bo_v_option li {
margin:0;
}

#bo_w .chk_box input[type="checkbox"] + label {
display:inline-flex;
align-items:center;
min-height:44px;
padding:0 16px 0 42px;
border:1px solid #d9e1ea;
border-radius:999px;
background:#fff;
font-size:14px;
font-weight:700;
color:#475569;
}

#bo_w .chk_box input[type="checkbox"] + label span {
top:13px;
left:16px;
margin:0;
}

#bo_w .btn_confirm {
display:flex;
justify-content:center;
gap:12px;
padding:12px 36px 36px;
}

#bo_w .btn_confirm .btn,
#bo_w .btn_confirm button {
min-width:140px;
}

/* 게시판 보기 버튼 */
.btn_bo_user,
.btn_bo_adm {
display:flex;
align-items:center;
gap:8px;
flex-wrap:wrap;
}

.btn_bo_user li,
.btn_bo_adm li {
margin:0;
background:none;
}

/* 모바일 */
@media (max-width:1200px) {
#bo_list .cal td,
#bo_list table td {
height:130px;
}
}

@media (max-width:1024px) {
#bo_list,
#bo_v,
#bo_w {
padding-left:16px;
padding-right:16px;
}

#bo_v header,
#bo_v_info,
#bo_v_atc,
#bo_w .write_div,
#bo_w .btn_confirm {
padding-left:24px;
padding-right:24px;
}

#bo_v_title .bo_v_tit {
font-size:28px;
}

#bo_list .cal td,
#bo_list table td {
height:110px;
padding:10px 8px;
}

#bo_w .half_input {
width:100%;
}
}

@media (max-width:768px) {
.frm {
justify-content:flex-start;
}

.frm input[type="file"] {
width:100%;
}

#bo_list .today_btn,
#bo_list .cal_btn,
#bo_list .view_btn,
#bo_list .mode_btn,
#bo_list .btn_area,
#bo_list .btn_wrap,
#bo_list .calendar_top,
#bo_list .calendar_head,
#bo_list .cal_top {
padding:16px;
}

#bo_list .today_btn a,
#bo_list .today_btn button,
#bo_list .cal_btn a,
#bo_list .cal_btn button,
#bo_list .view_btn a,
#bo_list .view_btn button,
#bo_list .mode_btn a,
#bo_list .mode_btn button,
#bo_list .btn_area a,
#bo_list .btn_area button,
#bo_list .btn_wrap a,
#bo_list .btn_wrap button,
#bo_list .calendar_top a,
#bo_list .calendar_top button,
#bo_list .calendar_head a,
#bo_list .calendar_head button,
#bo_list .cal_top a,
#bo_list .cal_top button {
min-width:auto;
padding:0 14px;
font-size:13px;
}

#bo_list .calendar_title,
#bo_list .cal_title,
#bo_list .ym_txt,
#bo_list .month_txt,
#bo_list .date_tit,
#bo_list caption {
font-size:22px;
padding:18px 16px 14px;
}

#bo_list .cal th,
#bo_list table th {
padding:12px 4px;
font-size:12px;
}

#bo_list .cal td,
#bo_list table td {
height:92px;
padding:8px 6px;
}

#bo_list .dayNum {
width:30px;
height:30px;
font-size:13px;
margin-bottom:6px;
}

#bo_list .cal_info {
padding:7px 8px;
font-size:11px;
border-radius:10px;
}

#bo_v header,
#bo_v_info,
#bo_v_atc,
#bo_w .write_div,
#bo_w .btn_confirm {
padding-left:18px;
padding-right:18px;
}

#bo_v_title .bo_v_tit {
font-size:24px;
}

#bo_v_info .profile_info {
align-items:flex-start;
}

#bo_v_info .profile_info_ct {
gap:8px 12px;
font-size:13px;
}

#bo_w .btn_confirm {
flex-direction:column;
}

#bo_w .btn_confirm .btn,
#bo_w .btn_confirm button {
width:100%;
}
}

@media (max-width:480px) {
#bo_list,
#bo_v,
#bo_w {
padding-left:12px;
padding-right:12px;
}

.con_area h4 {
font-size:26px;
}

#bo_list .cal {
border-radius:16px;
}

#bo_list .cal td,
#bo_list table td {
height:84px;
}

#bo_list .hol {
font-size:10px;
}

#bo_v {
border-radius:18px;
}

#bo_w {
border-radius:18px;
}
}


.meal-section{padding:80px 0 120px;}
.meal-section .inner{max-width:1440px;margin:0 auto;padding:0 20px;}

.meal-head{text-align:center;margin-bottom:40px;}
.meal-label{display:inline-block;margin-bottom:14px;padding:9px 16px;border-radius:999px;background:rgba(187,210,96,.18);color:var(--color-main);font-size:16px;font-weight:700;letter-spacing:.06em;}
.meal-head h3{margin:0;font-size:36px;line-height:1.3;color:#111;font-weight:800;word-break:keep-all;}
.meal-head p{margin:16px auto 0;max-width:1000px;font-size:23px;line-height:1.9;color:#666;word-break:keep-all;}

.meal-notice-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:28px;}
.meal-notice{padding:24px 26px;border-radius:22px;background:rgba(187,210,96,.10);border:1px solid rgba(24,101,56,.10);}
.meal-notice strong{display:block;margin-bottom:8px;font-size:23px;line-height:1.4;color:var(--color-main);font-weight:800;word-break:keep-all;}
.meal-notice p{margin:0;font-size:18px;line-height:1.8;color:#555;word-break:keep-all;}

.meal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.meal-card{padding:32px 28px;border-radius:28px;background:#fff;border:1px solid rgba(24,101,56,.08);box-shadow:0 14px 38px rgba(24,101,56,.05);}
.meal-card-top{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.meal-icon{flex:0 0 52px;width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--color-sub2) 0%,rgba(99,165,50,.25) 100%);color:var(--color-main);font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.meal-card-top h4{margin:0;font-size:24px;line-height:1.4;color:#111;font-weight:800;word-break:keep-all;}

.meal-list{margin:0;padding:0;list-style:none;}
.meal-list li{position:relative;padding-left:18px;margin-top:14px;font-size:18px;line-height:1.9;color:#555;word-break:keep-all;}
.meal-list li:first-child{margin-top:0;}
.meal-list li::before{content:"";position:absolute;top:11px;left:0;width:8px;height:8px;border-radius:50%;background:var(--color-sub1);}
.meal-list li strong{color:#222;font-weight:800;}

.meal-flow li::before{background:var(--color-main);box-shadow:0 0 0 4px rgba(187,210,96,.18);}

.meal-contact{margin-top:30px;padding:40px;border-radius:30px;background:linear-gradient(135deg,var(--color-main) 0%,var(--color-sub3) 100%);box-shadow:0 22px 60px rgba(24,101,56,.20);}
.meal-contact-text{text-align:center;}
.meal-contact-text span{display:inline-block;margin-bottom:12px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-size:18px;font-weight:700;letter-spacing:.04em;}
.meal-contact-text h4{margin:0;font-size:30px;line-height:1.4;color:#fff;font-weight:800;word-break:keep-all;}
.meal-contact-text p{margin:14px 0 0;font-size:23px;line-height:1.8;color:rgba(255,255,255,.92);font-weight:500;word-break:keep-all;}

@media all and (max-width:1200px){
.meal-grid{grid-template-columns:1fr;}
.meal-notice-wrap{grid-template-columns:1fr;}
}

@media all and (max-width:767px){
.meal-section{padding:60px 0 90px;}
.meal-head{margin-bottom:28px;}
.meal-head h3{font-size:28px;}
.meal-head p{font-size:15px;line-height:1.8;}
.meal-notice-wrap{gap:14px;margin-bottom:18px;}
.meal-notice{padding:20px 18px;border-radius:18px;}
.meal-notice strong{font-size:16px;}
.meal-notice p{font-size:14px;line-height:1.75;}
.meal-grid{gap:16px;}
.meal-card{padding:24px 20px;border-radius:22px;}
.meal-card-top{align-items:flex-start;gap:12px;margin-bottom:18px;}
.meal-icon{flex:0 0 46px;width:46px;height:46px;border-radius:14px;font-size:14px;}
.meal-card-top h4{font-size:20px;line-height:1.35;}
.meal-list li{padding-left:16px;margin-top:12px;font-size:14px;line-height:1.8;}
.meal-list li::before{top:10px;width:7px;height:7px;}
.meal-contact{margin-top:20px;padding:28px 20px;border-radius:24px;}
.meal-contact-text h4{font-size:24px;}
.meal-contact-text p{font-size:16px;line-height:1.75;}
}



.date_btn_box {display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; max-width:1440px; margin:0 auto; padding:24px 28px; border-bottom:1px solid #e9edf3; background:#fbfcfe;}
#pr_btn {display:flex; align-items:center;}
#pr_btn a {display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:110px; height:44px; padding:0 18px; border:1px solid #d8e0ea; border-radius:999px; background:#fff; color:#334155; font-size:14px; font-weight:700; line-height:1; transition:all .2s ease;}
#pr_btn a:hover {border-color:#2f6fed; background:#f4f8ff; color:#2f6fed;}
#pr_btn i {font-size:15px;}

.year_btn {display:flex; align-items:center; justify-content:center; gap:18px; font-size:28px; font-weight:800; color:#1f2937; line-height:1.2; flex:1 1 auto; text-align:center;}
.year_btn a {display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid #d8e0ea; border-radius:50%; background:#fff; color:#334155; font-size:18px; transition:all .2s ease;}
.year_btn a:hover {border-color:#2f6fed; background:#f4f8ff; color:#2f6fed;}

.month_btn {display:flex; align-items:center; justify-content:flex-end; gap:0; flex-wrap:wrap;}
.month_btn a {display:inline-flex; align-items:center; justify-content:center; min-width:82px; height:44px; padding:0 18px; border:1px solid #d8e0ea; border-right:0; background:#fff; color:#475569; font-size:14px; font-weight:700; line-height:1; transition:all .2s ease;}
.month_btn a:first-child {border-radius:999px 0 0 999px;}
.month_btn a:last-child {border-right:1px solid #d8e0ea; border-radius:0 999px 999px 0;}
.month_btn a:hover {background:#f4f8ff; color:#2f6fed;}
.month_btn a.active {background:#2f6fed; border-color:#2f6fed; color:#fff;}
.month_btn a.active + a {border-left-color:#2f6fed;}

@media (max-width:1024px) {
.date_btn_box {padding:20px;}
.year_btn {font-size:24px;}
}

@media (max-width:768px) {
.date_btn_box {flex-direction:column; align-items:stretch; padding:18px 16px;}
#pr_btn {justify-content:flex-start;}
.year_btn {order:-1; justify-content:center; font-size:22px;}
.month_btn {justify-content:center; width:100%;}
.month_btn a {flex:1 1 auto; min-width:0;}
}

@media (max-width:480px) {
.year_btn {gap:12px; font-size:20px;}
.year_btn a {width:38px; height:38px; font-size:16px;}
#pr_btn a {min-width:100px; height:40px; font-size:13px;}
.month_btn a {height:40px; padding:0 12px; font-size:13px;}
}

/* 메뉴 카드 개선 */
#bo_list .cal_info{display:block;padding:5px 14px;border-radius:14px;font-size:13px;line-height:1.6;font-weight:500;color:#334155;cursor:pointer;word-break:keep-all;transition:all .2s ease;}
#bo_list .cal_info:hover{border-color:#2f6fed;background:#f4f8ff;color:#2f6fed;transform:translateY(-2px);box-shadow:0 8px 20px rgba(47,111,237,.12);}

/* 메뉴 줄 간격 */
#bo_list .cal_info br{display:block;margin-bottom:4px;}

/* 날짜 + 내용 간격 */
#bo_list td{position:relative;}
#bo_list .dayNum{margin-bottom:8px;}

/* 메뉴 없을 때 */
#bo_list .cal_info.empty{opacity:.5;background:#f3f4f6;color:#94a3b8;cursor:default;}

/* 모바일 가독성 */
@media (max-width:768px){
#bo_list .cal_info{font-size:11px;padding:8px 10px;}
}

/* 모달 메뉴 */
.layer_meal_table td{padding:10px 0;font-size:16px;line-height:1.9;color:#334155;font-weight:500;}
.layer_meal_table br{margin-bottom:6px;}

/* 메뉴 입력 영역 */
.meal-write-wrap{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px;}
.meal-write-item{display:flex;flex-direction:column;gap:6px;}
.meal-write-item label{font-size:14px;font-weight:700;color:#475569;}
.meal-write-item input{width:100%;height:46px;padding:0 14px;border:1px solid #d9e1ea;border-radius:10px;font-size:14px;color:#333;}

/* 전체 1줄 */
.meal-write-full{grid-column:1/-1;}

/* 모바일 */
@media (max-width:768px){
.meal-write-wrap{grid-template-columns:1fr;}
}

.frm_delete_month{margin-top:-10px;justify-content:flex-end;}
.frm_delete_month select{height:46px;padding:0 14px;border:1px solid #d9e1ea;border-radius:10px;background:#fff;font-size:14px;color:#555;min-width:140px;}
.frm_delete_month .btn{min-width:170px;}
@media (max-width:768px){
.frm_delete_month{justify-content:flex-start;}
.frm_delete_month select{width:100%;}
.frm_delete_month .btn{width:100%;}
}