body {
  font-family: palatino linotype, serif;
}

#background {
  background: #880000;
  padding: 7px;
  max-width: 890px;
  width: 100%;
}

#background,
#content {
  border-radius: 10px;
}


#title_image {
  width: 300px;
  height: 160px;
  float: right;
}

#title_text {
  font-size: 1.2em;
  color: #FFFFFF;
  max-width: 580px;
  width: 80%;
  position: relative;
  left: 10px;
  top: 15px;
  min-height: 160px;
  margin-bottom: 26px;
}

.title_name {
  font-family: arial black, sans-serif;
  font-size: 1.2em;
  margin-top: 2px;
  margin-bottom: 2px;
}

.title_body {
  margin-top: 0px;
  margin-bottom: 0px;
}

.title_body2 {
  margin-top: 0px;
  margin-bottom: 0px;
  font-size: 1em;
}

.title_name2 {
  text-align: center;
  font-size: 1.2em;
  font-style: oblique;
  margin-top: 15px;
  margin-bottom: 15px;
}

#content {
  position: relative;
  padding-left: 10px;
  padding-right: 8px;
  padding-top: 5px;
  padding-bottom: 3px;
  margin-top: 0px;
  margin-bottom: 0px;
  background: #FFFFFF;
  clear: both;
  border-right: solid #330000 2px;
  border-bottom: solid #330000 2px;
  position: relative;
}

h1 {
  font-family: vernada, sans-serif;
  font-size: 1.2em;
  font-style: normal;
  text-indent: 0px;
}

h2 {
  font-family: vernada, sans-serif;
  font-size: 1em;
  font-style: normal;
}

.committee {
  font-style: oblique;
  list-style-type: none;
}

.committee-kor {
  font-style: normal;
  list-style-type: none;
}

.no_line_margin {
  margin-top: 0px;
  margin-bottom: 0px;
}

.indent1 {
  margin-top: -5px;
  padding-left: 30px;
}

#menu {
  font-size: 1.1em;
}

#menu ul {
  list-style-type: none;
  margin: 0px;
  padding: 0px;
}

#menu li {
  width: 117px;
  height: 25px;
  text-align: center;
  background: #AA0000;
  float: left;
  margin-right: 6px;
  padding: 2px;
  padding-bottom: 0px;
  margin-top: 1px;
  border-bottom: #330000 1px solid;
}

#menu a {
  text-decoration: none;
  color: #FFFFFF;
  display: block;
}

#menu a:hover {
  font-weight: bold;
}

#menu li.current_item {
  font-weight: bolder;
  background: #FFFFFF;
  border-bottom-color: #FFFFFF;
}

#menu li.current_item a {
  color: #000000;
}

#sponsor_banner {
  margin-top: 6px;
}

#sponsor_banner ul {
  list-style-type: none;
  padding: 0px;
  margin: 0px;
}

#sponsor_banner li {
  text-align: center;
  padding: 2px;
  float: left;
  margin-right: 12px;
}

#sponsor_banner img {
  border: 0px;
}

#sponsor_banner a {
  text-decoration: none;
  color: #000000;
}

.headline {
  font-size: 1.4em;
  font-weight: bold;
  text-align: center;
  font-style: oblique;
  font-family: vernada, sans-serif;
}

.alert {
  font-size: 1.1em;
  font-weight: bold;
}

table {

  border-collapse: collapse;
  border-width: 1px;
  border-bottom: solid 1px #000;
}

th {
  border-style: solid;
  border-width: 1px;
}

td {
  border-right: solid 1px #000;
  border-left: solid 1px #000;
}

.solid {
  border-bottom: solid 1px #000;
}

.head_column {
  background: #FFFFFF;
}

.normal_column {
  background: #FFFFFF;
}

#program td {
  padding-left: 10px;
}

caption {
  text-align: left;
  font-weight: bold;
}

.real_program {
  background: #CCCCCC;
}

.translate {
  text-align: right;
  font-weight: bold;
}

.styled-table {
  width: 80%;
  margin: 20px auto;
  border-collapse: collapse;
  font-family: Arial, sans-serif;
  color: #333;
}

