.pc-only { display: block; }
.mo-only { display: none; }

.m-menu-type-img { overflow: hidden;}
.m-menu-type-img img {  width: 100%;  transition: transform 0.4s ease;}
.m-menu-type-img:hover img {  transform: scale(1.08); }

.menu-item { overflow: hidden;}
.menu-item img {  width: 100%;  transition: transform 0.4s ease;}
.menu-item:hover img {  transform: scale(1.08); }

/*   */
.m-menu-type {margin-bottom: 60px;}
.m-menu-type-title { margin-bottom: 40px; }
.m-menu-type-container { display: flex; justify-content: space-between;  gap: 40px; border-radius: 10px; text-align: center;}
.m-menu-type-item { flex-basis: calc((100% - 80px) / 4); /* gap을 제외한 정확한 3등분 */   border-radius: 10px;  }
.m-menu-type-item img {  width: 100%;  height: auto;  max-width: 100%;  object-fit: contain;  margin-bottom: 20px;  border-radius: 10px; }
.m-menu-type-item h4 { font-size: 26px; margin-bottom: 5px; color:#000; padding:0 10px; }
.m-menu-type-item p { font-size: 16px; color:#000; padding:0 10px; }
 
.menu-subbanner { max-width: 1200px; margin-bottom: 60px;}
.menu-subbanner.single {  display: flex;  align-items: center;  justify-content: space-between;  background-color: #abd267;  color: #fff;  padding: 20px 40px;  border-radius: 5px;  text-decoration: none;}
.menu-subbanner-text {  display: flex;  flex-direction: column; text-align: left;}
.menu-subbanner-text .small {  font-size: 16px;  opacity: 0.9;}
.menu-subbanner-text .large {  font-size: 28px;  font-weight: 700;  margin-top: 5px;}
.menu-subbanner img {  width: 120px;  height: 120px;  object-fit: contain;}

.menu-subbanner .large{
  display:flex;
  align-items:center;
  gap:6px;
}

.menu-subbanner .arrow{
  font-size:26px;          /* 너무 크면 두꺼워 보이므로 약간 줄임 */
  font-weight:100;
  display:inline-block;
  transform:scaleY(1.4);   /* 세로로 길게 */
  margin-left:6px;
  transition:all 0.25s ease;
}

.menu-subbanner:hover .arrow{
  transform:translateX(5px);
  opacity:1;
}


.menu-weekly {margin-bottom: 120px;}
.custom-table {
  width: 100%;
  border-collapse: collapse;
  position: relative;
}

/* 상단 두꺼운 선 */
.custom-table::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #333;
}

/* 하단 두꺼운 선 */
.custom-table::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #333;
}

/* ===============================
   HEADER
================================ */
.custom-table .menu-title td {
  padding: 14px 5px;
  font-size: 18px;
  font-weight: 700;
}

/* ===============================
   BASE TD
================================ */
.custom-table td {
  position: relative;
  padding: 5px 0;
  text-align: center;
  vertical-align: middle;
  border: none;
}

/* ===============================
   DOT LINE (단일 1줄만)
================================ */
.custom-table td::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  border-bottom: 2px dotted #ccc;
}

.custom-table tr.menu-title td::after {
  display: none;
}
/* ===============================
   요일(day) 셀
================================ */
.custom-table td.day {
  font-size: 18px;
  font-weight: 700;
}

/* 요일 셀에는 도트 없음 */
.custom-table td.day::after {
  display: none;
}

/* ===============================
   요일 블록 제어
================================ */

/* 요일 블록 마지막 줄 → 도트 제거 */
.custom-table tr.week-end td::after {
  display: none;
}

/* 테이블 마지막 줄 → 도트 제거 (하단 두꺼운 선 겹침 방지) */
.custom-table tr:last-child td::after {
  display: none;
}

/* ===============================
   ODD 배경 (월, 수, 금)
================================ */
.custom-table tr.week-start.odd,
.custom-table tr.week-start.odd + tr,
.custom-table tr.week-start.odd + tr + tr {
  background-color: #f2f2f2;
}
.menu-list {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, 1fr); /* PC: 3열 */
}

.menu-item {
  border-radius: 10px;
  overflow: hidden;
  background: #f2f2f2;
}

.menu-item img {
  width: 100%;
  display: block;
}

.menu-item-info {
  display: flex;
  flex-direction: column; /* 위: 제목, 아래: 요일 */
   padding: 20px;
}

.menu-item-info .title { font-weight: 700; text-align: left; color:#000; font-size:24px; }

/* 요일 원 그룹 가로 배열 */
.day-group { display: flex;  justify-content: flex-start;  margin-bottom: 10px;  gap: 5px; }

/* 요일 개별 원 */
.day-circle {
  width: 32px;
  height: 32px;
  background-color: #faa52b;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
 
}
.menu-cate{margin-bottom: 120px;}
.m-menu-cate-title {margin-bottom: 40px; }
.menu-notice {background-color:#f2f2f2; margin:20px 0; padding:10px; }
@media (max-width: 1024px){
}

@media (max-width: 767px) {
	
.m-menu-type {padding:0px 20px 0;}
.m-menu-type-container { flex-direction: column; gap: 20px; }
.m-menu-type-title {  margin-bottom: 40px; }	
.m-menu-type-item { flex-basis: 100%; padding: 20px 0px; }
.m-menu-type-item h4 {font-size:24px;}
.m-menu-type-item p {font-size:15px;}	

.menu-subbanner { padding: 80px 0px 0; }
.menu-subbanner.single { padding: 20px; border-radius: 12px; }
.menu-subbanner img { width: 90px; height: 90px; }
.menu-subbanner-text .small { font-size: 15px; }
.menu-subbanner-text .large { font-size: 22px; }
.menu-item-info .title { font-size:18px; }
  /* 헤더 */
	
 .custom-table { table-layout: fixed; }	
 .custom-table colgroup col { width: auto !important; }
.custom-table .menu-title td {
   font-size:16px;
    padding: 10px 4px;
  }

  /* 기본 셀 */
  .custom-table td {
    padding: 5px 10px; font-size:14px;
    line-height: 1.4; word-break: break-word;
  }

  /* 요일(월/화/수…) */
  .custom-table td.day { font-size:16px; }
	  .custom-table colgroup col:first-child {
    width: 50px !important;   /* 요일 컬럼 강제 지정 */
  }


  /* 도트 길이 축소 (모바일에서 과하지 않게) */
  .custom-table td::after {
    width: 90%;
  }

  /* 글자가 길 때 줄바꿈 자연스럽게 */
  .custom-table td {
    word-break: keep-all;
  }	
	
	
  .menu-list {
    grid-template-columns: repeat(2, 1fr);
  }
 
	
.pc-only { display: none; }
.mo-only { display: block;}	
}