/* ========================================
   CSS RESET & BASE STYLES
   ======================================== */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size: 16px;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-height: 1.5;
	color: #333;
	background-color: #ffffff;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	text-decoration: none;
	color: inherit;
}

@font-face {
  font-family: 'gnbicon';
  src:  url('../fonts/icons/gnbicon.eot?dsprr9');
  src:  url('../fonts/icons/gnbicon.eot?dsprr9#iefix') format('embedded-opentype'),
    url('../fonts/icons/gnbicon.ttf?dsprr9') format('truetype'),
    url('../fonts/icons/gnbicon.woff?dsprr9') format('woff'),
    url('../fonts/icons/gnbicon.svg?dsprr9#gnbicon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.icon-gnb {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'gnbicon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}



[class^="icon-gnb"]:before,
[class*=" icon-gnb"]:before {
  font-family: 'gnbicon' !important;
}



.platform-cancel:before {
  content: "\e903";
}
.platform-sun:before {
  content: "\e90a";
}
.platform-box1:before {
  content: "\e900";
}
.platform-bulb:before {
  content: "\e901";
}
.platform-calendar:before {
  content: "\e902";
}
.platform-chat:before {
  content: "\e904";
}
.platform-copy:before {
  content: "\e905";
}
.platform-delete:before {
  content: "\e906";
}
.platform-envelope:before {
  content: "\e907";
}
.platform-facebook:before {
  content: "\e908";
}
.platform-send:before {
  content: "\e909";
}
.platform-telegram:before {
  content: "\e90b";
}
.platform-twitter:before {
  content: "\e90c";
}
.platform-whatsapp:before {
  content: "\e90d";
}


/* ========================================
   TYPOGRAPHY SYSTEM
   ======================================== */
.page-title {
	font-size: 2.5rem;
	font-weight: 600;
	font-family: var(--font-semibold);
	line-height: 1.2;
	color: #000;
}

.section-title {
	/* font-size: 2rem; */
	font-size: 1.5rem;
	font-family: var(--font-medium);
	line-height: 1.3;
	color: #529B50;
}

.section-title--dark {
	color: #000;
}

.card-title {
	font-size: 1.5rem;
	font-family: var(--font-medium);
	line-height: 1.3;
	color: #fff;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 3;
}

.card-description {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #fff;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 4;
}

.view-all-link {
	font-size: 1rem;
	font-weight: 500;
	color: #529B50;
	font-family: var(--font-medium);
}

/* ========================================
   LAYOUT STRUCTURE
   ======================================== */
.page-wrapper {
	max-width: 1320px;
	margin: 0 auto;
	/* padding: 3rem 2rem; */
	padding: 2rem 2rem 2rem;
	height: auto;
	min-height: calc(100vh - 92px);
}

.page-header {
	/* margin-bottom: 1rem; */
	margin-bottom: 5px;
}

.noticeboard-section {
	/* margin-bottom: 4rem; */
	margin-bottom: 1rem;
}

.section-header {
	/* margin-bottom: 2rem; */
	margin-bottom: 1rem;
}

.section-footer {
	/* margin-top: 1.5rem; */
	margin-top: 1rem;
	text-align: right;
}

/* ========================================
   CARD GRID SYSTEM
   ======================================== */
.card-grid {
	display: grid;
	gap: 2rem;
}

.card-grid--four-columns {
	grid-template-columns: repeat(4, 1fr);
}

.card-grid--five-columns {
	grid-template-columns: repeat(5, 1fr);
}

/* ========================================
   NOTICEBOARD CARD COMPONENT
   ======================================== */
.noticeboard-card {
	position: relative;
	border-radius: 0.75rem;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	cursor: pointer;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.noticeboard-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.card-image {
	position: relative;
	width: 100%;
	/* height: 270px; */
	height: 220px;
	overflow: hidden;
	background-color: var(--primary-color);
}

/* Notice Card - Higher cards for notices with descriptions */
.notices-card .card-image {
	/* height: 360px; */
	height: 320px;
}

.card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.card-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 1.25rem;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.35) 60%, rgba(0, 0, 0, 0.02) 100%);
	z-index: 1;
	height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}



.card-description {
	opacity: 0.95;
	margin-top: 0.5rem;
}

/* ========================================
   LINK STYLES
   ======================================== */
.view-all-link {
	display: inline-block;
	transition: color 0.3s ease;
}

.view-all-link:hover {
	color: #3d7a3c;
	text-decoration: underline;
}

/* ========================================
   RESPONSIVE DESIGN - TABLET (≤1200px) — also covers iPad desktop-mode
   ======================================== */
@media (max-width: 1200px) {
	.filter-navigation {
		gap: 0.5rem;
	}

	.filter-tab {
		padding: 0.5rem 1rem;
		font-size: 0.875rem;
	}
}

@media (max-width: 1024px) {
	.page-wrapper {
		padding: 2.5rem 1.5rem;
		height: auto;
	}

	.page-title {
		font-size: 2rem;
	}

	.section-title {
		font-size: 1.375rem;
	}

	.card-grid--four-columns {
		grid-template-columns: repeat(2, 1fr);
	}

	.card-grid--five-columns {
		grid-template-columns: repeat(3, 1fr);
	}

	.card-image {
		height: 200px;
	}

	.notices-card .card-image {
		height: 280px;
	}
}

/* ========================================
   RESPONSIVE DESIGN - TABLET PORTRAIT
   ======================================== */
@media (max-width: 820px) {
	.page-wrapper {
		padding: 2rem 1rem;
	}

	.page-header {
		margin-bottom: 2.5rem;
	}

	.page-title {
		font-size: 1.75rem;
	}

	.section-title {
		font-size: 1.25rem;
	}

	.section-header {
		margin-bottom: 1.5rem;
	}

	.noticeboard-section {
		margin-bottom: 3rem;
	}

	.card-grid {
		gap: 1.25rem;
	}

	.card-grid--four-columns {
		grid-template-columns: repeat(2, 1fr);
	}

	.card-grid--five-columns {
		grid-template-columns: repeat(2, 1fr);
	}

	.card-image {
		height: 180px;
	}

	.notices-card .card-image {
		height: 260px;
	}

	.card-content {
		padding: 1rem;
	}

	.card-title {
		font-size: 1rem;
	}

	.card-description {
		font-size: 0.8125rem;
	}

	.section-footer {
		margin-top: 1.25rem;
	}

	.view-all-link {
		font-size: 0.9375rem;
	}
}

/* ========================================
   RESPONSIVE DESIGN - MOBILE PORTRAIT
   ======================================== */
@media (max-width: 480px) {
	.page-wrapper {
		padding: 1.5rem 1rem;
	}

	.page-header {
		margin-bottom: 2rem;
	}

	.page-title {
		font-size: 1.5rem;
	}

	.section-title {
		font-size: 1.125rem;
	}

	.card-grid {
		gap: 1rem;
	}

	.card-grid--four-columns {
		grid-template-columns: 1fr;
	}

	.card-grid--five-columns {
		grid-template-columns: 1fr;
	}

	.card-image {
		height: 200px;
	}

	.notices-card .card-image {
		height: 280px;
	}

	.card-content {
		padding: 1rem;
	}

	.card-title {
		font-size: 1rem;
		margin-bottom: 0.375rem;
	}

	.card-description {
		font-size: 0.8125rem;
	}
}

/* ========================================
   NOTICES LISTING PAGE STYLES
   ======================================== */

/* Additional Typography */
.results-count {
  font-size: 24px !important;
  font-family: var(--font-semibold);
  line-height: 100%;
  color: #529B50;
  font-weight: 600;
  margin-bottom: 24px;
}

.notice-title {
	font-size: 1rem;
	font-family: var(--font-medium);;
	line-height: 1.3;
	color: #000;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	-webkit-line-clamp: 3;
	min-height: 45px;

}

.notice-description {
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	color: #4b4b4b;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	-webkit-line-clamp: 4;
	min-height: 90px;
}

.notice-meta {
	/* font-size: 0.75rem; */
	font-size: 0.813rem;
	font-weight: 400;
	line-height: 1.4;
	color: #999;
}

.filter-tab .icon-gnb {
	font-size: 18px;
}

.filter-label {
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	font-family: var(--font-medium);
}



/* Button Reset */
button {
	border: none;
	background: none;
	cursor: pointer;
	font-family: inherit;
}

select {
	font-family: inherit;
}

/* Notices Listing Page Overrides */
.notices-page .page-header {
	text-align: left;
	margin-bottom: 1.5rem;
}

/* Filter Navigation */
.filter-navigation {
	display: flex;
	gap: 0.75rem;
	/* margin-bottom: 1rem; */
	flex-wrap: wrap;
}

.filter-tab {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 10px 20px;
	border-radius: 3px;
	background-color: #f7f7f7;
	color: #333;
	transition: all 0.3s ease;
}

/* .filter-tab:hover {
	background-color: #d8d8d8;
	transform: translateY(-1px);
} */

/* .filter-tab--active {
	background-color: #6BA4E8 !important;
	color: #fff;
} */


.dark_mode_theme .filter-tab {
	background-color: var(--dark-secondary);
	color: #ffffff;
}
.dark_mode_theme .no-notices-msg {
	background-color: var(--dark-secondary);
}
.dark_mode_theme .radius-label {
	color: #ffffff;
}

.filter-tab--active[data-event-type="1"] {
	background-color: #BDDCBC;
	color: #000000;
}

.filter-tab--active[data-event-type="2"] {
	background-color: #F39237;
	color: #000000;
}

.filter-tab--active[data-event-type="3"] {
	background-color: #5C95FF;
	color: #000000;
}

.filter-tab--active[data-event-type="4"] {
	background-color: #FAA4BD;
	color: #000000;
}


.filter-tab--location {
	background-color: #f5f5f5;
	border: 1px solid #ddd;
}

.filter-icon {
	font-size: 1rem;
	line-height: 1;
}


/* Hide checkbox input */
.filter-with-checkbox {
	position: relative;
	display: flex;
    align-items: center;
    gap: 5px;

}
.filter-checkbox {
   position: absolute;
	opacity: 0;
   width: 20px;
   height: 20px;
   /* background-color: #F7F7F7; */
	border-radius: 3px;
   pointer-events: none;
}


/* .filter-checkbox + .filter-tab {
   cursor: pointer;
   user-select: none;
}

.filter-checkbox:checked + .filter-tab {
   background: var(--primary-color);
   color: #fff;
} */





.filter-checkbox + label {
  position: relative;
  cursor: pointer;
  padding: 0;
}
.filter-checkbox + label:before {
  content: "";
  margin-right: 3px;
  border-radius: 3px;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 20px;
  background: #d9d9d9;
}
.filter-checkbox:hover + label:before {
  background: var(--primary-color);
}
.filter-checkbox:focus + label:before {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.12);
}
.filter-checkbox:checked + label:before {
  background: var(--primary-color);
}
.filter-checkbox:disabled + label {
  color: #b8b8b8;
  cursor: auto;
}
.filter-checkbox:disabled + label:before {
  box-shadow: none;
  background: #ddd;
}
.filter-checkbox:checked + label:after {
    content: '';
    display: block;
    position: absolute;
    top: 6px;
    left: 7px;
    width: 4px;
    height: 10px;
    border: 1px solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}



