@charset "UTF-8";
/* 입주민 투표 (sub/vote_*.php) */
.vote-page {
  width: 100%;
  height: auto;
  padding: 80px 0 120px;
  margin-top:100px;
}
@media (max-width: 768px) {
  .vote-page {
    padding: 40px 0 80px;
  }
}
.vote-page .container {
  width: 95%;
  max-width: 1000px;
  margin: 0 auto;
}

.vote-page-title {
  font-size: 30px;
  font-weight: 700;
  color: #2D2D2D;
  line-height: 1.4;
  margin-bottom: 12px;
}
@media (max-width: 768px) {
  .vote-page-title {
    font-size: 22px;
  }
}

.vote-page-desc {
  font-size: 15px;
  color: #818181;
  margin-bottom: 32px;
}

/* 진행 상태 표시 */
.vote-state {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  background: #aaa;
}
.vote-state.ing {
  background: #142B77;
}
.vote-state.ready {
  background: #2B7FBB;
}
.vote-state.end {
  background: #818181;
}

/* 목록 */
.vote-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 40px;
}

.vote-list-item {
  border: 1px solid #ddd;
  border-radius: 8px;
  transition: border-color 0.2s;
}
.vote-list-item:hover {
  border-color: #142B77;
}
.vote-list-item > a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 24px;
  text-decoration: none;
}
@media (max-width: 768px) {
  .vote-list-item > a {
    padding: 18px;
  }
}
.vote-list-item .vote-subject {
  font-size: 19px;
  font-weight: 700;
  color: #2D2D2D;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .vote-list-item .vote-subject {
    font-size: 16px;
  }
}
.vote-list-item .vote-period {
  font-size: 14px;
  color: #818181;
}
.vote-list-item .vote-mine {
  font-size: 14px;
  font-weight: 500;
  color: #142B77;
}

.vote-list-empty {
  padding: 60px 0;
  text-align: center;
  font-size: 15px;
  color: #818181;
  border: 1px solid #ddd;
  border-radius: 8px;
}

/* 처리 결과 안내. 투표 직후에만 자바스크립트가 hidden 을 풀어 보여준다 */
.vote-notice[hidden] {
  display: none;
}
.vote-notice {
  padding: 16px 20px;
  margin-bottom: 24px;
  border-radius: 6px;
  background: #fafafa;
  border: 1px solid #ddd;
}
.vote-notice p {
  font-size: 15px;
  color: #464646;
  line-height: 1.6;
}

/* 상세 머리말 */
.vote-head {
  padding-bottom: 24px;
  margin-bottom: 32px;
  border-bottom: 2px solid #3D3D3D;
}
.vote-head .vote-page-title {
  margin: 12px 0 8px;
}
.vote-head .vote-period {
  font-size: 15px;
  color: #818181;
}

.vote-content {
  font-size: 16px;
  color: #464646;
  line-height: 1.8;
  margin-bottom: 32px;
  word-break: break-all;
}
.vote-content img {
  max-width: 100%;
  height: auto;
}

/* 첨부파일 */
.vote-file-list {
  padding: 16px 20px;
  margin-bottom: 40px;
  border-radius: 6px;
  background: #fafafa;
}
.vote-file-list li + li {
  margin-top: 8px;
}
.vote-file-list a {
  font-size: 15px;
  color: #464646;
  text-decoration: underline;
}
.vote-file-list .vote-file-size {
  font-size: 13px;
  color: #818181;
  text-decoration: none;
}

/* 내 호실 현황 */
.vote-room-state {
  margin-bottom: 40px;
}
.vote-room-state h3 {
  font-size: 18px;
  font-weight: 700;
  color: #2D2D2D;
  margin-bottom: 16px;
}

.vote-room-list {
  border-top: 1px solid #ccc;
}
.vote-room-list li {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 4px;
  border-bottom: 1px solid #ddd;
}
.vote-room-list .vote-room-name {
  font-size: 16px;
  font-weight: 500;
  color: #3D3D3D;
}
.vote-room-list .vote-room-result {
  font-size: 14px;
  color: #818181;
}
.vote-room-list li.voted .vote-room-result {
  color: #142B77;
  font-weight: 500;
}

.vote-room-empty {
  padding: 24px;
  text-align: center;
  font-size: 15px;
  color: #818181;
  background: #fafafa;
  border-radius: 6px;
}

/* 투표 폼 */
.vote-form {
  padding: 28px;
  margin-bottom: 40px;
  border: 1px solid #ccc;
  border-radius: 8px;
}
@media (max-width: 768px) {
  .vote-form {
    padding: 20px;
  }
}
.vote-form h3 {
  font-size: 18px;
  font-weight: 700;
  color: #2D2D2D;
  margin-bottom: 16px;
}
.vote-form h3 + ul {
  margin-bottom: 28px;
}

.vote-item-list,
.vote-room-select {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.vote-item-list li,
.vote-room-select li {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}
.vote-item-list input,
.vote-room-select input {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.vote-item-list label,
.vote-room-select label {
  font-size: 16px;
  color: #3D3D3D;
  cursor: pointer;
}

.vote-room-select {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px 24px;
}

.vote-form-warn {
  padding: 12px 16px;
  margin-bottom: 20px;
  border-radius: 6px;
  background: #fafafa;
  font-size: 14px;
  color: #707070;
  line-height: 1.6;
}

.vote-submit {
  width: 100%;
  padding: 16px 0;
  border: 0;
  border-radius: 6px;
  background: #142B77;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
}
.vote-submit:hover {
  background: #525FAA;
}

.vote-closed {
  padding: 24px;
  margin-bottom: 40px;
  text-align: center;
  font-size: 16px;
  color: #707070;
  background: #f0f0f0;
  border-radius: 8px;
}

/* 결과 */
.vote-result {
  margin-bottom: 40px;
}
.vote-result h3 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: baseline;
  font-size: 18px;
  font-weight: 700;
  color: #2D2D2D;
  margin-bottom: 16px;
}
.vote-result .vote-result-total {
  font-size: 14px;
  font-weight: 400;
  color: #818181;
}

.vote-result-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.vote-result-list li {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.vote-result-list .vote-result-name {
  font-size: 16px;
  font-weight: 500;
  color: #3D3D3D;
}
.vote-result-list .vote-result-bar {
  display: block;
  width: 100%;
  height: 14px;
  border-radius: 7px;
  background: #f0f0f0;
  overflow: hidden;
}
.vote-result-list .vote-result-bar i {
  display: block;
  height: 100%;
  border-radius: 7px;
  background: #142B77;
}
.vote-result-list .vote-result-num {
  font-size: 14px;
  color: #818181;
}

/* 하단 버튼 */
.vote-btn-wrap {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.vote-btn-list {
  display: inline-block;
  padding: 14px 48px;
  border: 1px solid #aaa;
  border-radius: 6px;
  font-size: 16px;
  color: #464646;
  text-decoration: none;
}
.vote-btn-list:hover {
  border-color: #464646;
}

/*# sourceMappingURL=vote.css.map */
