.sub-hero-banner.sub3 {
  background: linear-gradient(to bottom, rgba(165, 118, 56, 0), rgba(165, 118, 56, 1)),
    url('/site/basic/img/sub/img-banner-sub3.png') center center / 100% 100% no-repeat;
}

.sub-hero-banner.sub4 {
  background: linear-gradient(to bottom, rgba(165, 118, 56, 0), rgba(165, 118, 56, 1)),
    url('/site/basic/img/sub/img-banner-sub4.png') center center / 100% 100% no-repeat;
}

.magazine-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-2xl) var(--spacing-xs);
}

.magazine-item {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
}

.magazine-image-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 534px;
  border-radius: var(--radius-ms);
  padding: var(--spacing-m);
  transition: var(--basic-transition);
  background: var(--gray-50);
}

.magazine-actions {
  position: absolute;
  bottom: calc(var(--spacing-s) * -1);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: var(--spacing-2xs);
  padding: var(--spacing-2xs);
  background-color: var(--white);
  border-radius: var(--radius-xs);
}

.magazine-image {
  max-width: 240px;
  box-shadow: 10px 10px 40px 0px #00000040;
}

.magazine-info {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2xs);
}

.magazine-vol {
  font-size: var(--body-1);
  font-weight: var(--bold);
  color: var(--gray-400);
  line-height: normal;
  letter-spacing: -0.03em;
}

.magazine-date {
  font-size: var(--H5);
  font-weight: var(--bold);
  color: var(--gray-900);
  line-height: 140%;
  letter-spacing: -0.03em;
}

/* 포토의정 */

.photo-council-grid {
  display: grid;
  margin-top: var(--spacing-lm);
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-2xl) var(--spacing-s);
  position: relative;
}

.photo-council-card {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
  width: 100%;
}

.photo-council-image {
  position: relative;
  border-radius: var(--radius-ms);
  overflow: hidden;
  background: var(--gray-100);
  height: 427.6px;
}

.photo-council-image {
  object-fit: cover;
}

.photo-council-image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, #252536 91.83%);
}

.photo-council-participations {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: var(--spacing-s);
  padding: 0 var(--spacing-m);
  height: 84px;
  z-index: 2;
}

.photo-council-participations::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  backdrop-filter: blur(20px);
  mask-image: linear-gradient(to top, rgb(0, 0, 0) 35%, rgba(0, 0, 0, 0));
  -webkit-mask-image: linear-gradient(to top, rgb(0, 0, 0) 35%, rgba(0, 0, 0, 0));
  z-index: -1;
}

.photo-council-participations .participation-label {
  color: var(--white);
}

.photo-council-participations .group-name,
.photo-council-participations .member-count {
  color: var(--white);
}

.photo-council-info .article-category {
  color: var(--gray-600);
}

/* 의회에 바란다 */
.board-post-view.opinion .board-content {
  padding: var(--spacing-lm) var(--spacing-ml);
  border-radius: var(--radius-l);
  box-shadow: inset 0 0 0 2px var(--gray-100);
}

.board-post-view.opinion .board-content.answer {
  box-shadow: inset 0 0 0 2px var(--earth-200);
}

.board-post-view.opinion .board-content.answer .board-label {
  color: var(--white);
  background-color: var(--opinion-completed);
}

.board-post-view.opinion .board-main-content .board-content-wrapper {
  gap: var(--spacing-lm);
}

.board-post-view.opinion .board-post-header-content {
  width: 100%;
  align-items: flex-start;
  padding: 0 0 var(--spacing-lm) 0;
}

.board-post-view.opinion .board-post-title-section {
  align-items: flex-start;
  gap: var(--spacing-lm);
}

.board-post-view.opinion .board-post-title-info {
  display: flex;
  align-items: center;
  gap: 15px;
}

.board-post-view.opinion .board-post-info-text {
  display: flex;
  align-items: center;
  gap: var(--spacing-2xs);
  font-weight: var(--semi-bold);
  font-size: var(--body-2);
  line-height: normal;
  letter-spacing: 0px;
}

.board-post-view.opinion .board-post-info-text:before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--gray-200);
}

.board-post-view.opinion .board-post-info-text.reviewing:before {
  background-color: var(--opinion-reviewing);
}

.board-post-view.opinion .board-post-info-text.completed:before {
  background-color: var(--opinion-completed);
}

.board-post-view.opinion .board-post-lock-icon {
  width: 24px;
  height: 24px;
}

.board-post-view.opinion .board-post-title {
  padding: 0;
}

.board-post-view.opinion .board-post-title-text {
  text-align: left;
  font-size: var(--H4);
  letter-spacing: -0.5px;
}

.board-assigned {
  display: flex;
  align-items: center;
  margin-top: var(--spacing-m);
}