/* Results Header */
.results-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2rem;
}

.sort-dropdown {
	position: relative;
}

.sort-select {
	padding: 10px 20px;
	border: 1px solid #ddd;
	border-radius: 3px;
	background-color: #fff;
	color: #7F7F7F;
	font-size: 14px;
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23333' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	font-weight: 500;
	font-family: var(--font-medium);
}

.sort-select:focus {
	outline: 2px solid #529B50;
	outline-offset: 2px;
}

/* Notices Grid */
.notices-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}

/* Notice Card Component */
.notices-card {
	background-color: #fff;
	border-radius: 0.75rem;
	overflow: hidden;
	/* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); */
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	content-visibility: auto;
	contain-intrinsic-size: auto 380px;
}

.notices-card:hover {
	transform: translateY(-4px);
	/* box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12); */
}

.notice-image {
	position: relative;
	width: 100%;
	height: 180px;
	overflow: hidden;
	background-color: #e0e0e0;
}

.notice-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.notice-badge {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.125rem;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.notice-badge--discussion {
	background-color: #6BA4E8;
}

.notice-badge--events {
	background-color: #E88BAA;
}

.notice-content {
	padding: 1.25rem 0rem;
	flex-grow: 1;
	height: 200px;
}



.notice-description {
	line-height: 1.6;
	margin-top: 0.5rem;
}

.notice-meta {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	/* padding: 1rem 1.25rem; */
	padding: 1rem 0rem;
	border-top: 1px solid #f0f0f0;
	/* background-color: #fafafa; */
}

.notice-time {
	color: #4b4b4b;
}

.notice-location {
	text-align: right;
	color: #4b4b4b;
	min-height: 38px;
	overflow: hidden;
}


@media (max-width: 1279px) {
	.card-grid {
		gap: 1.25rem;
	}
}

@media (max-width: 1200px) {
	.notices-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}


/* Responsive - Tablet */
@media (max-width: 1024px) {
	.results-count {
		font-size: 1.375rem;
	}

	.notices-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.notice-image {
		height: 180px;
	}
}


/* Responsive - Tablet Portrait (≤820px) — covers iPad 9th gen (810px) */
@media (max-width: 820px) {
	.page-header {
		margin-bottom: 1.5rem;
	}

	.filter-navigation {
		gap: 0.5rem;
		margin-bottom: 2rem;
	}

	.filter-tab {
		padding: 0.5rem 1rem;
		font-size: 0.875rem;
	}

	.filter-icon {
		font-size: 0.875rem;
	}

	.results-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
		margin-bottom: 1.5rem;
	}

	.results-count {
		font-size: 1.25rem;
	}

	.sort-dropdown {
		width: 100%;
	}

	.sort-select {
		width: 100%;
	}

	.notices-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}

	.notice-image {
		height: 160px;
	}

	.notice-content {
		padding: 1rem;
	}

	.notice-title {
		font-size: 0.9375rem;
	}

	.notice-description {
		font-size: 0.8125rem;
	}

	.notice-meta {
		padding: 0.875rem 1rem;
		font-size: 0.6875rem;
	}
}


@media (max-width: 576px) {
	.notices-grid {
		grid-template-columns: 1fr;
	}
}

/* Responsive - Mobile Portrait */
@media (max-width: 480px) {
	.filter-tab {
		padding: 0.5rem 0.875rem;
	}

	.filter-label {
		font-size: 0.8125rem;
	}

	.results-count {
		font-size: 1.125rem;
	}

	.notices-grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.notice-image {
		height: 180px;
	}

	.notice-badge {
		width: 2rem;
		height: 2rem;
		font-size: 1rem;
	}
}


/* custom styles */
.header {
	background-color: #fff;
	position: sticky;
	top: 0px;
	z-index: 3;
}
.gnb_search input {
	background-color: #f7f7f7;
}

/* ========================================
   RADIUS FILTER STYLES
   ======================================== */
.radius-filter {
	display: flex;
	align-items: center;
	gap: 10px;
	/* padding: 15px 0px 30px; */
	flex-wrap: wrap;
}

.radius-label {
	font-weight: 600;
	font-size: 14px;
	color: #333;
	margin-right: 10px;
	font-family: var(--font-semibold);
}

.radius-options {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.radius-btn {
	padding: 10px 20px;
	/* border: 1px solid #ddd; */
	background: #f7f7f7;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	transition: all 0.2s;
	font-family: var(--font-semibold);
}

.radius-btn:hover {
	border-color: #333;
}

.dark_mode_theme .radius-btn {
	background-color: var(--dark-secondary);
	color: #ffffff;
}

.radius-btn--active {
	background: #333;
	color: #fff;
	border-color: #333;
}

.dark_mode_theme .radius-btn--active {
	background-color: var(--primary-color);
}

.dark_mode_theme .select2-container--default span {
	color: #fff;
}

/* Responsive Styles for Radius Filter */
@media (max-width: 992px) {
	.filter-navigation {
		justify-content: center;
	}
	.notice-detail-flex {
		flex-direction: column;
		gap: 20px;
	}
}
@media (max-width: 820px) {
	.radius-filter {
		padding: 12px 15px;
		gap: 8px;
	}
	
	.radius-label {
		font-size: 13px;
		margin-right: 8px;
	}
	
	.radius-options {
		gap: 8px;
	}
	
	.radius-btn {
		padding: 6px 12px;
		font-size: 13px;
	}
}

@media (max-width: 480px) {
	.radius-filter {
		padding: 10px 0px;
		gap: 6px;
	}
	
	
	.radius-label {
		font-size: 12px;
		width: 100%;
		margin-bottom: 5px;
		margin-right: 0;
	}
	
	.radius-options {
		gap: 6px;
		width: 100%;
	}
	
	.radius-btn {
		padding: 5px 10px;
		font-size: 12px;
		flex: max-content;
		min-width: 0;
	}
	
}

@media (max-width: 375px) {
	.radius-filter {
		padding: 8px 10px;
	}
	
	.radius-label {
		font-size: 11px;
	}
	
	.radius-btn {
		padding: 4px 8px;
		font-size: 11px;
	}
}

/* ========================================
   NOTICE DETAIL PAGE STYLES
   ======================================== */

/* Main Container */
.notice-detail-page {
	background-color: #fff;
	min-height: 100vh;
	padding: 20px 0;
}

.dark_mode_theme .notice-detail-page {
	background-color: var(--dark-primary);
	color: #ffffff;
}

.notice-detail-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 20px;
}

/* Header with Back Button */
.notice-detail-header {
	margin-bottom: 30px;
	display: flex;
	justify-content: flex-end;
}
.sidebar_slide {
	padding: 30px;
	background-color: #f7f7f7;
	margin-bottom: 20px;
	border-radius: 16px;
}
.dark_mode_theme .sidebar_slide{
	background-color: var(--dark-secondary);
}

.btn-back-to-notices {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	background-color: #529B50;
	color: #fff;
	border: none;
	border-radius: 3px;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition: background-color 0.3s ease;
	font-family: var(--font-medium);
}
.btn-back-to-notices i {
	display: inline-flex;
}

.btn-back-to-notices:hover {
	background-color: #447d42;
}

.back-icon {
	font-size: 16px;
	font-weight: bold;
}

/* Content Wrapper */
.notice-detail-content-wrapper {
	display: grid;
	grid-template-columns: 1fr 350px;
	gap: 40px;
	align-items: start;
}

/* Main Content */
.notice-detail-main {
	max-width: 100%;
}

/* Title Section */
.notice-detail-title-section {
	margin-bottom: 20px;
}

.notice-detail-title {
	font-size: 2.5rem;
	font-weight: 600;
	color: #000;
	margin-bottom: 15px;
	line-height: 1.2;
	font-family: var(--font-semibold);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: break-word;
	cursor: pointer;
	transition: all 0.3s ease;
}

.notice-detail-title.expanded {
	-webkit-line-clamp: unset;
	overflow: visible;
}

.notice-detail-title:hover {
	color: #529B50;
}

.notice-detail-category {
	display: flex;
	align-items: center;
	gap: 10px;
	justify-content: space-between;
	flex-wrap: wrap;
}

.category-label {
	color: #529B50;
	font-size: 1.5rem;
	font-weight: 500;
	font-family: var(--font-medium);
}

.btn-info-icon {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px solid #999;
	background: transparent;
	color: #999;
	font-size: 12px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.btn-info-icon:hover {
	border-color: #529B50;
	color: #529B50;
}

/* Image Section */
.notice-detail-image-wrapper {
	position: relative;
	margin-bottom: 30px;
	border-radius: 8px;
	overflow: hidden;
}

.notice-detail-image {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
	max-height: 680px;
	object-fit: cover;
}

.notice-detail-author {
	position: absolute;
	bottom: 15px;
	right: 15px;
	display: flex;
	align-items: center;
	gap: 10px;
	background: rgba(255, 255, 255, 0.95);
	padding: 8px 15px;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	max-width: calc(100% - 30px);
}

.author-avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
}

.author-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.author-name {
	font-size: 13px;
	font-weight: 600;
	color: #000;
	font-family: var(--font-semibold);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 140px;
}

.author-id {
	font-size: 11px;
	color: #666;
}

/* Description Section */
.notice-detail-description {
	margin-bottom: 30px;
}

.description-title {
	font-size: 1.25rem;
	font-weight: 600;
	color: #000;
	margin-bottom: 20px;
	line-height: 1.5;
	font-family: var(--font-semibold);
}

.description-text {
	font-size: 18px;
	line-height: 22px;
	color: #333;
	margin-bottom: 15px;
	text-align: left;
}

.description-text:last-child {
	margin-bottom: 0;
}

.notice-detail-flex {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #e0e0e0;
	padding-bottom: 20px;
	justify-content: space-between;

}

/* Reactions Section */
.notice-detail-reactions {
	display: flex;
	align-items: center;
	gap: 10px;
	/* padding: 0px 0px 30px; */
	/* border-top: 1px solid #e0e0e0; */
	
	flex-wrap: wrap;
}

.reaction-item {
	display: flex;
	align-items: center;
	gap: 6px;
	/* padding: 8px 12px; */
	border-radius: 20px;
	/* background: #f5f5f5; */
	cursor: pointer;
	transition: all 0.2s ease;
}

.reaction-item:hover {
	/* background: #e0e0e0; */
	transform: scale(1.05);
}

.reaction-item.active {
	background: #d4edda;
	border: 2px solid #28a745;
}

/* .reaction-item:hover {
	background: #e8e8e8;
} */

.reaction-icon {
	display: flex;
	align-items: center;
	justify-content: center;
}


.reaction-count {
	font-size: 13px;
	font-weight: 500;
	color: #333;
	font-family: var(--font-medium);
}
body.dark_mode_theme .reaction-count {
	color: #ffffff;
}

/* Inactive Reactions Container */
.inactive-reactions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

/* Add Reaction Button */
.add-reaction-btn {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: 20px;
	background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
	color: white;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	font-size: 13px;
	font-weight: 600;
	font-family: var(--font-semibold);
	box-shadow: 0 2px 8px rgba(76, 175, 80, 0.2);
}

.add-reaction-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);
}

.add-reaction-btn:active {
	transform: translateY(0);
}

