@charset "UTF-8";
/* 회원 관련 페이지 CSS (로그인, 회원가입, 마이페이지) */
/* ===== 공통 ===== */
.page_back {
  margin-bottom: 20rem;
}

.page_back a {
  display: inline-block;
  font-size: 14rem;
  color: var(--color-text-secondary);
  text-decoration: none;
}

.page_back a:hover {
  color: var(--color-text);
}

#wrap.member .form_info {
  margin-bottom: 20rem;
  font-size: 14rem;
  color: var(--color-text-muted);
  text-align: right;
}

#wrap.member .form_info .required {
  color: var(--color-danger-alt);
}

.member .tit_s05 {
  margin-bottom: 60rem;
}
.member .btn_type01 {
  margin-top: 60rem;
}
.member .check_box {
  margin-top: 30rem;
  padding-bottom: 10rem;
}
.member .tit_s02.back_link {
  margin-bottom: 40rem;
}

/* ===== 로그인 ===== */
.login_links {
  display: flex;
  gap: 20rem;
  justify-content: center;
  margin: 20rem 0 70rem;
}
.login_links a {
  position: relative;
  color: #555; /* 공통_16이하/pr07_16_rg */
  font-size: 16rem;
  font-weight: 400;
  line-height: 150%; /* 24rem */
  letter-spacing: -0.32rem;
  padding: 10rem 0;
}
.login_links a:before {
  content: "";
  position: absolute;
  right: -10rem;
  top: 50%;
  transform: translateY(-50%);
  display: inline-block;
  width: 1rem;
  height: 14rem;
  background: #ccc;
  vertical-align: middle;
}
.login_links a:last-of-type:before {
  display: none;
}
.login_links a:hover {
  color: #333;
}

