/*
  Custom overrides (site-wide)
  - Add new CSS overrides here instead of editing style.css.
  - Keep selectors as specific as needed to avoid side effects.
*/
select {
   -webkit-appearance:none; /* for chrome */
   -moz-appearance:none; /*for firefox*/
   appearance:none;
}

/* Resort detail: keep map section single-column (moved from inline style) */
.p-resort-detail .resort-detail-section__bottom .l-map {
  grid-template-columns: 1fr;
}

/* Flower request: form grid should be 2 columns on PC only */
@media (min-width: 1024px) {
  .p-flower main[data-page-title="경조사"] .c-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.p-flower-detail .section-top .t--heading-2xl{
  display: block;
}
/* Flower request detail: card title should show up to 2 lines */
main.p-flower-detail .c-card__name {
  -webkit-line-clamp: 2;
}

/* Resort detail: all-images popup slider should show navigation buttons */
.p-resort-detail .popup-container.p-all-images .p-all-images__slider .swiper-button-prev,
.p-resort-detail .popup-container.p-all-images .p-all-images__slider .swiper-button-next {
  color: inherit;
  --swiper-navigation-size: 44px;
  opacity: 1;
}

.p-resort-detail .popup-container.p-all-images .p-all-images__slider .swiper-button-prev::after,
.p-resort-detail .popup-container.p-all-images .p-all-images__slider .swiper-button-next::after {
  display: block;
}

.p-resort-detail .popup-container.p-all-images .p-all-images__slider .swiper-button-prev::after {
  content: "prev";
}

.p-resort-detail .popup-container.p-all-images .p-all-images__slider .swiper-button-next::after {
  content: "next";
}

/* Anonymous board list: search controls single-row + compact sizing */
.p-anonymous .l-search-box {
  display: flex;
  align-items: center;
  gap: var(--spacing-8, 0.8rem);
  flex-wrap: nowrap;
}

.p-anonymous .l-search-box .c-form__group {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
}

/* boardList.php uses a small stack wrapper inside the search box */
.p-anonymous .l-search-box .l-stack {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--spacing-8, 0.8rem);
  flex-wrap: nowrap;
  flex: 1 1 auto;
  min-width: 0;
}

.p-anonymous .l-search-box select.c-form__input {
  flex: 0 0 auto;
  width: auto;
  max-width: 10.5rem;
  font-size: 1.3rem;
  padding-top: 0.9rem;
  padding-bottom: 0.9rem;
}

.p-anonymous .l-search-box .c-form__field--search {
  flex: 1 1 0;
  min-width: 0;
}

.p-anonymous .l-search-box .c-form__field--search input {
  font-size: 1.3rem;
  padding-top: 0.9rem;
  padding-bottom: 0.9rem;
}

/* Remove rounding for the search button */
.p-anonymous .l-search-box .btn {
  border-radius: 0;
  flex: 0 0 auto;
  white-space: nowrap;
}

/* Desktop: shorten the keyword input and center the whole search row */
@media (min-width: 600px) {
  .p-anonymous .l-search-box {
    justify-content: center;
  }

  .p-anonymous .l-search-box .c-form__group {
    flex: 0 1 auto;
  }

  .p-anonymous .l-search-box .l-stack {
    justify-content: center;
  }

  .p-anonymous .l-search-box .c-form__field--search {
    flex: 0 0 auto;
    width: clamp(18rem, 30vw, 28rem);
  }
}

/* Mobile: keep select+input on one line, move button below */
@media (max-width: 599px) {
  .p-anonymous .l-search-box {
    flex-wrap: wrap;
    align-items: stretch;
  }

  .p-anonymous .l-search-box .c-form__group {
    flex: 1 1 100%;
  }

  .p-anonymous .l-search-box .l-stack {
    width: 100%;
    flex-wrap: nowrap;
  }

  .p-anonymous .l-search-box select.c-form__input {
    max-width: 9.2rem;
    font-size: 1.2rem;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }

  .p-anonymous .l-search-box .c-form__field--search input {
    font-size: 1.2rem;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }

  .p-anonymous .l-search-box .btn {
    flex: 1 1 100%;
    width: 100%;
  }
}

/* Anonymous board list: search icon spacing (select + input layout) */
.l-anonymous .l-search-box .c-form__field--search input {
  padding-left: 4rem;
}

.l-anonymous .l-search-box .c-form__field--search::before {
  left: 1.4rem;
  width: 1.6rem;
  height: 1.6rem;
}

/* Anonymous board list: pagination + write button vertical alignment */
.l-anonymous .c-board-list-wrapper .c-pagination__item {
  width: 4rem;
  height: 4rem;
}

@media (max-width: 599px) {
  .l-anonymous .c-board-list-wrapper .c-pagination__list {
    flex-wrap: wrap;
    gap: var(--spacing-6, 0.6rem);
  }

  .l-anonymous .c-board-list-wrapper .c-pagination__item {
    width: 3.2rem;
    height: 3.2rem;
  }

  .l-anonymous .c-board-list-wrapper .c-pagination__link {
    font-size: 1.3rem;
  }
}

/* Anonymous board list: attachment icon (title suffix) */
.l-anonymous .c-table .pu-board-attach-ico {
  width: 1.6rem;
  height: 1.6rem;
  margin-left: 0.4rem;
  vertical-align: -0.2rem;
}