.board-assigned .board-create-label-wrapper {
  padding-top: 0;
  margin-right: 5px;
  width: 120px;
}

.board-assigned-text {
  font-weight: var(--semi-bold);
  font-size: var(--body-2);
  line-height: 100%;
  letter-spacing: 0px;
  color: var(--gray-400);
}

.board-assigned-department {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 10px;
}

.board-assigned .department-select {
  display: flex;
  align-items: center;
  gap: var(--spacing-s);
}

.department-select .board-create-form{
  display: contents;
}

.board-assigned .department {
  color: var(--gray-600);
}

.board-info-buttons {
  margin-left: auto;
}

.board-info-buttons .command-btn {
  background-color: var(--earth-500);
}

/* 관리자가 아닐 경우 노출 안되는 요소 */
.board-assigned .department-select,
.board-assigned .board-info-buttons {
  display: none;
}

/* 관리자일 경우 노출 */
.board-assigned.admin .department-select {
  display: flex;
}

.board-assigned.admin .board-info-buttons {
  display: block;
}

.board-create-notice {
  margin-bottom: var(--spacing-2xl);
}

.board-create-notice .notice-description {
  padding-bottom: var(--spacing-s);
  margin-bottom: var(--spacing-s);
  border-bottom: 1px solid var(--gray-100);
}

.board-create-notice-checkbox .board-create-checkbox-label {
  background-color: var(--gray-50);
}

/* 방청안내 */
.audience {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, var(--violet-900) 55.45%),
    linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)),
    url('/site/basic/img/sub/img-audience.jpg');
  background-size: 100% 100%;
  background-position: center;
  padding: var(--spacing-5xl) var(--spacing-lm) var(--spacing-lm);
  border-radius: var(--radius-l);
  color: var(--white);
}

.audience-header {
  margin-bottom: var(--spacing-6xl);
}

.audience-subtitle {
  margin-bottom: var(--spacing-xs);
  font-weight: var(--bold);
  font-size: var(--body-1);
  line-height: 140%;
  letter-spacing: -0.5px;
}

.audience-title {
  font-weight: var(--bold);
  font-size: var(--H3);
  line-height: 140%;
  letter-spacing: -0.5px;
}

.audience-cards-title {
  margin-bottom: var(--spacing-s);
  font-weight: var(--bold);
  font-size: var(--H5);
  line-height: 140%;
  letter-spacing: -0.5px;
}

.audience-cards {
  display: flex;
  gap: var(--spacing-xs);
  margin-bottom: var(--spacing-ml);
}

.audience-card {
  display: flex;
  flex-direction: column;
  flex: 1;
  background: var(--violet-600);
  border-radius: var(--radius-ms);
  padding: var(--spacing-m);
  gap: var(--spacing-s);
}

.audience-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
}

.audience-card-icon {
  max-width: 36px;
}

.audience-card-title {
  font-weight: var(--bold);
  font-size: var(--H6);
  line-height: 140%;
  letter-spacing: -0.5px;
}

.audience-card-desc {
  font-weight: var(--medium);
  font-size: var(--body-2);
  color: var(--violet-100);
}

.audience-notice {
  font-weight: var(--medium);
  font-size: var(--body-1);
  text-align: center;
  color: var(--violet-100);
}

.audience-steps .bill-steps {
  display: flex;
  gap: var(--spacing-2xl);
  padding: var(--spacing-ms) 0;
}

.audience-steps .bill-step-container {
  flex: 1;
  flex-direction: column;
  margin-bottom: 0;
}

.audience-steps .audience-step-bar {
  position: absolute;
  top: 87px;
  left: 45px;
  max-width: 1024px;
  background: var(--gray-100);
  width: 100%;
  height: 4px;
}

.audience-steps .bill-step-content {
  gap: var(--spacing-xs);
  padding: var(--spacing-2xs) var(--spacing-xs);
}

.audience-steps .bill-step-container:last-child .bill-step-header {
  align-self: auto;
}

.board-info {
  display: flex;
  align-items: center;
}

.board-info-title {
  display: flex;
  align-items: center;
  gap: var(--spacing-s);
  margin-bottom: var(--spacing-s);
  font-weight: var(--bold);
  font-size: var(--H6);
  line-height: 140%;
  letter-spacing: -0.05em;
}

.board-info-bubble {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: var(--spacing-2xs) var(--spacing-s);
  font-weight: var(--bold);
  font-size: var(--body-1);
  color: var(--stat-point);
  background: var(--violet-900);
  border-radius: var(--radius-s);
}

.board-page-caption {
  padding: var(--spacing-xs) var(--spacing-s);
  border-radius: var(--radius-xs);
  box-shadow: inset 0px 0px 0px 1px var(--gray-100);
  font-weight: var(--semi-bold);
  font-size: var(--body-2);
}