.social_login {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.social_login strong {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10rem;
  width: 100%;
  box-sizing: border-box;
  color: #AAA;
  font-size: 20rem;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: -0.4rem;
  margin-bottom: 30rem;
  position: relative;
}
.social_login strong:before, .social_login strong:after {
  content: "";
  flex-shrink: 0;
  width: 180rem;
  height: 1rem;
  background: #ccc;
}
.social_login ul {
  display: flex;
  gap: 20rem;
  justify-content: center;
  flex-direction: row-reverse;
}
.social_login ul li a {
  width: 60rem;
  height: 60rem;
  background-size: cover;
  text-indent: -9999rem;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
}
.social_login ul li.social-login-kakao a {
  background-image: url(/images/contents/login_kakao_icon.png);
}
.social_login ul li.social-login-naver a {
  background-image: url(/images/contents/login_naver_icon.png);
}

.radio_box_wrap {
  margin-bottom: 60rem;
}

/* ===== 체크박스 ===== */
.chk_wrap {
  display: inline-flex;
  align-items: center;
  gap: 8rem;
  cursor: pointer;
  font-size: 16rem;
  color: var(--color-text);
}
.chk_wrap input[type=checkbox] {
  width: 18rem;
  height: 18rem;
  cursor: pointer;
}

/* ===== write form ===== */
.write_form_wrap .review_tit {
  display: flex;
  align-items: center;
  gap: 10rem;
  max-width: 544rem;
  margin: 0 auto 40rem;
}
.write_form_wrap .review_tit:before {
  width: 44rem;
  height: 50rem;
  content: "";
  display: inline-block;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="33" height="33" viewBox="0 0 33 33" fill="none"><path d="M11.4455 29.2798H33V32.9464H0V25.1676L18.15 7.01761L25.927 14.7964L11.4455 29.2798ZM20.7405 4.42528L24.6308 0.536775C24.9746 0.193078 25.4409 0 25.927 0C26.4131 0 26.8794 0.193078 27.2232 0.536775L32.4097 5.72144C32.5801 5.89171 32.7153 6.0939 32.8076 6.31647C32.8999 6.53903 32.9474 6.7776 32.9474 7.01853C32.9474 7.25945 32.8999 7.49802 32.8076 7.72058C32.7153 7.94315 32.5801 8.14534 32.4097 8.31561L28.5193 12.2041L20.7405 4.42528Z" fill="black"/></svg>') no-repeat center center/contain;
  background-size: 33rem auto;
}
.write_form_wrap .review_tit {
  color: var(--color-BLACK, #000);
  font-size: 36rem;
  font-weight: 600;
  line-height: 140%; /* 50.4rem */
  letter-spacing: -0.72rem;
}
.write_form_wrap .form_type01 .form_type01_in > li {
  margin-bottom: 32rem;
}
.write_form_wrap .form_type01 .form_type01_in > li.flex_column {
  flex-direction: column;
  gap: 20rem;
}
.write_form_wrap.form_wrap .form_in .form_type01:has(+ .btn_two_wrap), .write_form_wrap.form_wrap .form_in .form_type01:last-of-type {
  margin-bottom: 0 !important;
}
.write_form_wrap.form_wrap .form_in .btn_type01 {
  width: 100%;
  max-width: 544rem;
}
.write_form_wrap.form_wrap .form_in .g-recaptcha_wrap {
  width: 100%;
  max-width: 544rem;
  margin: 0 auto;
}
.write_form_wrap.form_wrap .form_in .g-recaptcha_wrap .g-recaptcha > div {
  margin: 0 auto;
}
.write_form_wrap textarea {
  min-height: 140rem;
}
.write_form_wrap .file_box_wrap {
  width: 100%;
  display: flex;
  gap: 10rem 0;
  flex-direction: column;
}
.write_form_wrap .file_box_wrap .fileBox:last-of-type {
  margin-bottom: 0;
}
.write_form_wrap .file_box_wrap:last-of-type {
  margin-bottom: 0;
}
.write_form_wrap .file_box_wrap .input_type01 {
  flex: 1;
  min-width: 0;
  align-self: stretch;
  color: #aaa !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  padding-right: 36rem;
  overflow: hidden;
  word-break: break-word;
  position: relative;
  line-height: 160%;
}
.write_form_wrap .file_box_wrap .fileInfoBox, .write_form_wrap .file_box_wrap .input_ty1 {
  display: none;
}
.write_form_wrap .file_box_wrap .fileBox {
  display: flex;
  gap: 8rem;
}
.write_form_wrap .file_box_wrap .btn_type02 {
  width: 79rem;
  cursor: pointer;
}
.write_form_wrap .file_box_wrap .removeFileBtn.active {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 24rem;
  height: 24rem;
  display: inline-block;
  margin-left: 10rem;
  border-radius: 21.6rem;
  cursor: pointer;
  position: absolute;
  right: 10rem;
  top: 10rem;
  background-color: var(--color-aaaaaa, #eee);
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="8" viewBox="0 0 8 8" fill="none"><path d="M7.2124 7.21289L0.424177 0.424665" stroke="black" stroke-width="1.2"/><path d="M0.424805 7.21777L7.21303 0.429549" stroke="black" stroke-width="1.2"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 8rem auto;
}

/* ===== 약관 동의 ===== */
.agree_wrap .check_box {
  flex-wrap: wrap;
  border-bottom: 1px solid #ccc;
  margin-bottom: 0;
  padding-bottom: 20rem;
  padding-top: 20rem;
  margin-top: 0;
}
.agree_wrap .check_box.all {
  border-bottom: 0;
  margin-bottom: -10rem;
}
.agree_wrap {
  /* 약관 아코디언 (회원가입) */
  /* .form_type01 .check_box 가 display:flex(row)라 헤더·패널이 가로로 붙으면 스크롤 영역이 깨짐 */
}
.agree_wrap .check_box.agree_accordion {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  min-width: 0;
}
.agree_wrap .agree_accordion {
  width: 100%;
  margin-top: 0;
}
.agree_wrap .agree_accordion .agree_accordion_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10rem;
  width: 100%;
}
.agree_wrap .agree_accordion .agree_accordion__label {
  flex: 1;
  min-width: 0;
}
.agree_wrap .agree_accordion .agree_accordion__toggle {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40rem;
  height: 24rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: var(--color-text-secondary);
  box-sizing: border-box;
}
.agree_wrap .agree_accordion .agree_accordion__toggle::after {
  width: 40rem;
  height: 24rem;
  content: "";
  display: block;
  transition: transform 0.2s ease, margin 0.2s ease;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="11" viewBox="0 0 18 11" fill="none"><path d="M0.707031 0.707031L8.70703 8.70703L16.707 0.707031" stroke="%23333333" stroke-width="2"/></svg>') no-repeat center center/contain;
  background-size: 18rem 11rem;
  background-position: center center;
  background-repeat: no-repeat;
}
.agree_wrap .agree_accordion.is-open {
  border-bottom: 0;
  padding-bottom: 0;
}
.agree_wrap .agree_accordion.is-open .agree_accordion__toggle::after {
  transform: rotate(180deg);
}
.agree_wrap .agree_accordion .agree_accordion_panel {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  flex: 0 0 auto;
}
.agree_wrap .agree_accordion .agree_accordion_panel[hidden] {
  display: none !important;
}
.agree_wrap .agree_accordion .agree_scroll {
  max-height: min(298rem, 55vh);
  box-sizing: border-box;
  min-height: 0;
  border-top: 1rem solid #ccc;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 24rem;
  color: var(--color-333333, #333);
  font-size: 15rem;
  font-weight: 300;
  line-height: 150%;
  letter-spacing: -0.3rem;
  background-color: #f7f7f7;
  margin-top: 20rem;
  scrollbar-width: thin;
  scrollbar-color: #777 #ccc;
}
.agree_wrap .agree_accordion .agree_scroll::-webkit-scrollbar {
  display: block;
  width: 2rem;
  background: #ccc;
}
.agree_wrap .agree_accordion .agree_scroll::-webkit-scrollbar-track {
  background-color: #ccc;
  border-radius: 0;
}
.agree_wrap .agree_accordion .agree_scroll::-webkit-scrollbar-thumb {
  background-color: #777;
  border-radius: 0;
}

/* ===== 기본 폼 스타일===== */
.form_wrap .tit_s05 {
  width: 544rem;
  margin: 252rem auto 60rem;
}
.form_wrap .tit_s02.back_link {
  max-width: 544rem;
  margin: 228rem auto 36rem;
}
.form_wrap .tit_s02.back_link:after {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100rem;
}
.form_wrap .form_in {
  background-color: #F7F4F5;
  padding: 60rem 0 200rem;
}
.form_wrap .form_in .form_type01 {
  padding: 40rem 24rem 60rem;
  max-width: 544rem;
  margin: 0 auto;
  border-radius: 6rem;
  border: 1rem solid var(--color-Pink_pale, #FCC9D9);
  background: var(--color-WHITE, #FFF);
  margin-bottom: 10rem;
}
.form_wrap .form_in .form_type01 li:last-of-type {
  margin-bottom: 0;
}
.form_wrap .form_in .form_type01 {
  /* btn_two_wrap이 뒤에 오면 마지막 form_type01은 :last-of-type/:last-child에 안 걸림(마지막 div가 btn_two_wrap) */
}
.form_wrap .form_in .form_type01:has(+ .btn_two_wrap), .form_wrap .form_in .form_type01:last-of-type, .form_wrap .form_in .form_type01:last-child {
  margin-bottom: 0 !important;
}
.form_wrap .form_in .btn_type01 {
  max-width: 260rem;
  margin: 60rem auto 0;
}
.form_wrap .form_type01 form > .form_type01_in > li {
  margin-bottom: 32rem;
}
.form_wrap .address {
  width: 100%;
  display: flex;
  gap: 10rem 0;
  flex-direction: column;
}
.form_wrap .btn_two_wrap {
  max-width: 544rem;
  margin: 0 auto;
}
.form_wrap .btn_two_wrap.center {
  justify-content: center;
  margin-top: 60rem;
}
.form_wrap .popup_dim .popup_box {
  margin-bottom: 40rem;
}
.form_wrap .popup_dim .btn_type01 {
  margin: 0;
}
.form_wrap .popup_dim input {
  margin-bottom: 20rem;
}
.form_wrap .popup_dim input:last-of-type {
  margin-bottom: 0;
}

/* ===== 회원정보수정 ===== */
.register_modify .agree_wrap {
  margin-top: 20rem;
}
.register_modify .form_in .btn_type01 {
  max-width: 544rem;
}

.form_sub_input {
  margin-top: 8rem;
}

.radio_group {
  display: flex;
  gap: 20rem;
}

.radio_wrap {
  display: inline-flex;
  align-items: center;
  gap: 5rem;
  cursor: pointer;
  font-size: 16rem;
}
.radio_wrap input[type=radio] {
  cursor: pointer;
}

#duplicate_result,
#email_verify_result {
  display: block;
  font-size: 13rem;
}

.result_ok {
  color: var(--color-success-alt);
}

.result_fail {
  color: var(--color-danger-alt);
}

/* ===== 가입 완료 ===== */
.complete_wrap {
  text-align: center;
  padding: 60rem 0;
}

.complete_icon {
  margin-bottom: 30rem;
}
.complete_icon img {
  width: 80rem;
  height: 80rem;
}

.complete_title {
  font-size: 24rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 15rem;
}

.complete_desc {
  font-size: 16rem;
  color: var(--color-text-secondary);
  line-height: 1.6;
  margin-bottom: 30rem;
}

/* ===== 회원인증 ===== */
.re_auth .result_box {
  margin: 36rem 0 60rem;
}

/* ===== 적립금 ===== */
.points .points_top {
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 1;
  transition: top var(--transition-slow);
}
.points .points_top .tit_s02.back_link {
  position: unset;
}
.points .tap_type01 {
  margin-bottom: 0;
}
.points .points_all p {
  color: #555;
  font-size: 16rem;
  font-weight: 400;
  line-height: 150%; /* 24rem */
  letter-spacing: -0.32rem;
  margin-bottom: 20rem;
}
.points .points_all strong {
  color: #000;
  font-family: Montserrat;
  font-size: 40rem;
  font-weight: 700;
  line-height: 110%; /* 44px */
}
.points .points_all {
  margin-bottom: 60rem;
}
.points ul.points_list {
  margin-bottom: 60rem;
}
.points ul.points_list li {
  width: 100%;
  padding: 32rem 0;
  border-bottom: 1px solid #ccc;
}
.points ul.points_list li date {
  width: 100%;
  flex: none;
  color: #555;
  font-size: 16rem;
  font-weight: 400;
  line-height: 150%; /* 24rem */
  letter-spacing: -0.32rem;
}
.points ul.points_list li .points_info01 {
  margin: 20rem 0 10rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0 24rem;
  justify-content: space-between;
}
.points ul.points_list li .points_info01 strong {
  color: #111;
  font-size: 20rem;
  font-weight: 400;
  line-height: 140%; /* 28rem */
  letter-spacing: -0.4rem;
}
.points ul.points_list li .points_info01 p {
  text-align: right;
  font-size: 20rem;
  font-weight: 600;
  line-height: 140%; /* 28rem */
  letter-spacing: -0.4rem;
}
.points ul.points_list li .points_info02 {
  display: flex;
  flex-wrap: wrap;
  gap: 0 24rem;
  justify-content: space-between;
}
.points ul.points_list li .points_info02 strong {
  color: #555;
  font-size: 16rem;
  font-weight: 400;
  line-height: 150%; /* 24rem */
  letter-spacing: -0.32rem;
}
.points ul.points_list li .points_info02 p {
  color: #AAA;
  font-size: 16rem;
  font-weight: 400;
  line-height: 150%; /* 24rem */
  letter-spacing: -0.32rem;
}
.points ul.points_list li.redeem .points_info01 p {
  color: #333;
}
.points ul.points_list li.earn .points_info01 p {
  color: #FF4084;
}
.points .bth_type03 {
  display: block;
  margin: 0 auto;
}

/* ===== 유틸 메뉴 (top.php 헤더) ===== */
/* util_menu, allMenu_util → layout.css로 이동됨 */
/* ===== 아이디/비밀번호 찾기 ===== */
.find_wrap {
  max-width: 450rem;
  margin: 0 auto;
  padding: 30rem 0;
}

.find_desc {
  margin-bottom: 20rem;
  font-size: 14rem;
  color: var(--color-text-secondary);
  line-height: 1.6;
}

.find_links {
  display: flex;
  justify-content: center;
  gap: 20rem;
  margin-top: 25rem;
  padding-top: 20rem;
  border-top: 1px solid var(--color-border-light);
}
.find_links a {
  font-size: 14rem;
  color: var(--color-text-secondary);
}
.find_links a:hover {
  color: var(--color-ci);
}

/* 찾기 결과 */
.result_box {
  padding: 16rem 20rem;
  background: #F7F4F5;
  border-radius: 6rem;
}
.result_box.result_error {
  background: var(--color-danger-bg);
}
.result_box .result_title {
  color: var(--color-555555, #555);
  text-align: center;
  font-size: 18rem;
  font-weight: 400;
  line-height: 150%; /* 27px */
  letter-spacing: -0.36rem;
  margin-bottom: 16rem;
  padding-bottom: 16rem;
  border-bottom: 1px solid #ccc;
}
.result_box .result_id {
  color: #000;
  text-align: center;
  font-size: 18rem;
  font-weight: 400;
  line-height: 150%; /* 27rem */
  letter-spacing: -0.36rem;
  padding: 20rem 0;
}
.result_box .result_desc {
  color: var(--color-555555, #555);
  text-align: center;
  font-size: 18rem;
  font-weight: 400;
  line-height: 150%; /* 27rem */
  letter-spacing: -0.36rem;
  padding: 20rem 0;
}
.result_box .callout {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 11rem;
  color: var(--color-BLACK, #000);
  text-align: center;
  font-size: 18rem;
  font-weight: 400;
  line-height: 150%; /* 27rem */
  letter-spacing: -0.36rem;
  padding: 20rem 0;
}
.result_box .callout:before {
  width: 24rem;
  height: 24rem;
  content: "";
  display: block;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22" fill="none"><path d="M11 0C17.075 0 22 4.925 22 11C22 17.075 17.075 22 11 22C4.925 22 0 17.075 0 11C0 4.925 4.925 0 11 0ZM10 13H12V5.5H10V13ZM12.004 14.5H10V16.504H12.004V14.5Z" fill="%23333333"/></svg>') no-repeat center center;
  background-size: 100% auto;
}

.input_hint {
  margin-top: 4rem;
  font-size: 12rem;
  color: var(--color-text-muted);
}

/* 생년월일: Flatpickr 보조 입력 전체 폭 + 달력 팝업 톤 */
#wrap.member .input_date_wrap {
  position: relative;
  flex: 1;
  min-width: 0;
  width: 100%;
}
#wrap.member .input_date_wrap .flatpickr-altInput.input_type01 {
  width: 100%;
  cursor: pointer;
}
#wrap.member .input_date_wrap .flatpickr-altInput.input_type01::-moz-placeholder {
  color: #aaa;
  opacity: 1;
}
#wrap.member .input_date_wrap .flatpickr-altInput.input_type01::placeholder {
  color: #aaa;
  opacity: 1;
}

/* 웨딩 상담 작성: 인라인 달력만 노출(값은 sr-only input + 표시 영역) */
#wrap.member .wedding_date_field {
  width: 100%;
}
#wrap.member .wedding_date_field .wedding_date_display {
  display: none;
}
#wrap.member .wedding_date_field .wedding_inline_calendar {
  position: relative;
}
#wrap.member .wedding_date_field .wedding_inline_calendar .flatpickr-calendar.inline {
  width: 100%;
  max-width: 100%;
  position: relative;
  top: auto;
  left: auto;
  margin: 0;
  padding: 32rem;
}
#wrap.member .wedding_date_field .wedding_inline_calendar .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month {
  top: 32rem;
  left: 124rem;
}
#wrap.member .wedding_date_field .wedding_inline_calendar .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
  top: 32rem;
  right: 124rem;
}
#wrap.member .wedding_date_field .wedding_inline_calendar .flatpickr-disabled {
  pointer-events: none;
  color: #aaa;
  text-decoration: line-through;
}
#wrap.member .wedding_date_field .wedding_inline_calendar .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month {
  opacity: 0.5;
}

