/**
 * Public styles for DW Board plugin.
 *
 * @package DW_Board
 * @since 1.0.0
 */

/* Import Noto Sans KR Font */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;600;700&display=swap');

/* Board Wrapper */
.dw-board-wrapper {
	width: 100%;
	max-width: 100%;
	margin: 20px 0;
	padding: 0;
	background: transparent;
	border: 0;
	font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	font-size: 17px;
	font-weight: 400;
	box-sizing: border-box;
}

/* Breadcrumb */
.dw-board-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 14px;
	font-size: 17px;
	line-height: 1.4;
	color: #777;
}

.dw-board-breadcrumb-home {
	font-size: 14px;
	line-height: 1;
}

.dw-board-breadcrumb-separator {
	color: #c0c0c0;
}

.dw-board-breadcrumb-item {
	color: #777;
}

.dw-board-breadcrumb-current {
	color: #333;
	font-weight: 600;
}

/* Board Header */
.dw-board-header {
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 2px solid #0073aa;
}

/* Title hidden: no divider line, no extra bottom padding for it. */
.dw-board-header.dw-board-header--no-title {
	padding-bottom: 0;
	border-bottom: none;
}

.dw-board-title {
	margin: 0 0 10px 0;
	font-size: 40px;
	font-weight: 700;
	color: #222;
	line-height: 1.25;
}

.dw-board-description {
	color: #666;
	line-height: 1.6;
	font-size: 14px;
}

/* Board Actions */
.dw-board-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
	flex-wrap: wrap;
	gap: 15px;
}

.dw-board-search form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.dw-board-search-input {
	padding: 10px 14px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	flex: 1 1 0;
	min-width: 0;
	font-size: 14px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.dw-board-search-input:focus {
	outline: 0;
	border-color: #6366f1;
	box-shadow: 0 0 0 3px rgba( 99, 102, 241, 0.18 );
}

.dw-board-search-button,
.dw-board-write-button {
	padding: 10px 22px;
	background: var(--dw-create-btn-color, #F97316);
	color: #fff;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	transition: filter 0.15s ease, background 0.15s ease;
}

.dw-board-search-button:hover {
	background: #4338ca;
}

.dw-board-write-button:hover {
	filter: brightness( 0.92 );
}

/* Custom Rich Text Editor */
.dw-editor-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	padding: 10px;
	background: #f5f5f5;
	border: 1px solid #ddd;
	border-bottom: none;
	border-radius: 4px 4px 0 0;
	align-items: center;
}

.dw-editor-btn {
	padding: 6px 12px;
	background: transparent;
	border: 1px solid #ccc;
	border-radius: 3px;
	cursor: pointer;
	font-size: 14px;
	color: #1f1f1f;
	transition: all 0.2s;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 32px;
}

.dw-editor-btn:hover {
	background: #f0f0f0;
	color: #1f1f1f;
	border-color: #999;
}

/* Color picker group */
.dw-color-group {
	display: inline-flex;
	align-items: center;
	gap: 0;
	border: 1px solid #ccc;
	border-radius: 3px;
	overflow: hidden;
}

.dw-color-group .dw-color-picker-btn {
	border: none;
	border-radius: 0;
	border-right: 1px solid #ddd;
	margin: 0;
}

.dw-color-group .dw-color-remove-btn {
	border: none;
	border-radius: 0;
	margin: 0;
	padding: 6px 8px;
	font-size: 18px;
	line-height: 1;
	min-width: 28px;
	height: 32px;
	color: #666;
	font-weight: normal;
}

.dw-color-group .dw-color-remove-btn:hover {
	background: #f44336;
	color: white;
	border-color: #f44336;
}

.dw-toolbar-separator {
	width: 1px;
	height: 24px;
	background: #ccc;
	margin: 0 5px;
}

.dw-color-picker-btn {
	position: relative;
	cursor: pointer;
}

.dw-color-input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.dw-editor-wrapper {
	position: relative;
	border: 1px solid #ddd;
	border-radius: 0 0 4px 4px;
	background: #fff;
}

.dw-editor-content {
	min-height: 300px;
	max-height: 600px;
	overflow-y: auto;
	padding: 15px;
	font-size: 15px;
	line-height: 1.6;
	outline: none;
}

.dw-editor-content:focus {
	border-color: #0073aa;
	box-shadow: 0 0 0 1px #0073aa;
}

.dw-editor-content p {
	margin-bottom: 1em;
}

.dw-editor-content table {
	border-collapse: collapse;
	width: 100%;
	margin: 1em 0;
}

.dw-editor-content table td {
	padding: 8px;
	border: 1px solid #ddd;
}

.dw-editor-content img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 1em 0;
}

.dw-editor-content iframe {
	max-width: 100%;
	margin: 1em 0;
}

.dw-editor-content a {
	color: #0073aa;
	text-decoration: underline;
}

.dw-editor-content ul,
.dw-editor-content ol {
	margin: 1em 0;
	padding-left: 2em;
}

/* Write Form */
.dw-board-form,
.dw-board-edit-form {
	margin: 20px 0;
	padding: 20px;
	background: #f9f9f9;
	border: 1px solid #ddd;
	border-radius: 4px;
	animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.dw-board-form h3,
.dw-board-edit-form h3 {
	margin-top: 0;
	color: #333;
}

.dw-board-form-group {
	margin-bottom: 20px;
}

.dw-board-form-group label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	color: #333;
}

/* Checkbox inline group */
.dw-board-checkbox-group {
	display: flex;
	gap: 20px;
	align-items: center;
	margin-bottom: 20px;
}

.dw-board-checkbox-group label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 0;
	font-weight: 400;
	cursor: pointer;
}

.dw-board-checkbox-group input[type="checkbox"] {
	margin: 0;
	cursor: pointer;
}

.dw-board-form-group .required {
	color: #dc3232;
}

.dw-board-input,
.dw-board-textarea {
	width: 100%;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	font-family: inherit;
}

.dw-board-textarea {
	resize: vertical;
	min-height: 150px;
}

.dw-board-form-actions {
	display: flex;
	gap: 10px;
	margin-top: 20px;
}

.dw-board-submit-button,
.dw-board-cancel-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 24px;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: all 0.3s ease;
}

.dw-board-submit-button {
	background: #46b450;
	color: #fff;
}

.dw-board-submit-button:hover {
	background: #399740;
}

.dw-board-submit-button:disabled {
	background: #ccc;
	cursor: not-allowed;
}

.dw-board-cancel-button {
	background: #f0f0f0;
	color: #333;
}

.dw-board-cancel-button:hover {
	background: #e0e0e0;
}

.dw-board-form-message {
	margin-top: 15px;
	padding: 12px;
	border-radius: 4px;
}