.board-title-info {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
  margin-top: var(--spacing-xs);
  padding-left: var(--spacing-xs);
}

.audience-board .board-table-cell {
  padding: var(--spacing-lm) 0;
}

.audience-board .board-table-cell.title {
  padding-left: var(--spacing-s);
  padding-right: var(--spacing-s);
}

.audience-board .board-date {
  font-weight: var(--bold);
  letter-spacing: 0;
}

.audience-apply .calendar-more {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--spacing-lm);
  margin-top: var(--spacing-lm);
  padding: var(--spacing-ms) var(--spacing-ms);
  background-color: var(--olive);
  color: var(--white);
  font-size: var(--body-2);
  border-radius: var(--radius-s);
}

.audience-apply .calendar-more-left {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
}

.audience-apply .calendar-icon {
  width: 32px;
  height: 32px;
}

.audience-apply .calendar-controls {
  display: flex;
  gap: var(--spacing-ms);
}

.audience-apply .calendar-small-btn {
  display: flex;
  align-items: center;
  color: var(--white);
  font-size: var(--body-1);
  font-weight: var(--bold);
  gap: 7px;
}

.audience-my .board-page-info {
  padding: var(--spacing-m);
  box-shadow: inset 0px 0px 0px 1px var(--gray-100);
  border-radius: var(--radius-ms);
}

.audience-my-status {
  display: flex;
  align-items: center;
  gap: var(--spacing-lm);
  margin-left: auto;
}

.audience-my-status-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
}

.audience-my-status-type {
  display: flex;
  align-items: center;
  gap: var(--spacing-2xs);
  font-weight: var(--semi-bold);
  font-size: var(--body-2);
  line-height: normal;
  letter-spacing: 0px;
}

.audience-my-status-type:before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--gray-200);
}

.audience-my-status-type.completed:before {
  background-color: var(--opinion-completed);
}

.audience-my-status-type.denied:before {
  background-color: var(--opinion-reviewing);
}

.audience-my-status-count {
  font-weight: var(--bold);
  font-size: var(--body-1);
  line-height: normal;
  letter-spacing: -0.05em;
}

.audience-board .board-table-row.completed .board-button-manage .command-btn.success {
  display: none;
}

.audience-board .board-table-row.denied .board-button-manage {
  display: none;
}

.audience-applied.board-post-view.opinion .board-post-header-content {
  padding-bottom: var(--spacing-m);
}

.applicant-agreement {
  padding: var(--spacing-s);
  border-radius: var(--radius-xs);
  width: 100%;
  font-size: var(--body-1);
  color: var(--white);
  background-color: var(--violet-500);
}

.applicant-info-section {
  display: flex;
  gap: var(--spacing-m);
}

.applicant-info-wrapper {
  flex: 1;
}

.applicant-info {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s);
  padding: var(--spacing-xs) var(--spacing-m);
  background: var(--gray-50);
  border-radius: var(--radius-ms);
}

.applicant-info-item {
  display: flex;
  gap: var(--spacing-xs);
  padding: var(--spacing-ms) 0;
}

.applicant-info-item:not(:last-child) {
  border-bottom: 1px solid var(--gray-100);
}

.applicant-info-label-wrapper {
  min-width: 80px;
}

.applicant-info-label {
  display: inline-flex;
  border-radius: var(--radius-xs);
  padding: var(--spacing-2xs) var(--spacing-xs);
  font-style: var(--semi-bold);
  font-size: var(--body-2);
  line-height: normal;
  letter-spacing: 0px;
  color: var(--white);
  background-color: var(--gray-400);
}

.applicant-info-name {
  font-weight: var(--medium);
  font-size: var(--body-1);
  letter-spacing: 0px;
}

.audience-applied ~ .board-buttons {
  margin-top: var(--spacing-lm);
}

/* 정보공개 */
.discl-card {
  padding: var(--spacing-ml);
  box-shadow: 0px 0px 0px 1px var(--gray-100);
  border-radius: var(--radius-ms);
}

.discl-content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lm);
}

.discl-header-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
}

.discl-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-m);
}

.discl-profile {
  display: flex;
  align-items: center;
  gap: var(--spacing-s);
}

.discl-info {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2xs);
}

.discl-name {
  font-weight: var(--bold);
  font-size: var(--H6);
  line-height: 140%;
  letter-spacing: -0.5px;
}

.discl-party {
  font-weight: var(--medium);
  font-size: var(--body-2);
  line-height: 140%;
  letter-spacing: -0.5px;
}

.discl-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
}

.discl-links {
  display: flex;
  gap: var(--spacing-2xs);
  padding: var(--spacing-2xs);
  border: 1px solid var(--gray-100);
  border-radius: var(--radius-s);
  width: 213px;
  height: 48px;
}