.styled-table thead th {
  background-color: #f2f2f2;
  text-align: left;
  padding: 12px;
  font-size: 16px;
  border-bottom: 2px solid #ddd;
}

.styled-table tbody td {
  padding: 10px;
  vertical-align: top;
  border-bottom: 1px solid #ddd;
}

.styled-table tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}


.styled-table input[type="text"],
.styled-table input[type="email"],
.styled-table select {
  width: 100%;
  padding: 8px;
  box-sizing: border-box;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.styled-table th,
.styled-table td {
  border: 1px solid #000;
  padding: 10px 14px;
  text-align: left;
}

.styled-table.two-col th:first-child,
.styled-table.two-col td:first-child {
  width: 30%;
}

.styled-table.two-col th:last-child,
.styled-table.two-col td:last-child {
  width: 70%;
}

.styled-table tbody tr:last-child th,
.styled-table tbody tr:last-child td {
  font-weight: bold;
  font-size: 16px;
  background-color: #e9e9e9;
  border-bottom: 2px solid #ddd;
}

/* Specific Styling for Payment Method Table */
#paymethod thead th {
  border-bottom: 2px solid #ddd;
}

#paymethod tbody td {
  border-bottom: none;
}

.button-container {
  text-align: center;
  /* Centers the content inside the div */
  margin-top: 20px;
  /* Optional: Adds space above the button */
}

.larger-button {
  font-size: 18px;
  /* Increases the text size */
  padding: 12px 24px;
  /* Increases the padding for a larger button */
  border-radius: 5px;
  /* Optional: Adjusts the button's corner rounding */
}

.larger-button:hover {
  /* Optional: Add a hover effect */
  background-color: #99ff00;
  /* Darkens the button on hover */
}

.current_item {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.styled-table-for-check {
  border-collapse: collapse;
  margin: 25px 0;
  font-size: 18px;
  font-family: 'Arial', sans-serif;
  width: 100%;
  border: none;
}

.styled-table-for-check thead tr {
  background-color: #009879;
  color: #ffffff;
  text-align: left;
  font-weight: bold;
}

.styled-table-for-check th,
.styled-table-for-check td {
  padding: 12px 15px;
  border: none;
}

.styled-table-for-check tbody tr {
  border-bottom: none;
}

.styled-table-for-check tbody tr:nth-of-type(even) {
  background-color: #f3f3f3;
}

.styled-table-for-check tbody tr:last-of-type {
  border-bottom: none;
}

.styled-table-for-check tbody tr:hover {
  background-color: #f1f1f1;
}

.styled-button-for-check {
  padding: 12px 24px;
  font-size: 16px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.styled-button-for-check:hover {
  background-color: #0056b3;
  /* Darker blue on hover */
}

#personal_infos tbody tr:last-child th,
#personal_infos tbody tr:last-child td {
  border-bottom: 1px solid #000 !important;
}

#SponsorForm {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

#SponsorForm input,
#SponsorForm select {
  width: 180px;
  /* 가로 폭 고정 */
  padding: 6px;
  box-sizing: border-box;
}

#SponsorForm input[type="email"] {
  width: 220px;
}

#SponsorForm button {
  padding: 6px 12px;
}

.msg-err {
  color: #b00020;
  margin: 8px 0;
}

.msg-ok {
  color: green;
  margin: 8px 0;
}

#sponsorReturn a {
  font-family: vernada, sans-serif;
  font-size: 1em;
  font-style: normal;
}

.action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 12px;
}

.action-bar>form:first-child {
  margin-left: 20px;
}

.delete-bar {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-right: 20px;
}

.delete-bar input[type="password"] {
  padding: 6px 8px;
}

.delete-bar strong {
  font-family: vernada, sans-serif;
  font-size: 13px;
  font-style: normal;
}

.flash {
  padding: 8px 12px;
  border-radius: 6px;
  margin: 10px 0;
}

.flash.ok {
  background: #e6ffed;
  border: 1px solid #2ecc71;
}

.flash.err {
  background: #ffecec;
  border: 1px solid #e74c3c;
}



