@charset "utf-8";

/* =============================================================
 * Under Basic Board — 보조 스타일 (board.css 이후 로드)
 * 테마 .responsive 호환 · 세부 튜닝
 * ============================================================= */

/* ─── 업체 갤러리 — 참고 레이아웃(썸네일 오버레이 + 정보패널 + 하단 버튼) ─ */
/* 목록 #bo_list 전용: 툴바(bo_btn_top) 바로 아래 빈틈 제거 + 안쪽 패딩 */
.ub-board .mbb-gallery-wrap {
	margin-top: 0;
}
.ub-board #bo_list.mbb-gallery-wrap {
	box-sizing: border-box;
}

.ub-board .mbb-gallery {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	/* </li> 와 <li> 사이 공백 텍스트가 그리드 아이템이 되어 칸이 어긋나는 현상 방지 */
	font-size: 0;
	line-height: 0;
}
.ub-board .mbb-gallery > li {
	font-size: 0.9375rem;
	line-height: 1.65;
}

/* massage-business-gallery 위젯: flex 컬럼·테마 ul 규칙에서도 그리드 유지(인라인 !important 제거 후 여기서 통합) */
.ub-board.mbg-widget-outer {
	min-width: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.ub-board.mbg-widget-outer .mbb-gallery-wrap.mbg-widget-gallery-wrap {
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
}
.ub-board.mbg-widget-outer .mbb-gallery.mbg-widget__list {
	display: grid !important;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}
.ub-board.mbg-widget-outer .mbb-gallery.mbg-widget__list > li {
	min-width: 0;
	box-sizing: border-box;
}

@media (min-width: 576px) {
	.ub-board .mbb-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.125rem;
	}
}

@media (min-width: 768px) {
	.ub-board .mbb-gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	.ub-board .mbb-gallery {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1.35rem;
	}
}

/* 업체 카드 — 힐링·커뮤니티 톤: 다층 그림자·은은한 보더 */
.ub-board .mbb-card {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--s-card, #FDFDFC);
	border-radius: 16px;
	border: 1px solid rgb(45 32 26 / 9%);
	box-shadow:
		0 1px 2px rgb(45 32 26 / 5%),
		0 12px 32px rgb(45 32 26 / 8%);
	overflow: visible;   /* 리본 뱃지가 카드 모서리에서 잘리지 않도록 */
	transition:
		box-shadow 0.38s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
		border-color 0.25s ease;
}
/* overflow:visible 전환 후 이미지 라운드 보정 — inner가 담당 */
.ub-board .mbb-card__inner {
	border-radius: 16px;
	overflow: hidden;
}

.ub-board .mbb-card:hover {
	box-shadow:
		0 2px 4px rgb(45 32 26 / 5%),
		0 20px 42px rgb(45 32 26 / 9%);
	transform: translateY(-3px);
	border-color: rgb(45 32 26 / 12%);
}

.ub-board .mbb-card--notice {
	border-color: #D4C4B0;
	box-shadow:
		0 0 0 1px rgb(184 149 106 / 35%),
		0 12px 28px rgb(45 32 26 / 7%);
}

.ub-board .mbb-card--current {
	border-color: #8B6B52;
	box-shadow: 0 0 0 2px rgb(139 107 82 / 28%);
}

