/* 리브레아뜨 회원 화면 — 상담예약 화면(contents.css .reservation-wrap) 스타일을 그대로 쓰고 폭·정렬만 조정
   원본: tools/member.css → import_site.py 가 site/assets/site/css/member-la.css 로 복사 */
.member-wrap .reservation { display: block; }
.member-wrap .reservation-steps { width: 100%; }
.member-wrap .reservation-steps > .inner-sm { max-width: 760px; margin: 0 auto; }
.member-wrap .reserve-contents { flex-direction: column; gap: 30px; }
.member-wrap .reserve-border { flex: 0 0 auto; width: 100%; }
.member-wrap .reserve-personal { flex-direction: column !important; gap: 30px !important; }
.member-wrap .reserve-personal .form,
.member-wrap .reserve-personal .guide-box { flex: 0 0 auto !important; width: 100% !important; margin: 0 !important; }
.member-wrap .reserve-personal .guide-box { padding: 30px 34px !important; }
.member-wrap .reserve-border { padding: 40px 56px !important; }
.member-wrap .reserve-personal .form-input input[readonly] { color: #999; }
.member-wrap .chklist { padding: 18px 0 0; display: flex; flex-direction: column; gap: 6px; }
.member-wrap .chklist .reserve-checker { color: #111; }
.member-wrap .m-agree li:first-child { padding: 0 0 8px; margin: 0 0 4px; border-bottom: 1px solid #e4e4e4; }
.member-wrap .m-agree li:first-child em { font-weight: 600; }
.member-wrap .m-terms { display: flex; gap: 18px; padding: 14px 0 26px; font-size: 13px; }
.member-wrap .m-terms a { color: #666; text-decoration: underline; text-underline-offset: 3px; }
.member-wrap .guide-box .dot-list { font-size: 13px; color: #555; line-height: 1.6; }
.member-wrap .m-err { min-height: 20px; margin: 16px 0 0; font-size: 13px; color: #ff2727; line-height: 1.5; }
.member-wrap .m-err:empty { margin: 0; min-height: 0; }
.member-wrap .reserve-btn-wrap { margin: 40px 0 0; }
.member-wrap .reserve-border .reserve-btn-wrap { margin: 30px 0 0; justify-content: flex-start; }
.member-wrap .reserve-form-btn { min-width: 220px; }
.member-wrap .reserve-form-btn.m-sub { background: #fff; color: #111; border: 1px solid #111; line-height: 53px; }
.member-wrap .busy .reserve-form-btn { opacity: .5; pointer-events: none; }
.member-wrap .m-links { display: flex; justify-content: center; align-items: center; gap: 16px; margin: 28px 0 0; font-size: 14px; color: #666; }
.member-wrap .m-links a { color: #111; }
.member-wrap .m-links a:hover { text-decoration: underline; text-underline-offset: 3px; }
.member-wrap .m-links > span:not(.m-q) { width: 1px; height: 12px; background: #ccc; }
.member-wrap .m-center { text-align: center; }
.member-wrap .m-contact { display: inline-flex; flex-direction: column; gap: 14px; text-align: left; font-size: 15px; }
.member-wrap .m-contact span { display: inline-block; width: 86px; color: #999; font-size: 13px; }
.member-wrap .m-contact a { color: #111; text-decoration: underline; text-underline-offset: 3px; }
/* 마이페이지 · 내 예약 */
.member-wrap .m-resv { border-top: 1px solid #111; }
.member-wrap .m-resv li { display: grid; grid-template-columns: 1.2fr 1.6fr auto; gap: 12px; align-items: center; padding: 18px 4px; border-bottom: 1px solid #e4e4e4; font-size: 14px; }
.member-wrap .m-resv .d b { font-weight: 600; margin-right: 6px; }
.member-wrap .m-resv .k { color: #555; }
.member-wrap .m-resv .s { font-size: 13px; padding: 3px 10px; border: 1px solid #ccc; border-radius: 999px; white-space: nowrap; }
.member-wrap .m-resv .s-confirmed { border-color: #111; background: #111; color: #fff; }
.member-wrap .m-resv .s-done { color: #999; }
.member-wrap .m-resv .s-canceled { color: #ff2727; border-color: #f3c3c3; }
.member-wrap .m-empty { padding: 30px 0; text-align: center; color: #999; font-size: 14px; border-top: 1px solid #111; border-bottom: 1px solid #e4e4e4; }
.member-wrap .m-note { font-size: 13px; color: #888; margin: 16px 0 24px; }
@media (width <= 640px) {
  .member-wrap .reserve-border { padding: 28px 22px !important; border-radius: 20px; }
  .member-wrap .reserve-personal .guide-box { padding: 24px 20px !important; }
  .member-wrap .reserve-form-btn { min-width: 0; width: 100%; }
  .member-wrap .reserve-btn-wrap { flex-direction: column; }
  .member-wrap .m-resv li { grid-template-columns: 1fr auto; }
  .member-wrap .m-resv .k { grid-column: 1 / 2; font-size: 13px; }
  .member-wrap .m-resv .s { grid-row: 1 / 3; grid-column: 2; }
  .member-wrap .m-contact span { width: 70px; }
}
.member-wrap .chklist .reserve-checker { flex-wrap: nowrap !important; }
.member-wrap .chklist .reserve-checker em { flex: 1; min-width: 0; line-height: 1.5; }