.add-reaction-icon {
	font-size: 16px;
	line-height: 1;
}

.add-reaction-text {
	font-size: 13px;
}

/* Reactions Total */
.reactions-total {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 6px 12px;
	border-radius: 20px;
	background: #f0f0f0;
	color: #666;
	font-size: 13px;
	margin-left: auto;
}

body.dark_mode_theme .reactions-total {
	background: var(--dark-secondary);
	color: #ccc;
}

.reactions-total-count {
	font-weight: 600;
	color: #333;
	font-family: var(--font-semibold);
}

body.dark_mode_theme .reactions-total-count {
	color: #fff;
}

.reactions-total-label {
	font-size: 12px;
	color: #666;
}

body.dark_mode_theme .reactions-total-label {
	color: #aaa;
}

/* Share Section */
.notice-detail-share {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 15px 25px;
	flex-wrap: wrap;
	background-color: #f7f7f7;
	border-radius: 12px;
}
body.dark_mode_theme .notice-detail-share {
	background-color: var(--dark-secondary);
}
.share-label {
	font-size: 1rem;
	font-weight: 600;
	color: #000;
	font-family: var(--font-semibold);
}
body.dark_mode_theme .share-label {
	color: #ffffff;
}

.share-icons {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
}

.share-icon-btn {
	/* width: 36px;
	height: 36px;
	border-radius: 50%; */
	border: none;
	/* background: #f5f5f5; */
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	font-size: 16px;
	color: var(--primary-color)
}

/* .share-icon-btn:hover {
	background: #529B50;
	color: #fff;
	transform: translateY(-2px);
} */

.share-icon-btn:active,
.share-icon-btn:focus {
	opacity: 0.7;
	transform: scale(0.95);
}

/* Sidebar */
.notice-detail-sidebar {
	position: sticky;
	top: 20px;
	display: flex;
	flex-direction: column;
}

.sidebar-title {
	font-size: 1.5rem;
	font-weight: 600;
	color: #000;
	margin-bottom: 20px;
	font-family: var(--font-semibold);
}

/* Related Notices */
.related-notices-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 20px;
}

.related-notice-card {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	cursor: pointer;
}
body.dark_mode_theme .related-notice-card {
	background-color: var(--dark-primary);
	color: #ffffff;
}

.related-notice-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.related-notice-image {
	width: 100%;
	height: 180px;
	overflow: hidden;
}

.related-notice-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.related-notice-card:hover .related-notice-image img {
	transform: scale(1.05);
}

.related-notice-content {
	padding: 15px;
}

.related-notice-title {
	font-size: 1.125rem;
	font-weight: 600;
	color: #000;
	margin-bottom: 10px;
	line-height: 1.4;
	font-family: var(--font-semibold);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	-webkit-line-clamp: 2;
}
body.dark_mode_theme .related-notice-title {
	color: #ffffff;
}

.related-notice-description {
	font-size: 0.875rem;
	line-height: 1.5;
	color: #666;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	-webkit-line-clamp: 3;
}

.view-all-related {
	display: block;
	color: #529B50;
	font-size: 1rem;
	font-weight: 500;
	text-decoration: none;
	transition: color 0.3s ease;
	font-family: var(--font-medium);
	text-align: right;
	margin-top: 12px;
}

.view-all-related:hover {
	color: #447d42;
	text-decoration: underline;
}

/* ========================================
   RESPONSIVE STYLES - NOTICE DETAIL
   ======================================== */

/* Notice dropdown responsive width */
.card_more_notice_dropdown {
	width: 300px;
}
@media (max-width: 480px) {
	.card_more_notice_dropdown {
		width: calc(100vw - 24px);
		max-width: 300px;
		right: 0;
		left: auto;
	}
}

/* Mobile-only back button: shown on mobile, hidden on desktop */
.mobile-back-btn {
	display: none;
	margin-bottom: 16px;
}
@media (max-width: 768px) {
	.mobile-back-btn {
		display: block;
	}
}

/* Tablet Landscape */
@media (max-width: 1024px) {
	.notice-detail-content-wrapper {
		grid-template-columns: 1fr 300px;
		gap: 30px;
	}

	.notice-detail-title {
		font-size: 2rem;
	}

	.description-title {
		font-size: 1.125rem;
	}
}

/* Stack reactions & share vertically on narrow screens */
@media (max-width: 600px) {
	.notice-detail-flex {
		flex-direction: column;
		gap: 15px;
		align-items: stretch;
	}
	.notice-detail-share {
		padding: 12px 15px;
	}
	.share-label {
		width: 100%;
	}
}

/* Tablet Portrait */
@media (max-width: 768px) {
	.notice-detail-page {
		padding-bottom: 90px;
	}

	.notice-detail-container {
		padding: 0 15px;
	}

	.notice-detail-header {
		display: none;
	}

	.notice-detail-content-wrapper {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.notice-detail-title {
		font-size: 1.75rem;
	}

	.category-label {
		font-size: 1rem;
	}

	.description-title {
		font-size: 1rem;
	}

	.description-text {
		font-size: 0.9375rem;
	}

	.notice-detail-sidebar {
		position: static;
	}

	.related-notice-image {
		height: 200px;
	}
}

/* Mobile */
@media (max-width: 480px) {
	.notice-detail-page {
		padding: 15px 0 90px;
	}

	.notice-detail-container {
		padding: 0 12px;
	}

	.notice-detail-header {
		margin-bottom: 15px;
	}

	.btn-back-to-notices {
		padding: 8px 16px;
		font-size: 13px;
	}

	.notice-detail-content-wrapper {
		gap: 30px;
	}

	.notice-detail-title {
		font-size: 1.5rem;
		margin-bottom: 12px;
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	.category-label {
		font-size: 0.9375rem;
	}

	.notice-detail-image-wrapper {
		margin-bottom: 20px;
	}

	.notice-detail-author {
		padding: 6px 12px;
		bottom: 10px;
		right: 10px;
	}

	.author-name {
		max-width: 90px;
	}

	.author-avatar {
		width: 28px;
		height: 28px;
	}

	.author-name {
		font-size: 12px;
	}

	.author-id {
		font-size: 10px;
	}

	.description-title {
		font-size: 0.9375rem;
		margin-bottom: 15px;
	}

	.description-text {
		font-size: 0.875rem;
		line-height: 1.6;
		margin-bottom: 12px;
	}

	.notice-detail-reactions {
		gap: 10px;
		padding: 15px 0;
	}

	.reaction-item {
		/* padding: 6px 10px; */
		gap: 5px;
	}

	.reaction-icon {
		font-size: 16px;
	}

	.reaction-count {
		font-size: 12px;
	}

	.notice-detail-share {
		/* padding: 15px 0; */
		gap: 12px;
	}

	.share-label {
		font-size: 0.9375rem;
	}

	.share-icons {
		gap: 8px;
	}

	.share-icon-btn {
		width: 32px;
		height: 32px;
		font-size: 14px;
	}

	.sidebar-title {
		font-size: 1.25rem;
		margin-bottom: 15px;
	}

	.related-notices-list {
		gap: 15px;
	}

	.related-notice-image {
		height: 160px;
	}

	.related-notice-content {
		padding: 12px;
	}

	.related-notice-title {
		font-size: 1rem;
		margin-bottom: 8px;
	}

	.related-notice-description {
		font-size: 0.8125rem;
	}
}

/* Small Mobile */
@media (max-width: 375px) {
	.notice-detail-title {
		font-size: 1.375rem;
	}

	.notice-detail-reactions {
		gap: 8px;
	}

	.share-icon-btn {
		width: 30px;
		height: 30px;
		font-size: 13px;
	}

	.related-notice-image {
		height: 140px;
	}
}

/* Video and Placeholder styles for Notice Detail */
.notice-detail-video {
	width: 100%;
	aspect-ratio: 16/9;
	border: 0;
	border-radius: 8px;
}
.pinned_circle_icon {
	position: relative;
	width: 100%;
	/* top: 20px;
	right: 20px; */
	/* width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #529B50;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
    transition: all 0.3s ease; */
}
.pinned_circle_icon .card_more_btn:hover {
    /* background-color: #447d42; */
    transform: scale(1.15);
    box-shadow: 0 4px 12px rgba(82, 155, 80, 0.4);
}

.pinned_circle_icon .card_more_btn {
	visibility: visible;
	opacity: 1;
	top: 10px;
	line-height: 38px;
	position: absolute;
	background-color: var(--primary-color)
}

.pinned_circle_icon .card_more.dropdown-menu.show {
    top: 50px;
    display: block;
    right: 15px;
    left: unset;
	transform: none;
	width: 100%;
	max-width: 300px;
}
.notice-detail-placeholder {
	width: 100%;
	height: 300px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
	border-radius: 8px;
}

.notice-detail-placeholder h3 {
	color: #fff;
	font-size: 1.5rem;
	text-align: center;
	margin: 0;
	font-family: var(--font-semibold);
}

.related-notice-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px;
}

.related-notice-placeholder h4 {
	color: #fff;
	font-size: 0.875rem;
	text-align: center;
	margin: 0;
	font-family: var(--font-semibold);
}

/* Nudge Section */
.notice-nudge-section {
	margin-bottom: 10px;
	padding-top: 0px;
	border-top: 1px solid #e8e8e8;
}

.nudge-section-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #111;
	margin: 0 0 4px 0;
	font-family: var(--font-semibold);
}

.nudge-section-subtitle {
	font-size: 0.875rem;
	color: #666;
	margin: 0 0 16px 0;
}

/* Nudge Cards Grid */
.nudge-cards-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.nudge-card {
	display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 16px;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    min-height: 90px;
    font-family: var(--font-semibold);
}

.nudge-card:hover,
.nudge-card.active {
	border-color: #529B50;
	background: #529B50;
	box-shadow: 0 2px 8px rgba(82,155,80,0.12);
	text-decoration: none;
}

.nudge-card.active .nudge-card-text,
.nudge-card:hover .nudge-card-text {
	color: #fff;
}

.nudge-card.active .nudge-card-count,
.nudge-card:hover .nudge-card-count {
	color: rgba(255,255,255,0.85);
}

.nudge-card-text {
	font-size: 20px;
    color: #529B50;
    font-weight: 600;
    font-family: var(--font-semibold);
    line-height: 30px;
    flex: 1;
}

.nudge-card-count {
	font-size: 13px;
    color: #000;
    text-align: right;
    line-height: 18px;
    display: block;
    font-family: var(--font-regular);
}

/* Active nudge title row shown below cards */
.nudge-active-title-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 0 8px 0;
	
}

.nudge-active-title-text {
	font-size: 1.125rem;
	font-weight: 700;
	color: #111;
	font-family: var(--font-semibold);
}

.nudge-active-title-count {
	font-size: 0.875rem;
	color: #666;
	white-space: nowrap;
}

/* General Discussion Row */
.nudge-general-discussion {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid #e8e8e8;
	margin-top: 4px;
	cursor: pointer;
	border-radius: 6px;
	padding: 14px 4px;
	transition: background 0.15s ease;
}

.nudge-general-discussion:hover,
.nudge-general-discussion.active {
	background: #f4faf4;
}

.nudge-general-discussion:hover,
.nudge-general-discussion.active {
	background: #f4faf4;
}

