.jjin-review-board {
	--jjin-review-current-row-title-size: var(--jjin-review-row-title-size);
	--jjin-review-current-row-meta-size: var(--jjin-review-row-meta-size);
	--jjin-review-current-badge-size: var(--jjin-review-badge-size);
	--jjin-review-current-badge-min-width: 70px;
	--jjin-review-current-badge-height: 30px;
	--jjin-review-current-badge-padding: 0 12px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 28px;
	row-gap: 24px;
	padding: var(--jjin-review-board-padding);
	border: 1px solid var(--jjin-review-line);
	border-radius: var(--jjin-review-board-radius);
	background: var(--jjin-review-surface);
	box-shadow: var(--jjin-review-shadow);
}

.jjin-review-board-head {
	grid-column: 1;
	grid-row: 1;
	align-self: end;
	min-width: 0;
}

.jjin-review-title {
	min-width: 0;
}

.jjin-review-board .jjin-review-title {
	margin-bottom: 0;
}

.jjin-review-title p {
	margin: 0 0 12px;
	color: var(--jjin-review-accent, #0000ff);
	font-size: var(--jjin-review-eyebrow-size);
	font-weight: 650;
	line-height: 1.2;
}

.jjin-review-title h2 {
	margin: 0;
	color: var(--jjin-review-text);
	font-size: var(--jjin-review-board-title-size) !important;
	line-height: 1.14;
	font-weight: 760;
	letter-spacing: 0;
	word-break: keep-all;
}

.jjin-review-board-subject-all .jjin-review-title h2 {
	font-size: var(--jjin-review-all-board-title-size) !important;
}

.jjin-review-board-subject-all {
	--jjin-review-row-title-size: var(--jjin-review-all-row-title-size);
}

.jjin-review-title > span {
	display: block;
	max-width: 680px;
	margin-top: 14px;
	color: var(--jjin-review-muted);
	font-size: var(--jjin-review-description-size);
	font-weight: 450;
	line-height: 1.55;
	word-break: keep-all;
}

.jjin-review-board-tools {
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	min-width: 0;
}

.jjin-review-search {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
}

.jjin-review-search label {
	display: block;
	margin: 0;
}

.jjin-review-search-category {
	width: var(--jjin-review-search-category-width);
	flex: 0 0 var(--jjin-review-search-category-width);
}

.jjin-review-search-keyword {
	width: var(--jjin-review-search-keyword-width);
	flex: 0 0 var(--jjin-review-search-keyword-width);
}

.jjin-review-search input,
.jjin-review-search select {
	width: 100%;
	height: var(--jjin-review-control-height);
	padding: 0 15px;
	border: 0;
	border-radius: var(--jjin-review-control-radius);
	background: var(--jjin-review-control-bg);
	color: var(--jjin-review-text);
	font-family: inherit;
	font-size: var(--jjin-review-control-font-size);
	font-weight: 450;
	outline: none;
	box-shadow: none;
}

.jjin-review-search select {
	appearance: none;
	padding-right: 34px;
	background-color: var(--jjin-review-control-bg);
	background-image: linear-gradient(45deg, transparent 50%, #8e8e93 50%), linear-gradient(135deg, #8e8e93 50%, transparent 50%);
	background-position: calc(100% - 18px) 19px, calc(100% - 12px) 19px;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	cursor: pointer;
}

.jjin-review-search button,
.jjin-review-write-toggle,
.jjin-review-search-reset {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: var(--jjin-review-control-height);
	padding: 0 18px;
	border: 0;
	border-radius: var(--jjin-review-control-radius);
	font-family: inherit;
	font-size: var(--jjin-review-control-font-size);
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	text-decoration: none;
}

.jjin-review-search button,
.jjin-review-write-toggle,
.jjin-review-search-reset {
	transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
	opacity: 1 !important;
}

.jjin-review-search button {
	background: var(--jjin-review-search-button-bg);
	color: var(--jjin-review-search-button-text);
}

.jjin-review-search-reset {
	background: var(--jjin-review-reset-button-bg);
	color: var(--jjin-review-reset-button-text) !important;
}

.jjin-review-write-toggle {
	background: var(--jjin-review-accent, #111) !important;
	color: var(--jjin-review-inverse-text) !important;
	border: 0 !important;
	box-shadow: 0 10px 24px color-mix(in srgb, var(--jjin-review-accent, #111) 14%, transparent);
}


.jjin-review-search button:hover,
.jjin-review-search button:focus-visible {
	background: var(--jjin-review-search-button-bg) !important;
	color: var(--jjin-review-search-button-text) !important;
	box-shadow: 0 10px 22px rgba(17, 17, 17, 0.16);
}

.jjin-review-search-reset:hover,
.jjin-review-search-reset:focus-visible {
	background: var(--jjin-review-reset-button-bg);
	color: var(--jjin-review-reset-button-text) !important;
}

.jjin-review-write-toggle,
.jjin-review-write-toggle:hover,
.jjin-review-write-toggle:focus-visible,
.jjin-review-write-toggle:active {
	color: var(--jjin-review-inverse-text) !important;
	text-decoration: none !important;
}

.jjin-review-write-toggle:hover,
.jjin-review-write-toggle:focus-visible {
	background: color-mix(in srgb, var(--jjin-review-accent, #111) 86%, black) !important;
	box-shadow: 0 16px 30px color-mix(in srgb, var(--jjin-review-accent, #111) 20%, transparent);
	transform: translateY(-1px);
}

.jjin-review-filter-tabs {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: -4px 0 0;
}

.jjin-review-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 17px;
	border-radius: var(--jjin-review-pill-radius);
	background: var(--jjin-review-surface-soft);
	color: #444;
	font-size: var(--jjin-review-control-font-size);
	font-weight: 650;
}

.jjin-review-tab.jjin-is-active {
	background: var(--jjin-review-accent, #111);
	color: var(--jjin-review-inverse-text);
}

.jjin-review-list {
	grid-column: 1 / -1;
	display: block;
	overflow: hidden;
	border: 1px solid var(--jjin-review-line);
	border-radius: var(--jjin-review-list-radius);
	background: var(--jjin-review-surface);
}

.jjin-review-list-head,
.jjin-review-row {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr) 118px 96px;
	align-items: center;
	gap: 22px;
}

.jjin-review-list-head {
	display: none;
	height: 52px;
	padding: 0 22px;
	background: var(--jjin-review-surface-soft);
	color: var(--jjin-review-muted) !important;
	font-size: var(--jjin-review-row-head-size) !important;
	font-weight: 650 !important;
	line-height: 1.3;
}

.jjin-review-row {
	min-height: 64px;
	padding: 0 22px;
	border-top: 1px solid var(--jjin-review-line-soft);
	background: var(--jjin-review-surface);
	color: var(--jjin-review-text-soft);
	transition: background 0.18s ease;
}

.jjin-review-list > .jjin-review-row:first-child {
	border-top: 0;
}

.jjin-review-row:hover {
	background: var(--jjin-review-surface-soft);
	transform: none;
}

.jjin-review-row-no {
	color: var(--jjin-review-subtle) !important;
	font-size: var(--jjin-review-current-row-meta-size) !important;
	font-weight: 560 !important;
	line-height: 1.2;
}

.jjin-review-board-subject-all .jjin-review-row-no {
	color: var(--jjin-review-all-row-number-color) !important;
}

.jjin-review-row-trophy,
.jjin-review-board-subject-all .jjin-review-row-trophy {
	color: var(--jjin-review-accent, #0000ff) !important;
	font-size: calc(var(--jjin-review-current-row-meta-size) + 4px) !important;
	line-height: 1;
}

.jjin-review-row-title {
	display: block;
	min-width: 0;
	overflow: hidden;
	color: var(--jjin-review-text) !important;
	font-size: var(--jjin-review-current-row-title-size) !important;
	font-weight: 650 !important;
	line-height: 1.4 !important;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.jjin-review-row:hover .jjin-review-row-title {
	color: var(--jjin-review-accent, #0000ff) !important;
}

.jjin-review-row-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-width: var(--jjin-review-current-badge-min-width);
	height: var(--jjin-review-current-badge-height);
	padding: var(--jjin-review-current-badge-padding);
	border-radius: 999px;
	background: color-mix(in srgb, var(--jjin-review-accent, #0000ff) 8%, white);
	color: var(--jjin-review-accent, #0000ff) !important;
	font-size: var(--jjin-review-current-badge-size) !important;
	font-weight: 700 !important;
	line-height: 1;
	white-space: nowrap;
	justify-self: end;
}

.jjin-review-row-author {
	overflow: hidden;
	color: var(--jjin-review-muted) !important;
	font-size: var(--jjin-review-current-row-meta-size) !important;
	font-weight: 520 !important;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-align: left;
	justify-self: start;
}

.jjin-review-empty {
	margin: 0;
	padding: 42px 24px;
	border-top: 1px solid var(--jjin-review-line-soft);
	background: var(--jjin-review-surface);
	color: var(--jjin-review-subtle);
	font-size: var(--jjin-review-empty-size);
	font-weight: 450;
	text-align: center;
}

.jjin-review-pagination {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 28px;
}

.jjin-review-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	border-radius: var(--jjin-review-pill-radius);
	background: var(--jjin-review-surface-soft);
	color: #555;
	font-size: var(--jjin-review-row-meta-size);
	font-weight: 650;
}

.jjin-review-pagination .page-numbers.current {
	background: var(--jjin-review-accent, #111);
	color: var(--jjin-review-inverse-text);
}

.jjin-review-board-subject-all .jjin-review-pagination .page-numbers {
	background: #fff !important;
	color: #111 !important;
	border: 1px solid transparent !important;
	box-shadow: none !important;
	opacity: 1 !important;
}

.jjin-review-board-subject-all .jjin-review-pagination .page-numbers.current,
.jjin-review-board-subject-all .jjin-review-pagination .page-numbers[aria-current="page"] {
	background: #b8b8bd !important;
	color: #2c2c2e !important;
	border-color: #8e8e93 !important;
}

.jjin-review-board-subject-all .jjin-review-pagination a.page-numbers:hover,
.jjin-review-board-subject-all .jjin-review-pagination a.page-numbers:focus-visible {
	background: #fff !important;
	color: #111 !important;
	transform: translateY(-1px);
}

.jjin-review-board-subject-all .jjin-review-pagination .page-numbers.current:hover,
.jjin-review-board-subject-all .jjin-review-pagination .page-numbers.current:focus-visible,
.jjin-review-board-subject-all .jjin-review-pagination .page-numbers[aria-current="page"]:hover,
.jjin-review-board-subject-all .jjin-review-pagination .page-numbers[aria-current="page"]:focus-visible {
	background: #b8b8bd !important;
	color: #2c2c2e !important;
	border-color: #8e8e93 !important;
	transform: none;
}


/* === JJIN v1.0.9: button hover movement only, no color change === */

/* 검색 버튼: hover 시 색상 변화 없이 살짝만 움직임 */
.jjin-review-search button,
.jjin-review-search button:hover,
.jjin-review-search button:focus-visible,
.jjin-review-search button:active {
	background: var(--jjin-review-search-button-bg) !important;
	color: var(--jjin-review-search-button-text) !important;
	border: 0 !important;
	box-shadow: none !important;
	opacity: 1 !important;
	text-decoration: none !important;
}

.jjin-review-search button:hover,
.jjin-review-search button:focus-visible {
	transform: translateY(-1px) !important;
}

/* 초기화 버튼: hover 시 색상 변화 없이 살짝만 움직임 */
.jjin-review-search-reset,
.jjin-review-search-reset:hover,
.jjin-review-search-reset:focus-visible,
.jjin-review-search-reset:active {
	background: var(--jjin-review-reset-button-bg) !important;
	color: var(--jjin-review-reset-button-text) !important;
	box-shadow: none !important;
	opacity: 1 !important;
	text-decoration: none !important;
}

.jjin-review-search-reset:hover,
.jjin-review-search-reset:focus-visible {
	transform: translateY(-1px) !important;
}

/* 후기 작성 버튼: hover 시 색상 변화 없이 살짝만 움직임 */
.jjin-review-write-toggle,
.jjin-review-write-toggle:hover,
.jjin-review-write-toggle:focus-visible,
.jjin-review-write-toggle:active {
	background: var(--jjin-review-accent, #111) !important;
	color: var(--jjin-review-inverse-text) !important;
	border: 0 !important;
	box-shadow: 0 10px 24px color-mix(in srgb, var(--jjin-review-accent, #111) 14%, transparent) !important;
	opacity: 1 !important;
	text-decoration: none !important;
}

.jjin-review-write-toggle:hover,
.jjin-review-write-toggle:focus-visible {
	transform: translateY(-1px) !important;
}