/*회원가입 완료*/
.member .tit_s05 svg {
  width: 237rem;
  margin-top: 10rem;
  display: block;
}

/* 알림 메시지 */
.alert_error {
  padding: 12rem 15rem;
  margin-bottom: 15rem;
  background: var(--color-danger-bg);
  border: 1px solid var(--color-danger-border);
  border-radius: 4rem;
  color: var(--color-danger);
  font-size: 14rem;
}

/* ===== 마이페이지 ===== */
.mypage_wrap .mypage_tit {
  margin-bottom: 60rem;
  color: var(--color-BLACK, #000);
  font-family: Montserrat;
  font-size: 80rem;
  font-weight: 700;
  line-height: 140%; /* 112rem */
  letter-spacing: -1.6rem;
}
.mypage_wrap .mypage_top {
  width: 100%;
  padding: 252rem 0 60rem;
  background: #F7F4F5;
}
.mypage_wrap .mypage_top .mypage_top_in {
  width: 100%;
  max-width: 1112rem;
  margin: 0 auto;
}
.mypage_wrap .mypage_summary .mypage_summary_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8rem;
  margin-bottom: 20rem;
}
.mypage_wrap .mypage_summary strong {
  color: var(--color-Pink_darkgray, #262121); /* PC/pr01_24_b */
  font-size: 24rem;
  font-weight: 700;
  line-height: 140%; /* 33.6rem */
  letter-spacing: -0.48rem;
}
.mypage_wrap .mypage_summary a {
  color: var(--color-777777, #777); /* PC/pr04_18_md */
  font-size: 18rem;
  font-weight: 500;
  line-height: 150%; /* 27rem */
  letter-spacing: -0.36rem;
}
.mypage_wrap .mypage_summary .mypage_summary_cards {
  border-radius: 10rem;
  background-color: #FF729F;
  display: flex;
}
.mypage_wrap .mypage_summary .mypage_summary_cards li {
  flex: 1;
  padding: 20rem 32rem;
  border-right: 1px solid var(--color-Pink_darkgray, #262121);
}
.mypage_wrap .mypage_summary .mypage_summary_cards li:last-of-type {
  border-right: 0;
}
.mypage_wrap .mypage_summary .mypage_summary_cards li span {
  color: var(--color-BLACK, #000);
  font-size: 16rem;
  font-weight: 500;
  line-height: 150%; /* 24rem */
  letter-spacing: -0.32rem;
  display: flex;
  align-items: center;
}
.mypage_wrap .mypage_summary .mypage_summary_cards li span:after {
  width: 24rem;
  height: 24rem;
  content: "";
  display: block;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="7" height="11" viewBox="0 0 7 11" fill="none"><path d="M0.53125 10.1299L5.33125 5.32988L0.53125 0.529883" stroke="black" stroke-width="1.5"/></svg>') no-repeat center center/contain;
  background-size: auto 9.6rem;
}
.mypage_wrap .mypage_summary .mypage_summary_cards li strong {
  width: 100%;
  display: block;
  text-align: right;
  margin-top: 10rem;
  color: var(--color-BLACK, #000);
  text-align: right; /* PC/pr00_36_sb */
  font-size: 36rem;
  font-weight: 600;
  line-height: 140%; /* 50.4rem */
  letter-spacing: -0.72rem;
}
.mypage_wrap .mypage_section {
  width: 100%;
  max-width: 1112rem;
  margin: 0 auto;
  display: flex;
  gap: 80rem;
  padding: 60rem 0 200rem;
}
.mypage_wrap .mypage_section .tit_s06_wrap {
  margin-bottom: 32rem;
}
.mypage_wrap .mypage_section .mypage_menu {
  width: 260rem;
  flex: none;
  display: flex;
  gap: 80rem;
  flex-direction: column;
}
.mypage_wrap .mypage_section .mypage_menu li {
  display: flex;
  gap: 24rem;
  flex-direction: column;
}
.mypage_wrap .mypage_section .mypage_menu li strong {
  color: var(--color-Pink_darkgray, #262121); /* 공통_16이하/mt07_14_sb */
  font-family: Montserrat;
  font-size: 14rem;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 19.6rem */
}
.mypage_wrap .mypage_section .mypage_menu li a {
  color: var(--color-777777, #777);
  font-size: 20rem;
  font-weight: 600;
  line-height: 140%; /* 28rem */
  letter-spacing: -0.4rem;
}
.mypage_wrap .mypage_section .mypage_reservation_list {
  flex: 1;
}

/* 로그인 이력 테이블 */
.tbl_log {
  font-size: 13rem;
}
.tbl_log thead th {
  background: var(--color-bg-subtle);
  font-weight: 600;
  text-align: center;
}
.tbl_log tbody td {
  text-align: center;
}

.td_ellipsis {
  max-width: 250rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.empty_msg {
  padding: 20rem;
  text-align: center;
  color: var(--color-text-muted);
  font-size: 14rem;
}

/* ===== 정보 수정 ===== */
.modify_wrap {
  max-width: 550rem;
  margin: 0 auto;
  padding: 30rem 0;
}
.modify_wrap .input_with_btn .input_btn_wrap {
  display: flex;
  gap: 8rem;
}
.modify_wrap .input_with_btn .input_btn_wrap input {
  flex: 1;
}
.modify_wrap .required label::after {
  content: " *";
  color: var(--color-danger-alt);
}

.form_divider {
  border: none;
  border-top: 1px solid var(--color-border-light);
  margin: 25rem 0;
}

.marketing_sub {
  margin-bottom: 15rem;
  margin-left: 20rem;
}
.marketing_sub .chk_wrap {
  display: block;
  margin-bottom: 8rem;
}
.marketing_sub input:disabled + span {
  color: var(--color-border-medium);
}

/* sr-only (스크린리더 전용) */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ===== 회원 탈퇴 ===== */
.withdraw .tit_s03_wrap {
  margin: 60rem 0 20rem;
}
.withdraw .tit_s03_wrap:first-of-type {
  margin-top: 0;
}
.withdraw .result_box {
  margin-top: 60rem;
}
.withdraw .custom_select {
  max-width: 200rem;
}
.withdraw .check_box {
  margin-top: 20rem;
}

.field_error {
  display: block;
  margin-top: 4rem;
  font-size: 13rem;
  color: var(--color-danger-alt);
}

.withdraw_info {
  margin-bottom: 20rem;
  padding: 20rem;
  background: var(--color-bg-result);
  border-radius: 8rem;
}
.withdraw_info h3 {
  font-size: 15rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 10rem;
  margin-top: 15rem;
}
.withdraw_info h3:first-child {
  margin-top: 0;
}
.withdraw_info ul {
  padding-left: 20rem;
  margin: 0;
}
.withdraw_info li {
  font-size: 13rem;
  color: var(--color-text-secondary);
  line-height: 1.8;
}
.withdraw_info p {
  font-size: 15rem;
  color: var(--color-text);
  margin-bottom: 10rem;
}

/* ===== Q&A 내역 ===== */
.qna_wrap .tap_type01 {
  margin-bottom: 32rem;
}
.qna_wrap .btn_two_wrap {
  margin-top: 60rem;
}

.qna_write .radio_box_wrap {
  margin-bottom: 0;
}
.qna_write .secret_password {
  display: flex;
  gap: 8rem;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
}
.qna_write .secret_password .check_box {
  margin: 0;
  padding: 0;
}
.qna_write .secret_password .input_type01 {
  width: calc(100% - 30rem);
}
.qna_write .secret_password .pristine-error {
  width: 100%;
}
.qna_write .chk_wrap {
  display: flex;
  gap: 0;
  flex-direction: column;
  align-items: flex-start;
  flex-wrap: wrap;
}
.qna_write .chk_wrap .check_box {
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}
.qna_write .chk_wrap .check_box label {
  height: 44rem;
}
.qna_write .chk_wrap .input_type01 {
  width: calc(100% - 30rem);
}
.qna_write .chk_wrap .pristine-error {
  width: 100%;
}

/* ===== 반응형 ===== */
@media screen and (max-width: 1280px) {
  .member .tit_s05 {
    margin-bottom: 40rem;
  }
  .member .btn_type01 {
    margin-top: 40rem;
  }
  .member .btn_two_wrap {
    margin-top: 40rem;
  }
  .member .btn_two_wrap > a, .member .btn_two_wrap > button {
    margin-top: 0 !important;
  }
  .member .btn_two_wrap.center {
    margin-top: 40rem;
  }
  .member .tit_s02.back_link {
    margin-bottom: 20rem;
  }
  /* ===== 로그인 ===== */
  .login_links {
    margin: 20rem 0 40rem;
  }
  .login_links a {
    letter-spacing: -0.32rem;
  }
  .social_login strong {
    font-size: 18rem;
    letter-spacing: -0.36rem;
    margin-bottom: 26rem;
  }
  .social_login strong:before, .social_login strong:after {
    width: 80rem;
  }
  .social_login ul {
    gap: 16rem;
  }
  .social_login ul li a {
    width: 44rem;
    height: 44rem;
  }
  .radio_box_wrap {
    margin-bottom: 40rem;
  }
  .complete_title {
    font-size: 20rem;
  }
  .complete_desc {
    font-size: 14rem;
  }
  /* ===== 회원가입 폼 ===== */
  .form_wrap .tit_s05 {
    width: 100%;
    margin: 96rem auto 40rem;
    padding: 0 16rem;
  }
  .form_wrap .tit_s02.back_link {
    margin: 76rem auto 20rem;
    padding-left: 46rem;
    padding-right: 16rem;
  }
  .form_wrap .tit_s02.back_link:after {
    position: fixed;
    top: 0;
    width: 100%;
    height: 76rem;
  }
  .form_wrap .tit_s02.back_link a {
    padding: 0 16rem;
  }
  .form_wrap .tit_s02.back_link > a {
    left: 16rem;
  }
  .form_wrap .form_in {
    padding: 40rem 16rem 100rem;
  }
  .form_wrap .form_in .form_type01 {
    padding: 32rem 16rem 40rem;
  }
  .form_wrap .form_in .form_type01 .field_tit {
    width: 100%;
    margin-right: 0;
    transform: unset;
    padding: 6rem 0;
  }
  .form_wrap .form_in .form_type01 li {
    flex-wrap: wrap;
  }
  .form_wrap .form_in .form_type01 .input_date_wrap {
    flex: none !important;
  }
  .form_wrap .form_in .btn_type01 {
    max-width: 100%;
    margin: 40rem auto 0;
  }
  .form_wrap .popup_dim .popup_box {
    margin-bottom: 20rem;
  }
  /* ===== 회원정보수정 ===== */
  .register_modify .agree_wrap {
    margin-top: 16rem;
  }
  /* 웨딩 상담 작성: 인라인 달력만 노출(값은 sr-only input + 표시 영역) */
  #wrap.member .wedding_date_field {
    margin-top: 6rem;
  }
  #wrap.member .wedding_date_field .wedding_inline_calendar .flatpickr-calendar.inline {
    padding: 12rem;
  }
  #wrap.member .wedding_date_field .wedding_inline_calendar .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month {
    top: 12rem;
    left: 32.5rem;
  }
  #wrap.member .wedding_date_field .wedding_inline_calendar .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
    top: 12rem;
    right: 32.5rem;
  }
  /*회원가입 완료*/
  .member .tit_s05 svg {
    width: 172rem;
    margin-top: 6rem;
  }
  /* ===== 리뷰 작성 ===== */
  .write_form_wrap .review_tit {
    margin-bottom: 20rem;
    font-size: 28rem;
    letter-spacing: -0.56rem;
  }
  .write_form_wrap .review_tit:before {
    width: 30rem;
    height: 30rem;
    background-size: 22.5rem auto;
  }
  .write_form_wrap .form_type01 .form_type01_in > li {
    margin-bottom: 20rem;
  }
  .write_form_wrap .file_box_wrap {
    width: 100%;
    gap: 8rem 0;
  }
  .write_form_wrap .file_box_wrap .fileBox {
    margin-bottom: 10rem;
  }
  .write_form_wrap .file_box_wrap:last-of-type {
    margin-bottom: 0;
  }
  .write_form_wrap .file_box_wrap .input_type01 {
    flex: 1;
    min-width: 0;
    align-self: stretch;
    color: #aaa !important;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    overflow: hidden;
    word-break: break-word;
  }
  .write_form_wrap .file_box_wrap .fileInfoBox, .write_form_wrap .file_box_wrap .input_ty1 {
    display: none;
  }
  .write_form_wrap .file_box_wrap .fileBox {
    flex-direction: column;
    gap: 8rem 0;
    align-items: flex-end;
    margin-bottom: 0;
  }
  .write_form_wrap .file_box_wrap .btn_type02 {
    width: 79rem;
    cursor: pointer;
  }
  /* ===== 약관 동의 ===== */
  .agree_wrap .check_box {
    padding-bottom: 16rem;
    padding-top: 16rem;
  }
  .agree_wrap .check_box.all {
    border-bottom: 0;
    margin-bottom: -6rem;
  }
  .agree_wrap {
    /* 약관 아코디언 (회원가입) */
  }
  .agree_wrap .agree_accordion .agree_accordion__toggle {
    width: 24rem;
    height: 24rem;
  }
  .agree_wrap .agree_accordion .agree_accordion__toggle::after {
    width: 24rem;
    height: 24rem;
    background-size: 10rem auto;
  }
  .agree_wrap .agree_accordion .agree_scroll {
    max-height: min(358rem, 55vh);
    padding: 18rem;
    margin-top: 16rem;
  }
  /* ===== 회원인증 ===== */
  .re_auth .result_box {
    margin: 20rem 0 40rem;
  }
  /* ===== 적립금 ===== */
  .points .points_all p {
    margin-bottom: 16rem;
  }
  .points .points_all strong {
    font-size: 30rem;
  }
  .points .points_all {
    margin-bottom: 40rem;
  }
  .points ul.points_list {
    margin-bottom: 40rem;
  }
  .points ul.points_list li {
    padding: 20rem 0;
  }
  .points ul.points_list li .points_info01 {
    margin: 16rem 0 6rem;
    gap: 0 18rem;
    position: relative;
  }
  .points ul.points_list li .points_info01 strong {
    font-size: 18rem;
    letter-spacing: -0.36rem;
  }
  .points ul.points_list li .points_info01 p {
    font-size: 18rem;
    letter-spacing: -0.36rem;
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .points ul.points_list li .points_info02 {
    gap: 0 18rem;
    align-items: flex-end;
  }
  .points ul.points_list li .points_info02 strong {
    max-width: 200rem;
  }
  /* util_menu 반응형 → layout.css로 이동됨 */
  /* 찾기/결과 */
  .result_box {
    padding: 12rem 16rem;
  }
  .result_box .result_title {
    font-size: 16rem;
    letter-spacing: -0.32rem;
    margin-bottom: 12rem;
    padding-bottom: 12rem;
  }
  .result_box .result_id, .result_box .result_desc {
    font-size: 16rem;
    letter-spacing: -0.32rem;
    padding: 16rem 0;
  }
  .result_box .callout {
    gap: 6rem;
    font-size: 16rem;
    letter-spacing: -0.32rem;
    padding: 16rem 0;
  }
  .result_box .callout:be fore {
    width: 22rem;
    height: 22rem;
  }
  /* ===== 마이페이지 ===== */
  .mypage_wrap .mypage_tit {
    margin-bottom: 40rem;
    font-size: 36rem;
    letter-spacing: -0.72rem;
  }
  .mypage_wrap .mypage_top {
    width: 100%;
    padding: 96rem 16rem 40rem;
  }
  .mypage_wrap .mypage_summary .mypage_summary_head {
    margin-bottom: 16rem;
  }
  .mypage_wrap .mypage_summary strong {
    font-size: 20rem;
    letter-spacing: -0.4rem;
  }
  .mypage_wrap .mypage_summary a {
    font-size: 16rem;
    letter-spacing: -0.32rem;
  }
  .mypage_wrap .mypage_summary .mypage_summary_cards {
    flex-wrap: wrap;
  }
  .mypage_wrap .mypage_summary .mypage_summary_cards li {
    padding: 16rem 16rem;
    border-right: 0.5px solid var(--color-Pink_darkgray, #262121);
  }
  .mypage_wrap .mypage_summary .mypage_summary_cards li:nth-of-type(1) {
    width: 100%;
    flex: none;
    border-bottom: 0.5px solid var(--color-Pink_darkgray, #262121);
    border-right: 0;
  }
  .mypage_wrap .mypage_summary .mypage_summary_cards li span:after {
    width: 22rem;
    height: 24rem;
    background-size: auto 9.6rem;
  }
  .mypage_wrap .mypage_summary .mypage_summary_cards li strong {
    margin-top: 6rem;
    font-size: 28rem;
    letter-spacing: -0.56rem;
  }
  .mypage_wrap .mypage_section {
    flex-direction: column;
    padding: 20rem 0 0;
  }
  .mypage_wrap .mypage_section .tit_s06_wrap {
    margin-bottom: 32rem;
  }
  .mypage_wrap .mypage_section .mypage_menu {
    width: 100%;
    gap: 0;
    flex-direction: column;
  }
  .mypage_wrap .mypage_section .mypage_menu li {
    padding: 20rem 16rem;
    gap: 0;
    flex-direction: column;
    border-bottom: 6rem solid #F7F4F5;
    box-sizing: border-box;
  }
  .mypage_wrap .mypage_section .mypage_menu li strong {
    margin-bottom: 18rem;
  }
  .mypage_wrap .mypage_section .mypage_menu li a {
    font-size: 18rem;
    letter-spacing: -0.36rem;
    padding: 7.5rem 0;
  }
  .mypage_wrap .mypage_section .mypage_reservation_list {
    display: none;
  }
  /* 정보 수정 */
  .modify_wrap {
    max-width: 100%;
  }
  .modify_wrap .input_with_btn .input_btn_wrap {
    flex-direction: column;
  }
  /* ===== 회원 탈퇴 ===== */
  .withdraw .tit_s03_wrap {
    margin: 40rem 0 16rem;
  }
  .withdraw .result_box {
    margin-top: 40rem;
  }
  .withdraw .custom_select {
    max-width: 220rem;
  }
  .withdraw .check_box {
    margin-top: 16rem;
  }
  .withdraw .field_tit {
    width: 100%;
    margin-right: 0;
    transform: unset;
    padding: 6rem 0;
  }
  .withdraw .form_type01 > .form_type01_in > li {
    flex-wrap: wrap;
  }
  /* ===== Q&A 내역 ===== */
  .qna_wrap .tap_type01 {
    margin-bottom: 20rem;
  }
  .qna_wrap .btn_two_wrap {
    margin-top: 40rem;
    gap: 10rem;
    flex-direction: unset;
  }
  .qna_wrap .btn_two_wrap .btn_type03 {
    min-width: auto;
    max-width: 228rem;
  }
  #header.nav-up + #container .points_top {
    top: 56rem;
  }
}/*# sourceMappingURL=member.css.map */