.nudge-general-title {
	font-size: 1rem;
	font-weight: 700;
	color: #111;
	font-family: var(--font-semibold);
}

.nudge-general-count {
	font-size: 0.875rem;
	color: #666;
}

/* Responsive nudge cards */
@media (max-width: 600px) {
	.nudge-cards-grid {
		grid-template-columns: 1fr;
	}
	.nudge-card-text {
		font-size: 16px;
		line-height: 24px;
	}
	.nudge-card {
		min-height: 70px;
		padding: 12px;
	}
}

.nudge-des {
	background: #f9f9f9;
	padding: 15px;
	border-radius: 8px;
	border-left: 3px solid #529B50;
}

.nudge-des p {
	margin: 0;
	font-size: 0.9375rem;
	color: #333;
}

/* Load More Comments */
.load-more-comments {
	text-align: center;
	margin-top: 20px;
	padding: 15px 0;
}

.load-more-comments a {
	color: #529B50;
	font-weight: 600;
	text-decoration: none;
	font-family: var(--font-semibold);
}

.load-more-comments a:hover {
	text-decoration: underline;
}

/* Comment Reply Box */
.comment-reply-box {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 10px;
	padding-left: 55px;
}

.comment-reply-box--nested {
	padding-left: 52px;
}

@media (max-width: 480px) {
	.comment-reply-box {
		padding-left: 0;
		flex-wrap: wrap;
	}
	.comment-reply-box--nested {
		padding-left: 0;
	}
	.comment-reply-input {
		min-width: 0;
	}
	.comment-action-btn {
		padding: 6px 10px;
		min-height: 36px;
	}
	.sidebar_slide {
		padding: 16px;
	}
}

.comment-reply-input {
	flex: 1;
	border: 1px solid #ddd;
	border-radius: 20px;
	padding: 10px 15px;
	font-size: 0.875rem;
	outline: none;
	transition: border-color 0.3s ease;
}
body.dark_mode_theme .comment-reply-input {
	background-color: var(--dark-primary);
	color: #ffffff;
	border: 1px solid #555;
}

.comment-reply-input:focus {
	border-color: #529B50;
}

/* Comment action button colors */
.comment-edit-btn { 
	color: #529B50 !important; 
}

.comment-delete-btn { 
	color: #e74c3c !important; 
}

/* ========================================
   DISCUSSION / COMMENTS SECTION STYLES
   ======================================== */

/* Comment Input */
.comment-input-wrapper {
	display: flex;
    align-items: center;
    gap: 15px;
    background: #F7F7F7;
    padding: 24px;
    border-radius: 12px;
    margin-bottom: 30px;
}
body.dark_mode_theme .comment-input-wrapper {
	background: var(--dark-secondary);
}

.comment-input-avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.comment-input-box {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	border-radius: 3px;
	padding: 5px 10px 5px 20px;
}
body.dark_mode_theme .comment-input-box {
	background: var(--dark-primary);
}

.comment-input-field {
	flex: 1;
	border: none;
	outline: none;
	font-size: 0.9375rem;
	color: #333;
	background: transparent;
	padding: 8px 0;
}
body.dark_mode_theme .comment-input-field {
	color: #ffffff;
}

.comment-input-field::placeholder {
	color: #999;
}

.comment-submit-btn {
	/* width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #000; */
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	flex-shrink: 0;
}
.comment-submit-btn i {
	font-size: 20px;
	transition: all 0.3s ease;
    position: relative;
    z-index: 1;
}
.comment-submit-btn--icon {
	width: 32px;
	height: 32px;
	border-radius: 50%;
}
.comment-reply-avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
body.dark_mode_theme .comment-submit-btn i {
	color: #ffffff;
}

.comment-submit-btn:hover i {
    color: #447d42;
    transform: translateX(3px);
}

/* .comment-submit-btn:hover {
	background: #333;
} */

/* Loading state for buttons */
.comment-submit-btn.loading {
	pointer-events: none;
	opacity: 0.7;
}

.comment-submit-btn.loading::after {
	content: '';
	width: 14px;
	height: 14px;
	border: 2px solid #fff;
	border-top-color: transparent;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* Comments list transition */
.comments-list {
	transition: opacity 0.25s ease;
	position: relative;
	min-height: 60px;
}

.comments-list.loading {
	opacity: 0.3;
	pointer-events: none;
}

/* Spinner overlay shown while nudge comments load */
.nudge-comments-loader {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	justify-content: center;
	align-items: center;
	min-height: 80px;
}

.nudge-comments-loader.visible {
	display: flex;
}

.nudge-comments-loader-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.nudge-loader-spinner {
	width: 28px;
	height: 28px;
	border: 3px solid #e0ede0;
	border-top-color: #529B50;
	border-radius: 50%;
	animation: nudge-spin 0.6s linear infinite;
}

.nudge-loader-text {
	font-size: 0.8125rem;
	color: #529B50;
	font-family: var(--font-regular);
}

@keyframes nudge-spin {
	to { transform: rotate(360deg); }
}

/* Nudge card smooth transition on active state change */
.nudge-card {
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.nudge-general-discussion {
	transition: background 0.2s ease;
}

.submit-icon {
	color: #fff;
	font-size: 14px;
}

/* Discussion Section */
.notice-discussion-section {
	margin-top: 24px;
}

.discussion-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 30px;
	/* padding-bottom: 15px; */
	/* border-bottom: 2px solid #e0e0e0; */
}

.discussion-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: #000;
	font-family: var(--font-semibold);
}

.discussion-count {
	font-size: 1rem;
	color: #4B4B4B;
	font-family: var(--font-medium);
}

/* Comments List */
.comments-list {
	display: flex;
	flex-direction: column;
	gap: 0px;
}

/* Comment Item */
.comment-item {
	display: flex;
	gap: 15px;
	padding: 15px 0;
}

.comment-item--nested {
	margin-left: 60px;
	padding-top: 20px;
	border-top: 1px solid rgba(0, 0, 0, 0.10);
}

.comment-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.comment-content {
	flex: 1;
	min-width: 0;
}

.comment-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 8px;
	gap: 15px;
	flex-wrap: wrap;
}

.comment-author {
	font-size: 1rem;
	font-weight: 600;
	color: #000;
	font-family: var(--font-semibold);
}


.comment-time {
	font-size: 1rem;
	color: #000;
	white-space: nowrap;
	font-family: var(--font-medium);
}
body.dark_mode_theme .comment-author, body.dark_mode_theme .comment-time {
	color: #ffffff;
}

.comment-text {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: #333;
	margin-bottom: 10px;
	font-family: var(--font-regular);
}

/* Comment Actions */
.comment-reply-btn {
	background: transparent;
	border: none;
	color: #529B50;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	padding: 0;
	transition: color 0.3s ease;
	font-family: var(--font-semibold);
}

.comment-reply-btn:hover {
	color: #447d42;
	text-decoration: underline;
}

.comment-actions {
	display: flex;
	align-items: center;
	gap: 15px;
}

.comment-action-btn {
	background: transparent;
	border: none;
	font-size: 0.875rem;
	font-weight: 500;
	cursor: pointer;
	padding: 0;
	transition: color 0.3s ease;
	font-family: var(--font-medium);
}
body.dark_mode_theme .comment-action-btn {
	color: #ffffff;
}

.comment-edit-btn {
	color: #529B50;
}

.comment-edit-btn:hover {
	color: #447d42;
	text-decoration: underline;
}

.comment-delete-btn {
	color: #999;
}

.comment-delete-btn:hover {
	color: #e74c3c;
	text-decoration: underline;
}

/* ========================================
   RESPONSIVE STYLES - DISCUSSION SECTION
   ======================================== */

/* Tablet */
@media (max-width: 768px) {
	.comment-input-wrapper {
		padding: 12px 15px;
		gap: 12px;
	}

	.comment-input-avatar {
		width: 42px;
		height: 42px;
	}

	.comment-input-box {
		padding: 4px 4px 4px 16px;
	}

	.comment-input-field {
		font-size: 0.875rem;
	}

	.comment-submit-btn {
		width: 34px;
		height: 34px;
	}

	.discussion-header {
		margin-bottom: 25px;
	}

	.discussion-title {
		font-size: 1.375rem;
	}

	.discussion-count {
		font-size: 0.9375rem;
	}

	.comment-item--nested {
		margin-left: 50px;
	}

	.comment-avatar {
		width: 38px;
		height: 38px;
	}
}

/* Mobile */
@media (max-width: 480px) {
	.notice-discussion-section {
		margin-top: 30px;
	}

	.comment-input-wrapper {
		padding: 10px 12px;
		gap: 10px;
	}

	.comment-input-avatar {
		width: 36px;
		height: 36px;
	}

	.comment-input-box {
		padding: 3px 3px 3px 14px;
	}

	.comment-input-field {
		font-size: 0.8125rem;
		padding: 6px 0;
	}

	.comment-submit-btn {
		width: 32px;
		height: 32px;
	}

	.submit-icon {
		font-size: 12px;
	}

	.discussion-header {
		margin-bottom: 20px;
		padding-bottom: 12px;
		flex-wrap: wrap;
		gap: 10px;
	}

	.discussion-title {
		font-size: 1.25rem;
	}

	.discussion-count {
		font-size: 0.875rem;
	}

	.comments-list {
		gap: 15px;
	}

	.comment-item {
		gap: 12px;
		padding: 15px 0;
	}

	.comment-item--nested {
		margin-left: 40px;
		padding-top: 12px;
	}

	.comment-avatar {
		width: 36px;
		height: 36px;
	}

	.comment-header {
		margin-bottom: 6px;
		gap: 10px;
	}

	.comment-author {
		font-size: 0.9375rem;
	}

	.comment-time {
		font-size: 0.8125rem;
	}

	.comment-text {
		font-size: 0.875rem;
		margin-bottom: 8px;
	}

	.comment-reply-btn {
		font-size: 0.8125rem;
	}

	.comment-actions {
		gap: 12px;
	}

	.comment-action-btn {
		font-size: 0.8125rem;
	}
}

/* Small Mobile */
@media (max-width: 375px) {
	.comment-input-wrapper {
		padding: 8px 10px;
		gap: 8px;
	}

	.comment-input-avatar {
		width: 32px;
		height: 32px;
	}

	.comment-input-box {
		padding: 2px 2px 2px 12px;
	}

	.comment-input-field {
		font-size: 0.75rem;
	}

	.comment-submit-btn {
		width: 30px;
		height: 30px;
	}

	.discussion-title {
		font-size: 1.125rem;
	}

	.discussion-count {
		font-size: 0.8125rem;
	}

	.comment-item--nested {
		margin-left: 30px;
	}

	.comment-avatar {
		width: 32px;
		height: 32px;
	}

	.comment-author {
		font-size: 0.875rem;
	}

	.comment-text {
		font-size: 0.8125rem;
	}
}

/* ========================================
   NEW LOGIN/SIGNUP MODAL STYLES
   ======================================== */
.login-wall-modal-style {
	text-align: center;
}

.login-wall-modal-style .login-logo {
	width: 120px;
	margin: 0 auto 15px;
}

.login-wall-modal-style .login-logo img {
	width: 100%;
	height: auto;
}

.login-wall-modal-style .login-modal-title {
	font-size: 22px;
	font-weight: 600;
	color: #262626;
	margin-bottom: 5px;
}