.dw-board-form-message.success {
	background: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

.dw-board-form-message.error {
	background: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

/* Login Message */
.dw-board-login-message {
	padding: 15px;
	background: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 4px;
	margin: 20px 0;
}

.dw-board-login-message a {
	color: #0073aa;
	font-weight: 600;
}

/* Board Table */
.dw-board-list {
	margin: 20px 0;
	overflow-x: auto;
}

.dw-board-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid #e0e0e0;
}

.dw-board-table thead {
	background: #f9f9f9;
}

.dw-board-table th,
.dw-board-table td {
	padding: 12px 14px;
	text-align: left;
	border-bottom: 1px solid #e1e1e1;
	font-size: 15px;
	font-weight: 400;
}

.dw-board-table th {
	font-size: 15px;
	font-weight: 600;
	color: #333;
	white-space: nowrap;
}

.dw-board-table tbody tr {
	transition: background 0.2s ease;
}

.dw-board-table tbody tr:hover {
	background: #f5f5f5;
}

.dw-board-notice-row {
	background: #fffbf0 !important;
}

.dw-board-notice-row:hover {
	background: #fff4d9 !important;
}

.dw-board-notice-badge {
	display: inline-block;
	padding: 2px 8px;
	background: #ff9800;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
	vertical-align: middle;
	border-radius: 4px;
	white-space: nowrap;
}

.dw-board-col-id {
	width: 80px;
	text-align: center;
}

.dw-board-col-title {
	min-width: 200px;
}

.dw-board-col-author {
	width: 120px;
}

.dw-board-col-department {
	width: 120px;
}

.dw-board-col-views {
	width: 80px;
	text-align: center;
}

.dw-board-col-date {
	width: 120px;
	white-space: nowrap;
}

.dw-board-post-link {
	color: var( --dw-title-color, #111827 );
	text-decoration: none;
	font-weight: 500;
	font-size: var( --dw-title-size, inherit );
}

.dw-board-post-link:hover {
	color: var( --dw-title-color, #111827 );
	text-decoration: underline;
}

/* No Posts Message */
.dw-board-no-posts {
	padding: 40px 20px;
	text-align: center;
	color: #666;
	background: #f9f9f9;
	border-radius: 4px;
}

/* Pagination */
.dw-board-pagination {
	margin: 30px 0;
	text-align: center;
}

.dw-board-pagination .page-numbers {
	display: inline-block;
	padding: 8px 12px;
	margin: 0 2px;
	background: #fff;
	border: 1px solid #ddd;
	color: #0073aa;
	text-decoration: none;
	border-radius: 3px;
	transition: all 0.3s ease;
}

.dw-board-pagination .page-numbers:hover {
	background: #0073aa;
	color: #fff;
	border-color: #0073aa;
}

.dw-board-pagination .page-numbers.current {
	background: #0073aa;
	color: #fff;
	border-color: #0073aa;
}

.dw-board-pagination .page-numbers.dots {
	border: none;
	background: none;
	cursor: default;
}

/* Stats */
.dw-board-stats {
	padding: 15px;
	background: #f9f9f9;
	border-top: 1px solid #e1e1e1;
	text-align: left;
	color: #666;
	font-size: 14px;
	margin-top: 20px;
}

/* Write Button Position Options */
.dw-board-wrapper .dw-board-write-action {
	position: relative;
}

.dw-board-wrapper.write-btn-top-right .dw-board-actions {
	justify-content: space-between;
}

.dw-board-wrapper.write-btn-bottom-right .dw-board-write-action {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 999;
}

.dw-board-wrapper.write-btn-bottom-right .dw-board-write-button {
	padding: 12px 24px;
	font-size: 16px;
	box-shadow: 0 4px 12px rgba(0, 115, 170, 0.3);
}

.dw-board-wrapper.write-btn-bottom-right .dw-board-write-button:hover {
	box-shadow: 0 6px 16px rgba(0, 115, 170, 0.4);
}

/* Single Post */
.dw-board-single-wrapper {
	max-width: 100%;
	margin: 20px 0;
	font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	font-size: 16px;
	color: #333;
	box-sizing: border-box;
}

.dw-board-single-wrapper * {
	box-sizing: border-box;
}

.dw-board-single-header {
	padding: 24px 28px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 6px 6px 0 0;
	border-bottom: 2px solid #0073aa;
}

.dw-board-single-title {
	margin: 0 0 12px 0;
	font-size: 24px;
	font-weight: 600;
	color: #222;
	line-height: 1.4;
}

.dw-board-single-meta {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	color: #777;
	font-size: 17px;
}

.dw-board-single-meta span {
	display: inline-block;
}

.dw-board-single-content {
	padding: 24px 28px;
	margin: 20px 0;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	line-height: 1.9;
	font-size: 17px;
	color: #333;
	letter-spacing: -0.01em;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.dw-board-single-content img {
	max-width: 100%;
	height: auto;
}

/* Keep user-pasted wide content from forcing horizontal page scroll on mobile. */
.dw-board-single-content table { display: block; max-width: 100%; overflow-x: auto; }
.dw-board-single-content pre { max-width: 100%; overflow-x: auto; }
.dw-board-single-content iframe { max-width: 100%; }

.dw-board-single-content p {
	margin-bottom: 1.1em;
}

.dw-board-single-content ul {
	margin: 1em 0;
	padding-left: 2em;
}

.dw-board-single-content li {
	margin-bottom: 0.5em;
}


.dw-board-single-footer {
	padding: 16px 28px;
	background: #f9f9f9;
	border: 1px solid #e1e1e1;
	border-radius: 0 0 6px 6px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

/* CRUD UX: Hide footer completely when editing mode */
.dw-board-single-footer.dw-board-editing-mode {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	position: absolute !important;
	left: -9999px !important;
}

.dw-board-post-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.dw-board-post-updated {
	color: #666;
	font-size: 13px;
}

/* Footer action buttons: Edit / Delete / Back to List */
.dw-board-edit-button,
.dw-board-delete-button,
.dw-board-list-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 9px 16px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	border-radius: 4px;
	border: 1px solid transparent;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.dw-board-edit-button { background: #0073aa; color: #fff; }
.dw-board-edit-button:hover { background: #005a87; color: #fff; }

.dw-board-delete-button { background: #fff; color: #d63638; border-color: #d63638; }
.dw-board-delete-button:hover { background: #d63638; color: #fff; }

.dw-board-list-button { background: #f0f0f1; color: #1d2327; border-color: #dcdcde; }
.dw-board-list-button:hover { background: #e2e4e7; color: #1d2327; }

.dw-board-edit-button:focus-visible,
.dw-board-delete-button:focus-visible,
.dw-board-list-button:focus-visible {
	outline: 2px solid #0073aa;
	outline-offset: 2px;
}

/* Dashicons inside buttons */
.dw-board-back-button .dashicons,
.dw-board-edit-button .dashicons,
.dw-board-delete-button .dashicons,
.dw-board-list-button .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	line-height: 1;
	margin: 0;
}

/* Prev / Next adjacent post navigation */
.dw-board-adjacent-nav {
	margin: 16px 0 0;
	border: 1px solid #e1e1e1;
	border-radius: 6px;
	overflow: hidden;
}

.dw-board-adjacent {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 18px;
	text-decoration: none;
	color: #333;
	border-bottom: 1px solid #eee;
}

.dw-board-adjacent:last-child {
	border-bottom: 0;
}

.dw-board-adjacent:hover {
	background: #f5f7fa;
}

.dw-board-adjacent .dw-adjacent-label {
	flex: 0 0 70px;
	font-size: 13px;
	font-weight: 600;
	color: #0073aa;
}

.dw-board-adjacent .dw-adjacent-title {
	flex: 1 1 auto;
	font-size: 14px;
	color: #444;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* List shown beneath the detail view */
.dw-board-related-list {
	margin-top: 28px;
}

.dw-board-related-title {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 600;
	color: #222;
	padding-bottom: 8px;
	border-bottom: 2px solid #0073aa;
}

.dw-board-current-row,
.dw-board-current-row:hover {
	background: #eef5fb !important;
}

.dw-board-related-actions {
	margin-top: 16px;
	text-align: right;
}

/* Custom fields — write form: sectioned 2-column grid */
.dw-board-cf-section {
	margin: 24px 0;
	padding: 20px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #fafbfc;
}

.dw-board-cf-section .dw-cf-section-title {
	margin: 0 0 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid #e5e7eb;
	font-size: 15px;
	font-weight: 700;
	color: #374151;
	letter-spacing: -0.01em;
}

/* Per-section sub-heading inside the write form (Business Information, Contact,
   Broker Information, Confirmation…). First one has no top margin. */
.dw-board-cf-section .dw-cf-section-heading {
	margin: 22px 0 14px;
	padding-bottom: 8px;
	border-bottom: 1px solid #e5e7eb;
	font-size: 14px;
	font-weight: 700;
	color: #16181d;
	letter-spacing: -0.01em;
}
.dw-board-cf-section .dw-cf-grid:first-child + .dw-cf-section-heading,
.dw-board-cf-section > .dw-cf-section-heading:first-child {
	margin-top: 0;
}

/* 12-column track so fields can be full / half / third / quarter width. */
.dw-cf-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 16px 20px;
}

.dw-cf-grid .dw-board-form-group {
	margin-bottom: 0;
	min-width: 0;
	grid-column: span 6;
}

.dw-cf-grid .dw-cf-size-full { grid-column: span 12; }
.dw-cf-grid .dw-cf-size-half { grid-column: span 6; }
.dw-cf-grid .dw-cf-size-third { grid-column: span 4; }
.dw-cf-grid .dw-cf-size-quarter { grid-column: span 3; }

.dw-cf-grid .dw-board-form-group label {
	font-size: 13px;
	font-weight: 600;
	color: #4b5563;
}

.dw-cf-grid .dw-board-input {
	width: 100%;
	box-sizing: border-box;
}

/* Checkbox fields read better as a single inline row. */
.dw-cf-grid .dw-cf-type-checkbox label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 500;
}

@media screen and (max-width: 782px) {
	/* Everything stacks; thirds/quarters pair up rather than getting squeezed. */
	.dw-cf-grid .dw-board-form-group,
	.dw-cf-grid .dw-cf-size-full,
	.dw-cf-grid .dw-cf-size-half { grid-column: span 12; }
	.dw-cf-grid .dw-cf-size-third,
	.dw-cf-grid .dw-cf-size-quarter { grid-column: span 6; }
	.dw-board-cf-section {
		padding: 16px;
	}
}

@media screen and (max-width: 480px) {
	.dw-cf-grid .dw-board-form-group { grid-column: span 12 !important; }
}

/* Custom fields — read view: label/value spec grid */
.dw-board-custom-fields-view {
	margin: 20px 0;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

.dw-board-custom-fields-view .dw-cf-view-title {
	margin: 0;
	padding: 12px 16px;
	background: #f9fafb;
	border-bottom: 1px solid #e5e7eb;
	font-size: 14px;
	font-weight: 700;
	color: #374151;
}

.dw-cf-view-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
}

.dw-cf-view-grid .dw-board-custom-field-item {
	display: flex;
	gap: 12px;
	align-items: baseline;
	padding: 11px 16px;
	border-bottom: 1px solid #f1f3f5;
	border-right: 1px solid #f1f3f5;
	min-width: 0;
	grid-column: span 6;
}

/* Same widths the field was given on the form. */
.dw-cf-view-grid .dw-cf-size-full { grid-column: span 12; }
.dw-cf-view-grid .dw-cf-size-half { grid-column: span 6; }
.dw-cf-view-grid .dw-cf-size-third { grid-column: span 4; }
.dw-cf-view-grid .dw-cf-size-quarter { grid-column: span 3; }

/* Full-width rows stack their label above the value and have no side rule. */
.dw-cf-view-grid .dw-cf-size-full {
	border-right: 0;
	flex-direction: column;
	gap: 6px;
}

.dw-cf-view-grid .dw-cf-label {
	flex: 0 0 34%;
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	color: #6b7280;
	word-break: keep-all;
}

.dw-cf-view-grid .dw-cf-size-full .dw-cf-label {
	flex: none;
}

.dw-cf-view-grid .dw-cf-value {
	flex: 1 1 auto;
	margin: 0;
	min-width: 0;
	color: #111827;
	word-break: break-word;
}

.dw-cf-view-grid .dw-cf-value a {
	color: #2563eb;
}

@media screen and (max-width: 600px) {
	.dw-cf-view-grid .dw-board-custom-field-item,
	.dw-cf-view-grid .dw-cf-size-full,
	.dw-cf-view-grid .dw-cf-size-half,
	.dw-cf-view-grid .dw-cf-size-third,
	.dw-cf-view-grid .dw-cf-size-quarter {
		grid-column: span 12;
		border-right: 0;
	}
}

/* Account-type "posted by" block (Contact / Broker Information) on the single
   view. Individual = typed contact; Business = broker identity from DW Easy Auth. */
.dw-lister {
	margin: 24px 0;
	padding: 18px 20px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fff;
}
.dw-listing-aside .dw-lister {
	margin: 0;
}
.dw-lister-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}
.dw-lister-btn {
	flex: 1 1 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 11px 14px;
	border: 1.5px solid #2b7fff;
	border-radius: 10px;
	background: #fff;
	color: #1d4ed8;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}
.dw-lister-btn .dw-ico { flex: 0 0 auto; }
.dw-lister-btn-primary {
	background: #2b7fff;
	border-color: #2b7fff;
	color: #fff;
}
.dw-lister-title {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #7b8397;
	margin-bottom: 6px;
}
.dw-lister-name {
	font-size: 17px;
	font-weight: 700;
	color: #16181d;
	letter-spacing: -0.01em;
	margin-bottom: 10px;
}
.dw-lister-rows {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.dw-lister-row {
	display: flex;
	gap: 10px;
	font-size: 14px;
	line-height: 1.5;
}
.dw-lister-row dt {
	flex: 0 0 40%;
	margin: 0;
	color: #6b7280;
	font-weight: 600;
	word-break: keep-all;
}
.dw-lister-row dd {
	flex: 1 1 auto;
	margin: 0;
	min-width: 0;
	color: #16181d;
	word-break: break-word;
}
.dw-lister-row dd a {
	color: #2563eb;
	text-decoration: none;
}

/* Custom field: radio group */
.dw-board-radio-group {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 14px;
	padding-top: 4px;
}

.dw-board-radio-group .dw-board-radio {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-weight: 400;
}

/* Board list table on mobile: custom-field columns are hidden (the tap-through
 * detail page shows them all), so the core columns (No./Title/Author/Date) fit
 * without a wide horizontal scroll. A scroll container is the safety net if the
 * remaining columns still exceed the viewport. */
.dw-board-list { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media screen and (max-width: 640px) {
	.dw-board-table th.dw-col-cf,
	.dw-board-table td.dw-col-cf { display: none; }
	.dw-board-table th,
	.dw-board-table td { padding-left: 8px; padding-right: 8px; }
}
@media screen and (max-width: 420px) {
	/* Very narrow: drop lower-priority columns too, keep No./Title/Date. */
	.dw-board-table th.dw-board-col-author,
	.dw-board-table td.dw-board-col-author,
	.dw-board-table th.dw-board-col-department,
	.dw-board-table td.dw-board-col-department,
	.dw-board-table th.dw-board-col-views,
	.dw-board-table td.dw-board-col-views { display: none; }
}

/* Recent posts across boards ([dw_board_recent]) */
.dw-board-recent { font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.dw-board-recent .dw-recent-title { font-size: 18px; font-weight: 700; margin: 0 0 12px; }
.dw-board-recent .dw-recent-list { list-style: none; margin: 0; padding: 0; }
.dw-board-recent .dw-recent-item {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 10px 4px;
	border-bottom: 1px solid #eee;
	flex-wrap: wrap;
}
.dw-board-recent .dw-recent-board {
	flex: 0 0 auto;
	font-size: 12px;
	color: #2563eb;
	background: #eff6ff;
	padding: 2px 8px;
	border-radius: 6px;
	font-weight: 600;
}
.dw-board-recent .dw-recent-post-title { flex: 1 1 auto; min-width: 0; font-weight: 500; word-break: keep-all; font-size: var( --dw-title-size, inherit ); }
.dw-board-recent .dw-recent-post-title a { text-decoration: none; color: var( --dw-title-color, #111827 ); }
.dw-board-recent .dw-recent-post-title a:hover { text-decoration: underline; }
.dw-board-recent .dw-recent-meta { flex: 0 0 auto; font-size: 12px; color: #9ca3af; }
.dw-board-recent .dw-recent-empty { color: #9ca3af; }
@media screen and ( max-width: 600px ) {
	.dw-board-recent .dw-recent-meta { flex-basis: 100%; }
}

/* ---- Recent widget: card styles (style="cards" carousel / "grid") ------- *
 * Both share the same .dw-recent-card markup; uploaded CSS skins can restyle
 * these stable hooks into any look (jobs, agents, freelance, …).            */
.dw-board-recent .dw-recent-cards-wrap { position: relative; }

/* Carousel: horizontal scroll-snap row. */
.dw-board-recent--cards .dw-recent-cards {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 10px;
	-webkit-overflow-scrolling: touch;
}
.dw-board-recent--cards .dw-recent-card {
	flex: 0 0 260px;
	scroll-snap-align: start;
}

/* Grid: responsive wrap. */
.dw-board-recent--grid .dw-recent-cards {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 240px, 1fr ) );
	gap: 16px;
}
/* columns="N" on the shortcode forces exactly N equal columns (grid style). */
.dw-board-recent--grid .dw-recent-cards[style*="--dw-recent-cols"] {
	grid-template-columns: repeat( var( --dw-recent-cols, 4 ), minmax( 0, 1fr ) );
}
@media ( max-width: 900px ) {
	.dw-board-recent--grid .dw-recent-cards[style*="--dw-recent-cols"] {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}
@media ( max-width: 480px ) {
	.dw-board-recent--grid .dw-recent-cards[style*="--dw-recent-cols"] {
		grid-template-columns: 1fr;
	}
}

/* The card itself (shared). */
.dw-board-recent .dw-recent-card {
	display: flex;
	flex-direction: column;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s, transform 0.15s;
}
.dw-board-recent .dw-recent-card:hover { box-shadow: 0 6px 18px rgba( 0, 0, 0, 0.1 ); transform: translateY( -2px ); }

/* Image position: side (left/right) instead of the default top. */
.dw-board-recent .dw-recent-card--img-left,
.dw-board-recent .dw-recent-card--img-right { flex-direction: row; align-items: stretch; }
.dw-board-recent .dw-recent-card--img-right { flex-direction: row-reverse; }
.dw-board-recent--cards .dw-recent-card--img-left,
.dw-board-recent--cards .dw-recent-card--img-right { flex: 0 0 360px; }
.dw-board-recent .dw-recent-card--img-left .dw-recent-card-media,
.dw-board-recent .dw-recent-card--img-right .dw-recent-card-media {
	flex: 0 0 42%;
	aspect-ratio: auto;
	min-height: 120px;
}
.dw-board-recent .dw-recent-card--img-left .dw-recent-card-body,
.dw-board-recent .dw-recent-card--img-right .dw-recent-card-body {
	flex: 1 1 auto;
	justify-content: center;
}

/* Phones: carousel cards must not exceed the viewport (one full card + peek). */
@media screen and ( max-width: 480px ) {
	.dw-board-recent--cards .dw-recent-card { flex-basis: min( 300px, 82vw ); }
	.dw-board-recent--cards .dw-recent-card--img-left,
	.dw-board-recent--cards .dw-recent-card--img-right { flex-basis: min( 320px, 88vw ); }
}

.dw-board-recent .dw-recent-card-media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 11;
	background: #f1f5f9;
}
.dw-board-recent .dw-recent-card-img {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}
.dw-board-recent .dw-recent-card-img--empty { background: linear-gradient( 135deg, #e2e8f0, #f1f5f9 ); }

.dw-board-recent .dw-recent-card-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 3px 10px;
	background: rgba( 17, 24, 39, 0.82 );
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	border-radius: 6px;
}
.dw-board-recent .dw-recent-card-heart {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba( 255, 255, 255, 0.9 );
	border-radius: 50%;
	font-size: 15px;
	line-height: 1;
	color: #ef4444;
	cursor: pointer;
	z-index: 2;
	transition: transform 0.12s ease, background 0.12s ease, box-shadow 0.12s ease;
	-webkit-user-select: none;
	user-select: none;
}
.dw-board-recent .dw-recent-card-heart:hover {
	background: #fff;
	transform: scale( 1.12 );
	box-shadow: 0 2px 8px rgba( 0, 0, 0, 0.18 );
}
.dw-board-recent .dw-recent-card-heart:focus-visible {
	outline: 2px solid #ef4444;
	outline-offset: 2px;
}
.dw-board-recent .dw-recent-card-heart.is-active {
	color: #ef4444;
	background: #fff;
}

.dw-board-recent .dw-recent-card-body {
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 12px 14px 14px;
}
.dw-board-recent .dw-recent-card-title { font-weight: 700; font-size: 15px; color: #111827; line-height: 1.35; word-break: keep-all; }
.dw-board-recent .dw-recent-card-loc { font-size: 13px; color: #6b7280; }
.dw-board-recent .dw-recent-card-price { font-size: 17px; font-weight: 800; color: #16a34a; }
.dw-board-recent .dw-recent-card-specs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 2px;
	font-size: 13px;
	color: #374151;
}

/* Shortcode-builder layout rows: one row per fields-spec group; grouped
 * (comma) tokens render inline. Uploaded CSS skins can override freely. */
.dw-board-recent .dw-recent-card-row { display: block; }
.dw-board-recent .dw-recent-card-row--inline {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 14px;
}
.dw-board-recent .dw-recent-card-field { font-size: 13px; color: #374151; }
.dw-board-recent .dw-recent-card-field-label { color: #9ca3af; font-size: 12px; margin-right: 2px; }
.dw-board-recent .dw-recent-card-field-val { color: #374151; font-weight: 600; }

/* Unified cross-board search ([dw_board_search]) */
.dw-board-search { font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.dw-board-search .dw-search-title { font-size: 18px; font-weight: 700; margin: 0 0 12px; }
/* Modern search bar. The .dw-search-bar wraps the form + typeahead dropdown
 * so the dropdown can anchor right under the controls. */
.dw-board-search .dw-search-bar { position: relative; margin: 0 0 12px; }
.dw-board-search--bar .dw-search-bar { margin: 0; }
.dw-board-search .dw-board-search-form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}
.dw-board-search .dw-search-input {
	flex: 1 1 0;
	min-width: 0;
	padding: 12px 16px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
	font-size: 15px;
	line-height: 1.3;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.dw-board-search .dw-search-input:focus {
	outline: 0;
	border-color: #6366f1;
	box-shadow: 0 0 0 3px rgba( 99, 102, 241, 0.18 );
}
/* Unified search field ([dw_board_search] only): the board dropdown and the text
 * input share ONE pill — board at the left, inside the same field, not a separate
 * box. .dw-search-field is emitted only by this shortcode, so nothing else is
 * affected. */
.dw-board-search .dw-search-field {
	display: flex;
	align-items: stretch;
	flex: 1 1 0;
	min-width: 0;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.dw-board-search .dw-search-field:focus-within {
	border-color: #6366f1;
	box-shadow: 0 0 0 3px rgba( 99, 102, 241, 0.18 );
}
.dw-board-search .dw-search-field .dw-search-input {
	flex: 1 1 0;
	min-width: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.dw-board-search .dw-search-field .dw-search-input:focus {
	border: 0;
	box-shadow: none;
}
.dw-board-search .dw-search-field .dw-search-board {
	flex: 0 0 auto;
	max-width: 45%;
	border: 0;
	border-right: 1px solid #e2e8f0;
	border-radius: 0;
	background: transparent;
	padding: 12px 12px;
	cursor: pointer;
}
.dw-board-search .dw-search-board,
.dw-board-search .dw-search-cat {
	flex: 0 1 auto;
	padding: 12px 14px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
	font-size: 15px;
	cursor: pointer;
}
.dw-board-search .dw-search-submit {
	flex: 0 0 auto;
	padding: 12px 24px;
	border: 0;
	border-radius: 12px;
	background: #4f46e5;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.1s ease;
}
.dw-board-search .dw-search-submit:hover { background: #4338ca; }
.dw-board-search .dw-search-submit:active { transform: translateY( 1px ); }
.dw-board-search .dw-search-submit:disabled,
.dw-board-search .dw-search-submit.is-disabled { opacity: 0.5; cursor: not-allowed; }
.dw-board-search .dw-search-submit:disabled:hover,
.dw-board-search .dw-search-submit.is-disabled:hover { background: #4f46e5; }
/* Inline results below a bar-only bar only take space once populated. */
.dw-board-search--bar .dw-search-results:not(:empty) { margin-top: 14px; }

/* Live typeahead dropdown. */
.dw-board-search .dw-search-dropdown {
	position: absolute;
	left: 0;
	right: 0;
	top: calc( 100% + 6px );
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba( 0, 0, 0, 0.14 );
	max-height: 60vh;
	overflow-y: auto;
	z-index: 99999;
	padding: 6px;
}
.dw-board-search .dw-search-dropdown[hidden] { display: none; }
.dw-board-search .dw-sd-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 8px;
	text-decoration: none;
	color: #111827;
}
.dw-board-search .dw-sd-item:hover,
.dw-board-search .dw-sd-item.is-active { background: #f3f4f6; }
.dw-board-search .dw-sd-board {
	flex: 0 0 auto;
	font-size: 11px;
	font-weight: 600;
	color: #4f46e5;
	background: #eef2ff;
	padding: 2px 8px;
	border-radius: 999px;
}
.dw-board-search .dw-sd-title {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 14px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.dw-board-search .dw-sd-empty { padding: 16px; text-align: center; color: #9ca3af; font-size: 13px; }
.dw-board-search .dw-sd-all {
	display: block;
	width: 100%;
	margin-top: 4px;
	padding: 10px;
	border: 0;
	border-top: 1px solid #f1f5f9;
	background: transparent;
	color: #4f46e5;
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
	border-radius: 8px;
}
.dw-board-search .dw-sd-all:hover { background: #f5f3ff; }
.dw-search-results.dw-search-loading { opacity: 0.5; pointer-events: none; transition: opacity 0.15s ease; }

/* Dark-theme dropdown. */
.dw-board-search--dark .dw-search-dropdown { background: #0b1220; border-color: rgba( 255, 255, 255, 0.14 ); box-shadow: 0 12px 32px rgba( 0, 0, 0, 0.5 ); }
.dw-board-search--dark .dw-sd-item { color: #e5e7eb; }
.dw-board-search--dark .dw-sd-item:hover,
.dw-board-search--dark .dw-sd-item.is-active { background: rgba( 255, 255, 255, 0.08 ); }
.dw-board-search--dark .dw-sd-all { border-top-color: rgba( 255, 255, 255, 0.12 ); color: #a5b4fc; }
.dw-board-search--dark .dw-sd-all:hover { background: rgba( 255, 255, 255, 0.06 ); }
.dw-board-search--dark .dw-sd-empty { color: #94a3b8; }
.dw-board-search .dw-search-summary { margin: 4px 0 10px; font-size: 13px; color: #6b7280; }

/* Search results list. The .dw-recent-* base styles are scoped to
 * .dw-board-recent, so the search context needs its own row styling. */
.dw-board-search .dw-recent-list,
.dw-board-search .dw-search-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid #eef2f7;
}
.dw-board-search .dw-recent-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	padding: 14px 12px;
	border-bottom: 1px solid #eef2f7;
	border-radius: 8px;
	transition: background 0.12s ease;
}
.dw-board-search .dw-recent-item:hover { background: #f8fafc; }
.dw-board-search .dw-recent-board {
	flex: 0 0 auto;
	font-size: 11px;
	font-weight: 600;
	color: #4f46e5;
	background: #eef2ff;
	padding: 3px 10px;
	border-radius: 999px;
}
.dw-board-search .dw-recent-post-title {
	flex: 1 1 240px;
	min-width: 0;
	font-weight: 600;
	font-size: var( --dw-title-size, 15px );
	word-break: keep-all;
}
.dw-board-search .dw-recent-post-title a {
	color: var( --dw-title-color, #111827 );
	text-decoration: none;
}
.dw-board-search .dw-recent-post-title a:hover { text-decoration: underline; }
.dw-board-search .dw-recent-meta {
	flex: 0 0 auto;
	margin-left: auto;
	font-size: 13px;
	color: #9ca3af;
	white-space: nowrap;
}
.dw-board-search .dw-recent-empty { padding: 24px 12px; color: #9ca3af; }
.dw-board-search .dw-search-cat-tag {
	flex: 0 0 auto;
	font-size: 12px;
	color: #6b7280;
	background: #f3f4f6;
	border-radius: 999px;
	padding: 3px 10px;
}
.dw-board-search .dw-search-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 14px;
}
.dw-board-search .dw-search-page {
	text-decoration: none;
	color: #2563eb;
	font-size: 14px;
	font-weight: 600;
}
.dw-board-search .dw-search-page:hover { text-decoration: underline; }
.dw-board-search .dw-search-page-info { font-size: 13px; color: #6b7280; }

/* Bar-only fills the width the shortcode's `width` gave the container. */
.dw-board-search--bar .dw-search-input { flex: 1 1 0; }

/* Dark theme — for placing the bar over a dark header/hero. */
.dw-board-search--dark .dw-search-title { color: #f9fafb; }
.dw-board-search--dark .dw-search-input,
.dw-board-search--dark .dw-search-board,
.dw-board-search--dark .dw-search-cat {
	background: rgba( 255, 255, 255, 0.10 );
	border-color: rgba( 255, 255, 255, 0.30 );
	color: #f9fafb;
}
/* Unified field on dark: the pill carries the tint; its inner board/input stay
 * transparent so they read as one field. */
.dw-board-search--dark .dw-search-field {
	background: rgba( 255, 255, 255, 0.10 );
	border-color: rgba( 255, 255, 255, 0.30 );
}
.dw-board-search--dark .dw-search-field .dw-search-input,
.dw-board-search--dark .dw-search-field .dw-search-board {
	background: transparent;
	border-color: transparent;
	color: #f9fafb;
}
.dw-board-search--dark .dw-search-field .dw-search-board { border-right-color: rgba( 255, 255, 255, 0.30 ); }
.dw-board-search--dark .dw-search-input::placeholder { color: rgba( 255, 255, 255, 0.65 ); }
.dw-board-search--dark .dw-search-board option,
.dw-board-search--dark .dw-search-cat option { color: #111827; }
.dw-board-search--dark .dw-search-summary,
.dw-board-search--dark .dw-search-page-info,
.dw-board-search--dark .dw-recent-meta { color: #cbd5e1; }
.dw-board-search--dark .dw-recent-post-title,
.dw-board-search--dark .dw-recent-post-title a { color: #f3f4f6; }
.dw-board-search--dark .dw-recent-item { border-bottom-color: rgba( 255, 255, 255, 0.14 ); }
.dw-board-search--dark .dw-recent-empty { color: #94a3b8; }

/* Mobile: the bar always spans full width and its controls stack cleanly. */
@media screen and ( max-width: 600px ) {
	.dw-board-search { max-width: 100% !important; }
	.dw-board-search .dw-search-field { flex: 1 1 100%; }
	.dw-board-search .dw-search-input { flex: 1 1 100%; }
	.dw-board-search .dw-search-board,
	.dw-board-search .dw-search-cat { flex: 1 1 45%; }
	.dw-board-search .dw-search-submit { flex: 1 1 100%; }
}

/* Spam check (CAPTCHA + honeypot) */
.dw-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	opacity: 0;
	overflow: hidden;
}
.dw-captcha-group { margin: 12px 0; }
.dw-captcha-label { display: block; margin-bottom: 6px; font-weight: 600; }
.dw-captcha-input { max-width: 140px; }

/* Comments */
.dw-board-comments {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid #e1e1e1;
}

.dw-comments-title {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 600;
	color: #222;
}

.dw-comments-count {
	color: #0073aa;
	margin-left: 4px;
}

.dw-comments-list {
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
}

.dw-comment-item {
	padding: 14px 0;
	border-bottom: 1px solid #f0f0f0;
}

.dw-comment-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 6px;
}

.dw-comment-author {
	font-weight: 600;
	color: #333;
	font-size: 14px;
}

.dw-comment-date {
	color: #999;
	font-size: 12px;
}

.dw-comment-delete {
	margin-left: auto;
	background: none;
	border: 0;
	color: #c0392b;
	font-size: 12px;
	cursor: pointer;
}

.dw-comment-delete:hover {
	text-decoration: underline;
}

.dw-comment-body {
	color: #444;
	font-size: 15px;
	line-height: 1.8;
	word-break: keep-all;
}

.dw-comment-body p {
	margin: 0 0 0.5em;
}

.dw-comment-empty {
	color: #999;
	padding: 16px 0;
	text-align: center;
}

.dw-comment-textarea {
	width: 100%;
	resize: vertical;
}

.dw-comment-form-actions {
	margin-top: 8px;
	text-align: right;
}

.dw-comment-message {
	margin-top: 8px;
	color: #c0392b;
	font-size: 13px;
}

.dw-comment-login {
	color: #666;
	font-size: 14px;
}

/* Category (유형) filter select */
.dw-board-filter-select {
	height: 38px;
	padding: 0 10px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	background: #fff;
}

.dw-board-col-category {
	text-align: center;
	white-space: nowrap;
	color: #555;
}

/* Pagination: 처음 ‹ 1 2 3 4 5 › 마지막 */
.dw-board-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 28px;
}

.dw-board-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 8px;
	border-radius: 50%;
	color: #555;
	text-decoration: none;
	font-size: 14px;
	border: 1px solid transparent;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.dw-board-pagination a.page-numbers:hover {
	background: #f0f0f1;
	color: #111;
}

.dw-board-pagination .page-numbers.current {
	background: #111;
	color: #fff;
	font-weight: 700;
}

.dw-board-pagination .page-numbers.prev,
.dw-board-pagination .page-numbers.next {
	border-color: #ddd;
	color: #555;
	font-size: 16px;
}

.dw-board-pagination .page-numbers.dots {
	border: 0;
	background: transparent;
}

.dw-board-pagination .dw-page-edge {
	display: inline-flex;
	align-items: center;
	height: 36px;
	padding: 0 6px;
	color: #777;
	text-decoration: none;
	font-size: 13px;
}

.dw-board-pagination .dw-page-edge:hover {
	color: #111;
	text-decoration: underline;
}

/* Responsive Design */
@media screen and (max-width: 768px) {
	.dw-board-wrapper {
		padding: 0;
	}

	.dw-board-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.dw-board-title {
		font-size: 30px;
	}

	.dw-board-search-input {
		flex-basis: 100%;
	}

	/* Prevent iOS Safari zoom-on-focus (fires when a control is < 16px). */
	.dw-board-search-input,
	.dw-board-input,
	.dw-board-textarea,
	.dw-board-filter-select,
	.dw-board-search .dw-search-input,
	.dw-board-search .dw-search-board,
	.dw-board-search .dw-search-cat {
		font-size: 16px;
	}

	.dw-board-table {
		font-size: 14px;
	}

	.dw-board-table th,
	.dw-board-table td {
		padding: 8px;
	}

	.dw-board-col-id,
	.dw-board-col-views {
		display: none;
	}

	.dw-board-single-header {
		padding: 20px;
	}

	.dw-board-single-title {
		font-size: 24px;
	}

	.dw-board-single-content {
		padding: 20px;
		font-size: 15px;
	}

	.dw-board-single-meta {
		flex-direction: column;
		gap: 10px;
	}

	/* Editor responsiveness */
	.dw-editor-toolbar {
		gap: 3px;
		padding: 8px;
	}

	.dw-editor-btn {
		padding: 5px 8px;
		font-size: 13px;
		min-width: 32px;
		height: 28px;
	}

	.dw-editor-content {
		min-height: 200px;
		font-size: 14px;
	}

	/* Modal responsiveness */
	.dw-modal-content {
		width: 95%;
	}

	.dw-modal-header h3 {
		font-size: 18px;
	}

	.dw-upload-area {
		padding: 30px 20px;
	}
}

@media screen and (max-width: 480px) {
	.dw-board-title {
		font-size: 22px;
	}

	.dw-board-col-author,
	.dw-board-col-date {
		font-size: 12px;
	}
}

/* =====================================================
   Jira-Style Attachments
   ===================================================== */

/* Attachment Upload Area (Drag & Drop) */
.dw-board-attachment-area {
	margin: 20px 0;
}

.dw-board-attachment-dropzone {
	border: 2px dashed #ddd;
	border-radius: 4px;
	padding: 30px;
	text-align: center;
	cursor: pointer;
	transition: all 0.3s ease;
	background: #fafbfc;
}

.dw-board-attachment-dropzone:hover {
	border-color: #0052cc;
	background: #f4f5f7;
}

.dw-board-attachment-dropzone.dw-dragover {
	border-color: #0052cc;
	background: #deebff;
	border-style: solid;
}

.dw-dropzone-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	color: #6b778c;
}

.dw-dropzone-placeholder svg {
	color: #6b778c;
	margin-bottom: 4px;
}

.dw-dropzone-placeholder span {
	font-size: 14px;
	font-weight: 500;
	color: #172b4d;
}

.dw-dropzone-placeholder small {
	font-size: 12px;
	color: #6b778c;
}

/* The real file input is visually hidden but present, so the <label for> opens
   it natively (reliable on mobile — no JS needed). */
.dw-board-attachment-dropzone .dw-file-input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* "Choose files" — a clear button-style label that opens the file browser. */
.dw-attach-browse {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 18px;
	border-radius: 8px;
	background: #0052cc;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.dw-attach-browse:hover { background: #0747a6; }
.dw-board-attachment-dropzone .dw-file-input:focus-visible + .dw-dropzone-placeholder .dw-attach-browse,
.dw-attach-browse:focus-visible { outline: 2px solid #0052cc; outline-offset: 2px; }

/* Attachment List (Before Upload) */
.dw-board-attachment-list {
	margin-top: 16px;
}

.dw-attachment-item-preview {
	display: flex;
	align-items: center;
	padding: 8px 12px;
	background: #f4f5f7;
	border-radius: 3px;
	margin-bottom: 8px;
	transition: background 0.2s ease;
}

.dw-attachment-item-preview:hover {
	background: #ebecf0;
}

.dw-attachment-item-preview .dw-attachment-icon {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 3px;
	margin-right: 12px;
	flex-shrink: 0;
}

.dw-attachment-item-preview .dw-file-icon {
	font-size: 10px;
	font-weight: 600;
	color: #6b778c;
}

/* Real image thumbnail (local preview) instead of a "JPG" text badge. */
.dw-attachment-item-preview .dw-attachment-thumb {
	width: 32px;
	height: 32px;
	border-radius: 3px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.dw-attachment-item-preview .dw-attachment-info {
	flex: 1;
	min-width: 0;
}

.dw-attachment-item-preview .dw-attachment-name {
	display: block;
	font-size: 14px;
	color: #172b4d;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.dw-attachment-item-preview .dw-attachment-size {
	display: block;
	font-size: 12px;
	color: #6b778c;
	margin-top: 2px;
}

.dw-attachment-item-preview .dw-attachment-remove {
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	border-radius: 3px;
	cursor: pointer;
	color: #6b778c;
	transition: all 0.2s ease;
	flex-shrink: 0;
}

.dw-attachment-item-preview .dw-attachment-remove:hover {
	background: #dfe1e6;
	color: #de350b;
}

/* Attachments Section (Display in Post) */
.dw-board-attachments-section {
	margin: 24px 0;
	padding: 16px;
	background: #f4f5f7;
	border-radius: 3px;
	border-left: 3px solid #0052cc;
}

.dw-board-attachments-header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
	font-size: 14px;
	font-weight: 600;
	color: #172b4d;
}

.dw-board-attachments-header svg {
	color: #0052cc;
}

.dw-board-attachments-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* Attachment Item (Jira Line Style) */
.dw-board-attachment-item {
	display: flex;
	align-items: center;
	padding: 8px 12px;
	background: #fff;
	border-radius: 3px;
	border: 1px solid #dfe1e6;
	transition: all 0.2s ease;
}

.dw-board-attachment-item:hover {
	border-color: #0052cc;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.dw-board-attachment-item .dw-attachment-icon {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f4f5f7;
	border-radius: 3px;
	margin-right: 12px;
	flex-shrink: 0;
}

.dw-board-attachment-item .dw-file-icon {
	font-size: 11px;
	font-weight: 700;
	color: #6b778c;
	letter-spacing: -0.5px;
}

/* File Type Colors */
.dw-file-image {
	background: #e3fcef !important;
	color: #006644 !important;
}

.dw-file-pdf {
	background: #ffebe6 !important;
	color: #bf2600 !important;
}

.dw-file-word {
	background: #deebff !important;
	color: #0747a6 !important;
}

.dw-file-excel {
	background: #e3fcef !important;
	color: #006644 !important;
}

.dw-board-attachment-item .dw-attachment-info {
	flex: 1;
	min-width: 0;
}

.dw-board-attachment-item .dw-attachment-name {
	display: block;
	font-size: 14px;
	font-weight: 500;
	color: #0052cc;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: color 0.2s ease;
}

.dw-board-attachment-item .dw-attachment-name:hover {
	color: #0747a6;
	text-decoration: underline;
}

.dw-board-attachment-item .dw-attachment-meta {
	display: block;
	font-size: 12px;
	color: #6b778c;
	margin-top: 2px;
}

/* Loading State */
.dw-attachment-uploading {
	opacity: 0.6;
	pointer-events: none;
}

.dw-attachment-progress {
	height: 2px;
	background: #0052cc;
	border-radius: 1px;
	margin-top: 4px;
	transition: width 0.3s ease;
}

/* Responsive */
@media screen and (max-width: 768px) {
	.dw-board-attachment-dropzone {
		padding: 20px;
	}
	
	.dw-board-attachment-item .dw-attachment-icon {
		width: 32px;
		height: 32px;
	}
	
	.dw-board-attachment-item .dw-file-icon {
		font-size: 9px;
	}
}

/* ============================================================
 * My Page ([dw_board_my_page]) — BiZiLiA "My page" design
 * ============================================================ */
.dw-mypage {
	font-family: 'Pretendard Variable', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: #16181d;
	max-width: 1100px;
}
.dw-mypage-guest { text-align: center; padding: 48px 16px; color: #61697a; }
.dw-mypage-login,
.dw-mypage a.dw-mypage-login {
	display: inline-block; margin-top: 8px; padding: 11px 22px;
	background: #1466d6; color: #fff; border-radius: 10px; font-weight: 700; text-decoration: none;
}
/* Profile header */
.dw-mypage-head { display: flex; align-items: center; gap: 16px; padding: 8px 0 22px; }
.dw-mypage-avatar img { width: 56px; height: 56px; border-radius: 50%; display: block; }
.dw-mypage-id { display: flex; flex-direction: column; min-width: 0; }
.dw-mypage-name { font-size: 20px; font-weight: 800; letter-spacing: -0.03em; }
.dw-mypage-since { font-size: 13px; color: #61697a; }
.dw-mypage-logout { margin-left: auto; font-size: 13.5px; font-weight: 700; color: #61697a; text-decoration: none; }
.dw-mypage-logout:hover { color: #dc2626; }
/* Stat cards */
.dw-mypage-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 26px; }
.dw-mypage-stat { border: 1px solid #e5e7eb; border-radius: 12px; padding: 16px 18px; background: #fff; }
.dw-mypage-stat-l { display: block; font-size: 12.5px; color: #7b8397; font-weight: 700; margin-bottom: 4px; }
.dw-mypage-stat-v { font-size: 26px; font-weight: 800; letter-spacing: -0.04em; }
.dw-mypage-h { font-size: 20px; font-weight: 800; letter-spacing: -0.035em; margin: 0 0 14px; }
.dw-mypage-empty { color: #7b8397; padding: 24px 4px; }
/* Listings table */
.dw-mypage-table { border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; }
.dw-mypage-row {
	display: grid;
	grid-template-columns: minmax(0,1fr) 150px 80px 120px 130px 150px;
	gap: 12px; align-items: center; padding: 14px 16px; border-top: 1px solid #eef1f5;
}
.dw-mypage-row:first-child { border-top: 0; }
.dw-mypage-thead {
	background: #f7f8fa; font-size: 11.5px; font-weight: 800; letter-spacing: .06em; color: #7b8397;
	text-transform: uppercase;
}
.dw-mypage-table .dw-mp-title { font-weight: 700; letter-spacing: -0.02em; min-width: 0; word-break: keep-all; }
.dw-mypage-table .dw-mp-title a { color: var( --dw-title-color, #16181d ); text-decoration: none; }
.dw-mypage-table .dw-mp-title a:hover { text-decoration: underline; }
.dw-mypage-table .dw-mp-board,
.dw-mypage-table .dw-mp-views,
.dw-mypage-table .dw-mp-date { font-size: 13px; color: #61697a; }
.dw-mypage-table .dw-mp-actions { display: flex; gap: 12px; font-size: 13px; font-weight: 700; }
.dw-mypage-table .dw-mp-actions a { color: #1466d6; text-decoration: none; white-space: nowrap; }
.dw-mypage-table .dw-mp-actions a.dw-mp-del { color: #dc2626; }
.dw-mypage-badge {
	display: inline-block; font-size: 11px; font-weight: 800; padding: 4px 9px; border-radius: 6px; white-space: nowrap;
}
.dw-mypage-badge.is-active { color: #16a34a; background: #eaf7ee; }
.dw-mypage-badge.is-review { color: #8a6100; background: #fff7e6; }
.dw-mypage-badge.is-gone { color: #7b8397; background: #f1f3f7; }
.dw-mypage-badge.is-private { color: #1466d6; background: #e8f0fe; }

@media screen and (max-width: 900px) {
	.dw-mypage-stats { grid-template-columns: repeat(2, 1fr); }
	/* Table rows become stacked cards with data-label captions. */
	.dw-mypage-table { border: 0; }
	.dw-mypage-thead { display: none; }
	.dw-mypage-row {
		grid-template-columns: 1fr; gap: 6px; border: 1px solid #e5e7eb; border-radius: 12px;
		padding: 14px 16px; margin-bottom: 12px;
	}
	.dw-mypage-row > span[data-label]::before {
		content: attr(data-label) ": "; font-weight: 700; color: #7b8397; font-size: 12px;
	}
	.dw-mypage-table .dw-mp-title { font-size: 15.5px; }
	.dw-mypage-table .dw-mp-title::before { content: none; }
	.dw-mypage-table .dw-mp-actions { margin-top: 6px; }
}

/* ------------------------------------------------------------------ *
 * Private ("secret") posts — list-visible, content-gated.
 * A private post keeps its place in every listing (title + lock badge)
 * but its body/thumbnail/fields are hidden from anyone who cannot view
 * it; opening it shows the locked single view below.
 * ------------------------------------------------------------------ */
.dw-badge-lock { display: inline-flex; align-items: center; gap: 3px; }
.dw-badge-lock svg { flex: 0 0 auto; }

/* Lock glyph filling an empty media/thumbnail slot. */
.dw-dwb-img--empty svg,
.dw-gal-thumb--empty svg,
.dw-wz-thumb--empty svg,
.dw-recent-card-img--empty .dw-recent-lock {
	color: #9ca3af;
	opacity: 0.9;
}
.dw-recent-card-img--empty .dw-recent-lock { display: block; margin: auto; }

/* Recent widget: locked card body + list badge. */
.dw-recent-card-lock {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #6b7280;
	font-size: 12.5px;
	font-weight: 600;
}
.dw-recent-card--locked .dw-recent-card-title { color: #374151; }
.dw-recent-lock-tag { display: inline-flex; vertical-align: -1px; color: #6b7280; }

/* Single view when the visitor may not read a private post. */
.dw-board-private-lock {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-align: center;
	padding: 48px 20px;
	margin: 20px 0;
	color: #6b7280;
	background: #f9fafb;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
}
.dw-board-private-lock .dw-lock-ico { color: #9ca3af; }
.dw-board-private-lock-text { margin: 0; font-size: 15px; max-width: 460px; }

@media ( prefers-color-scheme: dark ) {
	.dw-board-private-lock { background: #1f2430; border-color: #333a48; color: #9aa4b2; }
	.dw-board-private-lock .dw-lock-ico { color: #6b7280; }
	.dw-recent-card-lock,
	.dw-recent-lock-tag { color: #9aa4b2; }
}

/* ------------------------------------------------------------------ *
 * Attachment image gallery (top of a post) + lightbox.
 * Images attached via "Choose files" render as a mosaic — a big hero
 * plus up to four thumbnails, the last carrying a "+N" overlay — and
 * open a full-screen lightbox on click.
 * ------------------------------------------------------------------ */
.dw-agal {
	display: grid;
	gap: 6px;
	margin: 0 0 22px;
	border-radius: 12px;
	overflow: hidden;
}
.dw-agal-item {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	cursor: pointer;
	background-color: #e5e7eb;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

/* Grid shape adapts to the image count so it never looks broken. Multi-image
 * layouts are a big hero on the left + a grid of the rest on the right, with a
 * "+N" overlay on the last visible tile. Grid items stretch to fill their cell. */
.dw-agal[data-count="1"] { grid-template-columns: 1fr; }
.dw-agal[data-count="1"] .dw-agal-i0 { aspect-ratio: 16 / 9; }

.dw-agal[data-count="2"] { grid-template-columns: 1fr 1fr; aspect-ratio: 2 / 1; }

.dw-agal[data-count="3"] { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; aspect-ratio: 2 / 1; }
.dw-agal[data-count="3"] .dw-agal-i0 { grid-column: 1; grid-row: 1 / span 2; }

.dw-agal[data-count="4"] { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; aspect-ratio: 2 / 1; }
.dw-agal[data-count="4"] .dw-agal-i0 { grid-column: 1; grid-row: 1 / span 2; }
.dw-agal[data-count="4"] .dw-agal-i3 { grid-column: 2 / span 2; grid-row: 2; }

/* 5 or more: hero + 2x2 right (the 5th tile carries the "+N"). */
.dw-agal:not([data-count="1"]):not([data-count="2"]):not([data-count="3"]):not([data-count="4"]) {
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	aspect-ratio: 2 / 1;
}
.dw-agal:not([data-count="1"]):not([data-count="2"]):not([data-count="3"]):not([data-count="4"]) .dw-agal-i0 {
	grid-column: 1;
	grid-row: 1 / span 2;
}

.dw-agal-item::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba( 0, 0, 0, 0 );
	transition: background 0.15s ease;
}
.dw-agal-item:hover::after { background: rgba( 0, 0, 0, 0.10 ); }
.dw-agal-more {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba( 0, 0, 0, 0.5 );
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	z-index: 1;
}

/* Lightbox overlay. */
.dw-lb { position: fixed; inset: 0; z-index: 100000; display: none; align-items: center; justify-content: center; }
.dw-lb.is-open { display: flex; }
.dw-lb-backdrop { position: absolute; inset: 0; background: rgba( 0, 0, 0, 0.9 ); }
.dw-lb-stage { position: relative; z-index: 1; margin: 0; display: flex; flex-direction: column; align-items: center; }
.dw-lb-img {
	max-width: 92vw;
	max-height: 82vh;
	object-fit: contain;
	border-radius: 6px;
	box-shadow: 0 10px 40px rgba( 0, 0, 0, 0.5 );
	background: #111;
}
.dw-lb-count { margin-top: 10px; color: #e5e7eb; font-size: 13px; letter-spacing: 0.02em; }
.dw-lb-close {
	position: absolute; top: 14px; right: 20px; z-index: 2;
	background: none; border: 0; color: #fff; font-size: 36px; line-height: 1; cursor: pointer;
}
.dw-lb-nav {
	position: absolute; top: 50%; transform: translateY( -50% ); z-index: 2;
	width: 52px; height: 66px; border: 0; border-radius: 8px; cursor: pointer;
	background: rgba( 255, 255, 255, 0.14 ); color: #fff; font-size: 34px; line-height: 1;
}
.dw-lb-nav:hover { background: rgba( 255, 255, 255, 0.24 ); }
.dw-lb-prev { left: 16px; }
.dw-lb-next { right: 16px; }
.dw-lb--single .dw-lb-nav { display: none; }
body.dw-lb-lock { overflow: hidden; }

@media ( max-width: 600px ) {
	.dw-lb-nav { width: 40px; height: 54px; font-size: 26px; }
	.dw-lb-prev { left: 6px; }
	.dw-lb-next { right: 6px; }
	.dw-agal[data-count="1"] .dw-agal-i0 { aspect-ratio: 4 / 3; }
	.dw-agal-more { font-size: 20px; }
}

/* Edit form: existing-attachment chips (thumbnail / file badge + delete). */
.dw-edit-attachments { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; }
.dw-edit-att {
	display: flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	padding: 6px 8px 6px 6px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #f9fafb;
}
.dw-edit-att-thumb { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 6px; background: #e5e7eb center / cover no-repeat; }
.dw-edit-att-file { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 6px; background: #eef2f7; color: #6b7280; font-size: 11px; font-weight: 700; }
.dw-edit-att-name { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; color: #374151; }
.dw-edit-att-del { flex: 0 0 auto; padding: 0 2px; background: none; border: 0; color: #9ca3af; font-size: 20px; line-height: 1; cursor: pointer; }
.dw-edit-att-del:hover { color: #c0392b; }

@media ( prefers-color-scheme: dark ) {
	.dw-edit-att { background: #1f2430; border-color: #333a48; }
	.dw-edit-att-name { color: #cbd2dc; }
	.dw-edit-att-file { background: #2a3140; color: #9aa4b2; }
}

/* Sold / closed status: title badge, card corner tag, and the one-click toggle. */
.dw-sold-badge {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 4px;
	background: #dc2626;
	color: #fff;
	font-size: 0.6em;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	vertical-align: middle;
}
.dw-sold-tag {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 2;
	padding: 3px 10px;
	border-radius: 4px;
	background: #dc2626;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.25 );
}
.dw-board-sold-toggle {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 8px 14px;
	border: 1px solid #16a34a;
	border-radius: 6px;
	background: #fff;
	color: #16a34a;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}
.dw-board-sold-toggle:hover { background: #16a34a; color: #fff; }
.dw-board-sold-toggle.is-sold { border-color: #dc2626; color: #dc2626; }
.dw-board-sold-toggle.is-sold:hover { background: #dc2626; color: #fff; }
.dw-board-sold-toggle .dashicons { font-size: 16px; width: 16px; height: 16px; }

/* Per-board listing disclaimer (fixed legal footer under each post). */
.dw-listing-disclaimer {
	margin: 20px 0;
	padding: 14px 16px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #f9fafb;
	font-size: 12.5px;
	line-height: 1.7;
	color: #6b7280;
}
.dw-disclaimer-id {
	display: block;
	margin-bottom: 4px;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: #9ca3af;
}
.dw-disclaimer-text a { color: #2563eb; text-decoration: underline; }

@media ( prefers-color-scheme: dark ) {
	.dw-listing-disclaimer { background: #1f2430; border-color: #333a48; color: #9aa4b2; }
	.dw-disclaimer-id { color: #6b7280; }
	.dw-disclaimer-text a { color: #7ab0ff; }
}
