﻿@charset "utf-8";

.video-wrap {max-width:860px; margin: 0 auto}
.video-container {position:relative;padding-bottom: 56.25%;height:0;overflow:hidden;background:#000;}
.video-container iframe,
.video-container object,
.video-container embed,
.video-container video{position: absolute;top:0;left:0;width:100%;height:100%;}

/* default·gallery 스킨 — bbs 미리보기 구간만 숨김 (목록 아래 글쓰기·상세·댓글) */
/* #wrapper.site .real-cont > br,
#wrapper.site .real-cont > script,
#wrapper.site .real-cont > .buttons,
#wrapper.site .real-cont > .board-white,
#wrapper.site .real-cont > .board-view,
#wrapper.site .real-cont > .board-prev-next,
#wrapper.site .real-cont > .comment-area,
#wrapper.site .real-cont > .board-password,
#wrapper.site .real-cont > form:not(:has(.board-search)) {
  display: none !important;
} */

/* 검색 · 툴바 */
.board-search {margin-bottom: var(--space-30);}
.board-search:after {content:""; display:block; clear:both;}

#wrapper.site .board-search {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-24);
  margin-bottom: var(--space-30);
}

#wrapper.site .board-search:after {display: none;}

.board-search .total-page {
  float: left;
  color: #707070;
  font-size: var(--font-size-15);
  line-height: 1.8em;
  white-space: nowrap;
}

#wrapper.site .board-search .total-page {float: none;}

.board-search .cate {float: left; margin-left: var(--space-15);}

#wrapper.site .board-search .cate {
  float: none;
  margin-left: 0;
  margin-right: auto;
}

.board-search .cate .input,
.board-search .search .input {
  height: 44px;
  padding: var(--space-8) var(--space-15);
  font-size: var(--font-size-15);
  color: var(--color-title);
  background-color: var(--color-white);
  border: 1px solid #ddd;
}

#wrapper.site .board-search .cate .input {
  appearance: none;
  min-width: 93px;
  padding-right: var(--space-32);
  color: #707070;
  background-color: var(--color-white);
  cursor: pointer;
}

.board-search .search {float: right;}

#wrapper.site .board-search .search {
  float: none;
  display: flex;
  align-items: center;
  gap: var(--space-8);
  margin-left: auto;
}

.board-search .search input.input {width: 300px;}

#wrapper.site .board-search .search input.input {
  width: min(300px, 50vw);
  padding: var(--space-14) var(--space-20);
}

#wrapper.site .board-search .search .btn-pack.medium.dark {
  flex-shrink: 0;
  width: 100px;
  height: 44px;
  padding: 0;
  font-size: var(--font-size-16);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 44px;
  color: var(--color-white);
  background: var(--color-accent-soft);
  border: none;
  border-radius: 0;
  transition: background var(--transition-base);
}

#wrapper.site .board-search .search .btn-pack.medium.dark:hover {
  background: var(--color-accent);
}

.board-view__nav {display: flex; justify-content: center; gap: 10px; margin-top: var(--space-50);}
/* 리스트 — 테이블 */
.board-list table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 2px solid #686868;
}

.board-list table thead th {
  height: 72px;
  padding: 0 var(--space-40);
  color: var(--color-title);
  font-size: var(--font-size-16);
  font-weight: 600;
  line-height: 1.3em;
  text-align: center;
  white-space: nowrap;
  background: var(--color-submenu-bg);
  border-bottom: 1px solid #ddd;
}

.board-list table tbody td {
  height: 72px;
  padding: 0 var(--space-40);
  color: var(--color-body);
  font-size: var(--font-size-16);
  font-weight: 400;
  line-height: 1.3em;
  text-align: center;
  white-space: nowrap;
  background: transparent;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  transition: background var(--transition-base);
}

.board-list table tbody tr:hover td {
  background: rgba(99, 42, 13, 0.04);
}

.board-list table tbody td.subject {
  font-size: var(--font-size-18);
  line-height: 1.4em;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
}

.board-list table tbody td.subject a {
  color: inherit;
  text-decoration: none;
}

.board-list table tbody td.subject a:hover {
  color: var(--color-accent);
  text-decoration: none;
}

.board-list table tbody td img {display: inline-block; vertical-align: middle; margin: -.2em var(--space-2) 0;}

.board-list table colgroup col:last-child,
.board-list table thead th:last-child,
.board-list table tbody td:last-child {
  display: none;
}

.board-list .label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  height: 36px;
  padding: 0 var(--space-14);
  color: var(--color-white);
  font-size: var(--font-size-15);
  font-weight: 600;
  line-height: 1.3em;
  background: var(--color-accent-soft);
  border-radius: 100px;
}

.board-list .comment {color: var(--color-accent); font-size: .85em; font-weight: 700; line-height: 1em;}
.board-list .goods-name {color: var(--color-title); font-weight: 700;}

/* 리스트 — 모바일 */
.board-list-m {display: none; border-top: 2px solid #686868;}

.board-list-m li {
  padding: var(--space-16) 0;
  border-bottom: 1px solid #ddd;
}

.board-list-m li img {vertical-align: middle; margin: -.2em var(--space-2) 0; height: 16px;}
.board-list-m li.none {padding: var(--space-40) 0; text-align: center; color: var(--color-muted);}

.board-list-m .label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  height: 32px;
  margin: -.2em var(--space-8) 0 0;
  padding: 0 var(--space-12);
  color: var(--color-white);
  font-size: var(--font-size-13);
  font-weight: 600;
  line-height: 1.3em;
  background: var(--color-accent-soft);
  border-radius: 100px;
  vertical-align: middle;
}

.board-list-m .tit {
  color: var(--color-title);
  font-size: var(--font-size-16);
  font-weight: 500;
  line-height: 1.45em;
}

.board-list-m .tit a {color: inherit; text-decoration: none;}

.board-list-m .info {
  color: var(--color-muted);
  font-size: var(--font-size-13);
  line-height: 1.3em;
  margin-top: var(--space-8);
}

.board-list-m .info span {margin-right: var(--space-10);}

.board-list-m .comment {color: var(--color-accent); font-size: .85em; font-weight: 700; line-height: 1em;}
.board-list-m .store-name {color: var(--color-title); font-size: var(--font-size-17); font-weight: 700; line-height: 1.4em;}
.board-list-m .store-addr {font-size: var(--font-size-14); line-height: 1.3em; color: var(--color-body); margin-top: var(--space-4);}
.board-list-m .btns {margin-top: var(--space-12);}
.board-list-m .btns .btn-map {line-height: 2em; margin-right: var(--space-4);}
.board-list-m .goods-name {color: var(--color-body); font-size: var(--font-size-15); font-weight: 700; line-height: 1.3em; margin-bottom: var(--space-4);}