.login-wall-modal-style .login-modal-subtitle {
	font-size: 14px;
	color: #8e8e8e;
	margin-bottom: 0px;
	line-height: 1.4;
}

.login-wall-modal-style .form_fields {
	text-align: left;
	width: 100%;
}

.login-wall-modal-style .form_field {
	margin-bottom: 0px;
}

.login-wall-modal-style .form_label {
	font-size: 13px;
	font-weight: 500;
	color: #333;
	margin-bottom: 6px;
	display: block;
}

.login-btn-new {
	display: block;
	width: 100%;
	padding: 12px 20px;
	background: #529B50;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease;
	text-decoration: none;
}

.login-btn-new:hover {
	background: #458043;
}

.login-divider {
	display: flex;
	align-items: center;
	margin: 10px 0;
	color: #8e8e8e;
	font-size: 13px;
}

.login-divider::before,
.login-divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: #dbdbdb;
}

.login-divider span {
	padding: 0 15px;
}

.google-btn-new {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 12px 20px;
	background: #fff;
	color: #333;
	border: 1px solid #dbdbdb;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s ease;
	gap: 10px;
}

.block_btns .gnb-btn {
	margin: 0px;
}

.google-btn-new:hover {
	background: #f7f7f7;
	border-color: #ccc;
}
body.dark_mode_theme .google-btn-new {
	color: #ffffff;
}

.google-btn-new svg {
	width: 20px;
	height: 20px;
}

.login-wall-modal-style .dont_acc {
	margin-top: 5px;
	text-align: center;
	font-size: 14px;
	color: #8e8e8e;
}

.login-wall-modal-style .dont_acc span {
	cursor: pointer;
}

.login-wall-modal-style .dont_acc strong {
	color: #529B50;
	font-weight: 600;
}

.login-wall-modal-style .dont_acc strong:hover {
	text-decoration: underline;
}

.login-wall-modal-style .des_info {
	font-size: 12px;
	color: #8e8e8e;
	margin-top: 0px;
	margin-bottom: 0px;
	text-align: left;
}

.login-wall-modal-style .forgot_link {
	color: #529B50;
	font-size: 13px;
}

.login-wall-modal-style .forgot_link:hover {
	text-decoration: underline;
}

.login-wall-modal-style .remember_group {
	margin-bottom: 15px;
	font-size: 13px;
}

.login-wall-modal-style .remember_link {
	color: #666;
}

/* Login Wall Styles - Instagram/Glassdoor Effect */
.login-wall-active {
   overflow: hidden;
   height: 100vh;
}

.login-wall-active .header,
.login-wall-active footer,
.page-wrapper-blur {
   filter: blur(8px);
   pointer-events: none;
   user-select: none;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
}

.login-wall-overlay {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.6);
   z-index: 9999;
   display: flex;
   align-items: center;
   justify-content: center;
}

.login-wall-modal {
   background: #fff;
   border-radius: 12px;
   max-width: 480px;
   width: 90%;
   padding: 30px;
   text-align: center;
   box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
   animation: slideUp 0.3s ease-out;
   max-height: 90vh;
   overflow-y: auto;
}
body.dark_mode_theme .login-wall-modal {
	background-color: var(--dark-secondary);
	color: #ffffff;
}

@keyframes slideUp {
   from {
      opacity: 0;
      transform: translateY(20px);
   }
   to {
      opacity: 1;
      transform: translateY(0);
   }
}

.login-wall-modal .login-logo {
   width: 120px;
   margin: 0 auto 15px;
}

.login-wall-modal .login-logo img {
   width: 100%;
   height: auto;
}

.login-wall-modal h2 {
   font-size: 24px;
   font-weight: 600;
   color: #262626;
   margin-bottom: 10px;
}
body.dark_mode_theme .login-wall-modal h2 {
	color: #ffffff;
}

.login-wall-modal p {
   font-size: 14px;
   color: #8e8e8e;
   margin-bottom: 25px;
   line-height: 1.5;
}

.login-wall-modal .login-btn {
   display: block;
   width: 100%;
   padding: 12px 20px;
   background: #529B50;
   color: #fff;
   border: none;
   border-radius: 8px;
   font-size: 14px;
   font-weight: 600;
   cursor: pointer;
   transition: background 0.2s ease;
   text-decoration: none;
   margin-bottom: 12px;
}

.login-wall-modal .login-btn:hover {
   background: #458043;
}

.login-wall-modal .signup-btn {
   display: block;
   width: 100%;
   padding: 12px 20px;
   background: transparent;
   color: #529B50;
   border: 2px solid #529B50;
   border-radius: 8px;
   font-size: 14px;
   font-weight: 600;
   cursor: pointer;
   transition: all 0.2s ease;
   text-decoration: none;
}

.login-wall-modal .signup-btn:hover {
   background: #529B50;
   color: #fff;
}

.login-wall-modal .divider {
   display: flex;
   align-items: center;
   margin: 20px 0;
   color: #8e8e8e;
   font-size: 13px;
}

.login-wall-modal .divider::before,
.login-wall-modal .divider::after {
   content: '';
   flex: 1;
   height: 1px;
   background: #dbdbdb;
}

.login-wall-modal .divider::before {
   margin-right: 15px;
}

.login-wall-modal .divider::after {
   margin-left: 15px;
}


/* Empty State Styles */
.empty-noticeboards-state {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px;
    text-align: center;
    background: #DFDFDF33;
    border-radius: 4px;
    border: 1px dashed #DADADA;
    min-height: 230px;
    gap: 12px;
    height: 230px;
}

.empty-state-icon {
   margin-bottom: 24px;
   animation: float 3s ease-in-out infinite;
}

@keyframes float {
   0%, 100% { transform: translateY(0px); }
   50% { transform: translateY(-10px); }
}

.empty-state-title {
    font-size: 24px;
    font-family: var(--font-semibold);
    color: #000;
    margin-bottom: 12px;
    font-weight: 600;
}

.empty-state-description {
font-size: 13px;
    color: #000;
    line-height: 1.6;
    font-family: var(--font-regular);
   /* margin-bottom: 24px; */

}

.btn-join-noticeboards {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 12px 24px;
   background: var(--primary-color);
   color: #fff;
   border: none;
   border-radius: 8px;
   font-size: 1rem;
   font-family: var(--font-semibold);
   cursor: pointer;
   transition: all 0.3s ease;
   box-shadow: 0 2px 8px rgba(82, 155, 80, 0.2);
}

.btn-join-noticeboards:hover {
   background: #447d42;
   transform: translateY(-2px);
   box-shadow: 0 4px 12px rgba(82, 155, 80, 0.3);
}

.btn-join-noticeboards .btn-icon {
   font-size: 1.25rem;
   font-weight: bold;
}

/* Modal Styles */
.modal-overlay {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background: rgba(0, 0, 0, 0.6);
   display: none;
   align-items: center;
   justify-content: center;
   z-index: 9999;
   padding: 20px;
   opacity: 0;
   transition: opacity 0.3s ease;
}

.modal-overlay.show {
   display: flex;
   opacity: 1;
}

.modal-container {
   background: #fff;
   border-radius: 16px;
   max-width: 900px;
   width: 100%;
   max-height: 90vh;
   display: flex;
   flex-direction: column;
   box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
   transform: scale(0.9);
   transition: transform 0.3s ease;
}

.modal-overlay.show .modal-container {
   transform: scale(1);
}

.modal-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 24px;
   border-bottom: 1px solid #E0E0E0;
}

.modal-title {
   font-size: 1.5rem;
   font-family: var(--font-semibold);
   color: #333;
   margin: 0;
}

.modal-close {
   background: transparent;
   border: none;
   cursor: pointer;
   padding: 8px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   transition: background 0.2s ease;
}

.modal-close:hover {
   background: #F5F5F5;
}

.modal-close svg {
   width: 24px;
   height: 24px;
   color: #666;
}

/* .modal-search {
   padding: 20px 24px;
   border-bottom: 1px solid #E0E0E0;
}

.modal-search-input {
   width: 100%;
   padding: 12px 16px;
   border: 1px solid #E0E0E0;
   border-radius: 8px;
   font-size: 1rem;
   transition: border-color 0.2s ease;
}

.modal-search-input:focus {
   outline: none;
   border-color: var(--primary-color);
} */
   .modal-search {
   padding: 20px 24px 16px;
   display: flex;
   justify-content: center;
}

.modal-search-wrapper {
   position: relative;
   max-width: 400px;
   width: 100%;
}

.modal-search-input {
   width: 100%;
   padding: 12px 16px 12px 44px;
   border: 2px solid #E0E0E0;
   border-radius: 24px;
   font-size: 0.9375rem;
   transition: all 0.3s ease;
   background: #F9F9F9;
}

.modal-search-input:focus {
   outline: none;
   border-color: var(--primary-color);
   background: #fff;
   box-shadow: 0 2px 8px rgba(82, 155, 80, 0.15);
}

.modal-search-input::placeholder {
   color: #999;
}

.modal-search-icon {
   position: absolute;
   left: 16px;
   top: 50%;
   transform: translateY(-50%);
   color: #999;
   font-size: 18px;
   pointer-events: none;
}

.modal-search-clear {
   position: absolute;
   right: 12px;
   top: 50%;
   transform: translateY(-50%);
   background: transparent;
   border: none;
   color: #999;
   cursor: pointer;
   padding: 4px;
   display: none;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   transition: all 0.2s ease;
}

.modal-search-clear:hover {
   background: #F0F0F0;
   color: #666;
}

.modal-search-input:not(:placeholder-shown) ~ .modal-search-clear {
   display: flex;
}


/* Responsive */
@media (max-width: 768px) {
   .modal-container {
      max-width: 100%;
      max-height: 100vh;
      border-radius: 0;
   }
   
   .modal-search-wrapper {
      max-width: 100%;
   }
   
   .modal-search-input {
      font-size: 16px; /* Prevent zoom on iOS */
   }
   
   .noticeboards-grid {
      grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
      gap: 12px;
   }
   
   .modal-footer {
      flex-direction: column;
      gap: 12px;
   }
   
   .btn-join-selected {
      width: 100%;
   }
}

.modal-body {
   flex: 1;
   overflow-y: auto;
   padding: 24px;
}

.noticeboards-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
   gap: 16px;
}

.noticeboard-item {
   position: relative;
   background: #fff;
   border: 2px solid #E0E0E0;
   border-radius: 12px;
   overflow: hidden;
   cursor: pointer;
   transition: all 0.3s ease;
}