/* 추천(상단고정) 카드: 1px 앰버 라인 + 부드러운 외곽 발광(레퍼런스: 얇고 고급스러운 테두리) */
.ub-board .mbb-card--pinned {
	border: 1px solid var(--mbb-pin-card-line, rgb(206 168 98 / 0.55));
	box-shadow:
		0 0 24px var(--mbb-pin-card-glow, rgb(218 175 95 / 0.22)),
		0 0 52px var(--mbb-pin-card-glow-wide, rgb(235 200 120 / 0.12)),
		0 1px 2px rgb(45 32 26 / 5%),
		0 12px 32px rgb(45 32 26 / 8%);
	background-image: linear-gradient(
		180deg,
		rgb(255 253 248 / 97%) 0%,
		var(--s-card, #FDFDFC) 22%,
		var(--s-card, #FDFDFC) 100%
	);
}

.ub-board .mbb-card--pinned:hover {
	border-color: rgb(198 158 92 / 62%);
	box-shadow:
		0 0 30px rgb(218 175 95 / 26%),
		0 0 58px rgb(235 200 120 / 14%),
		0 2px 4px rgb(45 32 26 / 5%),
		0 20px 42px rgb(45 32 26 / 9%);
	transform: translateY(-3px);
}

/* 미승인 업체: 썸네일 흐림은 관리자·작성자도 동일(방문자와 같은 비활성 ‘느낌’)
 * 클릭은 .mbb-card--pending-clickable 에서만 허용(심사용 상세·리뷰 등) */
.ub-board .mbb-card--pending {
	cursor: default;
}
.ub-board .mbb-card--pending:hover,
.ub-board .mbb-card--adexpired:hover {
	transform: none;
	box-shadow: 0 2px 10px rgb(45 32 26 / 7%);
}
.ub-board .mbb-card--pending:not(.mbb-card--pending-clickable) .mbb-card__inner,
.ub-board .mbb-card--adexpired:not(.mbb-card--pending-clickable) .mbb-card__inner {
	pointer-events: none;
	user-select: none;
}
.ub-board .mbb-card--pending .mbb-card__thumb > img,
.ub-board .mbb-card--adexpired .mbb-card__thumb > img {
	z-index: 1;
	filter: blur(6px) brightness(0.72);
	transform: scale(1.03);
}
.ub-board .mbb-card__thumb--static {
	cursor: default;
	text-decoration: none;
	color: inherit;
	/* 링크 썸네일(a)과 동일: 비율 박스가 없으면 안내 오버레이가 보이지 않음 */
	position: relative !important;
	display: block !important;
	height: 0 !important;
	padding-bottom: var(--mbb-thumb-pct, 75%) !important;
	background: linear-gradient(165deg, #FDF8F3 0%, #EBE0D4 100%);
	overflow: hidden !important;
	width: 100% !important;
	flex-shrink: 0 !important;
	font-size: 0;
	line-height: 0;
}
.ub-board .mbb-card__actions--pending {
	padding: 0.5rem 0 0;
	margin-top: 0.25rem;
}
.ub-board .mbb-card__pending-msg {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: #64748b;
	text-align: center;
}

/* 미승인: 수정하기 / 승인하기 단일 버튼 */
.ub-board .mbb-card__actions--pending-one {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.5rem;
	padding-top: 0.25rem;
}
.ub-board .mbb-card__btn--pending-single {
	width: 100%;
	justify-content: center;
	text-align: center;
}
.ub-board .mbb-card__pending-hint {
	margin: 0;
	font-size: 0.75rem;
	line-height: 1.4;
	color: #94a3b8;
	text-align: center;
}

/* 상세: 미승인·비작성자·비관리자 안내 */
.ub-board .mbb-pending-view-notice {
	margin: 1rem 0 1.25rem;
	padding: 1rem 1.125rem;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	background: #f8fafc;
	color: #475569;
	font-size: 0.9375rem;
	line-height: 1.55;
	text-align: center;
}

/* 관리자 체크: 안전 뱃스와 겹치지 않게 우측 상단 */
.ub-board .mbb-card__check {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 5;
	background: rgb(255 255 255 / 95%);
	border-radius: 8px;
	padding: 4px 6px;
	line-height: 1;
	box-shadow: 0 1px 4px rgb(45 32 26 / 11%);
}

.ub-board .mbb-card__check input {
	margin: 0;
	vertical-align: middle;
}

/* 관리자 선택 모드: 체크박스와 겹치지 않게(신규 N은 좌측 유지) */
.ub-board .mbb-card--admin .mbb-card__badge--hot,
.ub-board .mbb-card--admin .mbb-card__badge--lock,
.ub-board .mbb-card--admin .mbb-card__badge--pinned {
	right: 46px;
	left: auto;
}


.ub-board .mbb-card__inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}

/* 썸네일 링크 = 상세보기 진입 */
.ub-board a.mbb-card__thumb {
	position: relative !important;
	display: block !important;
	/* `aspect-ratio`가 테마/브라우저 조건에 따라 불안정할 때 높이가 달라지는 문제 방지 */
	/* padding-bottom 기반 비율 컨테이너에서는 height:0이 안정적입니다. */
	height: 0 !important;
	/* 화면 배너 비율은 고정(4:3 = 75%) */
	padding-bottom: var(--mbb-thumb-pct, 75%) !important;
	background: linear-gradient(165deg, #FDF8F3 0%, #EBE0D4 100%);
	overflow: hidden;
	color: inherit;
	text-decoration: none;
	width: 100% !important;
	flex-shrink: 0 !important;
	font-size: 0;
	line-height: 0;
}

.ub-board .mbb-card__thumb > img {
	/* 일부 테마/기본 스타일에서 `height:auto`/`position` 등이 덮어쓰는 케이스 방지 */
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.35s ease;
	max-width: none !important;
	min-width: 100% !important;
	min-height: 100% !important;
}

.ub-board .mbb-card:hover .mbb-card__thumb > img {
	transform: scale(1.03);
}

.ub-board .mbb-card__placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.5rem;
	color: #94a3b8;
}

/* 좌상: 안전 — board.css 와 동일 브론즈 액센트 */
.ub-board .mbb-card__safe {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 0.28rem;
	padding: 0.3rem 0.55rem;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: #fff;
	background: var(--mbb-accent-grad);
	border-radius: var(--mbb-chip-r, 8px);
	box-shadow: var(--mbb-accent-shadow-chip);
}

/* 썸네일 업체분류(안전 표시 자리 대체) */
.ub-board .mbb-card__category {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 0.28rem;
	padding: 0.3rem 0.55rem;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: #fff;
	background: var(--mbb-accent-grad);
	border-radius: var(--mbb-chip-r, 8px);
	box-shadow: var(--mbb-accent-shadow-chip);
}

.ub-board .mbb-card__category .fa {
	display: none;
}

/* 카트 아이콘 대신 퍼지는 도트 애니메이션 */
.ub-board .mbb-card__category::before {
	content: '';
	display: inline-block;
	width: 7px;
	height: 7px;
	background: rgba(255, 255, 255, 0.95);
	border-radius: 50%;
	flex-shrink: 0;
	animation: mbb-dot-ripple 1.8s ease-out infinite;
}

@keyframes mbb-dot-ripple {
	0%   { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.75); }
	65%  { box-shadow: 0 0 0 7px rgba(255, 255, 255, 0); }
	100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}

.ub-board .mbb-card__safe .fa {
	font-size: 0.75rem;
	opacity: 0.95;
}

/* 우상: HOT / NEW / 잠금 (안전과 분리) */
.ub-board .mbb-card__badge {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	padding: 0.2rem 0.45rem;
	font-size: 0.625rem;
	font-weight: 800;
	border-radius: var(--mbb-chip-r, 8px);
	line-height: 1.2;
}

.ub-board .mbb-card__badge--hot {
	background: #ef4444;
	color: #fff;
	right: 10px;
}

/* NEW: 우상 NEW 텍스트 */
.ub-board .mbb-card__badge--new {
	background: var(--mbb-accent-grad);
	color: #fff;
	box-shadow: var(--mbb-accent-shadow-chip);
}

.ub-board .mbb-card__badge--lock {
	background: rgb(30 41 59 / 76%);
	color: #fff;
}

/* 추천 태그: 상단에서 내려오는 행잉 태그 */
.ub-board .mbb-card__badge--pinned {
	position: absolute;
	top: 0;
	left: 10px;
	right: auto;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: linear-gradient(180deg, #4A2810 0%, #8B5230 40%, #C4915A 100%);
	color: #fff;
	padding: 7px 12px 11px;
	font-weight: 800;
	font-size: 0.71rem;
	letter-spacing: 0.06em;
	line-height: 1;
	border-radius: 0 0 14px 14px;
	border-left: 2px solid rgba(255,200,120,.5);
	border-right: 2px solid rgba(255,200,120,.5);
	border-top: none;
	overflow: hidden;
}

.ub-board .mbb-card__badge--pinned .fa {
	color: var(--mbb-pin-gold);
	filter: drop-shadow(0 0 4px rgb(232 200 110 / 50%));
}

/* 추천 우측일 때 HOT·잠금은 한 줄 아래 */
.ub-board .mbb-card__thumb:has(.mbb-card__badge--pinned) .mbb-card__badge--hot,
.ub-board .mbb-card__thumb:has(.mbb-card__badge--pinned) .mbb-card__badge--lock {
	top: 48px;
}

.ub-board .mbb-card__badge--reply {
	top: auto;
	bottom: 44px;
	left: 10px;
	right: auto;
	background: rgb(255 255 255 / 92%);
	color: #475569;
	font-weight: 700;
}

/* 하단 캡슐 오버레이 */
.ub-board .mbb-card__capsule {
	position: absolute;
	bottom: 10px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.28rem 0.55rem;
	font-size: 0.6875rem;
	font-weight: 600;
	color: #f8fafc;
	background: rgb(30 41 59 / 65%);
	border-radius: 999px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.ub-board .mbb-card__capsule .fa {
	font-size: 0.7rem;
	opacity: 0.9;
}

.ub-board .mbb-card__capsule-flag {
	display: inline-block;
	width: 16px;
	height: 16px;
	object-fit: contain;
	vertical-align: middle;
	border-radius: 2px;
	box-shadow: 0 1px 2px rgb(0 0 0 / 18%);
	margin-right: 0.2rem;
	flex-shrink: 0;
}

.ub-board .mbb-card__capsule--time {
	bottom: 10px;
	left: 10px;
	top: auto;
	right: auto;
	max-width: calc(100% - 20px);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ub-board .mbb-card__capsule--nation {
	color: #ffffff;
}

.ub-board .mbb-card__capsule--nation-kor {
	background: linear-gradient(165deg, #5C4336 0%, #8B6B52 38%, #A67C52 66%, #D4B896 100%);
}

.ub-board .mbb-card__capsule--nation-tha {
	background: linear-gradient(165deg, #22c55e 0%, #16a34a 42%, #0d9488 100%);
}

.ub-board .mbb-card__capsule--nation-chn {
	/* 밝은 스카이→미디엄→딥네이비: 그라데이션이 뚜렷하게 보임 */
	background: linear-gradient(165deg, #38BDF8 0%, #0369A1 42%, #0C4A6E 100%);
}

.ub-board .mbb-card__capsule--nation-rus {
	/* 밝은 라벤더→미디엄→딥퍼플: 그라데이션이 뚜렷하게 보임 */
	background: linear-gradient(165deg, #A78BFA 0%, #6D28D9 42%, #4C1D95 100%);
}

.ub-board .mbb-card__capsule--nation-jpn {
	background: linear-gradient(135deg, #be123c 0%, #9f1239 100%);
}

.ub-board .mbb-card__capsule--nation-vnm {
	background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
}

.ub-board .mbb-card__capsule--nation-phl {
	background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
}

.ub-board .mbb-card__capsule--nation-usa {
	background: linear-gradient(135deg, #1d4ed8 0%, #1e3a8a 100%);
}

.ub-board .mbb-card__capsule--hit {
	right: 10px;
}

/* 하단 흰 패널 */
.ub-board .mbb-card__panel {
	flex: 1;
	display: flex;
	flex-direction: column;
	/* 썸네일과 패널 사이 여백/하단 여백을 줄여 이미지 영역이 더 꽉 차 보이도록 */
	padding: 0.9rem;
	min-height: 0;
	background: #fff;
}

/* 비회원·타인·미승인: 하단은 그레이 톤, 문구는 흰 박스로 구분 */
.ub-board .mbb-card__panel.mbb-card__panel--visitor-pending {
	align-items: center;
	justify-content: center;
	min-height: 5.5rem;
	padding: 0.75rem 0.85rem 0.85rem;
	background: #eef2f6;
	border-top: 1px solid #e2e8f0;
}
/* 미승인 안내: 아주 연한 파란 톤 면 + 아이콘(상단 컬러 바 없음) */
.ub-board .mbb-card__pending-panel-msg {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	width: 100%;
	max-width: 100%;
	margin: 0;
	box-sizing: border-box;
	padding: 0.8rem 0.95rem 0.9rem;
	border-radius: 12px;
	background: linear-gradient(180deg, #f5f8fc 0%, #eef3f9 100%);
	box-shadow:
		0 0 0 1px rgb(203 213 225 / 45%),
		0 2px 10px rgb(45 32 26 / 5%);
}
.ub-board .mbb-card__pending-panel-msg__icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	margin-top: 0.05rem;
	border-radius: 10px;
	font-size: 1rem;
	color: #fff;
	background: linear-gradient(135deg, #6478b4 0%, #7c8ec9 100%);
	box-shadow: 0 2px 8px rgb(100 116 180 / 28%);
}
.ub-board .mbb-card__pending-panel-msg__icon .fa {
	line-height: 1;
	opacity: 0.98;
}
.ub-board .mbb-card__pending-panel-msg__text {
	flex: 1;
	min-width: 0;
	font-size: 0.8125rem;
	font-weight: 800;
	line-height: 1.5;
	color: #334155;
	letter-spacing: -0.02em;
	text-align: left;
}

/* 사이트명 줄 (연보라 박스) */
.ub-board .mbb-card__sitename {
	margin-bottom: 0.55rem;
}

.ub-board .mbb-card__sitename-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	width: 100%;
	padding: 0.45rem 0.6rem;
	background: #F5EDE4;
	border-radius: 10px;
	border: 1px solid #EBE1D4;
}

.ub-board .mbb-card__sitename-label {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: #64748b;
	white-space: nowrap;
}

.ub-board .mbb-card__sitename-label .fa {
	color: #6F7D73;
	font-size: 0.8rem;
}

.ub-board .mbb-card__sitename-value {
	font-size: 0.875rem;
	font-weight: 800;
	color: #8B6B52;
	text-align: right;
	line-height: 1.25;
	word-break: break-word;
}

.ub-board .mbb-card__regionline {
	margin: 0.2rem 0 0.35rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: #4A5650;
	line-height: 1.35;
}

.ub-board .mbb-card__regionline .fa {
	margin-left: 0.17rem;
	margin-right: 0.2rem;
	opacity: 0.85;
}

.ub-board .mbb-card__catline {
	margin: 0 0 0.35rem;
}

.ub-board .mbb-card__catpill {
	display: inline-block;
	padding: 0.12rem 0.45rem;
	font-size: 0.6875rem;
	font-weight: 700;
	border-radius: 999px;
	background: #f1f5f9;
	color: #475569;
	border: 1px solid #e2e8f0;
}

/* 총평점 */
.ub-board .mbb-card__rating {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.ub-board .mbb-card__rating-label {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: #475569;
	white-space: nowrap;
}

.ub-board .mbb-card__rating-label .fa {
	color: #eab308;
}

.ub-board .mbb-card__rating-right {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.ub-board .mbb-card__stars {
	display: inline-flex;
	gap: 2px;
	font-size: 0.8rem;
	line-height: 1;
}

.ub-board .mbb-card__stars .mbb-star--on {
	color: #facc15;
}

.ub-board .mbb-card__stars .mbb-star--off {
	color: #e5e7eb;
}

.ub-board .mbb-card__score {
	font-size: 0.8125rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	color: #0f172a;
	min-width: 1.75rem;
	text-align: right;
}

.ub-board .mbb-card__price {
	margin-top: 0.45rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}

.ub-board .mbb-card__price-label {
	font-size: 0.6875rem;
	font-weight: 900;
	color: #f43f5e;
	letter-spacing: -0.02em;
}

.ub-board .mbb-card__price-value {
	font-size: 1.05rem;
	font-weight: 1000;
	color: #0f172a;
	letter-spacing: -0.02em;
}

.ub-board .mbb-card__rule {
	height: 1px;
	margin: 0.15rem 0 0.75rem;
	background: #e5e7eb;
	border: 0;
}

/* 통계 pill */
.ub-board .mbb-card__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.4rem;
	margin-bottom: 0.65rem;
}

.ub-board .mbb-card__pill {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.2rem 0.45rem;
	font-size: 0.6875rem;
	font-weight: 600;
	color: #64748b;
	background: #f1f5f9;
	border-radius: 999px;
	border: 1px solid #e2e8f0;
}

.ub-board .mbb-card__pill .fa {
	font-size: 0.72rem;
	opacity: 0.85;
}

.ub-board .mbb-card__pill--comment {
	color: #0f766e;
	background: #ccfbf1;
	border-color: #99f6e4;
}

.ub-board .mbb-card__pill--comment .fa { color: #0f766e; opacity: 0.95; }

.ub-board .mbb-card__pill--good {
	color: #166534;
	background: #dcfce7;
	border-color: #86efac;
}

.ub-board .mbb-card__pill--good .fa { color: #166534; opacity: 0.95; }

.ub-board .mbb-card__pill--nogood {
	color: #991b1b;
	background: #fee2e2;
	border-color: #fca5a5;
}

.ub-board .mbb-card__pill--nogood .fa { color: #991b1b; opacity: 0.95; }

.ub-board .mbb-card__pill--hit {
	color: #92400e;
	background: #ffedd5;
	border-color: #fdba74;
}

.ub-board .mbb-card__pill--hit .fa { color: #92400e; opacity: 0.95; }

/* 카드: 옵션(이미지) 배지 */
.ub-board .mbb-card__pill--opt {
	color: #0f766e;
	background: #ecfeff;
	border-color: #67e8f9;
	font-weight: 900;
}

/* 카드: 관리사 국적 배지 */
.ub-board .mbb-card__pill--nation {
	color: #4A3428;
	background: #FAF6F0;
	border-color: #c4b5fd;
	font-weight: 900;
}

/* 카드: 옵션/국적 캡슐 영역 */
.ub-board .mbb-card__optpills {
	margin-top: 0.25rem;
	margin-bottom: 0.55rem;
}

/* 글쓰기: 이미지 옵션(1인실~여성전용) 버튼 */
.ub-board .ub-mbb-image-options {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.ub-board .ub-mbb-image-opt {
	margin: 0;
}

.ub-board .ub-mbb-image-opt input {
	display: none;
}

.ub-board .ub-mbb-image-opt span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.55rem 0.75rem;
	border-radius: 999px;
	background: #F0EAE2;
	color: #4A3428;
	border: 1px solid #E0D8CC;
	font-size: 0.8125rem;
	font-weight: 900;
	line-height: 1;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
	user-select: none;
}

.ub-board .ub-mbb-image-opt input:checked + span {
	background: linear-gradient(135deg, #6F7D73 0%, #8B6B52 100%);
	color: #ffffff;
	border-color: #8B6B52;
}

/* 하단 액션(상세·리뷰·점프 등) */
.ub-board .mbb-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: auto;
}

.ub-board .mbb-card__jump-form {
	flex: 1 1 calc(33.333% - 0.3rem);
	display: flex;
	margin: 0;
	min-width: 5.5rem;
}

.ub-board .mbb-card__jump-form .mbb-card__btn {
	width: 100%;
}

.ub-board .mbb-card__btn {
	flex: 1;
	display: flex;
	align-items: stretch;
	min-height: 36px;
	border-radius: 10px;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none;
	overflow: hidden;
	border: 1px solid transparent;
	transition:
		filter 0.2s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.15s ease,
		box-shadow 0.2s ease;
}

.ub-board .mbb-card__btn:active {
	transform: scale(0.98);
}

.ub-board .mbb-card__btn-txt {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0.4rem;
	white-space: nowrap;
}

.ub-board .mbb-card__btn-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0.55rem;
	border-left: 1px solid rgb(255 255 255 / 22%);
	flex-shrink: 0;
}

.ub-board .mbb-card__btn--ghost {
	background: #f1f5f9;
	border-color: #e2e8f0;
	color: #334155;
}

.ub-board .mbb-card__btn--ghost .mbb-card__btn-ico {
	border-left-color: #cbd5e1;
	background: #e8ecf1;
}

.ub-board .mbb-card__btn--primary {
	background: var(--mbb-accent-grad);
	border-color: transparent;
	color: #fff;
	box-shadow: var(--mbb-accent-shadow-btn);
}

.ub-board .mbb-card__btn--primary:hover {
	filter: brightness(1.06);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 22%),
		0 4px 18px rgb(45 32 26 / 22%);
}

/* 아이콘 칸에 별도 배경을 두면 그라데이션과 겹쳐 세로 띠처럼 보임 → 구분은 border만 */
.ub-board .mbb-card__btn--primary .mbb-card__btn-ico {
	border-left-color: rgb(255 255 255 / 28%);
	background: transparent;
}

/* 모바일: 카드 하단 버튼의 화살표 칸만 숨김(지역 필터 「전체 지역」 아이콘은 유지) */
@media (max-width: 575.98px) {
	.ub-board .mbb-card__actions .mbb-card__btn-ico {
		display: none !important;
	}
	.ub-board .mbb-card__actions .mbb-card__btn-txt {
		padding-left: 0.55rem;
		padding-right: 0.55rem;
	}
}

.ub-board .mbb-gallery-empty {
	margin-top: 2rem;
}

/* ─── 목록 / 제목 줄 세부 ─────────────────────────── */

/* ─── 지역 필터: 메인 위젯(mbg-rf)과 동일 박스 UI (목록·위젯 공통) ─── */
.ub-board .mbg-widget-region-filter-wrap.mbg-rf {
	margin: 0 0 1.25rem;
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
	position: relative;
	box-sizing: border-box;
}
.ub-board .mbg-widget-region-filter-wrap.mbg-rf::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 14px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	box-shadow: 0 1px 3px rgb(45 32 26 / 0.06);
	pointer-events: none;
	z-index: 0;
}
.ub-board .mbg-widget-region-filter-wrap.mbg-rf .mbg-rf__form {
	position: relative;
	z-index: 1;
	padding: 1rem 1.1rem 1.05rem;
	border-radius: 14px;
	box-sizing: border-box;
}
.ub-board .mbg-rf__head {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 0.9rem;
	padding-bottom: 0.8rem;
	border-bottom: 1px solid #e2e8f0;
}
.ub-board .mbg-rf__head-kicker {
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: #f1f5f9;
	color: #64748b;
	font-size: 1.05rem;
	border: 1px solid #e2e8f0;
}
.ub-board .mbg-rf__head-copy {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
	padding-top: 0.15rem;
}
.ub-board .mbg-rf__head-title {
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.3;
	color: #0f172a;
}
.ub-board .mbg-rf__head-desc {
	font-size: 0.8125rem;
	line-height: 1.45;
	color: #64748b;
	font-weight: 500;
}
/* ub-form-row 기본 음수 마진·자식 패딩 해제 */
.ub-board .mbg-rf__row.ub-mbb-region-filter__inner.ub-form-row {
	margin: 0;
	margin-left: 0;
	margin-right: 0;
	gap: 0.65rem 0.75rem;
	align-items: stretch;
}
.ub-board .mbg-rf__row.ub-mbb-region-filter__inner.ub-form-row > * {
	padding: 0;
	padding-left: 0;
	padding-right: 0;
}
.ub-board .mbg-rf__row.ub-mbb-region-filter__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
.ub-board .mbg-rf__field {
	min-width: 0;
	flex: 1 1 140px;
	display: flex;
	align-items: stretch;
}
.ub-board .mbg-rf__field--wide {
	flex: 1.35 1 200px;
}
.ub-board .mbg-rf__select.ub-select,
.ub-board select.mbg-rf__select {
	width: 100%;
	min-height: 2.75rem;
	padding: 0.55rem 2.35rem 0.55rem 0.95rem;
	font-size: 0.9375rem;
	font-weight: 600;
	color: #0f172a;
	background-color: #f8fafc;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 1rem;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	box-shadow: none;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.ub-board .mbg-rf__select.ub-select:hover,
.ub-board select.mbg-rf__select:hover {
	border-color: #cbd5e1;
	background-color: #fff;
}
.ub-board .mbg-rf__select.ub-select:focus,
.ub-board select.mbg-rf__select:focus {
	outline: none;
	border-color: #94a3b8;
	background-color: #fff;
	box-shadow: 0 0 0 2px rgb(148 163 184 / 0.25);
}
.ub-board .mbg-rf__actions.ub-mbb-region-filter__actions {
	flex: 0 0 auto;
	display: flex;
	align-items: stretch;
}
/* 전체 지역: 카드 버튼 스타일 재사용 — 셀렉트와 높이·반경 맞춤 */
.ub-board a.mbb-card__btn.mbg-rf__reset {
	flex: 0 0 auto;
	min-width: 0;
	min-height: 2.75rem;
	border-radius: 10px;
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	box-shadow: 0 1px 2px rgb(45 32 26 / 0.08);
	box-sizing: border-box;
}
.ub-board a.mbb-card__btn.mbg-rf__reset:hover {
	filter: brightness(1.04);
	box-shadow: 0 2px 8px rgb(45 32 26 / 0.12);
}
.ub-board a.mbb-card__btn.mbg-rf__reset .mbb-card__btn-txt {
	padding: 0 0.55rem 0 0.85rem;
}
.ub-board a.mbb-card__btn.mbg-rf__reset .mbb-card__btn-ico {
	min-width: 2.65rem;
	padding: 0 0.6rem;
	font-size: 0.95rem;
}
@media (max-width: 575px) {
	.ub-board .mbg-rf__actions.ub-mbb-region-filter__actions {
		flex: 1 1 100%;
	}
	.ub-board a.mbb-card__btn.mbg-rf__reset {
		width: 100%;
	}
}

/* ─── 뷰 상단: 좌측 배너 / 우측 상세 ───────────────── */
.ub-board .uv-mbb-hero {
	display: grid;
	/* 좌열: 썸네일+리뷰+문의 / 우열: 표+시설 — 참고 비율 약 60:40 */
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	gap: 1rem clamp(0.45rem, 1vw, 0.75rem);
	margin-top: 1rem;
	box-sizing: border-box;
	align-items: stretch;
	/* 이미지·상세 모두 동일 인셋(이미지 좌측 벽 붙음 방지). hero__side 패딩과 중복하지 않음 */
	padding-left: max(clamp(0.7rem, 2.6vw, 1.35rem), env(safe-area-inset-left, 0px));
	padding-right: max(clamp(0.7rem, 2.6vw, 1.35rem), env(safe-area-inset-right, 0px));
}

/* 좌열: 썸네일 전폭 + 아래 리뷰·문의 세로 스택 */
.ub-board .uv-mbb-hero__left {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	min-width: 0;
	min-height: 0;
	align-self: stretch;
}

/* 히어로 이미지 래퍼: 우측 열보다 키가 클 때 남는 세로를 썸네일이 채움 */
.ub-board .uv-mbb-hero__media-wrap {
	--uv-mbb-hero-radius: 12px;
	min-width: 0;
	min-height: 0;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	align-self: stretch;
}

.ub-board .uv-mbb-hero__media {
	position: relative;
	width: 100%;
	max-width: 100%;
	border-radius: var(--uv-mbb-hero-radius, 14px);
	overflow: hidden;
	background: linear-gradient(145deg, #F3EBE1 0%, #D9CFC4 100%);
	/* 리스트 카드 썸네일(.mbb-card__thumb, --mbb-thumb-pct 75%)과 동일 4:3 */
	aspect-ratio: 4 / 3;
	min-height: 0;
}

/* 데스크톱 2열: 썸네일 높이 + 좌·우 열이 그리드 행 전체 높이를 채워 하단 맞춤 */
@media (min-width: 992px) {
	.ub-board .uv-mbb-hero__media-wrap .uv-mbb-hero__media {
		flex: 1 1 auto;
		aspect-ratio: auto;
		min-height: clamp(200px, 22vw, 340px);
	}
	.ub-board .uv-mbb-hero__left,
	.ub-board .uv-mbb-hero__side {
		height: 100%;
		align-self: stretch;
	}
	.ub-board .uv-mbb-hero__side .uv-mbb-hero-info-card {
		flex: 1 1 auto;
		min-height: 100%;
	}
}

.ub-board .uv-mbb-hero__media img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	max-width: none !important;
	min-width: 100% !important;
	min-height: 100% !important;
}

.ub-board .uv-mbb-hero__placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3rem;
	color: #94a3b8;
}

/* 넓은 뷰포트: 이미지 열 최대 폭 확대(참고 레이아웃에 가깝게) */
@media (min-width: 1100px) {
	.ub-board .uv-mbb-hero {
		grid-template-columns: minmax(320px, min(52vw, 640px)) minmax(0, 1fr);
	}
}

/* 상세 열: 그리드 행 높이까지 늘려 좌열(이미지+리뷰+문의)과 상·하단 정렬 */
.ub-board .uv-mbb-hero__side {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-height: 0;
	align-self: stretch;
}

/* 히어로 안에서만: 옵션 뱃지 줄바꿈 + 가로·세로 중앙(카드가 늘어난 경우 여백 안에 배치) */
.ub-board .uv-mbb-hero__side .uv-mbb-options-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	gap: 0.5rem 0.65rem;
	margin-top: 0;
	margin-bottom: 0;
}

/* 좌열 리뷰·문의: flex gap으로 간격(상단 큰 margin 제거) */
.ub-board .uv-mbb-hero__left .uv-mbb-review-bar {
	margin-top: 0;
}

.ub-board .uv-mbb-hero__left .uv-mbb-hero__cta {
	margin-top: 0;
}

@media (max-width: 991px) {
	.ub-board .uv-mbb-hero {
		grid-template-columns: 1fr;
		align-items: start;
		padding-left: max(clamp(0.8rem, 4.2vw, 1.4rem), env(safe-area-inset-left, 0px));
		padding-right: max(clamp(0.8rem, 4.2vw, 1.4rem), env(safe-area-inset-right, 0px));
	}
	/* 모바일: 그리드 stretch로 좌열이 세로로 잡아당겨지지 않게 */
	.ub-board .uv-mbb-hero__left {
		align-self: start;
		height: auto;
		min-height: 0;
	}
	/* 모바일: 이미지 영역은 늘어나지 않음 — 4:3(목록 썸네일과 동일, 1:1보다 세로 짧음) */
	.ub-board .uv-mbb-hero__media-wrap {
		flex: 0 0 auto;
		align-items: flex-start;
		align-self: start;
		width: 100%;
		max-height: none;
	}
	/* 목록 .mbb-card__thumb 과 동일: padding 비율 박스 — aspect-ratio 미지원·버그 환경에서도 세로 고정 */
	.ub-board .uv-mbb-hero__media {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: none;
		height: 0 !important;
		padding-bottom: 75% !important; /* 4:3 */
		aspect-ratio: unset;
		min-height: 0 !important;
		max-height: none !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}
	.ub-board .uv-mbb-hero__media img {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
		min-width: 0 !important;
		min-height: 0 !important;
		max-width: none !important;
		max-height: none !important;
	}
	.ub-board .uv-mbb-hero__side {
		padding-top: 0.15rem;
		gap: 0.65rem;
	}

	.ub-board .uv-mbb-hero__side .uv-mbb-options-row {
		margin-bottom: 0;
	}

	/* 1열 순서: 이미지 → 리뷰 → 문의 → 상세카드 — 좌열 블록 사이 간격 */
	.ub-board .uv-mbb-hero__left {
		gap: 0.7rem;
	}
}

@media (max-width: 480px) {
	.ub-board .uv-mbb-hero {
		padding-left: max(0.85rem, env(safe-area-inset-left, 0px));
		padding-right: max(0.85rem, env(safe-area-inset-right, 0px));
	}
}

/* ─── 히어로 ↔ 본문 구분: 업체명 + 코스안내 ───────────── */
.ub-board .uv-mbb-course-head {
	display: flex;
	align-items: stretch;
	margin-top: clamp(1rem, 2.8vw, 1.5rem);
	margin-bottom: 0.65rem;
	margin-left: max(clamp(0.7rem, 2.6vw, 1.35rem), env(safe-area-inset-left, 0px));
	margin-right: max(clamp(0.7rem, 2.6vw, 1.35rem), env(safe-area-inset-right, 0px));
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid rgb(45 32 26 / 8%);
	box-shadow:
		0 1px 2px rgb(45 32 26 / 5%),
		0 10px 28px rgb(45 32 26 / 7%),
		inset 0 1px 0 rgb(255 255 255 / 88%);
	background: linear-gradient(165deg, #FDFCFA 0%, #FAF5EF 45%, #F3EBE3 100%);
}

.ub-board .uv-mbb-course-head__rail {
	width: 5px;
	flex-shrink: 0;
	background: linear-gradient(180deg, #D4B896 0%, #8B6B52 45%, #4A362C 100%);
}

.ub-board .uv-mbb-course-head__main {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	flex: 1;
	min-width: 0;
	padding: 0.8rem 0.75rem 0.8rem 0.95rem;
}

/* 코스안내 줄 오른쪽: 매니저 출근현황 */
.ub-board .uv-mbb-course-head__actions {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	padding: 0.55rem 1rem 0.55rem 0.35rem;
}

.ub-board .uv-mbb-course-head__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.38rem;
	margin: 0;
	padding: 0.42rem 0.85rem;
	border: 1px solid #D5DED9;
	border-radius: 999px;
	background: linear-gradient(180deg, #F5F8F6 0%, #E8EEEA 100%);
	box-shadow: 0 1px 2px rgb(45 32 26 / 6%);
	color: #3D4541;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.2;
	cursor: pointer;
	transition: background var(--dur-fast, 140ms) var(--ease, ease), border-color var(--dur-fast, 140ms) var(--ease, ease), transform var(--dur-fast, 140ms) var(--ease, ease);
	white-space: nowrap;
	max-width: 100%;
}

.ub-board .uv-mbb-course-head__badge:hover {
	background: linear-gradient(180deg, #E5EBE7 0%, #D5DED9 55%, #B8C4BE 100%);
	border-color: #9DAAA4;
	color: #2A302D;
}

.ub-board .uv-mbb-course-head__badge:active {
	transform: scale(0.98);
}

.ub-board .uv-mbb-course-head__badge .fa {
	font-size: 0.95em;
	opacity: 0.92;
}

.ub-board .uv-mbb-course-head__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 12px;
	background: linear-gradient(145deg, #F5EDE4 0%, #E8DFD4 100%);
	color: #8B6B52;
	font-size: 1.1rem;
	flex-shrink: 0;
	box-shadow: 0 1px 3px rgb(45 32 26 / 8%);
}

.ub-board .uv-mbb-course-head__title {
	margin: 0;
	font-size: clamp(1rem, 2.9vw, 1.22rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.35;
	color: #0f172a;
}

.ub-board .uv-mbb-course-head__name {
	color: #4A5650;
}

.ub-board .uv-mbb-course-head__name::after {
	content: ' · ';
	color: #94a3b8;
	font-weight: 700;
}

.ub-board .uv-mbb-course-head__suffix {
	font-weight: 700;
	color: #334155;
}

@media (max-width: 991px) {
	.ub-board .uv-mbb-course-head {
		margin-left: max(clamp(0.8rem, 4.2vw, 1.4rem), env(safe-area-inset-left, 0px));
		margin-right: max(clamp(0.8rem, 4.2vw, 1.4rem), env(safe-area-inset-right, 0px));
	}
}

@media (max-width: 480px) {
	.ub-board .uv-mbb-course-head {
		margin-left: max(0.85rem, env(safe-area-inset-left, 0px));
		margin-right: max(0.85rem, env(safe-area-inset-right, 0px));
		flex-wrap: wrap;
	}

	.ub-board .uv-mbb-course-head__main {
		padding: 0.7rem 0.85rem;
		gap: 0.65rem;
	}

	.ub-board .uv-mbb-course-head__icon {
		width: 2.25rem;
		height: 2.25rem;
		font-size: 1rem;
	}

	.ub-board .uv-mbb-course-head__actions {
		width: 100%;
		justify-content: flex-end;
		padding: 0 0.85rem 0.65rem;
		box-sizing: border-box;
	}
}

/* 매니저 모달: 목록은 좁게, iframe(읽기·쓰기)은 넓게 */
.ub-board.uv-mbb-review-modal.uv-mbb-manager-modal .ub-modal__dialog.uv-mbb-review-modal__dialog {
	max-width: min(520px, 96vw);
}

.ub-board.uv-mbb-review-modal.uv-mbb-manager-modal.uv-mbb-manager-modal--embed .ub-modal__dialog.uv-mbb-review-modal__dialog {
	max-width: min(920px, 98vw);
}

/* 매니저 모달 목록 — Massage-Manager-Board mmg-mag 정렬 (#mbb-manager-modal-list-scroll 전용) */
#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list {
	--mmg-modal-ink: #0f172a;
	--mmg-modal-muted: #64748b;
	--mmg-modal-line: #e2e8f0;
	--mmg-modal-accent: #8B6B52;
	--mmg-modal-mag-bg: #fafbfc;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.65rem;
	min-width: 0;
	box-sizing: border-box;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__cell {
	position: relative;
	min-width: 0;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__cell--hero {
	grid-column: 1 / -1;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__cell--with-chk {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.45rem;
	align-items: center;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__cell--with-chk .mmg-mag__card {
	min-width: 0;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__pick {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 4;
	margin: 0;
	cursor: pointer;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__cell--with-chk .mmg-mag__pick {
	position: static;
	align-self: center;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__pick input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__pick-ui {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 8px;
	background: rgb(255 255 255 / 92%);
	border: 1px solid var(--mmg-modal-line);
	box-shadow: 0 2px 8px rgb(45 32 26 / 8%);
	transition: border-color 0.15s ease, background 0.15s ease;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__pick input:focus + .mmg-mag__pick-ui {
	outline: 2px solid var(--mmg-modal-accent);
	outline-offset: 1px;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__pick input:checked + .mmg-mag__pick-ui {
	background: var(--mmg-modal-accent);
	border-color: var(--mmg-modal-accent);
	color: #fff;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__pick input:checked + .mmg-mag__pick-ui::after {
	content: '✓';
	font-size: 0.75rem;
	font-weight: 900;
	line-height: 1;
}

/* div 카드 — 테마 button 규칙 회피, 키보드 포커스 */
#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__card.mmg-modal-list__hit {
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__card.mmg-modal-list__hit:focus {
	outline: none;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__card.mmg-modal-list__hit:focus-visible {
	outline: 2px solid var(--mmg-modal-accent);
	outline-offset: 2px;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--mmg-modal-line);
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 2px 12px rgb(45 32 26 / 5%);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	padding: 10px 12px;
	box-sizing: border-box;
	gap: 0.5rem;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgb(45 32 26 / 8%);
}

/* #mbb-manager-modal 까지 붙여 테마·전역 img/flex 규칙보다 우선 */
#mbb-manager-modal #mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__card--hero {
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	min-height: 0;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	gap: 0.65rem;
}

@media (max-width: 640px) {
	#mbb-manager-modal #mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__card--hero {
		gap: 0.5rem;
		padding: 8px 10px;
	}
}

#mbb-manager-modal #mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__content {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	gap: 0.5rem;
	box-sizing: border-box;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__visual {
	position: relative;
	background: var(--mmg-modal-mag-bg);
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 10px;
}

/* 정사각 슬롯 + 비율 유지용 flex(이미지는 contain·가운데) — aspect-ratio 로 높이 붕괴 방지 */
#mbb-manager-modal #mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__card--hero .mmg-mag__visual.mmg-modal-list__visual,
#mbb-manager-modal #mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__card--hero .mmg-modal-list__visual {
	width: 3rem !important;
	min-width: 3rem !important;
	max-width: 3rem !important;
	height: 3rem !important;
	min-height: 3rem !important;
	max-height: 3rem !important;
	aspect-ratio: 1 / 1 !important;
	flex: 0 0 3rem !important;
	flex-shrink: 0 !important;
	align-self: center !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	border-radius: 8px !important;
	background-color: #f1f5f9 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	contain: layout style !important;
}

@media (max-width: 640px) {
	#mbb-manager-modal #mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__card--hero .mmg-mag__visual.mmg-modal-list__visual,
	#mbb-manager-modal #mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__card--hero .mmg-modal-list__visual {
		width: 2.75rem !important;
		min-width: 2.75rem !important;
		max-width: 2.75rem !important;
		height: 2.75rem !important;
		min-height: 2.75rem !important;
		max-height: 2.75rem !important;
		flex: 0 0 2.75rem !important;
	}
}

/* Massage-Manager-Board .mmg-mag__visual img { width:100%; height:100% } 무력화 — 원본 비율 유지(contain) */
#mbb-manager-modal #mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-modal-list__visual img.mmg-modal-list__thumb,
#mbb-manager-modal #mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list img.mmg-modal-list__thumb {
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 6px !important;
	vertical-align: middle !important;
	flex-shrink: 1 !important;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	min-height: 0;
	color: #cbd5e1;
	font-size: 1rem;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__body {
	padding: 0.15rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	flex: 1;
	min-width: 0;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__card--hero .mmg-mag__body {
	justify-content: center;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__rail {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 0.35rem;
	flex-shrink: 0;
	max-width: 42%;
	text-align: right;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__rail .mmg-mag__rail-nation,
#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__rail .mmg-mag__status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: static;
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	padding: 0.28rem 0.55rem;
	border-radius: 999px;
	line-height: 1.2;
	white-space: nowrap;
	box-shadow: 0 2px 10px rgb(45 32 26 / 12%);
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__rail-nation {
	color: #0f766e;
	background: linear-gradient(135deg, #ecfdf5 0%, #ccfbf1 100%);
	border: 1px solid #5eead4;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__kicker {
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mmg-modal-accent);
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__title {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1.3;
	color: var(--mmg-modal-ink);
	letter-spacing: -0.02em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__card--hero .mmg-mag__title {
	font-size: clamp(1rem, 2.2vw, 1.2rem);
	line-height: 1.28;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__meta {
	margin: 0;
	font-size: 0.8rem;
	color: var(--mmg-modal-muted);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.15rem 0.35rem;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__meta-hit {
	margin-left: 0.4rem;
	font-size: 0.75rem;
	color: var(--mmg-modal-muted);
	white-space: nowrap;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__meta-hit .fa {
	margin-right: 0.2rem;
	opacity: 0.85;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.45rem;
	margin: 0.15rem 0 0.25rem;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__chip {
	display: inline-flex;
	align-items: center;
	font-size: 0.7rem;
	font-weight: 700;
	color: #4A5650;
	background: #F5EDE4;
	border: 1px solid #D4C4B0;
	border-radius: 999px;
	padding: 0.12rem 0.5rem;
	line-height: 1.2;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__chip--smoke-no {
	color: #166534;
	background: #dcfce7;
	border-color: #86efac;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__chip--smoke-yes {
	color: #9a3412;
	background: #ffedd5;
	border-color: #fdba74;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__chip--smoke-ec {
	color: #5b21b6;
	background: #F0EAE2;
	border-color: #c4b5fd;
}

@keyframes mmg-modal-list-status-blink-on {
	0%,
	100% {
		box-shadow: 0 2px 8px rgb(5 150 105 / 28%);
	}
	50% {
		box-shadow: 0 3px 12px rgb(16 185 129 / 38%);
	}
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__status--on {
	background: linear-gradient(135deg, #059669, #10b981);
	color: #fff;
	animation: mmg-modal-list-status-blink-on 2.8s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
	#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__status--on {
		animation: none;
		box-shadow: 0 2px 8px rgb(5 150 105 / 28%);
	}
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__status--off {
	background: rgb(255 255 255 / 94%);
	color: #475569;
	border: 1px solid var(--mmg-modal-line);
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__status--rest {
	background: linear-gradient(135deg, #b45309, #d97706);
	color: #fff;
}

#mbb-manager-modal-list-scroll .mmg-mag.mmg-modal-list .mmg-mag__status--na {
	background: #e2e8f0;
	color: #475569;
}

/* 매니저 모달: 헤더와 첫 카드 사이 여백 */
.ub-board.uv-mbb-manager-modal .uv-mbb-manager-modal__body .uv-mbb-review-modal__scroll {
	padding-top: 0.85rem;
}

/* ─── 게시물 점프(본문 하단) — 코스헤더·리뷰바 톤과 통일 ─ */
.ub-board .uv-mbb-jump-bar {
	margin-top: 1.5rem;
	margin-bottom: 0.35rem;
}

.ub-board .uv-mbb-jump-form {
	margin: 0;
}

/* 코스안내와 달리 왼쪽 세로 띠 없음(중복 느낌 방지) */
.ub-board .uv-mbb-jump-bar__shell {
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid #e2e8f0;
	box-shadow:
		0 2px 16px rgb(45 32 26 / 5%),
		0 0 0 1px rgb(255 255 255 / 70%) inset;
	background: linear-gradient(135deg, #ffffff 0%, #f8fafc 38%, #f1f5f9 100%);
}

.ub-board .uv-mbb-jump-bar__body {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.85rem 1.1rem;
	min-width: 0;
	padding: 0.95rem 1.1rem;
}

.ub-board .uv-mbb-jump-bar__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.65rem;
	height: 2.65rem;
	border-radius: 14px;
	background: linear-gradient(145deg, #F5EDE4 0%, #EBE1D4 100%);
	color: #8B6B52;
	font-size: 1.15rem;
	flex-shrink: 0;
	box-shadow: 0 2px 8px rgb(74 86 80 / 14%);
}

.ub-board .uv-mbb-jump-bar__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.4rem;
	min-width: 0;
	flex: 1 1 12rem;
}

.ub-board .uv-mbb-jump-bar__title {
	font-size: 0.96875rem;
	font-weight: 800;
	color: #0f172a;
	letter-spacing: -0.03em;
	line-height: 1.3;
}

.ub-board .uv-mbb-jump-bar__badge {
	display: inline-flex;
	align-items: center;
	padding: 0.22rem 0.55rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.ub-board .uv-mbb-jump-bar__badge--free {
	background: #ecfdf5;
	border: 1px solid #86efac;
	color: #047857;
}

.ub-board .uv-mbb-jump-bar__badge--paid {
	background: #fffbeb;
	border: 1px solid #fcd34d;
	color: #b45309;
}

.ub-board .uv-mbb-jump-bar__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45em;
	margin-left: auto;
	padding: 0.62rem 1.15rem;
	border: none;
	border-radius: 12px;
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #fff;
	cursor: pointer;
	background: linear-gradient(165deg, #6F7D73 0%, #8B6B52 48%, #4A5650 100%);
	box-shadow:
		0 2px 10px rgb(74 86 80 / 32%),
		0 1px 0 rgb(255 255 255 / 18%) inset;
	transition:
		transform var(--dur-fast, 140ms) var(--ease, ease),
		box-shadow var(--dur-fast, 140ms) var(--ease, ease);
}

.ub-board .uv-mbb-jump-bar__submit:hover {
	transform: translateY(-1px);
	box-shadow:
		0 6px 20px rgb(74 86 80 / 35%),
		0 1px 0 rgb(255 255 255 / 22%) inset;
	color: #fff;
}

.ub-board .uv-mbb-jump-bar__submit:active {
	transform: translateY(0);
}

.ub-board .uv-mbb-jump-bar__submit:focus-visible {
	outline: 2px solid #C9B896;
	outline-offset: 2px;
}

/* 업체게시판 목록 카드 내부 점프 숨김(하단 버튼 오염 방지) */
.mbb-card .mbb-card__jump-form,
.mbb-card .uv-mbb-jump-form,
.mbb-card .uv-mbb-jump-bar__submit {
	display: none !important;
}

/* 모바일도 한 줄 가로 배치: 아이콘 + 설명(제목·뱃지) + 점프 버튼 */
@media (max-width: 575px) {
	.ub-board .uv-mbb-jump-bar__body {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		padding: 0.7rem 0.8rem;
		gap: 0.6rem 0.65rem;
	}

	.ub-board .uv-mbb-jump-bar__icon {
		width: 2.35rem;
		height: 2.35rem;
		font-size: 1rem;
	}

	.ub-board .uv-mbb-jump-bar__copy {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		align-content: center !important;
		gap: 0.3rem 0.45rem;
		flex: 1 1 0;
		min-width: 0;
	}

	.ub-board .uv-mbb-jump-bar__title {
		font-size: 0.8125rem;
		line-height: 1.25;
	}

	.ub-board .uv-mbb-jump-bar__badge {
		font-size: 0.6875rem;
		padding: 0.18rem 0.45rem;
	}

	.ub-board .uv-mbb-jump-bar__submit {
		display: inline-flex !important;
		margin-left: auto !important;
		flex-shrink: 0 !important;
		width: auto !important;
		max-width: 42%;
		min-height: 2.75rem;
		padding: 0.5rem 0.65rem;
		font-size: 0.75rem;
		white-space: nowrap !important;
		box-sizing: border-box;
	}
}

/* ─── 업체 상세 패널 (뷰): 표 + 옵션 뱃지 한 카드 ───────── */
.ub-board .uv-mbb-hero-info-card {
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #ffffff;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(48, 36, 28, 0.06);
}

/* 히어로 우열: 행 높이만큼 카드 확장, 남는 세로는 시설 옵션 구역이 채우며 뱃지는 그 안에서 세로 중앙 */
.ub-board .uv-mbb-hero__side .uv-mbb-hero-info-card {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

.ub-board .uv-mbb-hero__side .uv-mbb-hero-info-card .uv-mbb-business-detail {
	flex: 0 0 auto;
	min-width: 0;
	width: 100%;
}

.ub-board .uv-mbb-hero__side .uv-mbb-hero-info-card .uv-mbb-options-row--card {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	/* .uv-mbb-options-row 전역 margin 제거(히어로 카드 안에서만) */
	margin: 0;
	padding: 0.85rem 0.75rem;
}

.ub-board .uv-mbb-business-detail {
	display: block;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}

.ub-board .uv-mbb-info-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.ub-board .uv-mbb-info-table th,
.ub-board .uv-mbb-info-table td {
	padding: 0.62rem 0.85rem;
	vertical-align: middle;
	border-bottom: 1px solid #f1f5f9;
	/* table-layout:fixed + 좁은 열에서도 셀 배경·테두리가 끝까지 유지 */
	min-width: 0;
}

/* 대표가격 행: 마지막 줄 구분선이 안 보이는 환경 대비 명시 */
.ub-board .uv-mbb-info-table tbody tr:last-child th,
.ub-board .uv-mbb-info-table tbody tr:last-child td {
	border-bottom: 1px solid #f1f5f9;
}

.ub-board .uv-mbb-info-table th {
	width: 42%;
	max-width: 210px;
	text-align: left;
	font-weight: normal;
	background: linear-gradient(180deg, #fafbff 0%, #f8fafc 100%);
}

.ub-board .uv-mbb-th-inner {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 32px;
}

.ub-board .uv-mbb-icon {
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: #F5EDE4;
	color: #8B6B52;
	flex-shrink: 0;
}

.ub-board .uv-mbb-label {
	font-size: 0.8125rem;
	color: #64748b;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.ub-board .uv-mbb-td-value {
	text-align: right;
	font-weight: 700;
	color: #0f172a;
	font-size: 0.9rem;
	line-height: 1.45;
	letter-spacing: -0.02em;
	word-break: keep-all;
	overflow-wrap: break-word;
	white-space: normal;
}

/* 관리사 국적: 국기 + 텍스트(우측 정렬 유지) */
.ub-board .uv-mbb-td-value--nat {
	vertical-align: middle;
}

.ub-board .uv-mbb-nat-flag {
	margin-right: 0.2rem;
}

.ub-board .uv-mbb-nat-text {
	vertical-align: middle;
}

/* td에 display:flex 금지: 테이블 열·배경이 평점 행부터 깨짐 → table-cell 유지, 내부만 정렬 */
.ub-board .uv-mbb-td-value--rating {
	text-align: right;
	vertical-align: middle;
}

.ub-board .uv-mbb-td-value--rating .uv-mbb-stars {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.12rem;
	vertical-align: middle;
	max-width: 100%;
}

.ub-board .uv-mbb-td-value--rating .uv-mbb-score {
	display: inline-block;
	vertical-align: middle;
	margin-left: 0.35rem;
}

/* 레거시(다른 마크업) 호환 */
.ub-board .uv-mbb-value {
	color: #0f172a;
	font-weight: 700;
	letter-spacing: -0.02em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ub-board .uv-mbb-detail-row {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	min-height: 38px;
}

/* 표 아래 시설 옵션(히어로 카드 안 패딩은 상위 선택자에서 덮어씀) */
.ub-board .uv-mbb-options-row--card {
	margin: 0;
	padding: 0.65rem 0.75rem 0.72rem;
	border-top: none;
	background: linear-gradient(180deg, #fdfdff 0%, #fafbff 100%);
}

@media (max-width: 575px) {
	.ub-board .uv-mbb-info-table th {
		width: 46%;
		padding-left: 0.7rem;
		padding-right: 0.45rem;
	}
	.ub-board .uv-mbb-info-table td {
		padding-left: 0.45rem;
		padding-right: 0.7rem;
	}
	.ub-board .uv-mbb-td-value {
		font-size: 0.875rem;
	}
}

/* 리뷰 바 아래: 쪽지·전화 (2열 그리드, 버튼 하나면 전체 폭) */
.ub-board .uv-mbb-hero__cta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem;
	min-width: 0;
}

.ub-board .uv-mbb-hero__cta > .ub-btn.uv-mbb-contact-strip__btn {
	min-width: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	padding: 0.65rem 0.85rem;
	font-size: 0.875rem;
	font-weight: 600;
	min-height: 46px;
	box-sizing: border-box;
	border-radius: var(--uv-mbb-hero-radius, 12px);
}

.ub-board .uv-mbb-hero__cta > .ub-btn.uv-mbb-contact-strip__btn:only-child {
	grid-column: 1 / -1;
}

.ub-board .uv-mbb-hero__cta > .ub-btn.uv-mbb-contact-strip__btn--call {
	font-weight: 700;
}

.ub-board .uv-mbb-safe-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.6rem;
	border-radius: 999px;
	background: #ecfdf5;
	border: 1px solid #86efac;
	color: #065f46;
	font-weight: 800;
	font-size: 0.8125rem;
}

.ub-board .uv-mbb-stars .mbb-star--on { color: #facc15; }
.ub-board .uv-mbb-stars .mbb-star--off { color: #e5e7eb; }
.ub-board .mbb-star--half { color: #facc15; }
.ub-board .uv-mbb-score {
	margin-left: 0.35rem;
	color: #8B6B52;
	font-weight: 900;
}

/* 리뷰 별점 배지: 5개 별 + 숫자 (모달 목록·상세 공통) */
.ub-board .uv-mbb-score-badge {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.4rem;
	max-width: 100%;
}

.ub-board .uv-mbb-score-badge__stars {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	line-height: 1;
	flex-shrink: 0;
}

.ub-board .uv-mbb-score-badge__stars .fa {
	font-size: 0.72rem;
	vertical-align: middle;
}

/* 배지 안 별은 .uv-mbb-stars 밖에 있어서 색 규칙이 비어 있음 — 테마 기본(검정) 무력화 */
.ub-board .uv-mbb-score-badge__stars .mbb-star--on {
	color: #fbbf24 !important;
}

.ub-board .uv-mbb-score-badge__stars .mbb-star--half {
	color: #fbbf24 !important;
}

.ub-board .uv-mbb-score-badge__stars .mbb-star--off {
	color: #e5e7eb !important;
}

.ub-board .uv-mbb-score-badge__value {
	display: inline-flex;
	align-items: baseline;
	gap: 0.08rem;
	padding: 0.18rem 0.45rem 0.2rem;
	border-radius: 999px;
	background: linear-gradient(135deg, #F5EDE4 0%, #EBE1D4 100%);
	border: 1px solid #D4C4B0;
	box-shadow: 0 1px 0 rgb(255 255 255 / 80%) inset;
}

.ub-board .uv-mbb-score-badge__num {
	font-size: 0.8125rem;
	font-weight: 900;
	letter-spacing: -0.03em;
	color: #4A3428;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.ub-board .uv-mbb-score-badge__den {
	font-size: 0.65rem;
	font-weight: 700;
	color: #6F7D73;
	opacity: 0.9;
}

/* 목록 한 줄용 (작게) */
.ub-board .uv-mbb-score-badge--sm {
	gap: 0.28rem;
}

.ub-board .uv-mbb-score-badge--sm .uv-mbb-score-badge__stars .fa {
	font-size: 0.62rem;
}

.ub-board .uv-mbb-score-badge--sm .uv-mbb-score-badge__num {
	font-size: 0.75rem;
}

.ub-board .uv-mbb-score-badge--sm .uv-mbb-score-badge__value {
	padding: 0.12rem 0.38rem 0.14rem;
}

.ub-board .uv-mbb-score-badge--sm .uv-mbb-score-badge__den {
	font-size: 0.6rem;
}

/* 상세 상단 (크게) */
.ub-board .uv-mbb-score-badge--lg {
	gap: 0.55rem;
}

.ub-board .uv-mbb-score-badge--lg .uv-mbb-score-badge__stars .fa {
	font-size: 0.95rem;
}

.ub-board .uv-mbb-score-badge--lg .uv-mbb-score-badge__num {
	font-size: 1.125rem;
}

.ub-board .uv-mbb-score-badge--lg .uv-mbb-score-badge__value {
	padding: 0.35rem 0.65rem 0.38rem;
	border-radius: 12px;
}

.ub-board .uv-mbb-score-badge--lg .uv-mbb-score-badge__den {
	font-size: 0.72rem;
}

/* 모달 상세 헤더: 점수 과대 방지, 별은 읽기 쉬운 중간 크기 */
.ub-board .uv-mbb-score-badge--detail {
	gap: 0.38rem;
}

.ub-board .uv-mbb-score-badge--detail .uv-mbb-score-badge__stars .fa {
	font-size: 0.78rem;
}

.ub-board .uv-mbb-score-badge--detail .uv-mbb-score-badge__num {
	font-size: 0.875rem;
}

.ub-board .uv-mbb-score-badge--detail .uv-mbb-score-badge__value {
	padding: 0.22rem 0.5rem 0.24rem;
	border-radius: 10px;
}

.ub-board .uv-mbb-score-badge--detail .uv-mbb-score-badge__den {
	font-size: 0.65rem;
}

/* ─── 옵션 아이콘 바 ─────────────────────────────── */
.ub-board .uv-mbb-options-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	margin-top: 0.35rem;
	margin-bottom: 0.55rem;
}

.ub-board .uv-mbb-opt {
	min-width: 0;
	max-width: 60px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.28rem;
	padding: 0.4rem 0.55rem;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	background: #ffffff;
}

.ub-board .uv-mbb-opt i {
	font-size: 1.15rem;
	line-height: 1;
}

.ub-board .uv-mbb-opt span {
	font-size: 0.75rem;
	font-weight: 800;
	color: #0f172a;
	white-space: nowrap;
}

.ub-board .uv-mbb-opt--pink i { color: #f43f5e; }
.ub-board .uv-mbb-opt--blue i { color: #3b82f6; }
.ub-board .uv-mbb-opt--teal i { color: #10b981; }
.ub-board .uv-mbb-opt--orange i { color: #f97316; }
.ub-board .uv-mbb-opt--violet i { color: #8b5cf6; }
.ub-board .uv-mbb-opt--sky i { color: #0ea5e9; }
.ub-board .uv-mbb-opt--amber i { color: #f59e0b; }
.ub-board .uv-mbb-opt--red i { color: #ef4444; }

/* 리뷰: 개수 안내 + 작성 버튼을 한 덩어리로 */
.ub-board .uv-mbb-review-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem 1rem;
	margin-top: 1.28rem;
	padding: 0.65rem 0.95rem;
	background: linear-gradient(135deg, #f8fafc 0%, #F5EDE4 100%);
	border: 1px solid #e2e8f0;
	border-radius: 12px;
}

.ub-board .uv-mbb-review-bar__meta {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: #64748b;
	line-height: 1.35;
	flex: 1 1 200px;
	min-width: 0;
}

.ub-board .uv-mbb-review-bar__meta .fa {
	color: #8B6B52;
	font-size: 1rem;
	flex-shrink: 0;
}

.ub-board .uv-mbb-review-bar__meta strong {
	color: #8B6B52;
	font-weight: 800;
}

.ub-board .uv-mbb-review-bar__btn {
	flex-shrink: 0;
}

/* 리뷰 전체보기 + 리뷰 작성 나란히 */
.ub-board .uv-mbb-review-bar__actions {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	flex-shrink: 0;
}

/* 목록 카드: 리뷰보기 버튼(앵커와 동일 레이아웃) */
.ub-board button.mbb-card__btn {
	cursor: pointer;
	font-family: inherit;
	margin: 0;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	/* 브라우저 기본 버튼 내부 하이라이트·테두리로 화살표 칸이 얼룩져 보이는 것 방지 */
	-webkit-tap-highlight-color: transparent;
}
.ub-board button.mbb-card__btn::-moz-focus-inner {
	border: 0;
	padding: 0;
}

/* 목록 전용 리뷰 모달: 업체 소개 + 리뷰 구역 제목 */
.ub-board.uv-mbb-review-modal.uv-mbb-review-modal--list-context .uv-mbb-review-modal__post-head {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--t-base, #0f172a);
	margin: 0 0 0.5rem;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid var(--b-default, #e2e8f0);
}
.ub-board.uv-mbb-review-modal.uv-mbb-review-modal--list-context .uv-mbb-review-modal__post-head--reviews {
	margin-top: 1.25rem;
}
.ub-board.uv-mbb-review-modal.uv-mbb-review-modal--list-context .uv-mbb-review-modal__post {
	margin-bottom: 0;
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--t-medium, #334155);
}
.ub-board.uv-mbb-review-modal.uv-mbb-review-modal--list-context .uv-mbb-review-modal__foot--list-only {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	justify-content: space-between;
	margin-top: var(--sp-3, 0.75rem);
	padding-top: var(--sp-3, 0.75rem);
	border-top: 1px solid var(--b-subtle, #f1f5f9);
}
/* 보라 배경 위 라벨·아이콘 흰색(테마에서 글자색이 먹히지 않는 경우 대비) */
.ub-board.uv-mbb-review-modal.uv-mbb-review-modal--list-context .uv-mbb-review-modal__foot--list-only #mbb-list-modal-view-link.ub-btn--primary {
	color: #fff !important;
}
.ub-board.uv-mbb-review-modal.uv-mbb-review-modal--list-context .uv-mbb-review-modal__foot--list-only #mbb-list-modal-view-link.ub-btn--primary .fa {
	color: #fff !important;
}
.ub-board.uv-mbb-review-modal.uv-mbb-review-modal--list-context .uv-mbb-review-modal__foot--list-only #mbb-list-modal-view-link.ub-btn--primary:hover,
.ub-board.uv-mbb-review-modal.uv-mbb-review-modal--list-context .uv-mbb-review-modal__foot--list-only #mbb-list-modal-view-link.ub-btn--primary:focus-visible {
	color: #fff !important;
}

/* 매니저 모달 하단「매니저 등록」— 동일하게 흰 글자(아이디 선택자 없어서 리뷰 링크 규칙이 안 먹던 문제) */
.ub-board.uv-mbb-review-modal.uv-mbb-review-modal--list-context .uv-mbb-review-modal__foot--list-only #mbb-manager-modal-register-btn.ub-btn--primary {
	color: #fff !important;
}
.ub-board.uv-mbb-review-modal.uv-mbb-review-modal--list-context .uv-mbb-review-modal__foot--list-only #mbb-manager-modal-register-btn.ub-btn--primary .fa {
	color: #fff !important;
}
.ub-board.uv-mbb-review-modal.uv-mbb-review-modal--list-context .uv-mbb-review-modal__foot--list-only #mbb-manager-modal-register-btn.ub-btn--primary:hover,
.ub-board.uv-mbb-review-modal.uv-mbb-review-modal--list-context .uv-mbb-review-modal__foot--list-only #mbb-manager-modal-register-btn.ub-btn--primary:focus-visible {
	color: #fff !important;
}

/* 뷰: 리뷰 목록 모달(이전과 동일 — .ub-board.uv-mbb-review-modal 로 토큰·스코프 복원) */
.ub-board.uv-mbb-review-modal .ub-modal__dialog.uv-mbb-review-modal__dialog {
	max-width: min(520px, 96vw);
	width: 100%;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__body {
	padding-top: 0;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__scroll {
	max-height: min(52vh, 420px);
	overflow-y: auto;
	margin: 0 calc(var(--sp-5) * -1);
	padding: 0 var(--sp-5);
	-webkit-overflow-scrolling: touch;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__item {
	border-top: 1px dashed #e2e8f0;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__item:first-child {
	border-top: 0;
}

/* 목록 번호(링크 아님) + 본문 행 */
.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__item-row {
	display: flex;
	align-items: center;
	gap: 0.4rem 0.55rem;
	width: 100%;
	box-sizing: border-box;
}

/* 목록 순번 — 총 건수·별점 pill과 톤 맞춘 미니 박스 */
.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__index {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.75rem;
	min-height: 1.75rem;
	padding: 0.2rem 0.38rem;
	box-sizing: border-box;
	border: 1px solid #D4C4B0;
	border-radius: 9px;
	background: linear-gradient(165deg, #F5EDE4 0%, #EBE1D4 55%, #E8DFD4 100%);
	box-shadow:
		0 1px 0 rgb(255 255 255 / 0.85) inset,
		0 1px 2px rgb(74 86 80 / 0.08);
	color: #4A5650;
	font-size: 0.6875rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
	text-align: center;
	user-select: none;
	pointer-events: none;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__item-row .uv-mbb-review-modal__link,
.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__item-row .uv-mbb-review-modal__static {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__toprow {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.5rem 0.75rem;
	width: 100%;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__toprow .uv-mbb-review-modal__title {
	flex: 1 1 auto;
	min-width: 0;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__toprow .uv-mbb-review-modal__score {
	flex: 0 0 auto;
	align-self: flex-start;
	max-width: 48%;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__static {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.35rem;
	padding: 0.7rem 0;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__link {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.35rem;
	padding: 0.7rem 0;
	color: inherit;
	text-decoration: none;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__link:hover .uv-mbb-review-modal__title {
	color: #8B6B52;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__title {
	font-size: 0.875rem;
	font-weight: 700;
	color: #0f172a;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.45rem;
	font-size: 0.8125rem;
	color: #64748b;
	line-height: 1.5;
	margin-top: 0.05rem;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__meta-sep {
	color: #cbd5e1;
	font-weight: 400;
	user-select: none;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__who,
.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__date {
	font-size: 0.78rem;
	font-weight: 600;
	color: #64748b;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__empty {
	margin: 0;
	font-size: 0.875rem;
	color: #94a3b8;
	padding: 0.5rem 0 0.25rem;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__foot {
	margin: 0.75rem 0 0;
	padding-top: 0.65rem;
	border-top: 1px solid #e2e8f0;
	font-size: 0.8125rem;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.55rem 0.75rem;
}

/* 총 리뷰 건수 — 박스형, 링크 아님 */
.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__total-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.42rem 0.7rem;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	box-shadow: 0 1px 2px rgb(45 32 26 / 5%);
	color: #64748b;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.2;
	user-select: none;
	pointer-events: none;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__total-badge strong {
	color: #1e293b;
	font-weight: 800;
	margin: 0 0.12rem;
	font-variant-numeric: tabular-nums;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__foot a {
	color: #8B6B52;
	font-weight: 700;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__foot--with-delete {
	justify-content: space-between;
	text-align: left;
}
.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__foot-actions {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}
.ub-board.uv-mbb-review-modal .uv-mbb-bulk-pick {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	margin-right: 0.1rem;
}
.ub-board.uv-mbb-review-modal .uv-mbb-bulk-pick input {
	width: 1rem;
	height: 1rem;
	cursor: pointer;
}

/* 리뷰 모달: 헤더(뒤로·제목·닫기)
   뒤로 버튼이 [hidden]이면 display:none → 그리드 자식이 2개만 남아 닫기가 제목 옆 열에 붙는 문제 방지:
   3열 고정(좌·중·우) + 각 자식에 grid-column 명시 */
.ub-board.uv-mbb-review-modal .ub-modal__header.uv-mbb-review-modal__header {
	display: grid !important;
	grid-template-columns: 40px minmax(0, 1fr) 40px;
	align-items: center;
	column-gap: 0.35rem;
	row-gap: 0.25rem;
	justify-items: stretch;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__back {
	grid-column: 1;
	grid-row: 1;
	justify-self: center;
	align-self: center;
	background: rgb(255 255 255 / 22%);
	border: 0;
	color: #fff;
	width: 36px;
	height: 36px;
	border-radius: var(--r-full, 9999px);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background var(--dur-fast, 140ms) var(--ease, ease);
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__back:hover {
	background: rgb(255 255 255 / 35%);
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__heading {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	text-align: center;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.35;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* 닫기는 항상 오른쪽(3열) — board.css flex 레이아웃과 무관하게 고정 */
.ub-board.uv-mbb-review-modal .ub-modal__header.uv-mbb-review-modal__header > .ub-modal__close {
	grid-column: 3;
	grid-row: 1;
	justify-self: center;
	align-self: center;
	margin: 0;
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	min-width: 36px;
}

/* 목록 행: 링크 대신 버튼 */
.ub-board.uv-mbb-review-modal button.uv-mbb-review-modal__link,
.ub-board.uv-mbb-review-modal a.uv-mbb-review-modal__link {
	width: 100%;
	text-align: left;
	border: 0;
	background: none;
	padding: 0.7rem 0;
	cursor: pointer;
	font: inherit;
	color: inherit;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__item-row button.uv-mbb-review-modal__link,
.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__item-row a.uv-mbb-review-modal__link {
	width: auto;
}

.ub-board.uv-mbb-review-modal button.uv-mbb-review-modal__link:hover .uv-mbb-review-modal__title,
.ub-board.uv-mbb-review-modal a.uv-mbb-review-modal__link:hover .uv-mbb-review-modal__title {
	color: #8B6B52;
}

/* 본문 보기 — 작성자·날짜(왼쪽) + 별점(오른쪽) 한 줄 */
.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__detail-meta {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 0.75rem;
	margin-bottom: 0.85rem;
	margin-top: 0.1rem;
	padding: 0.75rem 0.15rem 0.8rem;
	border-bottom: 1px solid #e2e8f0;
}

/* 상세 — 본문 아래 글수정·삭제, 오른쪽 정렬 */
.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__detail-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.5rem;
	margin: 0.85rem 0 0.25rem;
	padding: 0.65rem 0.15rem 0;
	border-top: 1px solid #f1f5f9;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__detail-scoreblock {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: 0 0 auto;
	max-width: min(55%, 220px);
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__detail-subline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	font-size: 0.8125rem;
	color: #64748b;
	font-weight: 600;
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.45;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__detail-sep {
	color: #cbd5e1;
	font-weight: 400;
	user-select: none;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__detail-author {
	color: #475569;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__detail-date {
	color: #94a3b8;
	font-weight: 600;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__detail-content {
	font-size: 0.875rem;
	line-height: 1.55;
	color: #0f172a;
	word-break: break-word;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__detail-content img {
	max-width: 100%;
	height: auto;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__secret-msg,
.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__empty-inline {
	margin: 0;
	font-size: 0.875rem;
	color: #94a3b8;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__scroll--detail {
	max-height: min(58vh, 480px);
}

/* 작성: 넓은 다이얼로그 + iframe(글쓰기 폼 가로 공간 확보, 이중 여백 최소화) */
.ub-board.uv-mbb-review-modal.uv-mbb-review-modal--write .ub-modal__dialog.uv-mbb-review-modal__dialog {
	max-width: min(900px, 99vw);
}

.ub-board.uv-mbb-review-modal.uv-mbb-review-modal--write .ub-modal__body.uv-mbb-review-modal__body {
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 0;
}

.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__iframe {
	width: 100%;
	min-height: min(72vh, 680px);
	border: 0;
	display: block;
	background: #ffffff;
}

@media (max-width: 575px) {
	.ub-board.uv-mbb-review-modal .uv-mbb-review-modal__iframe {
		min-height: min(65vh, 560px);
	}
}

.ub-board .uv-mbb-review-list {
	margin-top: 0.55rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #ffffff;
}

.ub-board .uv-mbb-review-list__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.45rem;
}

.ub-board .uv-mbb-review-list__head strong {
	font-size: 0.86rem;
	color: #334155;
}

.ub-board .uv-mbb-review-list__more {
	font-size: 0.75rem;
	font-weight: 700;
	color: #8B6B52;
}

.ub-board .uv-mbb-review-list__items {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ub-board .uv-mbb-review-list__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
	padding: 0.42rem 0;
	border-top: 1px dashed #e2e8f0;
}

.ub-board .uv-mbb-review-list__item:first-child {
	border-top: 0;
}

.ub-board .uv-mbb-review-list__title {
	font-size: 0.8rem;
	color: #1e293b;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex: 1;
	min-width: 0;
}

.ub-board .uv-mbb-review-list__meta {
	display: inline-flex;
	align-items: center;
	gap: 0.42rem;
	font-size: 0.72rem;
	color: #64748b;
	flex-shrink: 0;
}

.ub-board .uv-mbb-review-list__score {
	color: #8B6B52;
	font-weight: 700;
}

.ub-board .uv-mbb-review-list__empty {
	font-size: 0.78rem;
	color: #94a3b8;
	padding: 0.25rem 0 0.1rem;
}

/* 읽은 글 처리 */
.ub-board .ubr__link:visited { color: #8b8fa8; }

/* 공지·열람 행 제목은 항상 진하게 */
.ub-board .ubr--notice .ubr__link {
	color: #5C4336;   /* 공지: 브론즈 진한 톤으로만 살짝 강조 */
	font-weight: 700;
}
.ub-board .ubr--current .ubr__link { color: #0f172a; font-weight: 600; }

/* 데스크탑 제목 말줄임 */
@media (min-width: 768px) {
	.ub-board .ubr__link {
		max-width: 520px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

/* ─── 게시글 보기 세부 ────────────────────────────── */

/* 본문 산문 스타일 */
.ub-board #bo_v_con .view-content {
	font-size: 1rem;
	line-height: 1.85;
	color: #1e293b;
	word-break: break-word;
}
.ub-board #bo_v_con .view-content p { margin: 0 0 1em; }
.ub-board #bo_v_con .view-content h2,
.ub-board #bo_v_con .view-content h3 { margin-top: 1.5em; font-weight: 700; }
.ub-board #bo_v_con .view-content blockquote {
	margin: 1.25em 0;
	padding: 0.75em 1.25em;
	border-left: 3px solid #8B6B52;
	background: #F5EDE4;
	border-radius: 0 8px 8px 0;
	color: #334155;
}
.ub-board #bo_v_con .view-content a { color: #8B6B52; text-decoration: underline; }
.ub-board #bo_v_con .view-content pre,
.ub-board #bo_v_con .view-content code {
	background: #f1f5f9;
	border-radius: 6px;
	font-family: 'JetBrains Mono', 'Consolas', monospace;
	font-size: 0.875em;
}
.ub-board #bo_v_con .view-content pre { padding: 1em; overflow-x: auto; }
.ub-board #bo_v_con .view-content code { padding: 0.15em 0.4em; }

/* 뷰 상단(좌측 배너/우측 상세) 바로 아래 구분선 제거 */
.ub-board.uv-view-page #bo_v #bo_v_con {
	border-top: 0 !important;
}

/* ─── 게시글 보기 하단 버튼 ──────────────────────── */
.ub-board .clearfix.ub-pt-2.ub-border-top {
	padding: 1rem 1.5rem;
	background: #f8fafc;
}

/* ─── 댓글 영역 간격 ─────────────────────────────── */
.ub-board #viewcomment {
	padding: 20px 0 0;
	margin-top: 0;
	background: #ffffff;
}
/* 댓글 count 헤더 */
.ub-board #viewcomment > .ub-board {
	padding-left: 24px;
	padding-right: 24px;
}
.ub-board #bo_vc {
	padding: 0 24px;
}
.ub-board #bo_vc_w {
	padding: 0 24px 24px;
}
#bo_vc_login {
	margin: 24px;
}
/* 대댓글 들여쓰기 가이드선 */
.ub-board article[id^="c_"] .cmt-reply {
	top: 14px; left: -14px;
	width: 18px; height: 18px;
	opacity: .5;
}

/* 댓글 작성자 이름 */
.ub-board .cmt-wrap header a { font-weight: 600; color: #0f172a; }
.ub-board .cmt-wrap header time { color: #94a3b8; font-size: 0.8125rem; }

/* ─── 글쓰기 폼 헤더 ────────────────────────────── */
.ub-board #bo_w .ub-list-item:first-child {
	padding: 20px 28px;
	background: linear-gradient(135deg, #8B6B52 0%, #4A5650 100%);
	border-radius: 12px 12px 0 0;
	border-bottom: 0;
}
.ub-board #bo_w .ub-list-item:first-child h5 {
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	margin: 0;
	letter-spacing: -0.02em;
}

/* ─── 페이징 구역 ────────────────────────────────── */
.ub-board #bo_list_wrap > .ub-font-normal {
	padding: 0.25rem 0 0;
}

/* ─── 글쓰기 제출 버튼 반응형 ───────────────────────── */
@media (max-width: 575px) {
	.ub-board #bo_w .uw-submit-bar { padding: 14px 16px; gap: 8px; }
	.ub-board #bo_w .uw-submit-bar .ub-btn { height: 44px; font-size: 0.875rem; }
}

/* ─── .responsive 호환 (테마 스코프) ─────────────── */
@media (max-width: 575px) {
	.responsive .ub-cmt-box         { border-radius: var(--r-md); }
	.responsive #bo_vc_w .ub-cmt-box { border-radius: var(--r-md); }
}


/* ═══════════════════════════════════════════════════════════════
   ▶ LUXURY SPA DIRECTORY — Premium Redesign 2026
   철학: 공간이 곧 럭셔리 / copper는 딱 3곳만 / 타이포로 위계
   ═══════════════════════════════════════════════════════════════ */

/* ── 토큰 ──────────────────────────────────────────────────── */
.ub-board {
	--prm-ink-100: #0E0A07;
	--prm-ink-80:  #28180C;
	--prm-ink-60:  #5C5048;
	--prm-ink-40:  #9A8F87;
	--prm-ink-20:  #C8C0B8;
	--prm-bg-0:    #FFFFFF;
	--prm-bg-1:    #FDFCFA;
	--prm-bg-2:    #F8F4EF;
	--prm-bg-3:    #F0E9E1;
	--prm-line-0:  rgba(14,10,7,.05);
	--prm-line-1:  rgba(14,10,7,.09);
	--prm-line-2:  rgba(14,10,7,.15);
	--prm-line-3:  rgba(14,10,7,.24);
	--prm-copper:       #C4915A;
	--prm-copper-h:     #D4A570;
	--prm-copper-dark:  #8B6344;
	--prm-copper-deep:  #5C3A1E;
	--prm-sh-card:  0 1px 2px rgba(14,10,7,.04), 0 4px 16px rgba(14,10,7,.07), 0 12px 32px rgba(14,10,7,.05);
	--prm-sh-hover: 0 2px 4px rgba(14,10,7,.06), 0 10px 28px rgba(14,10,7,.1), 0 24px 48px rgba(14,10,7,.07);
	--prm-sh-sm:    0 1px 2px rgba(14,10,7,.05), 0 3px 10px rgba(14,10,7,.07);
	--prm-r-card:  20px;
	--prm-r-badge: 8px;
	--prm-r-pill:  999px;
	--prm-r-btn:   11px;
	--prm-p-xs: 4px; --prm-p-sm: 8px; --prm-p-md: 12px;
	--prm-p-lg: 16px; --prm-p-xl: 20px; --prm-p-2xl: 24px;
}

/* ── 진입 애니메이션 ──────────────────────────────────────── */
@keyframes prm-card-in {
	from { opacity:0; transform:translateY(16px) scale(.97); }
	to   { opacity:1; transform:none; }
}
.ub-board .mbb-gallery > li { animation: prm-card-in .5s cubic-bezier(.22,1,.36,1) both; }
.ub-board .mbb-gallery > li:nth-child(1)   { animation-delay:.03s; }
.ub-board .mbb-gallery > li:nth-child(2)   { animation-delay:.08s; }
.ub-board .mbb-gallery > li:nth-child(3)   { animation-delay:.13s; }
.ub-board .mbb-gallery > li:nth-child(4)   { animation-delay:.18s; }
.ub-board .mbb-gallery > li:nth-child(5)   { animation-delay:.22s; }
.ub-board .mbb-gallery > li:nth-child(6)   { animation-delay:.26s; }
.ub-board .mbb-gallery > li:nth-child(7)   { animation-delay:.29s; }
.ub-board .mbb-gallery > li:nth-child(8)   { animation-delay:.32s; }
.ub-board .mbb-gallery > li:nth-child(n+9) { animation-delay:.34s; }

/* ── 카드 기본 ───────────────────────────────────────────── */
.ub-board .mbb-card {
	position: relative;            /* 추천 리본 absolute 기준점 */
	border-radius: var(--prm-r-card);
	border: 1px solid var(--prm-line-1);
	box-shadow: var(--prm-sh-card);
	background: var(--prm-bg-0);
	transition:
		box-shadow .36s cubic-bezier(.22,1,.36,1),
		transform  .36s cubic-bezier(.22,1,.36,1),
		border-color .22s ease;
}
.ub-board .mbb-card:hover {
	box-shadow: var(--prm-sh-hover);
	transform: translateY(-5px);
	border-color: var(--prm-line-2);
}

/* 추천 카드 */
.ub-board .mbb-card--pinned {
	border-color: rgba(196,145,90,.36);
	box-shadow:
		0 0 0 1px rgba(196,145,90,.16),
		0 0 28px rgba(196,145,90,.16),
		var(--prm-sh-card);
	background-image: linear-gradient(180deg,
		rgba(255,252,247,1) 0%,
		var(--prm-bg-0) 28%);
}
.ub-board .mbb-card--pinned:hover {
	border-color: rgba(196,145,90,.5);
	box-shadow:
		0 0 0 1px rgba(196,145,90,.26),
		0 0 36px rgba(196,145,90,.22),
		var(--prm-sh-hover);
}

/* ── 썸네일 비율 — 3:2 (더 시네마틱) ──────────────────── */
.ub-board a.mbb-card__thumb,
.ub-board .mbb-card__thumb--static {
	padding-bottom: 66.67% !important;
}

/* ── 썸네일 이미지 — 색감 강화 ─────────────────────────── */
.ub-board .mbb-card__thumb > img {
	filter: brightness(1.03) contrast(1.06) saturate(1.14);
	transition:
		transform .42s cubic-bezier(.22,1,.36,1),
		filter    .42s ease;
}
.ub-board .mbb-card:hover .mbb-card__thumb > img {
	transform: scale(1.05);
	filter: brightness(1.05) contrast(1.07) saturate(1.2);
}

/* 썸네일 그라데이션 오버레이 */
.ub-board a.mbb-card__thumb::after,
.ub-board .mbb-card__thumb--static::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		rgba(14,10,7,.02) 0%,
		transparent 35%,
		rgba(14,10,7,.18) 68%,
		rgba(14,10,7,.45) 100%
	);
	pointer-events: none;
	z-index: 1;
	transition: opacity .36s ease;
}
.ub-board .mbb-card:hover a.mbb-card__thumb::after {
	opacity: .75;
}

/* ── 카테고리 뱃지 (← 핵심 액센트 포인트) ───────────────── */
.ub-board .mbb-card__category {
	background: linear-gradient(135deg, #C4915A 0%, #8B6344 100%);
	box-shadow: 0 2px 8px rgba(139,99,68,.32), inset 0 1px 0 rgba(255,255,255,.15);
	border-radius: var(--prm-r-badge);
	padding: 0.28rem 0.58rem;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	z-index: 3;
}

/* ── 추천 뱃지 — 캡슐과 동일 크기·스타일로 통일 ─────────── */
/* ── 추천 리본 — card overflow:visible 덕분에 리본 완전 노출
   shimmer sweep + glow pulse 애니메이션
   ─────────────────────────────────────────────────────── */
.ub-board .mbb-card__badge--pinned {
	position: absolute !important;
	top: 0 !important;
	left: 10px !important;
	right: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	padding: 9px 12px 7px !important;
	border-radius: 0 0 14px 14px !important;
	font-size: .71rem !important;
	font-weight: 800 !important;
	letter-spacing: .06em !important;
	line-height: 1 !important;
	color: #fff !important;
	background: linear-gradient(180deg, #4A2810 0%, #8B5230 40%, #C4915A 100%) !important;
	border-left: 2px solid rgba(255,200,120,.5) !important;
	border-right: 2px solid rgba(255,200,120,.5) !important;
	border-top: none !important;
	border-bottom: none !important;
	box-shadow: 1px 4px 6px rgba(60,25,5,.45), 0 2px 3px rgba(0,0,0,.22) !important;
	z-index: 20 !important;
	overflow: hidden !important;
	text-shadow: 0 1px 2px rgba(0,0,0,.25) !important;
	animation: prm-pin-glow 2.4s ease-in-out infinite;
}
/* 광택 스윕 — 상단→하단 */
.ub-board .mbb-card__badge--pinned::before {
	content: '' !important;
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(
		180deg,
		rgba(255,255,255,.42) 0%,
		transparent 60%
	) !important;
	pointer-events: none !important;
	animation: prm-pin-sweep 2.4s ease-in-out infinite;
}

@keyframes prm-pin-glow {
	/* 입체적인 태그 그림자 — 좁고 강하게 */
	0%, 100% {
		box-shadow:
			0 2px 0   rgba(255,255,255,.12) inset,
			1px 4px 6px  rgba(60,25,5,.45),
			0   2px 3px  rgba(0,0,0,.25);
	}
	50% {
		box-shadow:
			0 2px 0   rgba(255,255,255,.16) inset,
			1px 5px 10px rgba(139,70,20,.6),
			0   2px 4px  rgba(0,0,0,.28);
	}
}
@keyframes prm-pin-sweep {
	0%        { transform: translateY(-200%); }
	55%, 100% { transform: translateY(200%); }
}

/* ── 국적 캡슐 — 이미지 좌하단 10px, 일반 pill 형태 ───── */
.ub-board .mbb-card__capsule--time {
	top: auto !important;
	bottom: 10px !important;
	left: 10px !important;
	right: auto !important;
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-size: .69rem !important;
}

/* NEW 뱃지 */
.ub-board .mbb-card__badge--new {
	background: linear-gradient(135deg, #C4915A 0%, #8B6344 100%);
	box-shadow: 0 2px 8px rgba(139,99,68,.3);
	border-radius: var(--prm-r-badge);
}

/* ── 캡슐 오버레이 — 글래스모피즘 ───────────────────────── */
.ub-board .mbb-card__capsule {
	background: rgba(14,10,7,.52);
	backdrop-filter: blur(10px) saturate(1.3);
	-webkit-backdrop-filter: blur(10px) saturate(1.3);
	border: none;
	border-radius: var(--prm-r-pill);
	padding: 4px 10px;
	font-size: .69rem;
	font-weight: 600;
	transition: background 0.2s ease;
}

/* ════════════════════════════════════════════════════════════
   ▶ 카드 패널 — CSS Grid 레이아웃
   흐름: 업체명 → 지역 → [별점 | 통계pills] → 가격 → 버튼
   ════════════════════════════════════════════════════════════ */

/* 패널: CSS grid로 각 행 위치 명시 */
.ub-board .mbb-card__panel {
	background: var(--prm-bg-0);
	padding: 14px 14px 12px;
	border-top: 1px solid var(--prm-line-0);
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas:
		"sitename  sitename"
		"region    region"
		"catline   catline"
		"rating    pills"
		"price     price"
		"rule      rule"
		"actions   actions";
	row-gap: 0;
	column-gap: 6px;
}
.ub-board .mbb-card__sitename   { grid-area: sitename; }
.ub-board .mbb-card__regionline { grid-area: region; }
.ub-board .mbb-card__catline    { grid-area: catline; }
.ub-board .mbb-card__rating     { grid-area: rating; align-self: center; }
.ub-board .mbb-card__pills      { grid-area: pills;  align-self: center; justify-content: flex-end; }
.ub-board .mbb-card__price      { grid-area: price; }
.ub-board .mbb-card__rule       { grid-area: rule; }
.ub-board .mbb-card__actions    { grid-area: actions; }

/* 업체명 행 — [분류 좌] ←→ [업체명 우] */
.ub-board .mbb-card__sitename   { margin-bottom: 8px; }   /* 분류↔주소 여백 */
.ub-board .mbb-card__sitename-row {
	background: none !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	display: flex !important;
	align-items: center;
	justify-content: space-between !important;
	gap: 6px;
	width: 100%;
}
.ub-board .mbb-card__sitename-label { display: none !important; }

/* 패널 내 카테고리 뱃지 */
.ub-board .mbb-card__category--panel {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 8px 3px 7px;
	font-size: .64rem;
	font-weight: 700;
	letter-spacing: .03em;
	border-radius: 99px;
	white-space: nowrap;
	position: static !important;
	top: auto !important; left: auto !important; bottom: auto !important;
	box-shadow: none !important;
	/* 기본 색 (코드 없을 때) */
	color: #5B4A3F;
	background: #EDE0D4;
	border: 1px solid #D6C3B2;
}
.ub-board .mbb-card__category--panel::before {
	content: '';
	display: inline-block;
	width: 5px; height: 5px;
	border-radius: 50%;
	flex-shrink: 0;
	background: currentColor;
	opacity: .7;
	animation: mbb-dot-ripple 1.8s ease-out infinite;
}

/* ── 분류별 개별 색상 (10가지 완전 구분) ──────────────── */
/* 아로마마사지 — 에메랄드 그린 */
.ub-board .mbb-cat--opt-aroma       { color:#065F46; background:#D1FAE5; border-color:#6EE7B7; }
/* 타이마사지  — 사프란 옐로 */
.ub-board .mbb-cat--opt-thai        { color:#713F12; background:#FEF9C3; border-color:#FDE047; }
/* 핫타이      — 딥 레드 */
.ub-board .mbb-cat--opt-hot-thai    { color:#7F1D1D; background:#FEE2E2; border-color:#FCA5A5; }
/* 스웨디시    — 코발트 블루 */
.ub-board .mbb-cat--opt-swedish     { color:#1E3A8A; background:#DBEAFE; border-color:#93C5FD; }
/* 스포츠마사지 — 다크 슬레이트 (회색 계열) */
.ub-board .mbb-cat--opt-sports      { color:#1E293B; background:#E2E8F0; border-color:#94A3B8; }
/* 발마사지    — 오렌지 */
.ub-board .mbb-cat--opt-foot        { color:#7C2D12; background:#FFEDD5; border-color:#FDBA74; }
/* 1인샵       — 바이올렛 */
.ub-board .mbb-cat--opt-room-1      { color:#4C1D95; background:#EDE9FE; border-color:#C4B5FD; }
/* 여성전용    — 후쿠시아 핑크 */
.ub-board .mbb-cat--opt-women-only  { color:#831843; background:#FCE7F3; border-color:#F9A8D4; }
/* 왁싱        — 라임 그린 */
.ub-board .mbb-cat--opt-waxing      { color:#365314; background:#ECFCCB; border-color:#BEF264; }
/* 샤워실      — 틸 */
.ub-board .mbb-cat--opt-shower-room { color:#134E4A; background:#CCFBF1; border-color:#5EEAD4; }

.ub-board .mbb-card__sitename-value {
	min-width: 0;
	display: block;
	text-align: right;
	font-size: 1rem;
	font-weight: 800;
	color: var(--prm-ink-100);
	letter-spacing: -0.035em;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 지역 */
.ub-board .mbb-card__regionline {
	display: flex;
	align-items: center;
	gap: 4px;
	color: var(--prm-ink-40);
	font-size: .72rem;
	font-weight: 500;
	margin-bottom: 7px;
}
.ub-board .mbb-card__regionline .fa {
	color: var(--prm-ink-40);   /* 브라운 제거 → 뉴트럴 */
	font-size: .68rem;
	flex-shrink: 0;
}

/* 카테고리 pill */
.ub-board .mbb-card__catpill {
	background: var(--prm-bg-2);
	border: 1px solid var(--prm-line-1);
	color: var(--prm-ink-60);
	font-size: .68rem;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 99px;
	letter-spacing: .02em;
}

/* 평점 — 레이블 숨기고 별+점수만 컴팩트하게 */
.ub-board .mbb-card__rating {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 7px;
}
.ub-board .mbb-card__rating-label { display: none; }
.ub-board .mbb-card__rating-right {
	display: flex;
	align-items: center;
	gap: 5px;
}
.ub-board .mbb-card__stars .fa { font-size: .7rem; letter-spacing: .3px; }
.ub-board .mbb-card__stars .mbb-star--on  { color: #D97706; }
.ub-board .mbb-card__stars .mbb-star--off { color: var(--prm-ink-20); }
.ub-board .mbb-card__score {
	font-size: .78rem;
	font-weight: 700;
	color: var(--prm-ink-80);
}

/* 통계 pills — 오른쪽 정렬, rating과 같은 행 */
.ub-board .mbb-card__pills {
	display: flex;
	flex-wrap: nowrap;
	gap: 4px;
	margin-bottom: 7px;
}
.ub-board .mbb-card__pill {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	padding: .2rem .44rem;
	font-size: .66rem;
	font-weight: 600;
	border-radius: 99px;
	border: 1px solid var(--prm-line-1);
	background: var(--prm-bg-2);
	color: var(--prm-ink-60);
	white-space: nowrap;
}
.ub-board .mbb-card__pill .fa { color: var(--prm-ink-40); font-size: .63rem; }
.ub-board .mbb-card__pill--comment {
	background: var(--prm-bg-2);   /* 브라운 제거 → 뉴트럴 */
	border-color: var(--prm-line-1);
	color: var(--prm-ink-60);
}
.ub-board .mbb-card__pill--comment .fa { color: var(--prm-ink-40); }
.ub-board .mbb-card__pill--good    { background: #EAF5EE; border-color: #B7DEC9; color: #2D6A4F; }
.ub-board .mbb-card__pill--good .fa { color: #2D6A4F; }
.ub-board .mbb-card__pill--nogood  { background: #FAE8E8; border-color: #F0B8B8; color: #9B3A3A; }
.ub-board .mbb-card__pill--nogood .fa { color: #9B3A3A; }
.ub-board .mbb-card__pill--hit  { background: var(--prm-bg-2); border-color: var(--prm-line-1); color: var(--prm-ink-60); }
.ub-board .mbb-card__pill--opt  { background: rgba(196,145,90,.09); border-color: rgba(196,145,90,.22); color: var(--prm-copper-dark); }

/* 가격 — 풀 바, 왼쪽 레이블 / 오른쪽 금액 */
.ub-board .mbb-card__price {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px;
	background: var(--prm-bg-2);
	border: 1px solid var(--prm-line-1);
	border-radius: 9px;
	padding: 7px 10px;
	margin-bottom: 8px;
	transition: background .2s ease;
}
.ub-board .mbb-card:hover .mbb-card__price { background: var(--prm-bg-3); }
.ub-board .mbb-card__price-label {
	color: var(--prm-ink-40);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .03em;
	white-space: nowrap;
}
.ub-board .mbb-card__price-value {
	font-size: 1.0625rem;
	font-weight: 900;
	color: var(--prm-ink-100);
	letter-spacing: -0.04em;
	line-height: 1;
}

/* 구분선 */
.ub-board .mbb-card__rule {
	background: var(--prm-line-0);
	margin: 0 0 7px;
	height: 1px;
}

/* 버튼 — 2열 전체 너비 */
.ub-board .mbb-card__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px;
}
.ub-board .mbb-card__btn {
	border-radius: var(--prm-r-btn);
	min-height: 40px;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .02em;
	transition:
		background .22s ease,
		box-shadow  .22s ease,
		border-color .22s ease,
		transform   .14s ease;
}
.ub-board .mbb-card__btn:active { transform: scale(.96); }

/* 상세보기 */
.ub-board .mbb-card__btn--ghost {
	background: var(--prm-bg-2);
	border: 1px solid var(--prm-line-2);
	color: var(--prm-ink-60);
}
.ub-board .mbb-card__btn--ghost:hover {
	background: var(--prm-bg-3);
	border-color: var(--prm-line-3);
	color: var(--prm-ink-80);
}
.ub-board .mbb-card__btn--ghost .mbb-card__btn-ico {
	border-left-color: var(--prm-line-2);
	background: transparent;
}

/* 리뷰보기 — 핵심 copper CTA */
.ub-board .mbb-card__btn--primary {
	background: linear-gradient(135deg, #C4915A 0%, #8B6344 100%);
	border-color: transparent;
	color: #fff;
	box-shadow: 0 2px 8px rgba(139,99,68,.26), inset 0 1px 0 rgba(255,255,255,.12);
}
.ub-board .mbb-card__btn--primary:hover {
	background: linear-gradient(135deg, #D4A570 0%, #9B7354 100%);
	box-shadow: 0 4px 16px rgba(139,99,68,.38);
}
.ub-board .mbb-card__btn--primary .mbb-card__btn-ico {
	border-left-color: rgba(255,255,255,.22);
	background: transparent;
}

/* ── 갤러리 그리드 패딩·간격 ─────────────────────────────── */
.ub-board .mbb-gallery { gap: var(--prm-p-lg); }
@media (min-width: 576px)  { .ub-board .mbb-gallery { gap: 1.1rem; } }
@media (min-width: 1200px) { .ub-board .mbb-gallery { gap: 1.3rem; } }

/* ── 지역 필터 ───────────────────────────────────────────── */
.ub-board .mbg-widget-region-filter-wrap.mbg-rf { margin-bottom: 1.25rem; }
.ub-board .mbg-widget-region-filter-wrap.mbg-rf::before {
	background: rgba(255,255,255,.96);
	backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
	border: 1px solid var(--prm-line-1);
	box-shadow: var(--prm-sh-sm);
	border-radius: 14px;
}
.ub-board .mbg-rf__head-kicker {
	background: linear-gradient(135deg, #C4915A 0%, #8B6344 100%);
	color: #fff; border: none;
	box-shadow: 0 2px 8px rgba(139,99,68,.28);
}
.ub-board .mbg-rf__head-title { color: var(--prm-ink-80); }
.ub-board .mbg-rf__head-desc  { color: var(--prm-ink-40); }

/* ── 뷰 페이지 히어로 이미지 ─────────────────────────────── */
.ub-board .uv-mbb-hero__media img {
	filter: brightness(1.04) contrast(1.07) saturate(1.16) !important;
	transition: filter .4s ease !important;
}
.ub-board .uv-mbb-hero__media::after {
	content: '';
	position: absolute; inset: 0;
	background:
		radial-gradient(ellipse at 50% 50%, transparent 52%, rgba(14,10,7,.22) 100%),
		linear-gradient(to bottom, transparent 55%, rgba(14,10,7,.18) 100%);
	border-radius: inherit;
	pointer-events: none;
	z-index: 1;
}

/* ── 뷰 상세 정보 카드 ───────────────────────────────────── */
.ub-board .uv-mbb-hero-info-card {
	border-color: var(--prm-line-1) !important;
	box-shadow: var(--prm-sh-sm) !important;
}
.ub-board .uv-mbb-info-table th {
	background: var(--prm-bg-2);
	color: var(--prm-ink-60);
	font-size: .8125rem;
}
.ub-board .uv-mbb-info-table td { color: var(--prm-ink-80); }
.ub-board .uv-mbb-info-table tr:not(:last-child) th,
.ub-board .uv-mbb-info-table tr:not(:last-child) td {
	border-bottom-color: var(--prm-line-0);
}

/* 전화 문의 버튼 */
.ub-board .uv-mbb-hero__cta > .ub-btn.uv-mbb-contact-strip__btn--call {
	background: linear-gradient(135deg, #C4915A 0%, #8B6344 100%) !important;
	border-color: transparent !important;
	color: #fff !important;
	box-shadow: 0 3px 12px rgba(139,99,68,.32) !important;
	transition: box-shadow .22s ease, filter .22s ease, transform .14s ease !important;
}
.ub-board .uv-mbb-hero__cta > .ub-btn.uv-mbb-contact-strip__btn--call:hover {
	filter: brightness(1.08) !important;
	box-shadow: 0 4px 18px rgba(139,99,68,.42) !important;
}
.ub-board .uv-mbb-hero__cta > .ub-btn.uv-mbb-contact-strip__btn--call:active {
	transform: scale(.97) !important;
}
.ub-board .uv-mbb-hero__cta > .ub-btn.uv-mbb-contact-strip__btn:not(.uv-mbb-contact-strip__btn--call) {
	background: var(--prm-bg-2) !important;
	border: 1px solid var(--prm-line-2) !important;
	color: var(--prm-ink-60) !important;
	box-shadow: none !important;
	transition: background .2s ease, border-color .2s ease, color .2s ease !important;
}
.ub-board .uv-mbb-hero__cta > .ub-btn.uv-mbb-contact-strip__btn:not(.uv-mbb-contact-strip__btn--call):hover {
	background: var(--prm-bg-3) !important;
	border-color: var(--prm-line-3) !important;
	color: var(--prm-ink-80) !important;
}

/* ── 코스안내 헤더 바 ─────────────────────────────────────── */
.ub-board .uv-mbb-course-head {
	background: linear-gradient(165deg, var(--prm-bg-1) 0%, var(--prm-bg-2) 100%);
	border-color: var(--prm-line-1);
	box-shadow: var(--prm-sh-sm);
}
.ub-board .uv-mbb-course-head__rail {
	background: linear-gradient(180deg, #D4A570 0%, #8B6344 55%, #5C3A1E 100%);
}

/* ── 국적 캡슐 색상 ───────────────────────────────────────── */
.ub-board .mbb-card__capsule--nation-kor {
	background: linear-gradient(165deg, #6366F1 0%, #4338CA 52%, #312E81 100%);
}
.ub-board .mbb-card__capsule--nation-tha {
	background: linear-gradient(165deg, #1A9E52 0%, #0D7A3E 52%, #0A5F32 100%);
}
.ub-board .mbb-card__capsule--nation-chn {
	background: linear-gradient(165deg, #38BDF8 0%, #0369A1 52%, #0C4A6E 100%);
}
.ub-board .mbb-card__capsule--nation-rus {
	background: linear-gradient(165deg, #A78BFA 0%, #6D28D9 52%, #4C1D95 100%);
}

/* ════════════════════════════════════════════════════════════
   ▶ 페이지네이션 — 프리미엄 리디자인
   ════════════════════════════════════════════════════════════ */
.ub-board .ub-pagination,
.ub-board .pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 5px;
	list-style: none;
	margin: 28px 0 8px;
	padding: 0;
}
.ub-board .ub-pagination__item,
.ub-board .pagination .page-item { display: inline-block; }
.ub-board .ub-pagination__link,
.ub-board .pagination .page-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	font-size: .8375rem;
	font-weight: 600;
	color: var(--prm-ink-60);
	text-decoration: none;
	background: var(--prm-bg-0);
	border: 1px solid var(--prm-line-2);
	border-radius: 10px;
	transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .12s ease;
	letter-spacing: .01em;
}
.ub-board .ub-pagination__link:hover,
.ub-board .pagination .page-link:hover {
	background: var(--prm-bg-2);
	border-color: rgba(196,145,90,.38);
	color: var(--prm-copper-dark);
	box-shadow: 0 2px 8px rgba(196,145,90,.12);
	transform: translateY(-1px);
}
.ub-board .ub-pagination__link.is-active,
.ub-board .pagination .page-item.active .page-link {
	background: linear-gradient(135deg, #C4915A 0%, #8B6344 100%);
	border-color: transparent;
	color: #fff;
	font-weight: 700;
	box-shadow: 0 3px 12px rgba(139,99,68,.32), inset 0 1px 0 rgba(255,255,255,.15);
	transform: none;
}
/* 이전·다음 화살표 버튼 */
.ub-board .ub-pagination__link[rel="prev"],
.ub-board .ub-pagination__link[rel="next"],
.ub-board .pagination .page-item:first-child .page-link,
.ub-board .pagination .page-item:last-child .page-link {
	min-width: 38px;
	font-size: .8rem;
	background: var(--prm-bg-1);
}

/* ════════════════════════════════════════════════════════════
   ▶ 모바일 최적화
   ════════════════════════════════════════════════════════════ */
@media (max-width: 374px) {
	.ub-board .mbb-gallery {
		grid-template-columns: 1fr;
		gap: var(--prm-p-sm);
	}
	.ub-board .mbb-card__panel {
		padding: 10px 10px 8px;
	}
	.ub-board .mbb-card__sitename-value { font-size: .9rem; }
}

@media (max-width: 575.98px) {
	.ub-board .mbb-gallery { gap: 10px; }
	.ub-board .mbb-card__panel { padding: 11px 11px 9px; }
	.ub-board .mbb-card__sitename-value { font-size: .9375rem; }
	.ub-board .mbb-card__btn { min-height: 42px; font-size: .8125rem; }
	.ub-board .mbb-card__actions .mbb-card__btn-ico { display: none !important; }
	.ub-board .mbb-card__actions .mbb-card__btn-txt { padding: 0 .5rem; }
	.ub-board .mbb-card__price-value { font-size: 1rem; }
	.ub-board .mbb-card__pill { padding: .2rem .44rem; font-size: .65rem; }
	.ub-board .mbb-card__pills { gap: 3px; margin-bottom: 7px; }
	.ub-board .mbg-widget-region-filter-wrap.mbg-rf .mbg-rf__form { padding: .85rem .85rem .9rem; }
	.ub-board .mbg-rf__head { margin-bottom: .75rem; padding-bottom: .65rem; }
	.ub-board .mbg-rf__head-title { font-size: .9375rem; }
	.ub-board .mbg-rf__head-desc  { font-size: .75rem; }
	.ub-board .mbb-card:hover { transform: none; }
	.ub-board .uv-mbb-hero__cta > .ub-btn.uv-mbb-contact-strip__btn {
		min-height: 50px; font-size: .9375rem; border-radius: 12px;
	}
	.ub-board .ub-pagination__link,
	.ub-board .pagination .page-link {
		min-width: 34px; height: 34px; font-size: .8rem; border-radius: 8px;
	}
}

@media (max-width: 767.98px) {
	.ub-board .mbb-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--prm-p-md);
	}
	.ub-board .mbb-card__actions { gap: 5px; }
}