/* ═══════════════════════════════════════════════════════
   숙박 정보 입력 — 기존 style.css 맨 아래에 그대로 추가
   · 모든 선택자에 stay- 접두어, 기존 규칙과 겹치지 않음
   · 사이트 색상(#880000 계열)에 맞춤
   ═══════════════════════════════════════════════════════ */

#stay_block,
#stay_modal {
  --stay-ink: #1f1f1e;
  --stay-soft: #5f5e5a;
  --stay-mute: #9b9a94;
  --stay-line: #d9d7d0;
  --stay-accent: #880000;
  --stay-accent-dark: #660000;
  --stay-accent-soft: #f6ebeb;
  --stay-danger: #a32d2d;
  --stay-warn: #854f0b;
  --stay-warn-soft: #faeeda;

  font-family: Arial, "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: var(--stay-ink);
  box-sizing: border-box;
}

#stay_block *,
#stay_modal * {
  box-sizing: border-box;
}

/* ── 카드 ─────────────────────────────────────────────── */
.stay-card {
  background: #FFFFFF;
  border: 1px solid var(--stay-line);
  border-radius: 10px;
  padding: 22px 24px;
  margin: 24px 0 8px;
}

.stay-head {
  margin-bottom: 20px;
}

.stay-title {
  font-family: vernada, sans-serif;
  font-size: 1.2em;
  font-weight: bold;
  margin: 0 0 6px;
}

.stay-desc {
  margin: 0;
  font-size: 13.5px;
  color: var(--stay-soft);
}

/* ── 레이아웃 ─────────────────────────────────────────── */
.stay-grid {
  display: grid;
  gap: 14px;
  margin-bottom: 14px;
}

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

.stay-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stay-field {
  margin: 0 0 14px;
}

.stay-grid .stay-field {
  margin: 0;
}

.stay-field-pw input {
  max-width: 260px;
}

.stay-label {
  display: block;
  font-size: 13px;
  color: var(--stay-soft);
  margin-bottom: 6px;
}

.stay-req {
  color: var(--stay-danger);
  font-style: normal;
}

.stay-hint {
  display: block;
  font-size: 12px;
  color: var(--stay-mute);
  margin-top: 5px;
}

/* ── 입력 요소 ────────────────────────────────────────── */
#stay_block input[type="text"],
#stay_block input[type="tel"],
#stay_block input[type="email"],
#stay_block input[type="password"],
#stay_block input[type="date"],
#stay_block select,
#stay_block textarea,
#stay_modal input[type="text"],
#stay_modal input[type="tel"],
#stay_modal input[type="email"],
#stay_modal input[type="password"],
#stay_modal input[type="date"],
#stay_modal select,
#stay_modal textarea {
  width: 100%;
  padding: 8px 10px;
  font-family: Arial, "Malgun Gothic", sans-serif;
  font-size: 14px;
  color: var(--stay-ink);
  background: #FFFFFF;
  border: 1px solid #BFBDB6;
  border-radius: 6px;
}

#stay_block textarea,
#stay_modal textarea {
  resize: vertical;
  height: auto;
  line-height: 1.5;
}

/* input(date 포함)과 select 의 높이를 통일
   — 브라우저마다 select / date 의 기본 내부 높이가 달라 고정값으로 맞춤 */
#stay_block input:not([type="checkbox"]):not([type="radio"]),
#stay_block select,
#stay_modal input:not([type="checkbox"]):not([type="radio"]),
#stay_modal select {
  height: 38px;
  line-height: 20px;
}

/* select 의 기본 화살표를 제거하고 동일한 모양으로 통일 */
#stay_block select,
#stay_modal select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 28px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%235f5e5a' d='M0 0h10L5 6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 10px 6px;
}

/* Safari / iOS 에서 date 입력이 세로로 눌리는 것 방지 */
#stay_block input[type="date"],
#stay_modal input[type="date"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
}

#stay_block input[type="date"]::-webkit-date-and-time-value,
#stay_modal input[type="date"]::-webkit-date-and-time-value {
  text-align: left;
  line-height: 20px;
}