.noticeboard-item:hover {
   border-color: var(--primary-color);
   transform: translateY(-4px);
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.noticeboard-item.selected {
   border-color: var(--primary-color);
   background: #F0F8F0;
}

.noticeboard-item.selected::after {
   content: '✓';
   position: absolute;
   top: 8px;
   right: 8px;
   width: 28px;
   height: 28px;
   background: var(--primary-color);
   color: #fff;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 14px;
   font-weight: bold;
}

.noticeboard-item-image {
   width: 100%;
   height: 120px;
   object-fit: cover;
}

.noticeboard-item-content {
   padding: 12px;
}

.noticeboard-item-title {
   font-size: 0.9375rem;
   font-family: var(--font-semibold);
   color: #333;
   margin: 0;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden;
}

.noticeboard-item-count {
   font-size: 0.8125rem;
   color: #666;
   margin-top: 4px;
}

/* Loading Skeleton */
.loading-skeleton {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
   gap: 16px;
}

.skeleton-card {
   background: linear-gradient(90deg, #F0F0F0 25%, #E0E0E0 50%, #F0F0F0 75%);
   background-size: 200% 100%;
   animation: loading 1.5s infinite;
   border-radius: 12px;
   height: 200px;
}

@keyframes loading {
   0% { background-position: 200% 0; }
   100% { background-position: -200% 0; }
}

.modal-footer {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 20px 24px;
   border-top: 1px solid #E0E0E0;
   background: #FAFAFA;
}

.selected-count {
   font-size: 1rem;
   font-family: var(--font-semibold);
   color: #333;
}

.selected-count span {
   color: var(--primary-color);
   font-size: 1.25rem;
   font-family: var(--font-semibold);
}

.btn-join-selected {
   padding: 12px 24px;
   background: var(--primary-color);
   color: #fff;
   border: none;
   border-radius: 8px;
   font-size: 1rem;
   font-family: var(--font-semibold);
   cursor: pointer;
   transition: all 0.3s ease;
}

.btn-join-selected:hover:not(:disabled) {
   background: #447d42;
   transform: translateY(-2px);
   box-shadow: 0 4px 12px rgba(82, 155, 80, 0.3);
}

.btn-join-selected:disabled {
   background: #BDBDBD;
   cursor: not-allowed;
}

/* Responsive */
@media (max-width: 768px) {
   .modal-container {
      max-width: 100%;
      max-height: 100vh;
      border-radius: 0;
   }
   
   .noticeboards-grid {
      grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
      gap: 12px;
   }
   
   .modal-footer {
      flex-direction: column;
      gap: 12px;
   }
   
   .btn-join-selected {
      width: 100%;
   }
}
.dark_mode_theme .notices-card {
	background-color: transparent !important;
}
.dark_mode_theme h2.page-title {
	color: #ffffff;
}
.dark_mode_theme .select2-container--default .select2-selection--single {
	border-color: var(--dark-secondary) !important;
	background-color: var(--dark-secondary);
}

.dark_mode_theme .sort-select {
	background-color: var(--dark-secondary);
	border-color: var(--dark-secondary);
	color: #ffffff;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    position: absolute;
    top: 3px;
    right: 0px;
    font-size: 22px;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder{
	font-size: 14px;
}
.select2-container--default .select2-selection--single {
	border-radius: 3px !important;
}

/* =====================================================
   SHARED STYLES - Used by global_noticeboard_wall.php, topic.php
   ===================================================== */

/* Active filters display */
.active-filters {
   /* padding: 10px 0; */
   display: flex;
   gap: 10px;
   flex-wrap: wrap;
}
.result_title_filter {
	display: flex;
	align-items: center;
	gap: 0px 10px;
}

.filter-badge {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 10px 20px;
   background: #e8f4fd;
   border-radius: 3px;
   font-size: 14px;
   color: #0077B5;
   font-weight: 500;
   font-family: var(--font-medium);
}

.filter-badge-remove {
   background: none;
   border: none;
   font-size: 18px;
   cursor: pointer;
   color: #666;
   padding: 0;
   line-height: 1;
}

.filter-badge-remove:hover {
   color: #333;
}

/* Notice card link styling */
.notices-card a {
   text-decoration: none;
   color: inherit;
   display: block;
}

.notices-card a:hover {
   opacity: 0.95;
}

/* Notice badge platform colors */
.notice-badge.platform-box1 { background: #BDDCBC; color: #000; }
.notice-badge.platform-bulb { background: #F39237; color: #000; }
.notice-badge.platform-chat { background: #5C95FF; color: #000; }
.notice-badge.platform-calendar { background: #FAA4BD; color: #000; }

/* Item category badges (Give/Receive) */
.item-category-badge {
   position: absolute;
   top: 10px;
   left: 10px;
   padding: 4px 10px;
   border-radius: 12px;
   font-size: 12px;
   font-weight: 600;
   font-family: var(--font-medium);
   text-transform: uppercase;
   letter-spacing: 0.5px;
   z-index: 2;
}

.item-category-give {
   background: linear-gradient(135deg, #4CAF50, #45a049);
   color: #fff;
   box-shadow: 0 2px 4px rgba(76, 175, 80, 0.3);
}

.item-category-receive {
   background: linear-gradient(135deg, #2196F3, #1976D2);
   color: #fff;
   box-shadow: 0 2px 4px rgba(33, 150, 243, 0.3);
}

/* Event date display in meta */
.notice-event-date {
   display: flex;
   align-items: center;
   gap: 6px;
   font-size: 12px;
   color: #666;
   font-family: var(--font-medium);
}

.notice-event-date i {
   color: #FAA4BD;
}

/* Sub-filters styling */
.sub-filters-section {
   margin-top: 15px;
   padding: 12px 15px;
   background: #f8f9fa;
   border-radius: 8px;
   border: 1px solid #e9ecef;
}

.sub-filters-label {
   font-size: 13px;
   color: #666;
   margin-bottom: 8px;
   font-family: var(--font-medium);
}

.sub-filters-buttons {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
}

.sub-filter-btn {
   padding: 6px 14px;
   border-radius: 16px;
   font-size: 13px;
   font-family: var(--font-regular);
   background: #fff;
   border: 1px solid #ddd;
   color: #666;
   cursor: pointer;
   transition: all 0.2s ease;
}

.sub-filter-btn:hover {
   background: #f0f0f0;
   border-color: #ccc;
}

.sub-filter-btn.active,
.sub-filter-btn--active {
   background: #529b50;
   border-color: #529b50;
   color: #fff;
}

.sub-filter-btn.active:hover,
.sub-filter-btn--active:hover {
   background: #468a44;
}

/* Dark mode adjustments */
.dark_mode_theme .item-category-badge {
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.dark_mode_theme .sub-filters-section {
   background: #2a2a2a;
   border-color: #3a3a3a;
}

.dark_mode_theme .sub-filters-label {
   color: #aaa;
}

.dark_mode_theme .sub-filter-btn {
   background: #333;
   border-color: #444;
   color: #ccc;
}

.dark_mode_theme .sub-filter-btn:hover {
   background: #444;
}

.dark_mode_theme .sub-filter-btn.active,
.dark_mode_theme .sub-filter-btn--active {
   background: #529b50;
   border-color: #529b50;
}

/* Notice location with distance */
.notice-location {
   text-align: right;
   line-height: 1.4;
}

.notice-distance {
   font-size: 13px;
   color: #666;
   font-weight: 500;
}

/* Results count spacing */
.results-count-label {
   margin: 0 5px;
}

/* Location search wrapper */
.location-search-wrapper {
   display: inline-block;
   vertical-align: middle;
   margin-left: 10px;
   min-width: 220px;
}

.location-search-wrapper .location-search-dropdown {
   width: 100%;
}

.location-search-wrapper .select2-container {
   min-width: 220px;
}

.location-search-wrapper .select2-container--default .select2-selection--single {
   height: 42px;
   border-radius: 4px;
   border: 1px solid #ddd;
   padding: 6px 12px;
   font-family: var(--font-medium);
}

.location-search-wrapper .select2-container--default .select2-selection--single .select2-selection__rendered {
   line-height: 28px;
   color: #333;
}

.location-search-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow {
   height: 40px;
}

/* Image placeholder for broken images */
.notice-img-placeholder {
   width: 100%;
   height: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
   color: #fff;
   font-size: 2.5rem;
   font-weight: 600;
}

/* Empty State */
.empty-notices-state {
   text-align: center;
   padding: 60px 20px;
   color: #666;
}

.empty-notices-state svg {
   margin-bottom: 20px;
   opacity: 0.6;
}

.empty-notices-state h3 {
   font-size: 1.5rem;
   color: #333;
   margin-bottom: 10px;
}

.empty-notices-state p {
   font-size: 1rem;
   color: #666;
   max-width: 400px;
   margin: 0 auto;
}

/* Toast Notifications */
.toast-container {
   position: fixed;
   top: 20px;
   right: 20px;
   z-index: 10000;
   display: flex;
   flex-direction: column;
   gap: 10px;
   max-width: calc(100vw - 24px);
}

.toast {
   padding: 14px 20px;
   border-radius: 8px;
   color: #fff;
   font-size: 14px;
   box-shadow: 0 4px 12px rgba(0,0,0,0.15);
   display: flex;
   align-items: center;
   gap: 10px;
   animation: toastSlideIn 0.3s ease;
   max-width: 350px;
   word-break: break-word;
}

@media (max-width: 480px) {
   .toast-container {
      right: 12px;
      left: 12px;
      top: 12px;
      max-width: 100%;
   }
   .toast {
      max-width: 100%;
      font-size: 13px;
      padding: 12px 14px;
   }
}

.toast--success { background: #28a745; }
.toast--error { background: #dc3545; }
.toast--warning { background: #ffc107; color: #333; }

@keyframes toastSlideIn {
   from { transform: translateX(100%); opacity: 0; }
   to { transform: translateX(0); opacity: 1; }
}

@keyframes toastSlideOut {
   from { transform: translateX(0); opacity: 1; }
   to { transform: translateX(100%); opacity: 0; }
}

/* Loading Animation */
.loading-container {
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 40px 20px;
   min-height: 120px;
}

.loading-spinner {
   position: relative;
   width: 60px;
   height: 60px;
}

.loading-spinner::before,
.loading-spinner::after {
   content: '';
   position: absolute;
   border-radius: 50%;
}

.loading-spinner::before {
   width: 60px;
   height: 60px;
   border: 4px solid #f3f3f3;
   border-top-color: #0077B5;
   animation: spin 1s linear infinite;
}

.loading-spinner::after {
   width: 40px;
   height: 40px;
   top: 10px;
   left: 10px;
   border: 4px solid #f3f3f3;
   border-bottom-color: #5C95FF;
   animation: spin 0.7s linear infinite reverse;
}

@keyframes spin {
   0% { transform: rotate(0deg); }
   100% { transform: rotate(360deg); }
}

.loading-text {
   margin-left: 20px;
   font-size: 16px;
   color: #666;
   font-family: var(--font-medium);
}

.loading-dots::after {
   content: '';
   animation: loadingDots 1.5s steps(4, end) infinite;
}

@keyframes loadingDots {
   0%, 20% { content: ''; }
   40% { content: '.'; }
   60% { content: '..'; }
   80%, 100% { content: '...'; }
}

/* End of results message */
.end-of-results {
   text-align: center;
   padding: 40px 20px;
   color: #999;
   font-size: 15px;
   font-family: var(--font-medium);
}

.end-of-results-icon {
   font-size: 32px;
   margin-bottom: 10px;
   opacity: 0.5;
}

/* Disabled sort option */
.sort-select option:disabled {
   color: #ccc;
   font-style: italic;
}

/* ========================================
   PROFILE WIDGETS - PUBLIC VIEW
   ======================================== */

.profile-widgets-section {
   margin: 24px 0;
   padding: 0 16px;
}

.profile-widgets-section h3 {
   font-size: 18px;
   font-weight: 600;
   color: #333;
   margin-bottom: 16px;
   display: flex;
   align-items: center;
   gap: 8px;
}

.profile-widgets-section h3 i {
   color: #359d48;
}

.profile-widgets-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 16px;
}

.profile-widget-card {
   background: #fff;
   border-radius: 12px;
   box-shadow: 0 2px 8px rgba(0,0,0,0.08);
   overflow: hidden;
   transition: transform 0.2s, box-shadow 0.2s;
}

.profile-widget-card:hover {
   transform: translateY(-2px);
   box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

.profile-widget-card.size-2x1 {
   grid-column: span 2;
}

.profile-widget-card.size-2x2 {
   grid-column: span 2;
   grid-row: span 2;
}

.profile-widget-card .widget-content {
   padding: 16px;
   min-height: 120px;
   display: flex;
   align-items: center;
   justify-content: center;
}

/* Image Widget Styles */
.profile-widget-card .widget-image {
   width: 100%;
   height: 100%;
   cursor: pointer;
}

.profile-widget-card .widget-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.profile-widget-card .widget-image-small {
   aspect-ratio: 1;
}

.profile-widget-card .widget-image-large {
   aspect-ratio: 16/9;
}

/* Website Link Widget */
.profile-widget-card .widget-website-link {
   display: flex;
   align-items: center;
   gap: 12px;
   width: 100%;
   padding: 12px;
   text-decoration: none;
   color: inherit;
}

.profile-widget-card .widget-website-link img {
   width: 48px;
   height: 48px;
   object-fit: cover;
   border-radius: 8px;
   flex-shrink: 0;
}

.profile-widget-card .widget-website-link .website-icon {
   width: 48px;
   height: 48px;
   background: #f0f0f0;
   border-radius: 8px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}

.profile-widget-card .widget-website-link .website-icon i {
   font-size: 20px;
   color: #888;
}

.profile-widget-card .widget-website-link .link-info {
   flex: 1;
   min-width: 0;
}

.profile-widget-card .widget-website-link .link-title {
   font-size: 14px;
   font-weight: 600;
   color: #333;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

.profile-widget-card .widget-website-link .link-description {
   font-size: 12px;
   color: #666;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   margin-top: 2px;
}

.profile-widget-card .widget-website-link .link-url {
   font-size: 11px;
   color: #888;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   margin-top: 4px;
}

.profile-widget-card .widget-website-link .link-arrow {
   color: #888;
   font-size: 12px;
}

/* Text Box Widget */
.profile-widget-card .widget-text-box {
   width: 100%;
   height: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 16px;
   text-align: center;
   word-break: break-word;
   border-radius: 8px;
}

/* Notice/Noticeboard Link Widgets */
.profile-widget-card .widget-notice-link,
.profile-widget-card .widget-noticeboard-link {
   display: flex;
   align-items: center;
   gap: 12px;
   width: 100%;
   padding: 12px;
   text-decoration: none;
   color: inherit;
}

.profile-widget-card .widget-notice-link img,
.profile-widget-card .widget-noticeboard-link img {
   width: 60px;
   height: 60px;
   object-fit: cover;
   border-radius: 8px;
   flex-shrink: 0;
}

.profile-widget-card .widget-notice-link .notice-icon,
.profile-widget-card .widget-noticeboard-link .noticeboard-icon {
   width: 60px;
   height: 60px;
   background: #f0f0f0;
   border-radius: 8px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}

.profile-widget-card .widget-notice-link .notice-icon i,
.profile-widget-card .widget-noticeboard-link .noticeboard-icon i {
   font-size: 24px;
   color: #888;
}

.profile-widget-card .widget-notice-link .item-info,
.profile-widget-card .widget-noticeboard-link .item-info {
   flex: 1;
   min-width: 0;
}

.profile-widget-card .widget-notice-link .item-title,
.profile-widget-card .widget-noticeboard-link .item-title {
   font-size: 14px;
   font-weight: 600;
   color: #333;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden;
}

.profile-widget-card .widget-notice-link .item-meta,
.profile-widget-card .widget-noticeboard-link .item-meta {
   font-size: 12px;
   color: #888;
   margin-top: 4px;
}

.profile-widget-card .widget-notice-link .item-category {
   display: inline-block;
   padding: 2px 8px;
   border-radius: 4px;
   font-size: 11px;
   font-weight: 500;
}

.profile-widget-card .widget-notice-link .item-category.give {
   background: #dcfce7;
   color: #166534;
}

.profile-widget-card .widget-notice-link .item-category.receive {
   background: #dbeafe;
   color: #1e40af;
}

/* Trust Score Widget */
.profile-widget-card .widget-trust-score {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   width: 100%;
   text-align: center;
   padding: 16px;
}

.profile-widget-card .widget-trust-score .score-value {
   font-size: 36px;
   font-weight: 700;
   color: #359d48;
}

.profile-widget-card .widget-trust-score .score-stars {
   color: #fbbf24;
   font-size: 18px;
   margin: 8px 0;
}

.profile-widget-card .widget-trust-score .score-label {
   font-size: 12px;
   color: #888;
}

.profile-widget-card .widget-trust-score .score-breakdown {
   display: flex;
   gap: 16px;
   margin-top: 12px;
   font-size: 12px;
}

.profile-widget-card .widget-trust-score .give-score {
   color: #22c55e;
}

.profile-widget-card .widget-trust-score .receive-score {
   color: #3b82f6;
}

/* Image Popup/Lightbox */
.widget-image-popup {
   display: none;
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background: rgba(0,0,0,0.9);
   z-index: 9999;
   align-items: center;
   justify-content: center;
   padding: 20px;
}

.widget-image-popup.active {
   display: flex;
}

.widget-image-popup img {
   max-width: 90%;
   max-height: 90%;
   object-fit: contain;
   border-radius: 8px;
}

.widget-image-popup .popup-close {
   position: absolute;
   top: 20px;
   right: 20px;
   background: none;
   border: none;
   color: #fff;
   font-size: 32px;
   cursor: pointer;
   opacity: 0.8;
   transition: opacity 0.2s;
}

.widget-image-popup .popup-close:hover {
   opacity: 1;
}

/* Responsive Styles */
@media (max-width: 1024px) {
   .profile-widgets-grid {
      grid-template-columns: repeat(3, 1fr);
   }
}

@media (max-width: 768px) {
   .profile-widgets-grid {
      grid-template-columns: repeat(2, 1fr);
   }
   
   .profile-widget-card.size-2x1,
   .profile-widget-card.size-2x2 {
      grid-column: span 2;
   }
}

@media (max-width: 480px) {
   .profile-widgets-grid {
      grid-template-columns: 1fr;
   }
   
   .profile-widget-card.size-2x1,
   .profile-widget-card.size-2x2 {
      grid-column: span 1;
   }
}

/* //Temp */
   .new-menu {
   visibility: hidden!important;
   }
   .notice-card {
      text-align: inherit;
      margin: 0px 0px 0px;
      padding: 0px;
   }
   .card-grid.card-grid--four-columns {
      margin-top: 20px;
   }
   .page_end {
      margin-top: 20px;
   }
   .card-grid {
   width: 100%;
   }

/* Image Skeleton Loading */
.image-skeleton-wrapper {
   position: relative;
   overflow: hidden;
   width: 100%;
   height: 100%;
}

.image-skeleton {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
   background-size: 200% 100%;
   animation: skeleton-loading 1.5s ease-in-out infinite;
   z-index: 1;
}

@keyframes skeleton-loading {
   0% { background-position: 200% 0; }
   100% { background-position: -200% 0; }
}

.image-skeleton-wrapper img,
.image-skeleton-wrapper iframe {
   position: relative;
   z-index: 0;
   opacity: 0;
   transition: opacity 0.3s ease;
}

.image-skeleton-wrapper img.loaded,
.image-skeleton-wrapper iframe.loaded {
   opacity: 1;
}

.image-skeleton-wrapper .image-skeleton.hidden {
   display: none;
}

/* Avatar skeleton */
.avatar-skeleton-wrapper {
   position: relative;
   display: inline-block;
}

.avatar-skeleton {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
   background-size: 200% 100%;
   animation: skeleton-loading 1.5s ease-in-out infinite;
   border-radius: 50%;
   z-index: 1;
}

.avatar-skeleton-wrapper img {
   position: relative;
   z-index: 0;
   opacity: 0;
   transition: opacity 0.3s ease;
}

.avatar-skeleton-wrapper img.loaded {
   opacity: 1;
}

.avatar-skeleton-wrapper .avatar-skeleton.hidden {
   display: none;
}

/* Placeholder skeleton for no-image notices */
.notice-detail-placeholder {
   background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
   background-size: 200% 100%;
   animation: skeleton-loading 1.5s ease-in-out infinite;
}

.notice-detail-placeholder.loaded {
   animation: none;
}

/* Comment loading spinner */
.comment-loading {
   display: inline-block;
   width: 16px;
   height: 16px;
   border: 2px solid rgba(255, 255, 255, 0.3);
   border-radius: 50%;
   border-top-color: #fff;
   animation: comment-spin 0.8s linear infinite;
}
@keyframes comment-spin {
   to { transform: rotate(360deg); }
}
.comment-submit-btn:disabled {
   opacity: 0.7;
   cursor: not-allowed;
}   
.card-meta.loction_info {
    justify-content: space-between;
}
.notices-count-badge,
.notices-count-badge-mywall {
   position: absolute;
   top: 10px;
   right: 10px;
   z-index: 1;
   background: rgba(0, 0, 0, 0.55);
   color: #fff;
   font-size: 11px;
   font-weight: 600;
   line-height: 1;
   padding: 4px 8px;
   border-radius: 20px;
   backdrop-filter: blur(4px);
   border: 1px solid rgba(255, 255, 255, 0.2);
   pointer-events: none;
}
.card-location_info {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* Item Notice Actions */
.notice-item-actions {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 25px;
}

/* Requested status card - green bordered */
.item-requested-card {
   display: flex;
  align-items: center;
  padding: 16px 20px;
  background: #E5F1E4;
  border: 1px solid #E5F1E4;
  border-radius: 3px;
}
.item-requested-text {
    font-family: var(--font-semibold);
    font-size: 16px;
    line-height: 1.4;
    color: #529B50;
}

/* Continue Chat button */
.item-continue-chat-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    background: #529B50;
    color: #FFFFFF;
    border: none;
    border-radius: 3px;
    font-family: var(--font-semibold);
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s;
    align-self: flex-start;
}
.item-continue-chat-btn:hover {
    background: #478F45;
    color: #FFFFFF;
    text-decoration: none;
}

/* Request item button */
.item-request-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    background: #529B50;
    color: #FFFFFF;
    border: none;
    border-radius: 3px;
    font-family: var(--font-semibold);
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s;
    align-self: flex-start;
}
.item-request-btn:hover {
    background: #478F45;
    color: #FFFFFF;
    text-decoration: none;
}

/* Own notice info card */
.item-own-notice-card {
    display: flex;
    align-items: center;
    padding: 14px 18px;
    background: rgba(33, 150, 243, 0.06);
    border-left: 4px solid #2196F3;
    border-radius: 3px;
}
.item-own-notice-card span {
    font-family: var(--font-medium);
    font-size: 13px;
    line-height: 1.5;
    color: #1976D2;
}

a.gnb_btn.item_notice_actions {
    display: flex;
    width: 20%;
    height: 46px;
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 20px;
    gap: 0px;
    opacity: 1;
    border-radius: 3px;
    background: #529B50;
    color: #FFFFFF;
    justify-content: center;
    align-items: center;
    font-family: var(--font-semibold);
    line-height: 26px;
}
@media (max-width: 768px) {
    a.gnb_btn.item_notice_actions {
        width: 100%;
    }
}
.gnb_modal_content {
    background: #fff;
    border-radius: 12px;
    max-width: 480px;
    width: 100%;
    padding: 30px;
    text-align: center;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    animation: slideUp 0.3s ease-out;
    max-height: 90vh;
    overflow-y: auto;
    display: block;
}

/* Safety Modal - Figma Design */
.safety-modal-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 32px;
    gap: 24px;
    width: 800px;
    max-width: 100%;
    background: #FFFFFF;
    box-shadow: 0px 4px 50px rgba(0, 0, 0, 0.15);
    border-radius: 16px;
}
.safety-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}
.safety-modal-title {
    font-family: var(--font-semibold);
    font-size: 24px;
    line-height: 1.3;
    color: #1A1A1A;
    margin: 0;
}
.safety-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transition: background 0.2s;
    flex-shrink: 0;
    position: static;
    top: auto;
    right: auto;
}
.safety-modal-close:hover {
    background: #F5F5F5;
}
.safety-modal-close svg {
    display: block;
}
.safety-modal-subtitle {
    font-family: var(--font-medium);
    font-size: 14px;
    line-height: 1.6;
    color: #4A4A4A;
    margin: 0;
}
.safety-modal-list {
    list-style: disc;
    padding-left: 20px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.safety-modal-list li {
    font-family: var(--font-medium);
    font-size: 14px;
    line-height: 1.6;
    color: #333333;
}
.safety-modal-footer {
    display: flex;
    align-items: flex-start;
    width: 100%;
}
.safety-modal-agree-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 28px;
    background: #529B50;
    color: #FFFFFF;
    border: none;
    border-radius: 8px;
    font-family: var(--font-semibold);
    font-size: 14px;
    line-height: 1.4;
    cursor: pointer;
    transition: background 0.2s;
}
.safety-modal-agree-btn:hover {
    background: #478F45;
}

/* Safety modal responsive */
@media (max-width: 860px) {
    .safety-modal-content {
        width: 100%;
        padding: 24px;
        gap: 20px;
        margin: 0 16px;
    }
    .safety-modal-title {
        font-size: 20px;
    }
    .safety-modal-subtitle,
    .safety-modal-list li {
        font-size: 13px;
    }
}
.nofify_card_cont span {
    font-size: 9px;
    line-height: 12px;
    font-family: var(--font-regular);
    margin: 0px 0px;
}
.nofify_card_cont h4 {
    color: var(--font-primary) !important;
    margin-bottom: 5px !important;
    font-size: 13px !important;
    font-family: var(--font-semibold) !important;
    line-height: 15px !important;
    letter-spacing: 0 !important;
}
.nofify_card_img {
    margin-right: 10px !important;
}
.nofify_card_cont span {
    font-size: 10px !important;
    line-height: 15px !important;
    text-align: left !important;
    margin: 0 !important;
}

img.comment-input-avatar.loaded {
    width: 60px;
    height: 60px;
}
nav.filter-navigation-notice {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-left: auto;
}

/* ========================================
   TERMS & PRIVACY POLICY PAGE STYLES
   ======================================== */
.terms_updated {
	color: #888;
	font-size: 0.9em;
	margin-bottom: 18px;
}
.policy_list {
	list-style: none;
	padding: 0;
	margin: 10px 0 16px 0;
}
.policy_list li {
	position: relative;
	padding: 6px 0 6px 24px;
	border-bottom: 1px solid #f0f0f0;
	line-height: 1.6;
}
.policy_list li:last-child {
	border-bottom: none;
}
.policy_list li::before {
	content: '\2022';
	color: #4a90d9;
	font-weight: bold;
	font-size: 1.2em;
	position: absolute;
	left: 6px;
	top: 5px;
}
.policy_list--strong li::before {
	content: '\25B6';
	font-size: 0.75em;
	top: 8px;
	color: #3a7bd5;
}
.policy_list--contact li {
	border-bottom: none;
	padding: 4px 0 4px 24px;
}
.policy_list--contact li::before {
	content: '\1F4CD';
	font-size: 0.85em;
	top: 5px;
}
.policy_list--contact a {
	color: #3a7bd5;
	text-decoration: none;
}
.policy_list--contact a:hover {
	text-decoration: underline;
}

/* ========================================
   NOTICES_V2 DETAIL PAGE — COMPREHENSIVE DARK MODE
   ======================================== */

/* --- Title & Category --- */
body.dark_mode_theme .notice-detail-title {
	color: #f3f4f6;
}
body.dark_mode_theme .notice-detail-title:hover {
	color: #6dbf6a;
}
body.dark_mode_theme .notice-detail-category {
	color: #d1d5db;
}
body.dark_mode_theme .category-label {
	color: #6dbf6a;
}

/* --- Author pill (overlaid on image) --- */
body.dark_mode_theme .notice-detail-author {
	background: rgba(28, 28, 28, 0.92);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}
body.dark_mode_theme .author-name {
	color: #f3f4f6;
}
body.dark_mode_theme .author-id {
	color: #9ca3af;
}

/* --- Description --- */
body.dark_mode_theme .notice-detail-description {
	color: #d1d5db;
}
body.dark_mode_theme .description-text {
	color: #d1d5db;
}

/* --- Reactions area divider --- */
body.dark_mode_theme .notice-detail-flex {
	border-bottom-color: #374151;
}
body.dark_mode_theme .reaction-item.active {
	background: #1e3320;
	border-color: #529B50;
}
body.dark_mode_theme .add-reaction-btn {
	background: linear-gradient(135deg, #3a7038 0%, #2e5c2d 100%);
	box-shadow: 0 2px 8px rgba(76, 175, 80, 0.15);
}

/* --- Nudge section --- */
body.dark_mode_theme .notice-nudge-section {
	border-top-color: #374151;
}
body.dark_mode_theme .nudge-section-title {
	color: #f3f4f6;
}
body.dark_mode_theme .nudge-section-subtitle {
	color: #9ca3af;
}
body.dark_mode_theme .nudge-card {
	background: var(--dark-secondary);
	border-color: #374151;
}
body.dark_mode_theme .nudge-card:hover,
body.dark_mode_theme .nudge-card.active {
	background: #3a7038;
	border-color: #529B50;
}
body.dark_mode_theme .nudge-card-text {
	color: #6dbf6a;
}
body.dark_mode_theme .nudge-card:hover .nudge-card-text,
body.dark_mode_theme .nudge-card.active .nudge-card-text {
	color: #fff;
}
body.dark_mode_theme .nudge-card-count {
	color: #9ca3af;
}
body.dark_mode_theme .nudge-card:hover .nudge-card-count,
body.dark_mode_theme .nudge-card.active .nudge-card-count {
	color: rgba(255, 255, 255, 0.8);
}
body.dark_mode_theme .nudge-active-title-text {
	color: #f3f4f6;
}
body.dark_mode_theme .nudge-active-title-count {
	color: #9ca3af;
}
body.dark_mode_theme .nudge-general-discussion {
	border-top-color: #374151;
}
body.dark_mode_theme .nudge-general-discussion:hover,
body.dark_mode_theme .nudge-general-discussion.active {
	background: #1e3320;
}
body.dark_mode_theme .nudge-general-title {
	color: #f3f4f6;
}
body.dark_mode_theme .nudge-general-count {
	color: #9ca3af;
}
body.dark_mode_theme .nudge-des {
	background: #1e2d1e;
	border-left-color: #529B50;
}
body.dark_mode_theme .nudge-des p {
	color: #d1d5db;
}
body.dark_mode_theme .nudge-loader-text {
	color: #6dbf6a;
}
body.dark_mode_theme .nudge-loader-spinner {
	border-color: #374151;
	border-top-color: #529B50;
}

/* --- Item notice actions --- */
body.dark_mode_theme .item-requested-card {
	background: #1a2e1a;
	border-color: #2d5a2d;
}
body.dark_mode_theme .item-requested-text {
	color: #6dbf6a;
}
body.dark_mode_theme .item-own-notice-card {
	background: rgba(33, 150, 243, 0.08);
	border-left-color: #3b82f6;
}
body.dark_mode_theme .item-own-notice-card span {
	color: #93c5fd;
}

/* --- Discussion section header --- */
body.dark_mode_theme .discussion-title {
	color: #f3f4f6;
}
body.dark_mode_theme .discussion-count {
	color: #9ca3af;
}

/* --- Comment text & nested comment --- */
body.dark_mode_theme .comment-text {
	color: #d1d5db;
}
body.dark_mode_theme .comment-item--nested {
	border-top-color: rgba(255, 255, 255, 0.08);
}
body.dark_mode_theme .comment-delete-btn {
	color: #f87171 !important;
}

/* --- Load more comments --- */
body.dark_mode_theme .load-more-comments a {
	color: #6dbf6a;
}

/* --- Sidebar title & related notice description --- */
body.dark_mode_theme .sidebar-title {
	color: #f3f4f6;
}
body.dark_mode_theme .related-notice-description {
	color: #9ca3af;
}
body.dark_mode_theme .related-notice-content {
	background-color: var(--dark-primary);
}
body.dark_mode_theme .view-all-related {
	color: #6dbf6a;
}
body.dark_mode_theme .view-all-related:hover {
	color: #529B50;
}

/* --- Filter navigation tabs on notice detail --- */
body.dark_mode_theme nav.filter-navigation-notice .filter-tab {
	background-color: var(--dark-secondary);
	color: #9ca3af;
	border-color: #374151;
}
body.dark_mode_theme nav.filter-navigation-notice .filter-tab--active {
	background-color: #1e3320;
	color: #6dbf6a;
	border-color: #529B50;
}

/* --- Safety modal --- */
body.dark_mode_theme .safety-modal-content {
	background: #1e1e2e;
	box-shadow: 0px 4px 50px rgba(0, 0, 0, 0.5);
}
body.dark_mode_theme .safety-modal-header {
	border-bottom-color: #374151;
}
body.dark_mode_theme .safety-modal-title {
	color: #f3f4f6;
}
body.dark_mode_theme .safety-modal-close:hover {
	background: #2a2a3a;
}
body.dark_mode_theme .safety-modal-close svg path,
body.dark_mode_theme .safety-modal-close svg line {
	stroke: #9ca3af;
}
body.dark_mode_theme .safety-modal-subtitle {
	color: #9ca3af;
}
body.dark_mode_theme .safety-modal-list li {
	color: #d1d5db;
}
body.dark_mode_theme .safety-modal-footer {
	border-top-color: #374151;
}

.editnotice-nudges-summary {
    background-color: #F7F7F7;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    color: #555;
    vertical-align: middle;
    border-radius: 3px;
    max-width: 100%;
    line-height: 22px;
    cursor: text;
    padding: 10px 20px !important;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-family: var(--font-medium);
}