/* Find ID/PW: keep textbox border consistent with other pages */
main[data-page-title="아이디/비밀번호 찾기"] .c-form__group.is-error input.c-form__input {
  border-color: var(--Foundation-Grey-grey-100, #c8c8c8);
}

main[data-page-title="아이디/비밀번호 찾기"] .c-form__group.is-error input.c-form__input:focus {
  border-color: var(--Foundation-Key-blue-500, #001a78);
}

/* Notice list: keep attachment icon visible next to truncated title */
.p-notice .c-table-board__title {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  overflow: visible;
  text-overflow: initial;
  -webkit-box-orient: initial;
  -webkit-line-clamp: initial;
}
@media (max-width: 599px) {
  .p-notice .c-table-board__title {
    align-items: flex-start;
  }
}
.p-notice .c-table-board__title-text {
  flex: 1 1 auto;
  min-width: 0;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.p-notice .c-table-board__title .pu-icon-tile__img {
  flex: 0 0 auto;
  width: 1.6rem;
  height: 1.6rem;
  display: inline-block;
  vertical-align: -0.2rem;
}

/* Flower list: board-like list presentation */
.l-flower-list--boardlike .c-table-board-wrapper {
  width: 100%;
}

.l-flower-list--boardlike .c-table-board td.pc-only {
  white-space: nowrap;
}

.l-flower-list--boardlike .c-table-board td:has(.c-table-board__title__inner) {
  white-space: normal;
}

.l-flower-list--boardlike .badge.badge--base {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--Foundation-Grey-grey-700, #2f2f2f);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.2;
}

.l-flower-list--boardlike .c-table-board td .c-table-board__title {
  -webkit-line-clamp: 1;
}

.l-flower-list--boardlike .c-table-board__title {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  overflow: visible;
  text-overflow: initial;
  -webkit-box-orient: initial;
  -webkit-line-clamp: initial;
}

.l-flower-list--boardlike .c-table-board__title-text {
  flex: 1 1 auto;
  min-width: 0;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

@media (max-width: 599px) {
  .l-flower-list--boardlike .c-table-board td:first-child {
    vertical-align: top;
    padding-top: 1rem;
  }

  .l-flower-list--boardlike .c-table-board colgroup col:nth-child(n + 3) {
    display: none;
  }
}

/* Notice detail: add breathing room between attachments and body */
.p-notice-detail .pu-attach + .c-board-detail__text {
  margin-top: 1.5rem;
}

/* MyPage: in modify mode, keep existing values visible (read-only items)
   but hide the value text for fields that render editable inputs (email/emp_no). */
main[data-page-title="마이페이지"] .c-profile-list.is-modify .c-profile-item__value {
  display: block;
}

main[data-page-title="마이페이지"] .c-profile-list.is-modify .c-profile-item__key.ico-email + .c-profile-item__value,
main[data-page-title="마이페이지"] .c-profile-list.is-modify .c-profile-item__key.ico-company + .c-profile-item__value,
main[data-page-title="마이페이지"] .c-profile-list.is-modify .c-profile-item__key.ico-phone + .c-profile-item__value {
  display: none;
}

/* Action buttons: align to the right like write-page .btn-wrapper */
.p-anonymous-detail .l-anonymous-detail .c-board > .l-stack > div:has(> a.btn) {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--spacing-8, 0.8rem);
}

/* Article detail: do not force tall content area (keeps comments closer). */
.l-article-detail .c-board-detail__text {
  min-height: auto;
}

/* Anonymous/notice detail: do not force tall content area (keeps comments closer). */
.l-anonymous-detail .c-board-detail__text {
  min-height: auto;
}

/* Comment form: add breathing room above submit button */
.p-anonymous-detail .c-comment-form > .btn,
.p-notice-detail .c-comment-form > .btn,
.p-article-detail .c-comment-form > .btn {
  margin-top: var(--spacing-8, 0.8rem);
}

/* RHYMIX detail: indent replies (parent comments) */
.p-anonymous-detail main#main[data-back-url*="board%2FrhymixList"] .c-comment-item.pu-comment-item--reply {
  margin-left: 1.8rem;
}

.p-anonymous-detail .l-anonymous-detail .c-board > .l-stack > div:has(> a.btn) .btn {
  max-width: 10.5rem;
}

@media (max-width: 599px) {
  .p-anonymous-detail .l-anonymous-detail .c-board > .l-stack > div:has(> a.btn) .btn {
    max-width: initial;
    flex: 1 1 45%;
  }
}

/* Notice detail: attachment list (modern list style) */
.c-board-detail .pu-attach {
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  border-radius: 0.6rem;
  overflow: hidden;
  background: var(--Foundation-Grey-grey-0, #fff);
}

.c-board-detail .pu-attach-head {
  padding: var(--spacing-12, 1.2rem) var(--spacing-16, 1.6rem);
  background-color: var(--Foundation-Grey-grey-50, #ededed);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.2;
}

.c-board-detail .pu-attach-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.c-board-detail .pu-attach-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-12, 1.2rem);
  padding: var(--spacing-12, 1.2rem) var(--spacing-16, 1.6rem);
  border-bottom: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
}

.c-board-detail .pu-attach-item:last-child {
  border-bottom: 0;
}

.c-board-detail .pu-attach-left {
  display: flex;
  align-items: center;
  gap: var(--spacing-10, 1rem);
  min-width: 0;
}

.c-board-detail .pu-attach-file-ico {
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
}

.c-board-detail .pu-attach-name {
  display: inline-block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.c-board-detail .pu-attach-right {
  flex: 0 0 auto;
}

.c-board-detail .pu-attach-download {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.6rem 1rem;
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  border-radius: var(--border-radius-16, 1.6rem);
  text-decoration: none;
  background: var(--Foundation-Grey-grey-0, #fff);
}

/* Header: auth links (replace search/person icons) */
.header__inner--main .header__util {
  gap: var(--spacing-16, 1.6rem);
}

.header__inner--main .pu-header-auth {
  display: flex;
  align-items: center;
  gap: 0;
}

.header__inner--main .pu-header-auth__link + .pu-header-auth__link {
  margin-left: var(--spacing-10, 1rem);
  padding-left: var(--spacing-10, 1rem);
  position: relative;
}

.header__inner--main .pu-header-auth__link + .pu-header-auth__link::before {
  content: "|";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.45;
}

.header__inner--main .pu-header-auth__link {
  display: inline-flex;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  color: inherit;
  text-decoration: none;
}

.header__inner--main .pu-header-auth__link:hover {
  text-decoration: underline;
}

@media (max-width: 1023px) {
  .header__inner--main .pu-header-auth {
    display: none;
  }
}

/* Join: phone number separators vertical centering */
.p-join .pu-phone-field {
  display: flex;
  align-items: center;
}

/* Join complete: reduce completion message size */
.p-join-complete .l-join-complete__text {
  font-size: 1.8rem;
}

/* Join complete: widen container */
.p-join-complete .l-join-complete {
  max-width: 50rem;
}

@media (max-width: 599px) {
  .p-join-complete .l-join-complete__text {
    font-size: 1.6rem;
  }
}

.l-mypage .c-resort-bid-card__meta .c-resort-bid-card__status.pu-status-text {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  display: inline;
  font-size: 1.4rem;
  font-weight: 700;
}

/* My page: 문화행사 카드 hover */
.l-mypage .c-resort-bid-card.pu-event-card {
  transition:
    border-color 0.15s ease,
    background-color 0.15s ease;
}

.l-mypage .c-resort-bid-card.pu-event-card:hover,
.l-mypage .c-resort-bid-card.pu-event-card:focus-within {
  border-color: var(--Foundation-Key-blue-500, #001a78);
  background-color: var(--Foundation-Grey-grey-50, #ededed);
}

/* Fallback: scope hover to 문화행사 탭 only (tab-panel-3) */
.l-mypage .tab-panel-3 .c-resort-bid-card:hover,
.l-mypage .tab-panel-3 .c-resort-bid-card:focus-within {
  border-color: var(--Foundation-Key-blue-500, #001a78);
  background-color: var(--Foundation-Grey-grey-50, #ededed);
}

/* Event main: custom landing layout */
.p-event-main {
  min-height: 100vh;
  /* Keep page background white; add contrast via card/button accents */
  background: var(--Foundation-Grey-grey-0, #ffffff);
}

/* Board list (board/boardList): keep container size consistent with other pages.
   NOTE: .l-container is also used inside the shared header, so avoid stretching it to full width. */
.p-board-list .l-container {
  max-width: 102.4rem;
  padding: 0 var(--spacing-40, 4rem);
}

@media (max-width: 599px) {
  .p-board-list .l-container {
    max-width: 100%;
    padding: 0 2rem;
  }
}

/* Event main uses the same "main header" behavior as resort/main */
.p-event-main .header__inner--main {
  display: flex;
}

/* Prevent the sub header from showing on event main */
.p-event-main .header__inner--sub {
  display: none !important;
}

/* The base layout adds a light background when .contents has .l-contents-inner.
   For event main we want the resort-style background instead. */
.p-event-main .contents:has(.l-contents-inner) {
  background-color: transparent;
}

.p-event-main .contents {
  display: block;
  width: 100%;
  max-width: 89.6rem;
  margin: 0 auto;
  padding: 5.2rem 2rem 7.2rem;
  box-sizing: border-box;
}

@media (max-width: 599px) {
  .p-event-main .contents {
    padding: 3.2rem 1.6rem 4.8rem;
  }
}

.p-event-main .p-text-group {
  width: 100%;
  display: grid;
  justify-items: center;
  gap: var(--spacing-48, 4.8rem);
  text-align: center;
}

.p-event-main .p-text-group__title {
  width: 100%;
}

.p-event-main .p-text-group__text {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-28, 2.8rem);
  color: var(--Foundation-Grey-grey-0, #ffffff);
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.004em;
}

/* =========================
   Event culture apply
   - Layout only (HTML+CSS)
   ========================= */

.p-event-culture-apply .contents {
  padding: var(--spacing-40, 4rem) var(--spacing-20, 2rem);
}

.p-event-culture-apply .pu-culture-apply {
  width: 100%;
  max-width: 118rem;
  margin: 0 auto;
  font-size: 1.7rem;
}

.p-event-culture-apply .pu-culture-hero {
  display: grid;
  grid-template-columns: 30rem 1fr;
  gap: var(--spacing-32, 3.2rem);
  padding: var(--spacing-24, 2.4rem);
  background: var(--Foundation-Grey-grey-0, #fff);
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  border-radius: 0.6rem;
}

.p-event-culture-apply .pu-culture-hero__poster {
  width: 100%;
  aspect-ratio: 3 / 4;
  border-radius: 0.6rem;
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  background: var(--Foundation-Grey-grey-50, #ededed);
  overflow: hidden;
}

.p-event-culture-apply .pu-culture-hero__poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-event-culture-apply .pu-culture-hero__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--spacing-16, 1.6rem);
}

.p-event-culture-apply .pu-culture-hero__title {
  margin: 0;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.p-event-culture-apply .pu-culture-hero__meta {
  margin-top: var(--spacing-12, 1.2rem);
  border-top: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
}

.p-event-culture-apply .pu-culture-hero__row {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: var(--spacing-12, 1.2rem);
  padding: var(--spacing-12, 1.2rem) 0;
  border-bottom: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
}

.p-event-culture-apply .pu-culture-hero__label {
  color: var(--Foundation-Grey-grey-600, #666);
  font-weight: 600;
  font-size: 1.4rem;
}

.p-event-culture-apply .pu-culture-hero__value {
  color: inherit;
  font-size: 1.4rem;
}

.p-event-culture-apply .pu-culture-hero__value--location {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  flex-wrap: wrap;
}

.p-event-culture-apply .pu-map-badge-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  cursor: pointer;
  font: inherit;
}

.p-event-culture-apply .pu-map-badge-btn__icon {
  width: 1.4rem;
  height: 1.4rem;
  display: block;
}

.p-event-culture-apply .pu-culture-panels {
  margin-top: var(--spacing-24, 1.6rem);
  background: var(--Foundation-Grey-grey-0, #fff);
  border-radius: 0.6rem;
}


.p-event-culture-apply .pu-culture-panels__grid {
  display: grid;
  grid-template-columns: 1.1fr 1.2fr 1fr;
  gap: var(--spacing-20, 2rem);
}

/* STEP2(회차 선택) 영역: 가로/내부 컴팩트 */
.p-event-culture-apply .pu-panel--step2 {
  padding: var(--spacing-16, 1.6rem);
}

.p-event-culture-apply .pu-panel--step2 .pu-rounds {
  gap: 0.8rem;
}

.p-event-culture-apply .pu-panel--step2 .pu-round {
  padding: 1.1rem;
  border-radius: 1rem;
}

.p-event-culture-apply .pu-panel--step2 .pu-round__time {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
}

.p-event-culture-apply .pu-panel--step2 .pu-round__desc {
  margin-top: 0.4rem;
  font-size: 1.3rem;
}

.p-event-culture-apply .pu-panel--step2 .pu-seats {
  gap: 0.8rem;
}

.p-event-culture-apply .pu-panel--step2 .pu-seats.pu-seats--step2 {
  margin-top: var(--spacing-12, 1.2rem);
  padding-top: var(--spacing-12, 1.2rem);
}

.p-event-culture-apply .pu-panel--step2 .pu-seats__title {
  font-size: 1.6rem;
  margin-bottom: 0.4rem;
}

/* Survey detail: modern card layout + cleaner alignment */
.p-survey-detail .contents {

}

.p-survey-detail .l-survey-detail .l-container {
  max-width: 63rem;
  padding: 0;
}

.p-survey-detail .pu-survey-hero {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
  padding: 2.4rem;
  border-radius: 0.8rem;
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  background: radial-gradient(circle at 100% 0%, rgba(0, 26, 120, 0.08) 0, rgba(0, 26, 120, 0) 52%), var(--Foundation-Grey-grey-0, #fff);
}

.p-survey-detail .pu-survey-hero__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.2rem;
}

.p-survey-detail .pu-survey-hero__title {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.p-survey-detail .pu-survey-hero__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.4rem 1.2rem;
  border-radius: 99px;
  border: 1px solid var(--Foundation-Grey-grey-100, #c8c8c8);
  background: var(--Foundation-Grey-grey-50, #ededed);
  color: var(--Foundation-Grey-grey-700, #4f4f4f);
  font-size: 1.3rem;
  font-weight: 600;
  white-space: nowrap;
}

.p-survey-detail .pu-survey-hero__badge.is-open {
  border-color: var(--Foundation-Key-blue-500, #001a78);
  background: var(--Foundation-Key-blue-50, #e6e8f2);
  color: var(--Foundation-Key-blue-500, #001a78);
}

.p-survey-detail .pu-survey-hero__badge.is-done {
  border-color: #107255;
  background: rgba(16, 114, 85, 0.12);
  color: #0d5e47;
}

.p-survey-detail .pu-survey-hero__meta {
  list-style: none;
  margin: 0;
  padding: 1.6rem 0 0;
  border-top: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem 2rem;
}

.p-survey-detail .pu-survey-hero__label {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--Foundation-Grey-grey-600, #666);
  font-size: 1.3rem;
}

.p-survey-detail .pu-survey-hero__value {
  display: block;
  color: var(--Foundation-Grey-grey-900, #212121);
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1.35;
}

.p-survey-detail .pu-survey-panel {
  padding: 2.8rem 2.4rem;
  border-radius: 0.8rem;
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  background: var(--Foundation-Grey-grey-0, #fff);
  box-shadow: 0 0.8rem 2.4rem rgba(33, 33, 33, 0.05);
}

.p-survey-detail .c-survey-progress {
  margin-bottom: 2.8rem;
}

.p-survey-detail .c-survey-question {
  gap: 1.4rem;
}

.p-survey-detail .c-survey-question .t--heading-2xl {
  font-size: 2.8rem;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.p-survey-detail .c-survey-answer .c-textarea {
  min-height: 18rem;
  border-radius: 0.6rem;
  border-color: var(--Foundation-Grey-grey-100, #c8c8c8);
  padding: 1.6rem;
}

.p-survey-detail .c-survey-option__content {
  border-radius: 0.6rem;
  padding: 1.8rem 4.2rem 1.8rem 1.8rem;
  font-size: 1.6rem;
}

.p-survey-detail .c-survey-option__content::after {
  right: 1.4rem;
}

.p-survey-detail .c-survey-footer {
  margin-top: 0.6rem;
  justify-content: flex-end;
}

.p-survey-detail .c-survey-footer > .btn {
  min-width: 16rem;
}

.p-survey-detail .pu-survey-empty {
  padding: 5.2rem 2.4rem 3.2rem;
  text-align: center;
  border-radius: 0.6rem;
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  background: #fafbff;
}

.p-survey-detail .pu-survey-empty .btn {
  margin-top: 2.2rem;
}

@media (max-width: 767px) {
  .p-survey-detail .contents {
    padding: 2.4rem 1.6rem 4.2rem;
  }

  .p-survey-detail .pu-survey-hero,
  .p-survey-detail .pu-survey-panel {
    padding: 2rem 1.6rem;
    border-radius: 0.6rem;
  }

  .p-survey-detail .pu-survey-hero__head {
    flex-direction: column;
    align-items: flex-start;
  }

  .p-survey-detail .pu-survey-hero__title {
    font-size: 2rem;
  }

  .p-survey-detail .pu-survey-hero__meta {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .p-survey-detail .c-survey-question .t--heading-2xl {
    font-size: 2.2rem;
  }

  .p-survey-detail .c-survey-option__content {
    font-size: 1.5rem;
    padding: 1.5rem 3.8rem 1.5rem 1.4rem;
  }

  .p-survey-detail .c-survey-footer {
    gap: 1rem;
  }

  .p-survey-detail .c-survey-footer > .btn {
    min-width: 0;
    flex: 1 1 calc(50% - 0.5rem);
  }
}

/* Survey list: align visual tone with survey detail */
/* .p-survey .contents {
  max-width: 110rem;
  margin: 0 auto;
  padding: 4rem 2rem 6rem;
}

.p-survey .survey-list-wrapper {
  gap: 2.8rem;
}

.p-survey .c-tab--capsule .c-tab__list {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.p-survey .c-tab--capsule .c-tab__item button {
  border-radius: 99px;
  min-height: 4.2rem;
  padding: 0 1.8rem;
  border: 1px solid var(--Foundation-Grey-grey-100, #c8c8c8);
  background: var(--Foundation-Grey-grey-0, #fff);
  font-weight: 600;
}

.p-survey .c-tab--capsule .c-tab__item.is-active button {
  border-color: var(--Foundation-Key-blue-500, #001a78);
  background: var(--Foundation-Key-blue-500, #001a78);
  color: var(--Foundation-Grey-grey-0, #fff);
}

.p-survey .l-grid.column2 {
  gap: 2.4rem;
} */

/* Survey list card alignment: keep consistent height + CTA baseline */
/* .p-survey .l-grid.column2 > li {
  display: flex;
  min-width: 0;
}

.p-survey .l-grid.column2 > li > .c-card-history {
  flex: 1 1 auto;
}

.p-survey .c-card-history__body {
  display: flex;
  flex-direction: column;
}

.p-survey .c-card-history__body > .l-stack {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.p-survey .c-card-history__body > .l-stack > .btn {
  margin-top: auto;
  margin-bottom: 0.6rem;
}

.p-survey .c-card-history {
  height: 100%;
  border-radius: 1.4rem;
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  background: linear-gradient(180deg, rgba(250, 251, 255, 0.85) 0%, rgba(255, 255, 255, 1) 45%), var(--Foundation-Grey-grey-0, #fff);
  box-shadow: 0 0.8rem 2rem rgba(33, 33, 33, 0.04);
}

.p-survey .c-card-history__body {
  height: 100%;
  padding: 1.2rem;
}

.p-survey .c-card-history__title {
  font-size: 1.75rem;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.p-survey .c-card-history__desc {
  color: var(--Foundation-Grey-grey-600, #666);
  line-height: 1.45;
  font-size: 1.35rem;
}

.p-survey .badge.badge--base {
  border-radius: 99px;
  padding: 0.4rem 0.9rem;
  font-size: 1.05rem;
  font-weight: 700;
}

.p-survey .c-card-history__meta {
  margin: 0;
  border-radius: 1rem;
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  background: var(--Foundation-Grey-grey-0, #fff);
  padding: 0.85rem 1rem;
  gap: 0.6rem;
}

.p-survey .c-card-history__meta li {
  font-size: 1.35rem;
  color: var(--Foundation-Grey-grey-700, #4f4f4f);
}

.p-survey .c-card-history .btn {
  min-height: 3.6rem;
  border-radius: 999px;
  font-weight: 700;
} */

/* Tighten vertical rhythm inside survey cards */
/* .p-survey .c-card-history__body .u-gap-16 {
  gap: 1.2rem !important;
}

.p-survey .c-card-history__body .u-gap-8 {
  gap: 0.6rem !important;
}

@media (hover: hover) {
  .p-survey .c-card-history {
    transition:
      transform 0.16s ease,
      box-shadow 0.16s ease,
      border-color 0.16s ease;
  }

  .p-survey .c-card-history:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 26, 120, 0.3);
    box-shadow: 0 1.2rem 2.8rem rgba(33, 33, 33, 0.08);
  }
}

@media (max-width: 767px) {
  .p-survey .contents {
    padding: 2.4rem 1.6rem 4.2rem;
  }

  .p-survey .survey-list-wrapper {
    gap: 2rem;
  }

  .p-survey .c-card-history__body {
    padding: 1.6rem;
  }

  .p-survey .c-card-history__title {
    font-size: 1.9rem;
  }

  .p-survey .c-card-history .btn {
    min-height: 4rem;
  }
} */

/* Survey result: match survey/detail modern tone */
/* .p-survey-result .contents {
  max-width: 110rem;
  margin: 0 auto;
  padding: 4rem 2rem 6rem;
}

.p-survey-result .l-survey-result .l-container {
  max-width: 100%;
}

.p-survey-result .l-contents-inner {
  border-radius: 1.6rem;
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  background: var(--Foundation-Grey-grey-0, #fff);
  padding: 2.6rem 2.4rem;
  box-shadow: 0 0.8rem 2.4rem rgba(33, 33, 33, 0.04);
}

.p-survey-result .section-top {
  margin-bottom: 1.2rem;
}

.p-survey-result .section-top .t--heading-2xl {
  font-size: 2.6rem;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.p-survey-result .c-card-history__meta {
  margin: 0 0 2.8rem;
  border-radius: 0.6rem;
  background: linear-gradient(180deg, rgba(230, 232, 242, 0.4) 0%, rgba(255, 255, 255, 0.95) 100%), var(--Foundation-Grey-grey-0, #fff);
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
}

.p-survey-result .pu-survey-result-list {
  gap: 1.4rem;
}

.p-survey-result .c-card-result {
  border-radius: 0.6rem;
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  background: #fff;
  padding: 1.8rem;
}

.p-survey-result .c-card-result__question {
  display: block;
  margin-bottom: 1.2rem;
  font-size: 1.9rem;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.p-survey-result .c-card-result__answer {
  border-top: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  padding-top: 1.2rem;
}

.p-survey-result .c-card-result__list {
  display: grid;
  gap: 0.8rem;
}

.p-survey-result .c-card-result__list li {
  margin: 0;
}

.p-survey-result .pu-survey-result-options li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.2rem;
  border-radius: 0.8rem;
  background: #f8f9fd;
}

.p-survey-result .pu-survey-result-options__label {
  font-size: 1.5rem;
  color: var(--Foundation-Grey-grey-900, #212121);
}

.p-survey-result .pu-survey-result-options__stat {
  font-size: 1.35rem;
  color: var(--Foundation-Key-blue-500, #001a78);
  font-weight: 700;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .p-survey-result .contents {
    padding: 2.4rem 1.6rem 4.2rem;
  }

  .p-survey-result .l-contents-inner {
    padding: 2rem 1.4rem;
    border-radius: 0.6rem;
  }

  .p-survey-result .section-top .t--heading-2xl {
    font-size: 2.1rem;
  }

  .p-survey-result .c-card-history__meta {
    margin-bottom: 2rem;
  }

  .p-survey-result .c-card-result {
    padding: 1.4rem;
  }

  .p-survey-result .c-card-result__question {
    font-size: 1.7rem;
  }

  .p-survey-result .pu-survey-result-options li {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
  }
} */

.p-event-culture-apply .pu-panel--step2 .pu-seat__name {
  font-size: 1.5rem;
  font-weight: 400;
}

.p-event-culture-apply .pu-panel--step2 .pu-seat__qty {
  font-size: 1.6rem;
  font-weight: 400;
}

.p-event-culture-apply .pu-panel {
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  border-radius: 0.6rem;
  padding: var(--spacing-20, 2rem);
  min-height: 22rem;
}

.p-event-culture-apply .pu-panel__step {
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  margin-bottom: var(--spacing-28, 2.8rem);
}

.p-event-culture-apply .pu-panel__step strong {
  color: var(--Foundation-Key-blue-500, #001a78);
  font-weight: 700;
  letter-spacing: 0;
}

.p-event-culture-apply .pu-panel__step span {
  font-weight: 700;
  font-size: 1.6rem;
}

.p-event-culture-apply .pu-calendar__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-16, 1.6rem);
  margin-bottom: var(--spacing-12, 1.2rem);
}

.p-event-culture-apply .pu-calendar__nav {
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background: url(../images/btn_slider.svg) no-repeat 50%/1.2rem, rgba(33, 33, 33, 0.3);
}

.p-event-culture-apply .pu-calendar__nav.pu-calendar__nav--next{
  transform: rotate(180deg);
}

.p-event-culture-apply .pu-calendar__month {
  font-weight: 700;
  font-size: 1.8rem;
}

.p-event-culture-apply .pu-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.6rem;
  justify-items: center;
}

.p-event-culture-apply .pu-calendar__dow {
  text-align: center;
  font-size: 1.2rem;
  color: var(--Foundation-Grey-grey-600, #666);
  padding: 0.4rem 0;
}

.p-event-culture-apply .pu-calendar__day {
  height: 3.4rem;
  width: 3.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  font-weight: 700;
  font-size: 1.4rem;
  text-decoration: none;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}

.p-event-culture-apply .pu-calendar__day.is-available {
  cursor: pointer;
  border-color: var(--Foundation-Key-blue-500, #001a78);
  background: var(--Foundation-Key-blue-500, #001a78);
  color: var(--Foundation-Grey-grey-0, #fff);
}

.p-event-culture-apply .pu-calendar__day.is-available:visited {
  color: var(--Foundation-Grey-grey-0, #fff);
}

.p-event-culture-apply .pu-calendar__day.is-available:hover {
  filter: brightness(0.95);
}

.p-event-culture-apply .pu-calendar__day[aria-disabled="true"] {
  opacity: 0.35;
}

.p-event-culture-apply .pu-calendar__day.is-selected {
  background: var(--Foundation-Red-red-500, #f02400);
  color: var(--Foundation-Grey-grey-0, #fff);
  border-color: var(--Foundation-Red-red-500, #f02400);
  filter: none;
  font-weight: 900;
}

.p-event-culture-apply .pu-calendar__day.is-selected:visited {
  color: var(--Foundation-Grey-grey-0, #fff);
}

.p-event-culture-apply .pu-calendar__day.is-selected:hover {
  filter: none;
}

.p-event-culture-apply .pu-rounds {
  display: grid;
  gap: var(--spacing-12, 1.2rem);
}

.p-event-culture-apply .pu-round {
  display: block;
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  border-radius: 0.6rem;
  padding: var(--spacing-14, 1.4rem);
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  background: var(--Foundation-Grey-grey-0, #fff);
  -webkit-tap-highlight-color: transparent;
}

.p-event-culture-apply .pu-round:visited {
  color: inherit;
}

.p-event-culture-apply .pu-round:focus {
  outline: none;
}

.p-event-culture-apply .pu-round:hover,
.p-event-culture-apply .pu-round:focus-visible {
  border-color: var(--Foundation-Key-blue-500, #001a78);
}

.p-event-culture-apply .pu-round.is-selected {
  border-color: var(--Foundation-Key-blue-500, #001a78);
}

.p-event-culture-apply .pu-round__time {
  font-size: 1.9rem;
}

.p-event-culture-apply .pu-round__desc {
  margin-top: 0.6rem;
  font-size: 1.5rem;
  color: var(--Foundation-Grey-grey-600, #666);
  line-height: 1.35;
}

.p-event-culture-apply .pu-seats {
  display: grid;
  gap: 1.2rem;
}

.p-event-culture-apply .pu-seats.pu-seats--step2 {
  margin-top: var(--spacing-16, 1.6rem);
  padding-top: var(--spacing-16, 1.6rem);
  border-top: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
}

.p-event-culture-apply .pu-apply-form {
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  border-radius: 0.6rem;
  padding: var(--spacing-14, 1.4rem);
  background: var(--Foundation-Grey-grey-0, #fff);
}

.p-event-culture-apply .pu-apply-form__login {
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--Foundation-Grey-grey-600, #666);
  margin-bottom: 0.6rem;
}

.p-event-culture-apply .pu-apply-form__title {
  font-weight: 900;
  font-size: 2rem;
  margin-bottom: var(--spacing-14, 1.4rem);
}

.p-event-culture-apply .pu-apply-form__field {
  margin-bottom: var(--spacing-10, 1rem);
}

.p-event-culture-apply .pu-apply-form__label {
  display: block;
  font-weight: 700;
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
}

.p-event-culture-apply .pu-req {
  color: var(--Foundation-Key-blue-500, #001a78);
  font-weight: 900;
}

.p-event-culture-apply .pu-apply-form__input,
.p-event-culture-apply .pu-apply-form__select {
  width: 100%;
  height: 3.6rem;
  border-radius: 0.4rem;
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  padding: 0 1rem;
  box-sizing: border-box;
  font-size: 1.4rem;
  background: var(--Foundation-Grey-grey-0, #fff);
}

/* 텍스트 입력칸(이름/연락처/이메일/희망포인트 등) 가로폭 축소 */
.p-event-culture-apply .pu-apply-form__input {
  display: block;
}

.p-event-culture-apply .pu-apply-form__select {
  padding-right: 2.8rem;
  background: url(../images/ico_arrow_down.svg) no-repeat 96% 50% / 1rem;
}

.p-event-culture-apply .pu-apply-form__select::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: var(--spacing-12, 1.2rem);
    width: 1.6rem;
    height: 1.6rem;
    background: url(../images/ico_arrow_down.svg) no-repeat 50% / contain;
    transform: rotate(0) translateY(-50%);
}

/* 인원(select)만 가로폭 조정 */
.p-event-culture-apply #pu_apply_qty.pu-apply-form__select {
  display: block;
}

.p-event-culture-apply .pu-apply-form__submit {
  width: 100%;
  margin-top: var(--spacing-12, 1.2rem);
  height: 3.8rem;
  border-radius: 0.6rem;
  border: 0;
  background: var(--Foundation-Key-blue-500, #001a78);
  color: var(--Foundation-Grey-grey-0, #fff);
  font-size: 1.4rem;
}

.p-event-culture-apply .pu-seats__title {
  font-weight: 700;
  margin-bottom: 0.6rem;
  font-size: 1.9rem;
}

.p-event-culture-apply .pu-seat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
}

.p-event-culture-apply .pu-seat__name {
  font-weight: 700;
  font-size: 1.7rem;
}

.p-event-culture-apply .pu-seat__qty {
  font-weight: 900;
  font-size: 1.8rem;
}

/* Culture apply: detail/place tabs */
.p-event-culture-apply .pu-info-tabs__head {
  display: flex;
  gap: 0.8rem;
  border-bottom: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  padding-bottom: var(--spacing-12, 1.2rem);
  margin-bottom: var(--spacing-16, 1.6rem);
}

.p-event-culture-apply .pu-info-tabs__tab {
  appearance: none;
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  background: var(--Foundation-Grey-grey-0, #fff);
  color: inherit;
  border-radius: 0.4rem;
  padding: 0.8rem 1.4rem;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
}

.p-event-culture-apply .pu-info-tabs__tab.is-active {
  border-color: var(--Foundation-Key-blue-500, #001a78);
  color: var(--Foundation-Key-blue-500, #001a78);
}

.p-event-culture-apply .pu-info-tabs__panel {
  display: none;
}

.p-event-culture-apply .pu-info-tabs__panel.is-active {
  display: block;
}

.p-event-culture-apply .pu-info-rows {
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  border-radius: 0.6rem;
  overflow: hidden;
}

.p-event-culture-apply .pu-info-row {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: var(--spacing-12, 1.2rem);
  padding: var(--spacing-12, 1.2rem) var(--spacing-16, 1.6rem);
  border-bottom: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
}

.p-event-culture-apply .pu-info-row:last-child {
  border-bottom: 0;
}

.p-event-culture-apply .pu-info-row__label {
  color: var(--Foundation-Grey-grey-600, #666);
  font-size: 1.4rem;
  font-weight: 700;
}

.p-event-culture-apply .pu-info-row__value {
  font-size: 1.4rem;
}

.p-event-culture-apply .pu-info-section {
  margin-top: var(--spacing-16, 1.6rem);
}

.p-event-culture-apply .pu-info-section__title {
  font-weight: 700;
  font-size: 1.6rem;
  margin-bottom: 0.8rem;
}

.p-event-culture-apply .pu-info-section__text {
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  border-radius: 0.6rem;
  padding: var(--spacing-14, 1.4rem) var(--spacing-16, 1.6rem);
  background: var(--Foundation-Grey-grey-0, #fff);
  font-size: 1.4rem;
  line-height: 1.45;
}

.p-event-culture-apply .pu-info-files {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.8rem;
}

.p-event-culture-apply .pu-info-files__link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.9rem 1.2rem;
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  border-radius: 0.6rem;
  text-decoration: none;
  color: inherit;
}

.p-event-culture-apply .pu-info-files__link:hover {
  border-color: var(--Foundation-Key-blue-500, #001a78);
}

.p-event-culture-apply .pu-place-map {
  margin-top: var(--spacing-16, 1.6rem);
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  border-radius: 0.6rem;
  overflow: hidden;
  background: var(--Foundation-Grey-grey-0, #fff);
  height: 32rem;
}

.p-event-culture-apply .pu-place-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

@media (max-width: 1023px) {
  .p-event-culture-apply .pu-culture-hero {
    grid-template-columns: 1fr;
  }
  .p-event-culture-apply .pu-culture-panels__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 599px) {
  .p-event-main .p-text-group__text {
    gap: var(--spacing-24, 2.4rem);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -0.004em;
  }
}

.p-event-main .p-text-group__text::before {
  content: "";
  display: block;
  height: 9.2rem;
  background: url(../images/logo_text.svg) no-repeat 50% 0 / contain;
}

@media (max-width: 599px) {
  .p-event-main .p-text-group__text::before {
    height: 5.8rem;
  }
}

.p-event-main .btn-main {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25rem;
  padding: var(--spacing-20, 2rem);
  box-sizing: border-box;
  border: 1px solid var(--Foundation-Grey-grey-0, #fff);
  border-radius: var(--spacing-10, 1rem);
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--Foundation-Grey-grey-0, #fff);
  backdrop-filter: blur(5px);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.004em;
}

@media (max-width: 599px) {
  .p-event-main .btn-main {
    width: 17.2rem;
    height: 4.4rem;
    padding: var(--spacing-12, 1.2rem);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -0.004em;
  }
}

/* Use resort-style popup card (not modal overlay) */
.p-event-main .popup-container {
  display: none;
  position: relative;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  border-radius: 0;
  box-sizing: border-box;
  background: transparent;
  backdrop-filter: none;
  overflow: visible;
}

.p-event-main .pu-event-hero {
  margin-bottom: 1.7rem;
  min-height: 15.4rem;
  padding: 1.8rem;
  border-radius: 0.8rem;
  background-color: #1a2232;
  background-repeat: no-repeat;
  background-position: 50% 42%;
  background-size: cover;
  display: flex;
  align-items: flex-end;
  box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.18);
}

.p-event-main .pu-event-hero__content {
  max-width: 72rem;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.p-event-main .pu-event-hero__subtitle {
  display: inline-flex;
  align-items: center;
  min-height: 1.6rem;
  margin-bottom: 1rem;
  padding: 0.15rem 0.8rem;
  border-radius: 0.3rem;
  background: var(--Foundation-Key-blue-500, #001a78);
  color: var(--Foundation-Grey-grey-0, #ffffff);
  font-size: 1.2rem;
  line-height: 1;
}

.p-event-main .pu-event-hero__title {
  margin: 0;
  margin-top: auto;
  color: #fff;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.15;
  text-shadow: 0 0.4rem 1.8rem rgba(0, 0, 0, 0.3);
}

.p-event-main .pu-event-hero__description {
  margin-top: 0.2rem;
  margin-bottom: 1.2rem;
  color: rgba(255, 255, 255, 0.92);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.45;
  text-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.24);
}

.p-event-main .pu-event-hero__description--subtitle {
  margin-bottom: 0.4rem;
}

.p-event-main .pu-event-hero__description--desc {
  margin-top: 0;
  font-weight: 500;
}

.p-event-main .popup-container.is-active {
  display: block;
}

.p-event-main .popup-header {
  position: relative;
  padding: 0 0 1.4rem;
  border-bottom: 0;
}

.p-event-main .popup-header__heading.t--heading-l {
}

.p-event-main .popup-body {
  padding-top: 0;
  overflow: visible;
  max-height: none;
}

.p-event-main .popup-body__details {
  overflow: visible;
}

.p-event-main .popup-body__details {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.6rem;
  align-items: stretch;
}

@media (max-width: 899px) {
  .p-event-main .popup-body__details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 599px) {
  .p-event-main .popup-body__details {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
}

.p-event-main .popup-body__details .t--body-s {
  margin: 0;
  color: #2b2b2b;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.35;
}

.p-event-main .pu-event-info-card {
  position: relative;
  min-height: 10.2rem;
  margin: 0;
  padding: 1.4rem 2.4rem;
  border-radius: 0.8rem;
  background: var(--Foundation-Grey-grey-0, #ffffff);
  box-shadow: 0 0.6rem 1.6rem rgba(24, 34, 54, 0.1);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: center;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    background-color 0.22s ease;
  will-change: transform;
}

/* .p-event-main .pu-event-info-card:hover {
  transform: translateY(-0.2rem);
  border-color: var(--Foundation-Key-blue-400, #334893);
  box-shadow: 0 0.9rem 2rem rgba(37, 45, 88, 0.14);
} */

.p-event-main .pu-event-info-card__icon {
  position: relative;
  width: 2.4rem;
  height: 2.4rem;
  margin-bottom: 0.9rem;
  border-radius: 50%;
  background-color: var(--Foundation-Key-blue-50, #e6e8f2);
  border: 1px solid var(--Foundation-Key-blue-200, #8a96c1);
  /* Solid, single-color icon via mask (cleaner than baked-in SVG colors) */
  --pu-event-icon: none;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background-color 0.22s ease;
}

.p-event-main .pu-event-info-card__icon::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 1.2rem;
  height: 1.2rem;
  background-color: var(--Foundation-Key-blue-500, #001a78);
  -webkit-mask-image: var(--pu-event-icon);
  mask-image: var(--pu-event-icon);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 50% 50%;
  mask-position: 50% 50%;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* .p-event-main .pu-event-info-card:hover .pu-event-info-card__icon {
  transform: translateY(-0.1rem) scale(1.02);
  background-color: var(--Foundation-Key-blue-100, #b0b8d5);
  box-shadow: 0 0.8rem 1.4rem rgba(0, 26, 120, 0.16);
} */

/* Default card icons (order: 상태, 포인트) */
.p-event-main .popup-body__details > .pu-event-info-card:nth-child(1) .pu-event-info-card__icon {
  --pu-event-icon: url(../images/ico_check.svg);
}

.p-event-main .popup-body__details > .pu-event-info-card:nth-child(2) .pu-event-info-card__icon {
  --pu-event-icon: url(../images/ico_tag.svg);
}

.p-event-main .pu-event-info-card__title {
  margin: 0;
  color: var(--Foundation-Key-blue-700, #001255);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.3;
}

.p-event-main .pu-event-info-card__value {
  margin: 0.55rem 0 0;
  color: var(--Foundation-Grey-grey-500, #4f4f4f);
  font-size: 1.22rem;
  font-weight: 500;
  line-height: 1.45;
  word-break: keep-all;
  text-align: left;
}

.p-event-main .pu-event-info-card--location iframe {
  height: 150px !important;
}

.p-event-main .pu-event-info-card--date .pu-event-info-card__icon {
  --pu-event-icon: url(../images/ico_calendar.svg);
}

.p-event-main .pu-event-info-card--location .pu-event-info-card__icon {
  --pu-event-icon: url(../images/ico_location.svg);
}

.p-event-main .pu-event-info-card--apply .pu-event-info-card__icon {
  --pu-event-icon: url(../images/ico_calendar.svg);
}

.p-event-main .pu-event-flash {
  margin: 0 0 1rem;
  color: #b42318;
  font-weight: 600;
}

.p-event-main .popup-footer {
  margin-top: 2.4rem;
  padding: 2.2rem 2.4rem;
  border-radius: 0.8rem;
  background: var(--Foundation-Grey-grey-0, #ffffff);
  box-shadow: 0 0.6rem 1.6rem rgba(24, 34, 54, 0.1);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

@media (max-width: 599px) {
  .p-event-main .popup-footer {
    padding: 2rem 1.8rem;
    margin-top: 2rem;
  }
}

.p-event-main .popup-footer:hover {
  transform: translateY(-0.2rem);
  border-color: var(--Foundation-Key-blue-300, #5466a5);
  box-shadow: 0 1.2rem 2.6rem rgba(24, 34, 54, 0.12);
}

.p-event-main .pu-event-apply {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  gap: 1.2rem 0.2rem;
  text-align: left;
}

.p-event-main .pu-event-apply > a.btn {
  margin-left: auto;
}

.p-event-main .pu-event-apply__period {
  margin: 0;
  margin-left: 0.8rem;
  color: var(--Foundation-Grey-grey-500, #4f4f4f);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.35;
  word-break: keep-all;
}

.p-event-main .pu-event-apply::before {
  content: "신청 안내";
  display: block;
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.03em;
  flex: 0 0 auto;
  min-width: auto;
}

.p-event-main .pu-event-apply .btn:hover {
  transform: translateY(-0.1rem);
  background: var(--Foundation-Key-blue-600, #00186d);
  border-color: var(--Foundation-Key-blue-600, #00186d);
}

.p-event-main .pu-event-apply .btn:active {
  background: var(--Foundation-Key-blue-700, #001255);
  border-color: var(--Foundation-Key-blue-700, #001255);
}

.p-event-main .pu-event-apply__hint {
  margin: 0;
  flex: 1 1 100%;
  max-width: 60rem;
  color: var(--Foundation-Grey-grey-400, #8f8f8f);
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1.55;
}

/* Event apply page: brand-new layout (not resort-style popup) */
.p-event-apply .contents {
  padding: var(--spacing-42, 4.2rem) 0;
  /* background-color: var(--Foundation-Grey-grey-50, #ededed); */
}

.p-event-apply .event-apply-section {
  flex: 1;
}

.p-event-apply .pu-event-apply-top {
  text-align: left;
  margin-bottom: var(--spacing-24, 2.4rem);
}

.p-event-apply .pu-event-apply-top .t--body-s {
  color: var(--Foundation-Grey-grey-300, #898989);
}

.p-event-apply .pu-event-alert {
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  border-radius: var(--border-radius-16, 1.6rem);
  background-color: var(--Foundation-Grey-grey-0, #fff);
  padding: var(--spacing-12, 1.2rem) var(--spacing-16, 1.6rem);
  margin-bottom: var(--spacing-16, 1.6rem);
}

.p-event-apply .pu-event-alert--ok {
  border-color: var(--Foundation-Key-blue-100, #b0b8fa);
  background-color: var(--Foundation-Key-blue-50, #e6e8f2);
}

.p-event-apply .pu-event-alert--err {
  border-color: var(--Foundation-Red-red-100, #fabbb0);
  background-color: var(--Foundation-Red-red-50, #fee9e6);
}

.p-event-apply .pu-event-apply-grid {
  align-items: start;
}

.p-event-apply .pu-event-apply-material {
  display: block;
}

.p-event-apply .pu-event-apply-card {
  height: auto;
}

.p-event-apply .pu-event-apply-card .c-card__body {
  gap: var(--spacing-12, 1.2rem);
}

.p-event-apply .pu-event-apply-card--action .c-card__body {
  gap: var(--spacing-16, 1.6rem);
}

.p-event-apply .pu-event-apply-desc {
  padding-top: var(--spacing-12, 1.2rem);
  border-top: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
}

.p-event-apply .pu-event-apply-desc .t--body-s {
  color: var(--Foundation-Grey-grey-500, #4f4f4f);
  line-height: 1.5;
}

.p-event-apply .pu-event-apply-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-12, 1.2rem);
}

.p-event-apply .pu-event-apply-actions .btn {
  width: 100%;
}

.p-event-apply .pu-event-apply-form {
  width: 100%;
}

.p-event-apply .pu-event-apply-form .btn {
  width: 100%;
}

.p-event-apply .pu-event-apply__hint {
  margin: 0;
  padding: var(--spacing-12, 1.2rem) var(--spacing-16, 1.6rem);
  border-radius: var(--border-radius-8, 0.8rem);
  background-color: var(--Foundation-Grey-grey-50, #ededed);
  color: var(--Foundation-Grey-grey-500, #4f4f4f);
}

/* Event apply complete: reuse reservation-complete layout but keep event copy readable */
.p-event-apply-complete .event-apply-complete-actions {
  /* margin handled by .p-reservation-complete .reservation-complete-section .btn */
  margin-top: 0;
}

.p-event-apply-complete .event-apply-complete-actions .btn {
  width: 100%;
}

.p-event-apply-complete .reservation-complete-section .c-card {
  max-width: 56rem;
}

.p-event-apply-complete .reservation-complete-section .c-card__body {
  padding: 2.4rem 2.8rem 2.6rem;
  gap: 1.4rem;
}

.p-event-apply-complete .reservation-complete-section .c-card__name {
  font-size: 2.1rem;
  line-height: 1.25;
}

.p-event-apply-complete .reservation-complete-section .c-card__desc {
  font-size: 1.5rem;
  line-height: 1.35;
}

.p-event-apply-complete .reservation-complete-section .c-card__info-item dt,
.p-event-apply-complete .reservation-complete-section .c-card__info-item dd {
  font-size: 1.5rem;
  line-height: 1.3;
}

@media (max-width: 599px) {
  .p-event-apply-complete .section-top .t--heading-2xl {
    display: block;
  }

  .p-event-apply-complete .reservation-complete-section .c-card__body {
    padding: 2.2rem 2rem;
  }

  .p-event-apply-complete .reservation-complete-section .c-card {
    max-width: 100%;
  }
}

@media (max-width: 599px) {
  .p-event-main .popup-container {
    max-width: 100%;
  }

  .p-event-main .pu-event-hero {
    min-height: 16.2rem;
    padding: 1.2rem;
    margin-bottom: 2rem;
    border-radius: 1.6rem;
    background-position: 70% 42%;
  }

  .p-event-main .pu-event-hero__subtitle {
    margin-bottom: 0.8rem;
    font-size: 1rem;
  }

  .p-event-main .pu-event-hero__title {
    font-size: 2.2rem;
  }

  .p-event-main .pu-event-hero__description {
    margin-top: 0.4rem;
    font-size: 1.3rem;
  }

  .p-event-main .popup-body__details {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .p-event-main .pu-event-info-card {
    min-height: 10.4rem;
    padding: 1.1rem 1.05rem 1rem;
  }

  .p-event-main .pu-event-info-card__title {
    font-size: 1.4rem;
  }

  .p-event-main .pu-event-info-card__value {
    font-size: 1.2rem;
  }

  .p-event-main .pu-event-apply {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    text-align: left;
    gap: 0.8rem;
  }

  .p-event-main .pu-event-apply::before {
    font-size: 1.7rem;
    line-height: 1.22;
    min-width: 0;
  }

  .p-event-main .pu-event-apply .btn {
    width: auto;
    min-width: 11.6rem;
    height: 4.3rem;
    font-size: 1.35rem;
  }

  .p-event-main .popup-footer {
    padding: 1.6rem 1.6rem;
    border-radius: 1.6rem;
  }

  .p-event-main .pu-event-apply__hint {
    font-size: 1.2rem;
  }

  .p-event-apply .pu-event-apply-actions {
    grid-template-columns: 1fr;
  }
}

.p-join .pu-phone-field .pu-phone-sep {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  line-height: 1;
}

/* Join: dept search popup should be as tall as possible (mobile-safe) */
#popDeptSearch .c-popup__inner {
  max-height: none !important;
  height: 92vh;
  height: 92dvh;
  display: flex;
  flex-direction: column;
}

#popDeptSearch .c-popup__header,
#popDeptSearch .c-popup__footer {
  flex: 0 0 auto;
}

#popDeptSearch .c-popup__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

/* Join: make dept list area tall (scroll inside list area) */
#popDeptSearch .c-popup__body > .l-stack {
  height: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

#popDeptSearch .c-popup__body .c-tab-panel__inner {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
}

/* Join: dept popup table should fill body; tbody scrolls */
#popDeptSearch .c-popup__body .c-tab-panel__inner .c-table {
  flex: 1 1 auto;
  min-height: 0;
}

#popDeptSearch .c-table__body {
  flex: 1 1 auto;
  max-height: none;
  overflow: auto;
}

/* Flower: icon tile style (rounded square icon like provided UI) */
.p-flower .pu-icon-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 0.6rem;
  border: 1px solid var(--Foundation-Grey-grey-75, #e2e2e2);
  background: var(--Foundation-Grey-grey-0, #fff);
  box-shadow: 0 0.8rem 2.4rem rgba(33, 33, 33, 0.04);
  flex: 0 0 auto;
}

.p-flower .pu-icon-tile--sm {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 1.1rem;
}

.p-flower .pu-icon-tile--xs {
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 1rem;
  box-shadow: none;
}

.p-flower .pu-icon-tile--xxs {
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 0.4rem;
  box-shadow: none;
}

.p-flower .pu-icon-tile__img {
  width: 1.6rem;
  height: 1.6rem;
  opacity: 0.9;
}

.p-flower .pu-icon-tile--xs .pu-icon-tile__img,
.p-flower .pu-icon-tile--xxs .pu-icon-tile__img {
  width: 1.4rem;
  height: 1.4rem;
}

/* Flower: detail meta readability (separate fields + comfortable spacing) */
.p-flower .c-resort-bid-card__meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
@media (max-width: 599px) {
  .p-flower .c-resort-bid-card__meta {
    grid-template-columns: 1fr;
  }
}


.p-flower .c-resort-bid-card__meta-item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-6, 0.6rem);
  padding: var(--spacing-12, 1.2rem) 0;
  border-bottom: 1px dashed var(--Foundation-Grey-grey-75, #e2e2e2);
}

.p-flower .c-resort-bid-card__meta-item:last-child {
  border-bottom: 0;
}

.p-flower .c-resort-bid-card__meta-item dt {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--Foundation-Grey-grey-500);
}

.p-flower .c-resort-bid-card__meta-item dd {
  font-size: 1.4rem;
  line-height: 1.7;
  color: var(--Foundation-Grey-grey-900, #161616);
  word-break: break-word;
}

/* Flower: request note readability (CKEditor HTML output) */
.p-flower .pu-flower-note {
  line-height: 1.7;
}

.p-flower .pu-flower-note p + p,
.p-flower .pu-flower-note ul + p,
.p-flower .pu-flower-note ol + p,
.p-flower .pu-flower-note p + ul,
.p-flower .pu-flower-note p + ol {
  margin-top: var(--spacing-10, 1rem);
}

/* Notice list: highlight pinned notice rows */
.p-notice .c-table-board tbody tr.pu-notice-row {
  background-color: var(--Foundation-Key-blue-50, #e6e8f2);
}

.p-notice .c-table-board tbody tr.pu-notice-row > td {
  background-color: var(--Foundation-Key-blue-50, #e6e8f2);
}

@media (hover: hover) {
  .p-notice .c-table-board tbody tr.pu-notice-row:hover {
    background-color: var(--Foundation-Key-blue-50, #e6e8f2);
  }

  .p-notice .c-table-board tbody tr.pu-notice-row:hover > td {
    background-color: var(--Foundation-Key-blue-50, #e6e8f2);
  }
}

.p-notice .c-table-board tbody tr.pu-notice-row:focus-within {
  background-color: var(--Foundation-Key-blue-50, #e6e8f2);
}

.p-notice .c-table-board tbody tr.pu-notice-row > td:first-child {
  box-shadow: inset 0.3rem 0 0 0 var(--Foundation-Key-blue-500, #001a78);
}

/* Partners detail: remove top margin on images */
.p-partners-detail .c-board-detail img {
  margin-top: 0;
}

/* Resort list: compact reordering (name -> type -> address) */
.p-resort-list .c-card__body {
  gap: var(--spacing-10, 1rem);
  padding: var(--spacing-20, 2rem) var(--spacing-24, 2.4rem) var(--spacing-24, 2.4rem);
}

@media (max-width: 599px) {
  .p-resort-list .c-card__body {
    padding: var(--spacing-16, 1.6rem) var(--spacing-20, 2rem) var(--spacing-20, 2rem);
  }
}

/* Resort list: region tabs */
.p-resort-list .pu-region-tabs {
  margin-top: var(--spacing-16, 1.6rem);
}

.p-resort-list .c-card__type {
  color: var(--Foundation-Grey-grey-500, #4f4f4f);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.004em;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.p-resort-list .c-card__location {
  margin-top: 0;
  font-size: 1.3rem;
  line-height: 1.25;
}