.discl-links.sub-member-btns {
  margin-top: 0;
  width: auto;
  padding: var(--spacing-xs);
}

.discl-links .sub-member-btn {
  font-size: var(--body-2);
  width: 94.5px;
  height: 32px;
}

.discl-summary {
  position: relative;
  display: flex;
  align-items: center;
  height: 32px;
  padding: 0 var(--spacing-s);
  background-color: var(--gray-100);
  border-radius: var(--radius-xs);
  overflow: hidden;
  z-index: 0;
}

.discl-summary-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background: linear-gradient(90deg, #454c53 0%, #72787f 100%);
  border-radius: var(--radius-xs);
  z-index: 1;
}

.discl-summary-text {
  font-size: var(--body-2);
  line-height: normal;
  letter-spacing: -0.05em;
  color: var(--white);
  z-index: 2;
}

.discl-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-ml);
}

.discl-committee {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s);
}

.discl-committee .board-label {
  font-weight: var(--bold);
}

.discl-committee-content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.discl-committee-stats {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.discl-committee-ratio {
  font-weight: var(--medium);
  font-size: var(--body-2);
  line-height: normal;
  letter-spacing: 0px;
}

.discl-committee-percent {
  font-weight: var(--bold);
  font-size: var(--body-2);
  line-height: normal;
  letter-spacing: 0px;
  color: var(--gray-400);
}

.discl-committee-progress {
  width: 100%;
  height: 4px;
  background-color: var(--gray-100);
  border-radius: var(--radius-2xs);
  overflow: hidden;
}

.discl-committee-bar {
  height: 100%;
  border-radius: var(--radius-2xs);
}

.discl-committee-details {
  display: flex;
  align-items: center;
  gap: var(--spacing-2xs);
}

.discl-committee-detail {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  padding: 0 var(--spacing-xs);
  font-weight: var(--medium);
  font-size: var(--Caption);
  line-height: normal;
  letter-spacing: 0px;
  border-radius: var(--radius-xs);
  box-shadow: inset 0 0 0 1px var(--gray-100);
}

.research-container {
  margin-bottom: var(--spacing-m);
}

.research-card-item {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
  padding: var(--spacing-l) var(--spacing-m);
  padding-right: 0;
  border-bottom: 1px solid var(--gray-100);
}

.research-card {
  display: flex;
  gap: 108px;
  justify-content: space-between;
}

.research-card-header-top {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.research-card-header {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
  max-width: 200px;
  width:100%;
}

.research-term {
  font-weight: var(--bold);
  font-size: var(--body-1);
  line-height: normal;
  letter-spacing: -0.5px;
  color: var(--civic-gold);
}

.research-name {
  font-weight: var(--bold);
  font-size: var(--H5);
}

.research-details {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lm);
  flex: 1;
}

.research-card-actions {
  display: flex;
  justify-content: flex-end;
}

/* 의회용어 */
.council-word {
  display: flex;
  gap: var(--spacing-2xl);
  padding: var(--spacing-lm) 0;
}

.council-word-title {
  min-width: 120px;
  font-size: var(--H6);
  font-weight: var(--bold);
  line-height: 160%;
  letter-spacing: 0px;
}

.council-word-description {
  font-weight: var(--regular);
  font-size: var(--body-1);
  line-height: 160%;
  letter-spacing: 0px;
}

/* 통합검색 */

.global-search .sub-wrapper {
  display: block;
  margin: 0 auto;
  max-width: calc(1496px + var(--spacing-lm) * 2);
  padding: var(--spacing-5xl) var(--spacing-lm);
}

.global-search .sub-content {
  padding-right: 0;
}

.global-search-result-title {
  font-weight: var(--bold);
  font-size: var(--H4);
  line-height: 140%;
  letter-spacing: -0.5px;
}

.global-search-result-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: var(--spacing-lm);
}

.global-search-result-header {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lm);
}

.global-search-result-search {
  max-width: 565px;
  width: 100%;
}

.global-search-board {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
  margin-top: var(--spacing-4xl);
}

.global-search-board-item {
  padding: var(--spacing-ms) 0;
}

.global-search-board-title {
  font-weight: var(--bold);
  font-size: var(--H4);
  line-height: 160%;
  letter-spacing: -0.5px;
}

.global-search-board .board-list .board-title {
  margin-bottom: var(--spacing-xs);
}

.global-search-board-header .board-label {
  display: flex;
  gap: var(--spacing-2xs);
  color: var(--gray-400);
}

.global-search-board-header .board-label span:last-child {
  color: var(--gray-600);
}

.global-search-board-desc {
  font-weight: var(--regular);
  font-size: var(--body-2);
  line-height: 160%;
  letter-spacing: -0.05em;
}