.simple-list {border-top:2px solid #868686;}
.simple-list .link-item {display:flex; align-items:center; padding: var(--space-35) 0; border-bottom:1px solid #ddd;}
.simple-list .link-item .num {width:18%; max-width:130px; text-align:center; font-size: var(--font-size-18); font-weight:700; line-height:1.4em; color:#a8a8a8;}
.simple-list .link-item .num .notice {display:flex; align-items:center; justify-content:center; width:56px; height:56px; margin: 0 auto; border-radius:100%; background:#e84426; color:#fff; font-weight:700; font-size: var(--font-size-14);}
.simple-list .link-item .cnt {flex:1 1 auto; min-width:0; width:1%; padding: 0 var(--space-10);}
.simple-list .link-item .cnt .tit {color:#242424; font-size: var(--font-size-20); font-weight:600; line-height:1.4em; letter-spacing:-.03em}
.simple-list .link-item .cnt .tit img {vertical-align:middle; margin-left: var(--space-4);}
.simple-list .link-item .cnt .info {display:flex; flex-wrap:wrap; gap: var(--space-8) var(--space-20); margin-top: var(--space-12); color:#878787; font-size: var(--font-size-14); font-weight:400; line-height:1.3em;}
.simple-list .link-item .arrow {width:18%; max-width:130px; text-align:center; font-size: var(--font-size-30); font-weight:700; line-height:1.4em; color:#a8a8a8;}
.simple-list .link-item:hover {background:#fafafa;}
.simple-list .link-item:hover .num {color:var(--color-primary);}
.simple-list .link-item:hover .cnt .tit {color:var(--color-primary);}
.simple-list .link-item:hover .cnt .info {color:#242424;}
.simple-list .link-item:hover .arrow {color:var(--color-primary);}
.simple-list .none {width:100%; padding: var(--space-70) 0; margin: 0; text-align:center; color:#767676; border-bottom:1px solid #ddd;}

/* gallery 스킨 — NOCE 프로모션 (bbs/gallery.php · work-r1 board-card) */
#wrapper.site .page-promotion .board-search .cate {
  display: none;
}

/* gallery-photo.php — 포토 갤러리 (bbs gallery-list → work-r1 gallery__grid) */
#wrapper.site .page-gallery .gallery {
  padding: 0;
  background: transparent;
}

#wrapper.site .page-gallery .gallery__inner {
  max-width: none;
  margin: 0;
}

#wrapper.site .page-gallery .gallery__tabs {
  margin-bottom: var(--space-48);
}

#wrapper.site .page-gallery .board-search {
  margin-bottom: var(--space-24);
}

#wrapper.site .page-gallery .gallery-list--photo {
  padding: 0;
  border: none;
  margin-bottom: var(--space-48);
}

#wrapper.site .page-gallery .gallery-list--photo ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-24);
  margin: 0;
}

#wrapper.site .page-gallery .gallery-list--photo ul li {
  width: auto;
  padding: 0;
  margin-bottom: 0;
  text-align: left;
}

#wrapper.site .page-gallery .gallery-list--photo ul li.none {
  grid-column: 1 / -1;
  padding: var(--space-80) 0;
  color: var(--color-muted);
}

#wrapper.site .page-gallery .gallery-list--photo ul li a {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: opacity var(--transition-base);
}

#wrapper.site .page-gallery .gallery-list--photo ul li a:hover {
  opacity: 0.85;
}

#wrapper.site .page-gallery .gallery-list--photo ul li .thumb {
  position: relative;
  aspect-ratio: 544/360;
  margin-bottom: 0;
  overflow: hidden;
  background: #e8e4dc;
}

#wrapper.site .page-gallery .gallery-list--photo ul li .thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transform: none;
  transition: transform var(--transition-slow);
}

#wrapper.site .page-gallery .gallery-list--photo ul li a:hover .thumb img {
  transform: scale(1.05);
}

#wrapper.site .page-gallery .gallery-list--photo ul li .thumb:after {
  display: none;
}

#wrapper.site .page-gallery .gallery-list--photo ul li .venue {
  margin: var(--space-16) 0 var(--space-4);
  font-size: var(--font-size-13);
  color: var(--color-accent);
  line-height: 1.3em;
}

#wrapper.site .page-gallery .gallery-list--photo ul li .tit {
  margin: 0;
  color: var(--color-title);
  font-size: var(--font-size-20);
  font-weight: 500;
  line-height: 1.3em;
}

#wrapper.site .page-gallery .gallery-list--photo ul li .date {
  display: none;
}

#wrapper.site .page-gallery .gallery .paginate {
  margin-top: 0;
}

#wrapper.site .gallery-list {
  padding: 0;
  border: none;
  margin-bottom: var(--space-48);
}

#wrapper.site .gallery-list ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-40) var(--space-24);
  margin: 0;
}

#wrapper.site .gallery-list ul li {
  width: auto;
  padding: 0;
  margin-bottom: 0;
  text-align: left;
}

#wrapper.site .gallery-list ul li.none {
  grid-column: 1 / -1;
  width: 100%;
  padding: var(--space-80) 0;
  margin: 0;
  text-align: center;
  color: var(--color-muted);
}

#wrapper.site .gallery-list ul li a {
  display: grid;
  grid-template-rows: auto auto auto auto;
  color: inherit;
  text-decoration: none;
  transition: opacity var(--transition-base);
}

#wrapper.site .gallery-list ul li a:hover {
  opacity: 0.75;
}

#wrapper.site .gallery-list ul li .thumb {
  position: relative;
  aspect-ratio: 544 / 274;
  padding-bottom: 0;
  margin-bottom: var(--space-32);
  overflow: hidden;
  background: #eee;
}

#wrapper.site .gallery-list ul li .thumb img {
  position: absolute;
  inset: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  min-height: 0;
  max-width: none;
  object-fit: cover;
  transition: none;
}

#wrapper.site .gallery-list ul li .thumb:after {
  display: none;
}

#wrapper.site .gallery-list ul li .tit {
  margin: 0 0 var(--space-20);
  color: var(--color-title);
  font-size: var(--font-size-18);
  font-weight: 600;
  line-height: 1.556em;
  letter-spacing: -0.02em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#wrapper.site .gallery-list ul li .txt {
  margin: 0 0 var(--space-20);
  height: 52px;
  color: var(--color-body);
  font-size: var(--font-size-16);
  line-height: 1.625em;
  letter-spacing: -0.02em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#wrapper.site .gallery-list ul li .date {
  margin: 0;
  color: #8f8f8f;
  font-size: var(--font-size-16);
  line-height: 1.625em;
  letter-spacing: -0.02em;
}