#stay_block input:focus,
#stay_block select:focus,
#stay_block textarea:focus,
#stay_modal input:focus,
#stay_modal select:focus,
#stay_modal textarea:focus {
  outline: none;
  border-color: var(--stay-accent);
  box-shadow: 0 0 0 3px var(--stay-accent-soft);
}

#stay_modal input[readonly] {
  background: #F2F1EC;
  color: var(--stay-soft);
}

#stay_block select[disabled],
#stay_modal input[disabled],
#stay_modal select[disabled],
#stay_modal textarea[disabled] {
  background: #F5F4F0;
  color: var(--stay-mute);
}

/* 기본값 상태는 회색, 사용자가 손대면 진하게 */
.stay-default {
  color: var(--stay-mute);
}

.stay-default:focus {
  color: var(--stay-ink);
}

/* ── 숙박일수 뱃지 ────────────────────────────────────── */
.stay-nights {
  display: inline-block;
  margin: -2px 0 16px;
  padding: 3px 12px;
  font-size: 13px;
  color: var(--stay-accent);
  background: var(--stay-accent-soft);
  border-radius: 999px;
}

/* ── 라디오 · 체크박스 ────────────────────────────────── */
.stay-radio {
  display: inline-block;
  margin-right: 22px;
  font-size: 14px;
}

.stay-radio input,
.stay-check input {
  accent-color: var(--stay-accent);
}

.stay-check {
  display: block;
  font-size: 14px;
  margin: 4px 0 20px;
}

.stay-counter {
  display: block;
  text-align: right;
  font-size: 12px;
  color: var(--stay-mute);
  margin-top: 4px;
}

/* ── 버튼 ─────────────────────────────────────────────── */
.stay-actions {
  display: flex;
  gap: 8px;
}

.stay-btn {
  font-family: Arial, "Malgun Gothic", sans-serif;
  font-size: 14px;
  padding: 9px 20px;
  border: 1px solid #BFBDB6;
  border-radius: 6px;
  background: #FFFFFF;
  color: var(--stay-ink);
  cursor: pointer;
}

.stay-btn:hover {
  background: #F2F1EC;
}

.stay-btn-primary {
  background: var(--stay-accent);
  border-color: var(--stay-accent);
  color: #FFFFFF;
}

.stay-btn-primary:hover {
  background: var(--stay-accent-dark);
}

.stay-btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.stay-btn-danger {
  background: #FFFFFF;
  border-color: var(--stay-danger);
  color: var(--stay-danger);
}

.stay-btn-danger:hover {
  background: #FBECEC;
}

/* ── 안내 문구 ────────────────────────────────────────── */
.stay-alert {
  font-size: 13px;
  padding: 9px 12px;
  border-radius: 6px;
  margin: 0 0 14px;
  background: #FBECEC;
  color: var(--stay-danger);
}

.stay-alert-warn {
  background: var(--stay-warn-soft);
  color: var(--stay-warn);
}

/* ── 팝업 ─────────────────────────────────────────────── */
.stay-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
}

.stay-modal-back {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.45);
}

.stay-modal-panel {
  position: relative;
  width: 92%;
  max-width: 600px;
  max-height: 86vh;
  overflow-y: auto;
  margin: 5vh auto;
  padding: 18px 24px 24px;
  background: #FFFFFF;
  border-radius: 10px;
}

.stay-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 10px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--stay-line);
}

.stay-modal-title {
  font-family: vernada, sans-serif;
  font-size: 1.05em;
  font-weight: bold;
}

.stay-modal-x {
  font-size: 1.5em;
  line-height: 1;
  color: var(--stay-soft);
  cursor: pointer;
  padding: 0 4px;
}

.stay-modal-desc,
.stay-modal-meta {
  font-size: 13px;
  color: var(--stay-soft);
  margin: 0 0 16px;
}

/* ── 모바일 ───────────────────────────────────────────── */
@media (max-width: 640px) {
  .stay-card {
    padding: 16px;
  }

  .stay-grid-2,
  .stay-grid-3 {
    grid-template-columns: 1fr;
  }

  .stay-modal-panel {
    width: 96%;
    padding: 14px 16px 20px;
  }
}