.gallery-list {padding: var(--space-25) 0 0 0; border-bottom:1px solid #ddd; border-top:2px solid #868686;}
.gallery-list ul {display:flex; flex-wrap:wrap; margin: 0 calc(-1 * var(--space-15));}
.gallery-list ul li {width:25%; padding: 0 var(--space-15); margin-bottom: var(--space-35); text-align:center;}
.gallery-list ul li.none {width:100%; padding: var(--space-70) 0; margin: 0; text-align:center; color:#767676;}
.gallery-list ul li a {display:block;}
.gallery-list ul li .thumb {position:relative; padding-bottom: 65%; margin-bottom: var(--space-12); overflow:hidden;}
.gallery-list ul li .thumb img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.gallery-list ul li .thumb:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid rgba(0,0,0,.08);}
.gallery-list ul li .tit {color:#333; font-size: var(--font-size-16); line-height:1.4em;}
.gallery-list ul li .date {color:#767676; font-size: var(--font-size-14); line-height:1.3em; margin-top: var(--space-6);}

.card-list {display:grid; grid-template-columns:repeat(3, 1fr); gap: var(--space-40); margin-bottom: var(--space-40);}
.card-list .none {grid-column: 1 / -1; width:100%; padding: var(--space-70) 0; margin: 0; text-align:center; color:#767676;}
.card-list .link-item {display:block; border:1px solid #ddd; border-radius:16px; overflow:hidden;}
.card-list .link-item .thumb {position:relative; padding-bottom: 65%; overflow:hidden;}
.card-list .link-item .thumb img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:.3s;}
.card-list .link-item .info {padding: var(--space-24);}
.card-list .link-item .info .tit {color:#333; font-size: var(--font-size-20); font-weight:700; line-height:1.4em; letter-spacing:-.03em; height:calc(1.4em * 2); overflow:hidden; text-overflow:ellipsis; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.card-list .link-item .info .txt {margin-top: var(--space-16); color:#767676; font-size: var(--font-size-16); line-height:1.5em; letter-spacing:-.03em; height:calc(1.5em * 3); overflow:hidden; text-overflow:ellipsis;  white-space:normal; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;}
.card-list .link-item .info .date {margin-top: var(--space-16); color:#767676; font-size: var(--font-size-14); line-height:1.3em;}
.card-list .link-item:hover .thumb img {transform:scale(1.05);}

.news-list {border-top:2px solid #868686;}
.news-list ul li {display:flex; padding: var(--space-20) 0; border-bottom:1px solid #ddd;}
.news-list .thumb {width:220px; margin-right: var(--space-20);}
.news-list .thumb a {display:block; position:relative; padding-bottom: 65%; overflow:hidden;}
.news-list .thumb a img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.news-list .thumb a:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid rgba(0,0,0,.08);}
.news-list .info {flex:1 1 auto; min-width:0; width:1%;}
.news-list .tit {color:#333; font-size: var(--font-size-18); font-weight:700; line-height:1.4em; max-height:1.4em; overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:nowrap;}
.news-list .txt {margin-top: var(--space-10); color:#767676; font-size: var(--font-size-16); line-height:1.5em; max-height:4.5em; overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:normal; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;}
.news-list .date {margin-top: var(--space-13); color:#767676; font-size: var(--font-size-14); line-height:1.3em;}
.news-list ul li.none {display:block; width:100%; padding: var(--space-70) 0; margin: 0; text-align:center; color:#767676;}

.event-list {padding: var(--space-40) 0 0; border-top:2px solid #868686; border-bottom:1px solid #ddd;}
.event-list ul {display:flex; flex-wrap:wrap; margin: 0 calc(-1 * var(--space-15));}
.event-list ul li {width:33.33333333%; padding: 0 var(--space-15); margin-bottom: var(--space-45); text-align:center;}
.event-list ul li a {display:block; position:relative; background:#fff;}
.event-list ul li .thumb {position:relative; height:0; padding-bottom: 55%; margin-bottom: var(--space-12); overflow:hidden;}
.event-list ul li .thumb img {position:absolute; top:50%; left:0; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.event-list ul li .thumb:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid rgba(0,0,0,.08);}
.event-list ul li .tit {color:#333; font-size: var(--font-size-16); font-weight:700; line-height:1.4em;}
.event-list ul li .date {color:#767676; font-size: var(--font-size-14); line-height:1.3em; margin-top: var(--space-6);}
.event-list ul li.none {width:100%; padding: var(--space-70) 0; margin: 0; text-align:center; color:#767676;}
.event-list ul li.ended .ended-txt {position:absolute; top:0; left:0; right:0; bottom:0; display:flex; align-items:center; color:#fff; background:rgba(0,0,0,.4);}
.event-list ul li.ended .ended-txt p {width:100%;}
.event-list ul li.ended .tit {color:#767676;}
.event-list ul li.ended .date {color:#767676;}

.faq {border-top:2px solid #868686;}
.faq ul li {border-bottom:1px solid #ddd;}
.faq ul li:last-child {margin-bottom: 0;}
.faq .tit {color:#333; font-size: var(--font-size-16); font-weight:600; line-height:1.5em;}
.faq .tit a {position:relative; display:flex; align-items:center; padding: var(--space-12) var(--space-60) var(--space-12) var(--space-12); text-decoration:none !important; transition:none;}
.faq .tit a:after {content:""; position:absolute; right:20px; top:20px; display:inline-block; width:14px; height:14px; border-right:2px solid #aaa; border-bottom:2px solid #aaa; transform:rotate(45deg);}
.faq .cnt {display:none; position:relative; padding: var(--space-23) var(--space-30) var(--space-23) var(--space-63); color:#505050;}
.faq .cnt .buttons {margin-bottom: 0;}
.faq .q {display:inline-block; margin-right: var(--space-15); flex:0 0 38px; width:38px; height:38px; text-align:center; color:#fff; font-size: var(--font-size-18); font-weight:600; line-height: 2.111em; background:var(--color-primary); border-radius:100%;}
.faq li.active {position:relative;}
.faq li.active .tit {background:#f4f4f4;}
.faq li.active .tit a:after {transform:rotate(-135deg); margin-top: var(--space-6); border-color:#555;}
.faq .none {padding: var(--space-70) 0; text-align:center; color:#999;}

.calendar-head {text-align:center; margin-bottom: var(--space-20);}
.calendar-head h3 {display:inline-block; vertical-align:middle; margin: 0 var(--space-40); color:#333; font-size: var(--font-size-33); line-height:1.15em;}
.calendar-head .cal-btn {display:inline-block; vertical-align:middle; width:46px; height:46px; overflow:hidden; text-indent:-999em; background-color:var(--color-primary); background-position:50% 50%; background-repeat:no-repeat; border-radius:100%;}
.calendar-head .cal-prev {background-image:url("../images/bbs/cal_prev.png");}
.calendar-head .cal-next {background-image:url("../images/bbs/cal_next.png");}
.calendar table {width:100%; table-layout:fixed; border-collapse:collapse; border-spacing:0px;}
.calendar table th {padding: var(--space-12) var(--space-4); text-align:center; border:1px solid #ddd; background:#eee; color:#2d2c2c; font-size: var(--font-size-16); line-height:1.4em;}
.calendar table td {height:120px; padding: var(--space-10); vertical-align:top; border:1px solid #ddd; color:#454545; font-size: var(--font-size-15); line-height:1.4em; letter-spacing:-.03em;}
.calendar table tr th:first-child,
.calendar table tr td:first-child .cal-date {color:#ea4044;}
.calendar table tr th:last-child,
.calendar table tr td:last-child .cal-date {color:#3584e7;}
.calendar ul li {position:relative; padding-left: var(--space-10); margin-bottom: var(--space-8);}
.calendar ul li:last-child {margin-bottom: 0;}
.calendar ul li:before {content:""; position:absolute; top:8px; left:0; width:4px; height:4px; background:#ddd; border-radius:100%;}
.calendar ul li a {display:block; line-height:1.4em; letter-spacing:-.03em; max-height:2.8em; overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.calendar ul li a:hover {text-decoration:underline;}
.calendar .cal-date {line-height:1em; font-weight:500; color:#767676; margin-bottom: var(--space-10);}
.calendar .cal-blank {background:#fcfcfc;}
.calendar .cal-holiday .cal-date {color:#ea4044 !important;}

/* 글작성 */
.board-white table {width:100%; border-collapse:collapse; border-spacing:0px; border-top:2px solid #868686; border-bottom:1px solid #868686; font-size: var(--font-size-16); line-height:1.5em; letter-spacing:-.03em;}
.board-white table th {padding: var(--space-12) var(--space-20); border:1px solid #eee; background:#fafafa; font-weight:700; color:#333;}
.board-white table td {padding: var(--space-12) var(--space-20); border:1px solid #eee; color:#505050;}
.board-white tr th:first-child,
.board-white tr td:first-child {border-left:0;}
.board-white tr th:last-child,
.board-white tr td:last-child {border-right:0;}
.board-white tr:last-child th,
.board-white tr:last-child td {border-bottom:0;}
.board-white .item {display:inline-block; margin-right: var(--space-16);}
.board-white .item:last-child {margin-right: 0;}
.board-white .editor {border:0; padding: var(--space-12) 0;}
.board-white .editor iframe,
.board-white .editor textarea {display:block; width:100%; vertical-align:middle;}
.board-white + .buttons {margin-top: var(--space-50);}

.board-form table {width:100%; border-collapse:collapse; border-spacing:0px; border-top:2px solid #868686; border-bottom:1px solid #868686; font-size: var(--font-size-16); line-height:1.5em; letter-spacing:-.03em;}
.board-form table th {padding: var(--space-12) var(--space-20); border:1px solid #eee; background:#fafafa; font-weight:700; color:#333;}
.board-form table td {padding: var(--space-12) var(--space-20); border:1px solid #eee; color:#505050;}
.board-form tr th:first-child,
.board-form tr td:first-child {border-left:0;}
.board-form tr th:last-child,
.board-form tr td:last-child {border-right:0;}
.board-form tr:last-child th,
.board-form tr:last-child td {border-bottom:0;}
.board-form + .buttons {margin-top: var(--space-50);}

.captcha-wrap {display:flex; gap: var(--space-10); height:44px;}
.captcha-wrap .input {width:160px; height:100%;}
#kcaptcha_image {height:100%; cursor:pointer;}

.files-upload {max-width:600px;}
.files-upload-group {padding: var(--space-20) 0; border-top:1px dashed #ddd;}
.files-upload-group:first-child {padding-top: 0; border-top:0;}
.files-upload-group:last-child {padding-bottom: 0;}
.files-upload-input {display:flex;}
.files-upload-input .input {flex:1 1 auto; min-width:0; width:1%;}
.files-upload-input .files-upload-btns {display:flex;}
.files-upload-input .files-upload-btns a {margin-left: var(--space-4);}
.files-upload-text {display:flex; margin-top: var(--space-7);}
.files-upload-text .upfiles-alt {display:flex; align-items:center; background:#fafafa; padding: 0 var(--space-15); font-size: var(--font-size-15); border:1px solid #ddd; border-right:0;}
.files-upload-text .input {flex:1 1 auto; min-width:0; width:1%;}

.form-agree {margin: var(--space-35) 0 var(--space-50);}
.form-agree h3 {color:#333; font-size: var(--font-size-18); font-weight:700; letter-spacing:-.03em; line-height:1.3em; margin-bottom: var(--space-10);}
.form-agree dd {padding: var(--space-12) 0 0 0; color:#686868; font-size: var(--font-size-15); line-height:1.5em; text-align:center;}
.form-agree .scroll-box {padding: var(--space-10); color:#767676; font-size: var(--font-size-14); font-weight:400; line-height:1.4em; background:#fafafa; border:1px solid #ddd;}
.form-agree .check {text-align:center; color:#505050; font-size: var(--font-size-16); line-height:1.5em; margin-top: var(--space-18);}
.form-agree .check a {display:inline-block; background:#fff; margin-left: var(--space-6); padding: 0 var(--space-10); font-size: var(--font-size-13); line-height: 2em; letter-spacing:-.03em; border:1px solid #ddd;}

/* 상세보기 */
.board-view {border-top:2px solid #868686;}
.board-view-tit {padding: var(--space-16) var(--space-16); border-bottom:1px solid #ddd;}
.board-view-tit h3 {color:#333; font-size: var(--font-size-20); font-weight:700; line-height:1.3em; letter-spacing:-.015em;}
.board-view-info {padding: var(--space-13) var(--space-16); color:#767676; font-size: var(--font-size-15); line-height:1.3em; border-bottom:1px solid #ddd; overflow:hidden;}
.board-view-info strong {color:#333; font-weight:700;}
.board-view-info .name {float:left; margin-right: var(--space-15);}
.board-view-info .date {float:left;}
.board-view-info .hit {float:right;}
.board-view-info .hit strong {margin-right: var(--space-5);}
.board-view-files {position:relative; text-align:right; margin-top: var(--space-10); font-size: var(--font-size-14); line-height:1.5em;}
.board-view-files > a {text-decoration:none;}
.board-view-files img {vertical-align:middle; margin-top: -.2em;}
.board-view-files .ico-down {vertical-align:middle; margin-left: var(--space-4);}
.board-view-files .num {color:#ff4e00;}
.board-view-files .fileLayer {display:none; position:absolute; margin-top: var(--space-2); right:0; text-align:left; font-size: var(--font-size-12); font-weight:400; line-height: 2em; border:1px solid #f0f0f0; background:#f7f7f7; padding: var(--space-9) var(--space-29) var(--space-9) var(--space-11); z-index:5;}
.board-view-files .fileLayer a {display:block; text-decoration:none;}
.board-view-files .fileLayer .divClose {position:absolute; display:inline-block; top:5px; right:5px; line-height:0;}
.board-view-files .fileLayer .divClose img {margin-top: 0;}
.board-view-cnt {padding: var(--space-15) var(--space-16) var(--space-60); border-bottom:1px solid #ddd;}
.board-view-cnt ul {list-style-type:disc; margin-left: 1.25em;}
.board-view-cnt ol {list-style-type:decimal; margin-left: 1em;}

/* 이전글,다음글 */
.board-prev-next {border-top:1px solid #ddd; border-bottom:1px solid #ddd; font-size: var(--font-size-16); line-height:1.5em;}
.board-prev-next dl {display:flex; padding: var(--space-12) var(--space-16);}
.board-prev-next dt {width:90px; color:#333; font-weight:700;}
.board-prev-next dt:after {content:""; display:inline-block; vertical-align:middle; margin: -.2em 0 0 var(--space-10);}
.board-prev-next dd {color:#505050; flex:1 1 auto; min-width:0; width:1%;}
.board-prev-next dd a {display:inline-block; vertical-align:top; max-width:100%; height:1.5em; overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:nowrap;}
.board-prev-next dd a:hover {text-decoration:underline;}
.board-prev-next .prev {border-bottom:1px solid #eee;}
.board-prev-next .prev dt:after {border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:5px solid #aaa;}
.board-prev-next .next dt:after {border-left:5px solid transparent; border-right:5px solid transparent; border-top:5px solid #aaa;}

/* 버튼 */
.buttons {margin: var(--space-20) 0;}
.buttons:after {content:" "; display:block; clear:both;}
.buttons .cen {text-align:center;}
.buttons .cen .btn-pack {margin: 0 var(--space-3);}
.buttons .fr {float:right;}
.buttons .fl {float:left;}
.buttons a {text-decoration:none;}
.buttons a,.buttons input {vertical-align:top;}
.buttons + .paginate {margin-top: var(--space-20);}

.btn-pack {display:inline-block;overflow:visible;position:relative;margin: 0;padding: 0 var(--space-10);background:#fafafa;color:#333;border:1px solid #ddd;text-align:center;text-decoration:none !important;vertical-align:top;white-space:nowrap;cursor:pointer;}
.btn-pack.focus {background:var(--color-primary); border:1px solid var(--color-primary); color:#fff;}
.btn-pack.dark {background:#555; border:1px solid #555; color:#fff;}
.btn-pack.dark:focus {outline-color:#f37736;}
.btn-pack.border {background:#fff; border:1px solid var(--color-primary); color:var(--color-primary);}
.btn-pack.small {height:30px;padding: 0 var(--space-15);line-height: 2.154em;font-size: var(--font-size-13);}
.btn-pack.medium {height:44px;padding: 0 var(--space-20);line-height: 2.688em;font-size: var(--font-size-16);}
.btn-pack.large {min-width:130px; height:50px;padding: 0 var(--space-30);line-height: 2.667em;font-size: var(--font-size-18);font-weight:500;}
.btn-pack.xlarge {min-width:180px; height:60px;padding: 0 var(--space-40);line-height: 2.9em;font-size: var(--font-size-20);font-weight:500;}
.btn-pack.comment {width:120px; height:90px;padding: 0;font-size: var(--font-size-20);font-weight:500;background:#fff;color:var(--color-primary);border:1px solid var(--color-primary);}

.btn-map {display:inline-block; padding: 0 var(--space-15); color:#505050; font-size: var(--font-size-14); font-weight:400; line-height: 2.286em; letter-spacing:-.03em; border-radius:30px; background:#fff; border:1px solid #505050; text-align:center; text-decoration:none !important;}
.btn-map:hover {color:#fff; background:#333; border-color:#333;}

/* 페이지목록 */
.paginate {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--space-8);
  margin-top: var(--space-48);
  text-align: center;
}

.paginate a,
.paginate strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  font-size: var(--font-size-14);
  font-weight: 400;
  line-height: 1.3em;
  color: var(--color-muted);
  text-decoration: none;
  vertical-align: middle;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 0;
  transition: color var(--transition-base), border-color var(--transition-base), background var(--transition-base);
}

.paginate strong {
  color: var(--color-white);
  background: var(--color-accent-soft);
  border-color: var(--color-accent-soft);
  font-weight: 600;
}

.paginate a:focus,
.paginate a:hover {
  color: var(--color-accent);
  border-color: var(--color-accent);
  background: var(--color-white);
}

.paginate a.direction {
  width: 48px;
  min-width: 48px;
  height: 48px;
  font-size: var(--font-size-22);
  line-height: 1.3em;
  background-image: none !important;
  margin: 0 !important;
}

.paginate a.direction span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 0;
  line-height: 1;
  text-indent: 0;
}

.paginate a.direction span::before {
  font-size: var(--font-size-22);
  line-height: 1;
}

.paginate a.direction.first span::before {content: "«";}
.paginate a.direction.prev span::before {content: "‹";}
.paginate a.direction.next span::before {content: "›";}
.paginate a.direction.last span::before {content: "»";}

.paginate a.direction.disabled {display: none;}

/* 코멘트 */
.comment-area {margin-top: var(--space-50);}
.comment-total {margin-bottom: var(--space-15); color:#333; font-size: var(--font-size-16); font-weight:400; line-height:1.3em;}
.comment-total strong {font-size:1.5em;}
.comment-write {padding: var(--space-20); border:1px solid #ddd; background:#f4f4f4;}
.comment-write .byte {font-size: var(--font-size-14); line-height:1.3em; color:#505050; letter-spacing:0; margin-bottom: var(--space-10);}
.comment-write .write {display:flex;}
.comment-write .write textarea {flex:1 1 auto; min-width:0; width:1%; height:90px; resize:none; margin-right: var(--space-15);}
.comment-item {border-bottom:1px solid #e5e5e5; padding: var(--space-20) 0;}
.comment-item.comment-reply {padding-left: var(--space-40); background:url("../images/bbs/icon_reply.png") 10px 18px no-repeat;}
.comment-box {position:relative;}
.comment-info {font-size: var(--font-size-15); font-weight:400; line-height:1.5em; margin-bottom: var(--space-2);}
.comment-info .name {font-weight:700; color:#333; margin-right: var(--space-8);}
.comment-info .date {color:#878787; font-family:"Arial",sans-serif; font-size: var(--font-size-12); letter-spacing:0;}
.comment-link {margin-top: var(--space-10); color:#878787; font-size: var(--font-size-14); font-weight:400; line-height:1.3em;}
.comment-link a:hover {text-decoration:underline;}
.comment-txt {color:#505050; font-size: var(--font-size-15); line-height:1.7em;}
.comment-ctr {position:absolute; top:0; right:0; color:#878787; font-size: var(--font-size-14); font-weight:400; line-height:1.5em;}
.comment-ctr a:hover {text-decoration:underline;}
.comment-ctr .bar {display:inline-block; width:1px; height:11px; background:#ddd; margin: 0 var(--space-5);}
.comment-input {border:1px solid #ddd; padding: var(--space-15);}
.comment-input .byte {font-size: var(--font-size-12); line-height:1.3em; color:#878787; letter-spacing:0; margin-bottom: var(--space-8);}
.comment-input textarea {display:block; width:100%; height:54px; border:0; padding: 0 !important; resize:none;}
.comment-input .btns {text-align:right; margin-top: var(--space-5);}
.comment-password {display:flex;}
.comment-password .input {flex:1 1 auto; min-width:0; width:1%; max-width:180px;}

/* 비밀번호 */
.board-password {max-width:480px; text-align:center; margin: var(--space-30) auto; padding: var(--space-50) var(--space-40); border:1px solid #ddd; border-radius:10px;}
.board-password dt {color:#333; font-size: var(--font-size-16); font-weight:700; padding-bottom: var(--space-27);}
.board-password dd {display:flex; align-items:center;}
.board-password dd label {color:#505050; font-size: var(--font-size-15); font-weight:400; margin-right: var(--space-13);}
.board-password dd .input {flex:1 1 auto; min-width:0; width:1%; margin-right: var(--space-4);}

/* 매장안내 */
.store-search {display:flex; align-items:center; width:100%; padding: var(--space-25) 8%; border:1px solid #ddd; margin-bottom: var(--space-50);}
.store-search .map-area {width:320px; margin-left: 2%; margin-right: 8%;}
.store-search .map-img {position:relative; padding-bottom: 155%;}
.store-search .map-img svg {position:absolute; top:0; left:0; width:100%; height:100%;}
.store-search .map-img svg .active {fill:#cccccc;}
.store-search .map-img .local {position:absolute; display:block; text-align:center; color:#333; padding: 0 var(--space-12); font-size: var(--font-size-14); font-weight:600; line-height: 1.714em; letter-spacing:-.03em; background:#fff; border:1px solid #333; border-radius:30px; transform:translate(-50%,-50%); z-index:2;}
.store-search .map-img .local.hover {color:var(--color-primary); background:#fff; border-color:var(--color-primary);}
.store-search .map-img .local.active {color:#fff; background:var(--color-primary); border-color:var(--color-primary);}
.store-search .map-img .local.seoul {top:17%; left:26%;}      /* 서울 */
.store-search .map-img .local.busan {top:67.2%; left:88%;}    /* 부산 */
.store-search .map-img .local.daegu {top:51%; left:76%;}      /* 대구 */
.store-search .map-img .local.incheon {top:23.5%; left:9%;}   /* 인천 */
.store-search .map-img .local.gwangju {top:67%; left:18%;}    /* 광주 */
.store-search .map-img .local.daejeon {top:46.5%; left:48%;}  /* 대전 */
.store-search .map-img .local.ulsan {top:60.5%; left:91%;}    /* 울산 */
.store-search .map-img .local.sejong {top:40.3%; left:45.3%;} /* 세종 */
.store-search .map-img .local.gyeonggi {top:27%; left:35.2%;} /* 경기 */
.store-search .map-img .local.gangwon {top:19%; left:59%;}    /* 강원 */
.store-search .map-img .local.chungbuk {top:33%; left:49%;}   /* 충북 */
.store-search .map-img .local.chungnam {top:42%; left:22%;}   /* 충남 */
.store-search .map-img .local.jeonbuk {top:56%; left:33%;}    /* 전북 */
.store-search .map-img .local.jeonnam {top:76%; left:25%;}    /* 전남 */
.store-search .map-img .local.gyeongbuk {top:42%; left:69%;}  /* 경북 */
.store-search .map-img .local.gyeongnam {top:64%; left:58%;}  /* 경남 */
.store-search .map-img .local.jeju {top:92%; left:16%;}       /* 제주 */
.store-search .search-area {flex:1 1 auto; min-width:0; width:1%;}
.store-search .search-area h3 {color:#333; font-size: var(--font-size-18); font-weight:700; line-height:1.4em; letter-spacing:-.03em; margin-bottom: var(--space-45);}
.store-search .search-area dl {display:flex; align-items:center; margin-top: var(--space-25);}
.store-search .search-area dl dt {width:90px; color:#333; font-size: var(--font-size-16); font-weight:600; line-height:1.4em; letter-spacing:-.03em;}
.store-search .search-area dl dd {display:flex; flex:1 1 auto; min-width:0; width:1%;}
.store-search .search-area input.input {width:calc(100% - 94px); margin-right: var(--space-5);}
.store-search .search-area select.input {width:calc(50% - 50px); margin-right: var(--space-5);}
.store-search .search-area .btn-pack.medium {width:90px; padding: 0;}

/* 제품 */
.product-list ul {display:flex; flex-wrap:wrap; margin: 0 calc(-1 * var(--space-13));}
.product-list ul li {width:20%; padding: 0 var(--space-13); margin-bottom: var(--space-35); text-align:center;}
.product-list ul li.none {width:100%; padding: var(--space-70) 0; margin: 0; text-align:center; color:#767676;}
.product-list ul li a {display:block;}
.product-list ul li .thumb {position:relative; padding-bottom: 100%; margin-bottom: var(--space-12); overflow:hidden;}
.product-list ul li .thumb img {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); width:auto !important; height:auto !important; max-width:100%; max-height:100%; object-fit:contain;}
.product-list ul li .thumb:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid rgba(0,0,0,.08);}
.product-list ul li .tit {color:#333; font-size: var(--font-size-16); line-height:1.4em;}
.product-list ul li .date {color:#767676; font-size: var(--font-size-14); line-height:1.3em; margin-top: var(--space-6);}

.product-summary {display:flex; margin-bottom: var(--space-40);}
.product-image {width:400px; margin-right: var(--space-40);}
.product-image .img {position:relative; padding-bottom: 100%; overflow:hidden;}
.product-image .img img {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); width:auto !important; height:auto !important; max-width:100%; max-height:100%; object-fit:contain;}
.product-image .img:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid rgba(0,0,0,.08);}
.product-info {flex:1 1 auto; min-width:0; width:1%;}
.product-info .tit {color:#333; font-size: var(--font-size-28); line-height:1.3em; padding-bottom: var(--space-20); margin-bottom: var(--space-20); border-bottom:1px solid #ddd;}
.product-info .txt {color:#505050;}
.product-detail {color:#505050; padding-bottom: var(--space-50); margin-bottom: var(--space-40); border-bottom:1px solid #ddd;}
.product-detail .tit {color:#333; font-size: var(--font-size-22); line-height:1.3em; padding-bottom: var(--space-12); margin-bottom: var(--space-20); border-bottom:1px solid #ddd;}

/* 검색결과 */
.result-top {margin-bottom: var(--space-30); color:#333; font-size: var(--font-size-20); font-weight:700; line-height:1.3em;}
.result-top .word {color:#d12a07;}
.result-top .num {color:#2e6bdb;}
.result-group {border-top:1px solid #ddd; padding: var(--space-30) 0;}
.result-group h3 {margin: 0 0 var(--space-20); color:#333; font-size: var(--font-size-18); font-weight:700; line-height:1.3em;}
.result-group h3 span {color:#7d7d7d; font-size: var(--font-size-14); font-weight:normal;}
.result-group dl {margin: 0 0 var(--space-20);}
.result-group dl dt {font-size: var(--font-size-16); line-height:1.5em; letter-spacing:-.03em; color:#1861c3;}
.result-group dl dt a:hover {text-decoration:underline;}
.result-group dl dd {margin-top: var(--space-5); font-size: var(--font-size-14); line-height:1.5em; color:#505050; max-height:3em; overflow:hidden; text-overflow:ellipsis; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.result-group dl dd.date {color:#999; font-size: var(--font-size-13);}
.result-group .gall {display:flex; flex-wrap:wrap; margin: 0 calc(-1 * var(--space-10));}
.result-group .gall li {width:200px; text-align:center; padding: 0 var(--space-10); margin-bottom: var(--space-30);}
.result-group .gall li a {display:block; text-decoration: none!important;}
.result-group .gall li .thumb {position:relative; padding-bottom: 100%; margin-bottom: var(--space-10); overflow:hidden;}
.result-group .gall li .thumb img {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); width:auto !important; height:auto !important; max-width:100%; max-height:100%; object-fit:contain;}
.result-group .gall li .thumb:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid rgba(0,0,0,.08);}
.result-group .gall li .tit {color:#333; font-size: var(--font-size-15); line-height:1.4em;}
.result-group .gall li .price {color:#f03b3b; font-size: var(--font-size-14); font-weight:700; line-height:1.3em; margin-top: var(--space-4);}
.result-group .more {text-align:right;}
.result-group .more a {font-size: var(--font-size-15); color:#767676; text-decoration:underline;}

/* --- gallery · notice · board (work-r1 sub) --- */
/* Gallery — Figma 70249-978, content 1680 */
.gallery {
  padding: 0 var(--work-gutter) var(--space-150);
  background: var(--color-bg);
}

.gallery__inner {
  width: 100%;
  max-width: var(--content-width);
  margin: 0 auto;
}

.gallery__tabs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-8);
  margin-bottom: var(--space-48);
}

.gallery__inner .board__toolbar {
  margin-bottom: var(--space-24);
}

.gallery__inner .board__filter-select {
  min-width: 93px;
}

.gallery__inner .board__pagination {
  margin-top: var(--space-48);
}

.gallery__tab {
  padding: var(--space-12) var(--space-28);
  font-size: var(--font-size-18);
  color: var(--color-muted);
  border: 1px solid transparent;
  transition: color var(--transition-base), border-color var(--transition-base);
}

.gallery__tab.is-active,
.gallery__tab:hover {
  color: var(--color-accent);
  border-color: var(--color-accent);
}

.gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-24);
}

.gallery__item {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  text-align: left;
}

.gallery__thumb {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  height: 0;
  padding-bottom: calc(75% - var(--space-48));
  overflow: hidden;
  background: #e8e4dc;
}

.gallery__thumb img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center;
  transition: transform var(--transition-slow);
}

.gallery__item:hover .gallery__thumb img {
  transform: scale(1.05);
}

.gallery__caption {
  padding: var(--space-16) 0 0;
}

.gallery__venue {
  font-size: var(--font-size-13);
  color: var(--color-accent);
  margin-bottom: var(--space-4);
}

.gallery__name {
  font-size: var(--font-size-20);
  font-weight: 500;
  color: var(--color-title);
}

.gallery__empty {
  grid-column: 1 / -1;
  padding: var(--space-80) 0;
  text-align: center;
  color: var(--color-muted);
  display: none;
}

.gallery__empty.is-visible {
  display: block;
}

/* Lightbox */
.gallery-lightbox[hidden] {
  display: none !important;
}

.gallery-lightbox:not([hidden]) {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-40);
  background: rgba(0, 0, 0, 0.88);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition-base), visibility var(--transition-base);
}

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2000;
}

.gallery-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}

.gallery-lightbox__inner {
  position: relative;
  width: min(100%, 1200px);
  max-height: calc(100vh - 80px);
}

.gallery-lightbox__img {
  width: 100%;
  max-height: calc(100vh - 160px);
  object-fit: contain;
  margin: 0 auto;
}

.gallery-lightbox__meta {
  margin-top: var(--space-20);
  text-align: center;
  color: var(--color-white);
}

.gallery-lightbox__venue {
  font-size: var(--font-size-13);
  opacity: 0.75;
  margin-bottom: var(--space-6);
}

.gallery-lightbox__title {
  font-size: var(--font-size-18);
  font-weight: 500;
}

.gallery-lightbox__close {
  position: absolute;
  top: -48px;
  right: 0;
  width: 40px;
  height: 40px;
  color: var(--color-white);
  font-size: var(--font-size-28);
  line-height: 1.3em;
}

.gnb__submenu a.is-current {
  color: var(--color-accent);
  font-weight: 600;
}

/* Notice board — list type */
.board {
  padding: 0 var(--work-gutter) var(--space-150);
  background: var(--color-bg);
}

.board__inner {
  width: 100%;
  max-width: var(--content-width);
  margin: 0 auto;
}

/* Board table — Figma 58-555 */
.board-table {
  width: 100%;
}

.board-table__head,
.board-table__row {
  display: grid;
  grid-template-columns: 100px 1fr 160px 160px;
  align-items: center;
  min-height: 72px;
}

.board-table__head {
  background: var(--color-submenu-bg);
  border-top: 2px solid #686868;
}

.board-table__head .board-table__col {
  padding: 0 var(--space-40);
  height: 72px;
  font-size: var(--font-size-16);
  font-weight: 600;
  line-height: 1.3em;
  color: var(--color-title);
  text-align: center;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
}

.board-table__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.board-table__row {
  display: grid;
  grid-template-columns: 100px 1fr 160px 160px;
  align-items: center;
  min-height: 72px;
  height: 72px;
  background: transparent;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  margin-top: calc(-1 * var(--space-1));
  transition: background var(--transition-base);
}

.board-table__row:hover {
  background: rgba(99, 42, 13, 0.04);
}

.board-table__col {
  padding: 0 var(--space-40);
  font-size: var(--font-size-16);
  line-height: 1.3em;
  color: var(--color-body);
  background: transparent;
}

.board-table__col--num {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
}

.board-table__col--title {
  font-size: var(--font-size-18);
  line-height: 1.4em;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background: transparent;
}

.board-table__col--author,
.board-table__col--date {
  text-align: center;
  white-space: nowrap;
}

.board-table__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  height: 36px;
  padding: 0 var(--space-14);
  font-size: var(--font-size-15);
  font-weight: 600;
  line-height: 1.3em;
  color: var(--color-white);
  background: var(--color-accent-soft);
  border-radius: 100px;
}

.board__summary {
  margin-bottom: var(--space-24);
  font-size: var(--font-size-14);
  color: var(--color-muted);
}

.board__summary strong {
  color: var(--color-accent);
  font-weight: 600;
}

.board__head {
  display: grid;
  grid-template-columns: 80px 1fr 120px;
  gap: var(--space-16);
  padding: var(--space-16) 0;
  border-top: 2px solid var(--color-title);
  border-bottom: 1px solid var(--color-border);
  font-size: var(--font-size-14);
  font-weight: 600;
  color: var(--color-title);
  text-align: center;
}

.board__head-title {
  text-align: left;
}

.board__list {
  border-bottom: 1px solid var(--color-border);
}

.board__item {
  display: grid;
  grid-template-columns: 80px 1fr 120px;
  gap: var(--space-16);
  align-items: center;
  padding: var(--space-20) 0;
  border-bottom: 1px solid var(--color-border);
  transition: background var(--transition-base);
}

.board__item:hover {
  background: rgba(99, 42, 13, 0.04);
}

.board__num {
  font-size: var(--font-size-14);
  color: var(--color-muted);
  text-align: center;
}

.board__title-wrap {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  min-width: 0;
}

.board__badge {
  flex-shrink: 0;
  padding: var(--space-4) var(--space-10);
  font-size: var(--font-size-11);
  font-weight: 600;
  color: var(--color-white);
  background: var(--color-accent);
}

.board__title {
  flex: 1;
  min-width: 0;
  font-size: var(--font-size-16);
  font-weight: 500;
  color: var(--color-title);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.board__date {
  flex-shrink: 0;
  font-size: var(--font-size-14);
  color: var(--color-muted);
  text-align: center;
}

.board__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-8);
  margin-top: var(--space-48);
}

.board__page-list {
  display: flex;
  gap: var(--space-4);
}

.board__page,
.board__page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  padding: 0;
  font-size: var(--font-size-14);
  color: var(--color-muted);
  border: 1px solid var(--color-border);
  background: var(--color-white);
  border-radius: 0;
  transition: color var(--transition-base), border-color var(--transition-base), background var(--transition-base);
}

.board__page-btn {
  width: 48px;
  min-width: 48px;
  height: 48px;
  padding: 0;
  font-size: var(--font-size-22);
  line-height: 1.3em;
}

.board__page-btn span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  line-height: 1.3em;
}

.board__page:hover,
.board__page-btn:not(:disabled):hover {
  color: var(--color-accent);
  border-color: var(--color-accent);
}

.board__page.is-current {
  color: var(--color-white);
  background: var(--color-accent-soft);
  border-color: var(--color-accent-soft);
  font-weight: 600;
}

.board__page-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

/* Notice detail */
.page-head--compact {
  padding-bottom: var(--space-128);
}

.board-view {
  padding: 0 var(--work-gutter);
  background: var(--color-bg);
}

.board-view__inner {
  width: 100%;
  max-width: var(--content-width);
  margin: 0 auto;
}

.board-view__head {
  padding: var(--space-32) 0 var(--space-24);
  border-top: 2px solid var(--color-title);
  border-bottom: 1px solid var(--color-border);
}

.board-view__title-wrap {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  margin-bottom: var(--space-16);
}

.board-view__badge {
  flex-shrink: 0;
  padding: var(--space-4) var(--space-10);
  font-size: var(--font-size-11);
  font-weight: 600;
  color: var(--color-white);
  background: var(--color-accent);
}

.board-view__title {
  font-size: var(--font-size-28);
  font-weight: 600;
  color: var(--color-title);
  line-height: 1.4em;
}

.board-view__date {
  font-size: var(--font-size-14);
  color: var(--color-muted);
}

.board-view__body {
  padding: var(--space-40) 0;
  font-size: var(--font-size-16);
  line-height: 1.85em;
  color: var(--color-body);
  border-bottom: 1px solid var(--color-border);
}

.board-view__body p + p {
  margin-top: var(--space-16);
}

.board-view__body strong {
  color: var(--color-title);
  font-weight: 600;
}

.board-view__foot {
  padding-top: var(--space-32);
  text-align: center;
}

/* Notice board — Figma 24017-3707, 24017-3826 */
.board {
  padding: 0 var(--work-gutter);
  background: var(--color-bg);
}

.board__inner {
  max-width: var(--content-width);
  margin: 0 auto;
}

.board__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-24);
  margin-bottom: var(--space-30);
}

.board__toolbar-left {
  display: flex;
  align-items: center;
  gap: var(--space-10);
}

.board__page-info {
  font-size: var(--font-size-15);
  line-height: 1.8em;
  color: #707070;
  white-space: nowrap;
}

.board__filter {
  position: relative;
}

.board__filter-select {
  appearance: none;
  height: 44px;
  padding: var(--space-8) var(--space-32) var(--space-8) var(--space-15);
  font-size: var(--font-size-15);
  line-height: 1.8em;
  color: #707070;
  background: var(--color-white) url("data:image/svg+xml,%3Csvg width='10' height='5' viewBox='0 0 10 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 4L9 1' stroke='%23707070' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 15px center;
  border: 1px solid #ddd;
  cursor: pointer;
}

.board__search {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  margin-left: auto;
}

.board__search-input {
  width: min(300px, 50vw);
  height: 44px;
  padding: var(--space-14) var(--space-20);
  font-size: var(--font-size-15);
  color: var(--color-title);
  background: var(--color-white);
  border: 1px solid #ddd;
}

.board__search-input::placeholder {
  color: #707070;
}

.board__search-btn {
  flex-shrink: 0;
  width: 100px;
  height: 44px;
  font-size: var(--font-size-16);
  font-weight: 500;
  letter-spacing: -0.03em;
  color: var(--color-white);
  background: var(--color-accent-soft);
  transition: background var(--transition-base);
}

.board__search-btn:hover {
  background: var(--color-accent);
}

.board__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-40) var(--space-24);
  margin-bottom: var(--space-48);
}

.board-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  transition: opacity var(--transition-base);
}

.board-card:hover {
  opacity: 0.75;
}

.board-card__thumb {
  aspect-ratio: 544/274;
  overflow: hidden;
  background: #eee;
}

.board-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.board-card__thumb--empty {
  display: flex;
  align-items: center;
  justify-content: center;
}

.board-card__thumb--empty img,
.board-card__placeholder {
  width: 60px;
  height: 60px;
  object-fit: contain;
}

.board-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}

.board-card__title {
  font-size: var(--font-size-18);
  font-weight: 600;
  line-height: 1.556em;
  letter-spacing: -0.02em;
  color: var(--color-title);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.board-card__excerpt {
  height: 52px;
  font-size: var(--font-size-16);
  line-height: 1.625em;
  letter-spacing: -0.02em;
  color: var(--color-body);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.board-card__date {
  font-size: var(--font-size-16);
  line-height: 1.625em;
  letter-spacing: -0.02em;
  color: #8f8f8f;
}

.board__empty {
  display: none;
  padding: var(--space-80) 0;
  text-align: center;
  color: var(--color-muted);
}

.board__empty.is-visible {
  display: block;
}

.board__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-12);
}

.board__page-list {
  display: flex;
  align-items: center;
  gap: var(--space-10);
}

.board__page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: var(--font-size-14);
  line-height: 1.3em;
  color: #686868;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 0;
  transition: color var(--transition-base), background var(--transition-base), border-color var(--transition-base);
}

.board__page-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  min-width: 48px;
  height: 48px;
  padding: 0;
  font-size: var(--font-size-22);
  line-height: 1.3em;
  color: #686868;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 0;
  transition: color var(--transition-base), background var(--transition-base), border-color var(--transition-base);
}

.board__page-arrow span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  line-height: 1.3em;
}

.board__page-arrow:not(:disabled):hover,
.board__page:hover {
  color: var(--color-accent);
  border-color: var(--color-accent);
}

.board__page.is-current {
  font-weight: 600;
  color: var(--color-white);
  background: var(--color-accent-soft);
  border-color: var(--color-accent-soft);
}

.board__page-arrow:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

/* Notice detail */
.page-head--compact {
  padding-bottom: var(--space-128);
}

.board-view {
  padding: 0 var(--work-gutter);
  background: var(--color-bg);
}

.board-view__inner {
  max-width: 960px;
  margin: 0 auto;
  border-top: 2px solid var(--color-title);
}

.board-view__head {
  padding: var(--space-48) 0 var(--space-32);
  border-bottom: 1px solid var(--color-border);
}

.board-view__title-wrap {
  display: flex;
  align-items: flex-start;
  gap: var(--space-12);
  margin-bottom: var(--space-16);
}

.board-view__badge {
  flex-shrink: 0;
  margin-top: var(--space-6);
  padding: var(--space-4) var(--space-10);
  font-size: var(--font-size-11);
  font-weight: 600;
  color: var(--color-white);
  background: var(--color-accent);
}

.board-view__title {
  font-size: var(--font-size-28);
  font-weight: 500;
  line-height: 1.4em;
  color: var(--color-title);
}

.board-view__date {
  font-size: var(--font-size-14);
  color: var(--color-muted);
}

.board-view__body {
  padding: var(--space-48) 0;
  font-size: var(--font-size-16);
  line-height: 1.85em;
  color: var(--color-body);
}

.board-view__body p + p {
  margin-top: var(--space-16);
}

.board-view__body strong {
  color: var(--color-title);
  font-weight: 600;
}

.board-view__foot {
  padding-top: var(--space-32);
  border-top: 1px solid var(--color-border);
  text-align: center;
}
