/* ===============================
   00-1) INVOICE RIGHT BLOCK 강제 초기화 (GLOBAL OVERRIDE)
   - 인보이스 오른쪽 영역 카드/쉐도우/테두리 제거
   - 버튼/인풋은 예외 처리(Confirm 테두리 유지)
   - ⚠️ 인보이스 관련 CSS 중 가장 위에 위치
   =============================== */

/* 오른쪽 블록 “비버튼 요소”만 초기화 (핵폭탄(*) 제거 버전) */
.invoice-pay-page-grid_item.right-block,
.invoice-pay-page-grid_item.right-block *:not(button):not(input):not(textarea):not(select) {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Confirm 버튼(및 결제 버튼들) 테두리/배경 복구 */
.invoice-pay-page-grid_item.right-block button,
.invoice-pay-page-grid_item.right-block .button,
.invoice-pay-page-grid_item.right-block input[type="button"],
.invoice-pay-page-grid_item.right-block input[type="submit"]{
  background: #fff !important;
  border: 1px solid #000 !important;
  box-shadow: none !important;
  color: #000 !important;
}

.invoice-pay-page-grid_item.right-block button:hover,
.invoice-pay-page-grid_item.right-block .button:hover,
.invoice-pay-page-grid_item.right-block input[type="button"]:hover,
.invoice-pay-page-grid_item.right-block input[type="submit"]:hover{
  border: 1px solid #000 !important;
}





/* ===============================
   00-2) INVOICE PAY 안내 문구 (pay 페이지에서만)
   - 클래스 흔들려도 안 사라지게 셀렉터 2개로 잡음
   =============================== */

.page-content.page-invoice-pay.invoice-pay::before,
.page-invoice-pay.invoice-pay::before {
  content: "입금 완료 후 등록이 확정됩니다.\A카카오뱅크 3333-16-1899718 노여진";
  white-space: pre-line;
  display: block;
  width: 100%;
  text-align: center;
  margin-top: 30px;
  margin-bottom: 16px;
  line-height: 1.6;
}

/* 다음 페이지에서는 숨김 */

.page-content.page-invoice-pay.invoice-return::before,
.page-content.page-invoice-pay.payment-received::before,
.page-invoice-pay.invoice-return::before,
.page-invoice-pay.payment-received::before {
  content: none !important;
  display: none !important;
}



/* ===============================
   00-3) "확인하기" 버튼이 사라진 뒤에만 중앙 안내 문구
   - page--online_meeting 화면에서
   - #sb_pay_btn(확인하기 버튼) 또는 invoice 결제 버튼이 없을 때만 노출
   - ⚠️ body::before 사용 금지(모달 딤과 충돌) → body::after 사용
   =============================== */

body.page--online_meeting::after{
  content: "멤버십 발급이 완료되었습니다.\AMemberships > My Pass에서 확인하실 수 있습니다.";
  white-space: pre-line !important;

  position: fixed !important;
  left: 50% !important;
  top: 20% !important;
  transform: translate(-50%, -50%) !important;

  width: min(640px, 90vw) !important;
  text-align: center !important;

  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #000 !important;

  z-index: 2147483647 !important;
  pointer-events: none !important;
  display: block !important;
}

/* ✅ "확인하기" 버튼(또는 인보이스 결제 버튼)이 있는 동안은 숨김 */
body.page--online_meeting:has(#sb_pay_btn)::after,
body.page--online_meeting:has(#sb_invoice_payment_buttons_container input[type="submit"])::after,
body.page--online_meeting:has(#sb_invoice_payment_buttons_container button)::after{
  content: none !important;
  display: none !important;
}

/* ✅ 메뉴/모달 열려있으면 안내문구 숨김 (겹침 방지) */
body.hasModal.page--online_meeting::after{
  content: none !important;
  display: none !important;
}






/* =========================================================
   GTBT YOGA / SimplyBook CSS (Clean)
   - 중복 제거
   - 기능 깨는 display:none(폼/약관 관련) 일단 제외
   ========================================================= */



/* ===============================
   1) HEADER: 로고 숨기기
   =============================== */
.header__logo,
.header__logo-wrapper,
.header__logo-image {
  display: none !important;
}


/* ===============================
   2) FOOTER: 심플리북 기본 푸터 숨기기
   =============================== */
.footer,
.footer-copyright,
#footer,
#footer a {
  display: none !important;
}

/* 모바일 하단 여백 보정 */
@media (max-width: 768px) {
  body { padding-bottom: 48px; }
}


/* ===============================
   3) 예약 단계: 뒤로가기(< Back) 버튼
   =============================== */
#sb_back_button a,
#sb_back_button a span,
#sb_back_button a i {
  color: #000000 !important;
  transition: transform 0.15s ease;
}
#sb_back_button a:hover {
  transform: translateX(-2px);
}


/* ===============================
   4) CONTACT: 링크 컬러 통일
   =============================== */
#sb_content #contacts a,
#sb_content section.contacts-us a {
  color: #4aa3df !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  line-height: 1.6 !important;
  display: inline-block !important;
}
#sb_content #contacts a:hover,
#sb_content section.contacts-us a:hover {
  color: #1f5fa0 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* CONTACT > INSTAGRAM: 아이콘/박스 제거 + @gtbtyoga 텍스트로 대체 */
#sb_content #contacts a[href*="instagram.com"],
#sb_content #contacts a[href*="instagr.am"],
#sb_content section.contacts-us a[href*="instagram.com"],
#sb_content section.contacts-us a[href*="instagr.am"] {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

/* 인스타 링크 내부 요소 숨김(안전하게 직계만) */
#sb_content #contacts a[href*="instagram.com"] > *,
#sb_content #contacts a[href*="instagr.am"] > *,
#sb_content section.contacts-us a[href*="instagram.com"] > *,
#sb_content section.contacts-us a[href*="instagr.am"] > * {
  display: none !important;
}

/* 인스타 텍스트 강제 표기 */
#sb_content #contacts a[href*="instagram.com"]::before,
#sb_content #contacts a[href*="instagr.am"]::before,
#sb_content section.contacts-us a[href*="instagram.com"]::before,
#sb_content section.contacts-us a[href*="instagr.am"]::before {
  content: "@gtbtyoga" !important;
  color: inherit !important;
  font: inherit !important;
  line-height: 1.6 !important;
}

/* 혹시 after로 아이콘 쓰는 테마 대비 */
#sb_content #contacts a[href*="instagram.com"]::after,
#sb_content #contacts a[href*="instagr.am"]::after,
#sb_content section.contacts-us a[href*="instagram.com"]::after,
#sb_content section.contacts-us a[href*="instagr.am"]::after {
  content: none !important;
}




/* ===============================
   5) Opening Hours: 전부 블랙
   =============================== */
#sb_content .schedule table tr td.day,
#sb_content .schedule table tr td.time,
#sb_content .schedule table tr.day-off td.day,
#sb_content .schedule table tr.day-off td.time {
  color: #000000 !important;
  font-weight: 400 !important;
}



/* ===============================
   6) Holiday / Required: 빨강(살짝 진하게)
   =============================== */
#sb_content .calendar .weeks-name .name.is-holiday {
  color: #e13f3f !important;
  font-weight: 500;
}
#sb_content .control-label.required::after {
  color: #e13f3f !important;
  font-weight: 500;
}


/* ===============================
   7) FONT: 전체 폰트(아이콘 제외)
   =============================== */
#sb_content {
  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    -apple-system,
    BlinkMacSystemFont,
    "Apple SD Gothic Neo",
    "Noto Sans KR",
    sans-serif !important;
}
#sb_content *:not(i):not(i *):not(svg):not(svg *):not([class^="fa"]):not([class*=" fa"]):not([class^="icon-"]):not([class*=" icon-"]) {
  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    -apple-system,
    BlinkMacSystemFont,
    "Apple SD Gothic Neo",
    "Noto Sans KR",
    sans-serif !important;
} 

/* ===============================
   7-1) FONT: 취소정책 팝업 전용 폰트 적용
   - 아이콘/닫기(X) 제외
   =============================== */

/* 팝업 컨테이너 기준 */
.modal-dialog.license-modal {
  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    -apple-system,
    BlinkMacSystemFont,
    "Apple SD Gothic Neo",
    "Noto Sans KR",
    sans-serif !important;
}

/* 팝업 내부 텍스트만 적용 (아이콘 + 닫기 버튼 제외) */
.modal-dialog.license-modal
*:not(i):not(i *)
:not(svg):not(svg *)
:not([class^="fa"]):not([class*=" fa"])
:not([class^="icon-"]):not([class*=" icon-"])
:not(.close):not(.close *)
:not([data-dismiss="modal"]):not([data-dismiss="modal"] *) {
  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    -apple-system,
    BlinkMacSystemFont,
    "Apple SD Gothic Neo",
    "Noto Sans KR",
    sans-serif !important;
}

/* 닫기(X) 버튼은 원래 폰트/아이콘 규칙 유지 */
.modal-dialog.license-modal .close,
.modal-dialog.license-modal .close::before,
.modal-dialog.license-modal .close::after,
.modal-dialog.license-modal [data-dismiss="modal"],
.modal-dialog.license-modal [data-dismiss="modal"]::before,
.modal-dialog.license-modal [data-dismiss="modal"]::after {
  font-family: inherit !important;
}

/* 팝업 제목 두께 */
.modal-dialog.license-modal .modal-title {
  font-weight: 600 !important;
}


/* ===============================
   7-2) FONT: 메인 Book Now 버튼 헬베티카 적용
   - 히어로 영역 상단 Book Now 전용
   =============================== */
#sb_main .btn.book_btn,
#sb_main a.btn.book_btn,
#sb_main .btn-bar .btn,
#sb_main .btn-bar a.btn {
  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    -apple-system,
    BlinkMacSystemFont,
    "Apple SD Gothic Neo",
    "Noto Sans KR",
    sans-serif !important;
  font-weight: 400 !important;
}






/* ===============================
   8) UI: 스크롤 탑 버튼 숨김
   =============================== */
#sb_scroll_top_btn {
  display: none !important;
}


/* ===============================
   9) CALENDAR: 전부 각지게 + hover 확대
   - 날짜 셀
   - 이전/다음 달 버튼(Prev / Next)
   =============================== */

/* 날짜 셀 기본 */
#sb_content .calendar .weeks-date .date,
#sb_content .calendar .weeks-date .date.selected {
  border-radius: 0 !important;
}

/* 날짜 셀 hover */
#sb_content .calendar .weeks-date .date {
  border: 1px solid transparent !important;
  transition: transform 0.15s ease, font-weight 0.15s ease;
}

#sb_content .calendar .weeks-date .date:hover {
  background: transparent !important;
  color: inherit !important;
  transform: scale(1.1);
  font-weight: 600;
}

/* 선택 불가 날짜 hover 차단 */
#sb_content .calendar .weeks-date .day-off,
#sb_content .calendar .weeks-date .day-off:hover {
  transform: none !important;
  font-weight: 400 !important;
}

/* 선택된 날짜 */
#sb_content .calendar .weeks-date .date.selected {
  background: #000 !important;
  color: #fff !important;
  border: 1px solid #000 !important;
  transform: none !important;
  font-weight: 600;
}

/* 이전 / 다음 달 버튼 각지게 */
#sb_content #sb_dateview_container .header button,
#sb_content #sb_dateview_container .header a,
#sb_content #sb_prev_month,
#sb_content #sb_next_month,
#sb_content #sb_prev_month button,
#sb_content #sb_next_month button {
  border-radius: 0 !important;
  box-shadow: none !important;
}



/* ===============================
   10) TIME SLOTS: 각지게
   =============================== */
#sb_time_slots_container .sb-cell,
#sb_time_slots_container .sb-cell.free,
#sb_time_slots_container .sb-cell.busy,
#sb_time_slots_container .sb-cell.selected {
  border-radius: 0 !important;
}


/* ===============================
   11) BUTTONS: 흰 배경 + 검정 테두리 (hover 반전)
   =============================== */
.btn,
a.btn,
button.btn {
  background-color: #fff !important;
  color: #000 !important;
  border: 1px solid #000 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.btn:hover,
a.btn:hover,
button.btn:hover {
  background-color: #000 !important;
  color: #fff !important;
}
.btn:active,
a.btn:active,
button.btn:active {
  opacity: 0.85;
}


/* ===============================
   12) BOXES/MODAL: 전부 각지게
   =============================== */
.item.booking-item,
.current-booking-info,
.booking-result-view .item,
.modal,
.modal-content,
.modal-dialog {
  border-radius: 0 !important;
}










/* ===============================
   13) 햄버거 메뉴 버튼(투명 + 미세 반응)
   =============================== */
button.btn.header__menu-trigger.nav-trigger{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  transition: opacity .15s ease, transform .15s ease !important;
}
button.btn.header__menu-trigger.nav-trigger:hover{
  opacity: .6 !important;
  transform: scale(1.08) !important;
}
button.btn.header__menu-trigger.nav-trigger:active{
  opacity: .55 !important;
  transform: scale(0.98) !important;
}
button.btn.header__menu-trigger.nav-trigger:focus-visible{
  outline: 1px solid rgba(0,0,0,.25) !important;
  outline-offset: 4px !important;
  border-radius: 6px !important;
}
button.btn.header__menu-trigger.nav-trigger span,
button.btn.header__menu-trigger.nav-trigger i,
button.btn.header__menu-trigger.nav-trigger svg{
  color: #000 !important;
  fill: #000 !important;
}


/* ===============================
   14) 예약 완료 페이지: Cancel / Add to calendar 버튼 블랙
   =============================== */
.current-booking-info .booking-btns .btn.sb_cancel_btn,
.current-booking-info .booking-btns .btn.sb_add_to_cal {
  background-color: #000 !important;
  color: #fff !important;
  border: 1px solid #000 !important;
}
.current-booking-info .booking-btns .btn.sb_cancel_btn i,
.current-booking-info .booking-btns .btn.sb_cancel_btn svg,
.current-booking-info .booking-btns .btn.sb_add_to_cal i,
.current-booking-info .booking-btns .btn.sb_add_to_cal svg {
  color: #fff !important;
  fill: #fff !important;
}
.current-booking-info .booking-btns .btn.sb_cancel_btn:hover,
.current-booking-info .booking-btns .btn.sb_add_to_cal:hover {
  opacity: 0.9;
}


/* ===============================
   15) Add to calendar 팝업: Yahoo/Outlook 숨김
   =============================== */
a.btn.calendar-popup__btn.yahoo,
a.btn.calendar-popup__btn.outlook,
a.btn.calendar-popup__btn.outlook-com {
  display: none !important;
}
ul.buttons.calendar-popup li:has(a.btn.calendar-popup__btn.yahoo),
ul.buttons.calendar-popup li:has(a.btn.calendar-popup__btn.outlook),
ul.buttons.calendar-popup li:has(a.btn.calendar-popup__btn.outlook-com) {
  display: none !important;
}


/* ===============================
   16) 예약 상세: DATE/PROVIDER 라벨 텍스트만 숨김
   =============================== */
.current-booking-info .label .txt,
.current-booking-info .label span:not(i):not(svg) {
  font-size: 0 !important;
  line-height: 0 !important;
}
.current-booking-info .label {
  width: 40px !important;
  padding-right: 10px !important;
  overflow: visible !important;
  white-space: nowrap !important;
}
.current-booking-info td.info {
  padding-left: 10px !important;
}


/* ===============================
   17) 예약 목록: Booking code / End at 숨김
   =============================== */
.booking-overview tr.booking-info--item_code,
.booking-overview tr.booking-info--item_end-date {
  display: none !important;
}


/* ===============================
   18) 멤버십 카드: 일부 요소 숨김(디자인용)
   - 이 부분이 약관과 충돌하면 여기부터 의심
   =============================== */
.membership-service__list,
.membership-service__list-item,
.membership-service__list-header,
button.item__read-more,
.item__read-more,
.start-date-btn-wrapper,
.start-date,
.start-date-btn,
.membership-step .item_purchased,
.membership-step .item_purchased .membership_label-wrapper,
.membership-step .item_purchased .purchased,
.membership-step .purchased,
.membership-step .item_purchased:before,
#sb_membership_filter_container,
.sb_membership_filter_container,
.membership-filters,
.filter-list,
.filter-header {
  display: none !important;
}



/* ===============================
   19) Alert info 박스 투명
   =============================== */
.alert.alert-info {
  background-color: transparent !important;
  border: none !important;
  color: #000 !important;
}


/* ===============================
   20) 로그아웃 버튼 블랙
   =============================== */
#sb_sign_out_btn {
  background-color: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}
#sb_sign_out_btn:hover {
  background-color: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}


/* ===============================
   21) 헤더/프로필 아바타 숨김
   =============================== */
#sb_client_info,
#sb_client_info_item,
button.avatar_btn,
picture.avatar,
picture.avatar img,
#client-profile-preview .avatar,
#client-profile-preview .avatar img {
  display: none !important;
}




/* ===============================
   22) 마케팅 수신(프로모션) 체크만 숨김
   - 취소정책/약관이 아니라 "프로모션 수신"임
   =============================== */
#sb_terms_and_conditions .form-group--promotion-letter {
  display: none !important;
}



/* ===============================
   23) Our time 타임존 표시 숨김
   - Confirm details 상단에 노출되는
     'Our time: Asia/Seoul' 문구 제거
   =============================== */
#sb_booking_company_time,
.timezone-panel,
#sb_content .timezone-panel,
#sb_content #sb_booking_company_time {
  display: none !important;
}

/* (선택) 타임존 제거 후 남는 여백 정리 */
#sb_booking_company_time + * {
  margin-top: 0 !important;
}



/* ===============================
   24) 비밀번호 재설정 완료 문구 컬러 블랙
   - "비밀번호 재설정 메일을 보냈습니다." 안내 문구
   - 기본 success(초록색) → 블랙으로 통일
   =============================== */
.has-success .help-block,
.has-success p.help-block,
#sb_sign_in_form .has-success .help-block {
  color: #000000 !important;
}



/* ===============================
   25) 로그인 입력창 파란 배경 제거 (자동완성/저장값)
   - Chrome autofill 하늘색/파란색 배경 제거
   =============================== */

/* 기본 */
#sb_sign_in_form input.form-control {
  background-color: #ffffff !important;
  box-shadow: none !important;
}

/* Chrome Autofill 색 제거 */
#sb_sign_in_form input.form-control:-webkit-autofill,
#sb_sign_in_form input.form-control:-webkit-autofill:hover,
#sb_sign_in_form input.form-control:-webkit-autofill:focus,
#sb_sign_in_form input.form-control:-webkit-autofill:active {
  -webkit-text-fill-color: #000000 !important;
  -webkit-box-shadow: 0 0 0px 1000px #ffffff inset !important;
  box-shadow: 0 0 0px 1000px #ffffff inset !important;
  transition: background-color 9999s ease-out 0s !important;
}

/* (선택) 포커스는 보더만 블랙 */
#sb_sign_in_form input.form-control:focus {
  border-color: #000000 !important;
  outline: none !important;
  box-shadow: none !important;
}



/* ===============================
   26) 로그인 정보 저장 체크박스 커스텀
   - 테마 기본 체크박스 제거
   - 블랙 라인 체크박스로 통일
   =============================== */

/* 로그인 정보 저장 옆 괄호 텍스트 제거 */
label.control-label[for="sb_remember"] .remember-me__small-text {
  display: none !important;
}

/* 체크박스 영역 정렬 */
.form-group.remember-me .custom-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* 실제 input은 클릭만 받게 숨김 */
.form-group.remember-me .custom-checkbox input#sb_remember {
  position: absolute;
  opacity: 0;
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
}

/* 화면에 보이는 박스(가짜 체크박스) → 블랙 라인 */
.form-group.remember-me .custom-checkbox .custom-label {
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  background: #fff;
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  cursor: pointer;
}

/* 체크됐을 때 블랙 체크 표시 */
.form-group.remember-me
.custom-checkbox
input#sb_remember:checked + .custom-label::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 5px;
  width: 4px;
  height: 8px;
  border: solid #000;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}

/* 이상한 배경/그림자/라운드 싹 제거 */
.form-group.remember-me .custom-checkbox .custom-label,
.form-group.remember-me .custom-checkbox .custom-label::before,
.form-group.remember-me .custom-checkbox .custom-label::after {
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* ===============================
   27) 성공 알림(alert-success) 컬러 중립화
   - 기본 초록색 성공 알림 제거
   - GTBT 톤에 맞게 중립 색상으로 통일
   =============================== */

#sb_content .alert-success {
  background-color: #f5f5f5 !important;
  color: #000000 !important;
  border: none !important;
}







/* =========================================
   28) INVOICE / PAY (page-invoice-pay 전용)
   - Confirm 버튼만 남기고 중앙 정렬
   - 메뉴(햄버거) 열릴 때 Confirm 버튼 숨김
   ========================================= */

/* ✅ 이 페이지에서만 적용 */
.page-invoice-pay {

  /* 왼쪽 블록 제거 */
  .invoice-pay-page-grid_item.left-block,
  .invoice-pay-page-grid-item.left-block{
    display: none !important;
  }

  /* 상단 안내/알림 숨김 */
  #sb_invoice_notification,
  #sb_telegram_notification_container,
  .custom-title{
    display: none !important;
  }

  /* Order summary / 헤더 숨김 */
  .right-block--header,
  .invoice-info{
    display: none !important;
  }

  /* 가격/합계 숨김 */
  .table-responsive,
  .invoice-total-prices,
  .invoice-amounts-wrapper,
  .invoice-amounts-total{
    display: none !important;
  }

  /* Confirm 영역만 표시 */
  .right-block--body{
    display: none !important;
  }
  .right-block--footer{
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* 상단 Invoices 뒤로가기 제거 */
.invoice-return_to-invoices-list,
a[href*="invoice/list"]{
  display: none !important;
}

/* Print invoice 버튼 제거 */
.invoice-return a.btn-print,
.invoice-return a[href*="invoice/print"],
.invoice-return .btn-print{
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* ===============================
   28-1) INVOICE PAY - Confirm 버튼 레이어 고정
   - 메뉴/오버레이보다 항상 아래
   - 메뉴 열릴 때 버튼이 위로 튀는 문제 방지
   =============================== */

/* pay 페이지 전체를 기본 레이어로 고정 */
.page-invoice-pay,
.page-invoice-pay * {
  position: relative;
  z-index: 1;
}

/* Confirm 버튼 컨테이너 확실히 아래로 */
.page-invoice-pay #sb_invoice_payment_buttons_container,
.page-invoice-pay .btn-bar,
.page-invoice-pay #sb_pay_btn {
  position: relative !important;
  z-index: 1 !important;
}

/* 메뉴는 무조건 위 (이미 있지만 안전빵) */
#sb_menu_list_items_container,
.header_navigation.nav {
  z-index: 1000000 !important;
}






/* ===============================
   29) My Pass '이용 기간' 한 줄 정렬 (라벨 + 날짜)
   - '이용 기간:' 과 기간 날짜가 위아래로 떨어지는 현상 수정
   =============================== */

#sb_membership_list_container .date-item-period{
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
}

#sb_membership_list_container .date-item-period .date-item-title,
#sb_membership_list_container .date-item-period .date{
  display: inline !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* 혹시 아이콘 때문에 줄이 깨지면 같이 정리 */
#sb_membership_list_container .date-item-period i{
  flex: 0 0 auto !important;
}

/* Confirm 버튼 전체를 화면 가운데로 */
.page-invoice-pay 
.invoice-pay-page-grid_item.right-block {
  display: flex !important;
  justify-content: center !important;
}






/* ===============================
   30) Membership 카드 - '1 year' 텍스트만 제거
   - 아이콘(시계/캘린더)은 유지
   - My Pass / Available Pass 공통 적용
   - 날짜 범위(2026-01-01 ~)에는 영향 없음
   =============================== */

/* '1 year' 텍스트만 가진 span 숨김 */
.membership-step .date-item .date,
.membership-step .date-item span.date {
  display: none !important;
}



/* ===============================
   30) Membership 카드 - '1 year' 텍스트만 제거
   - 아이콘(시계/캘린더)은 유지
   - My Pass / Available Pass 공통 적용
   - 날짜 범위(2026-01-01 ~)에는 영향 없음
   =============================== */

/* '1 year' 텍스트만 가진 span 숨김 */
.membership-step .date-item .date,
.membership-step .date-item span.date {
  display: none !important;
}


/* 멤버십 설명 마지막 문단 아래 여백 제거 (가격 위 공백 제거) */
body.theme-creative
.membership-step
.item_description_short
p:last-of-type {
  margin-bottom: 2px !important;
}

body.theme-creative
.membership-step
.item_description_short
span {
  margin-top: 0 !important;
  padding-top: 0 !important;
}




/* ===============================
   31) Class Schedule - 시간 사이 '-' 제거 (Friday/Sunday 포함 확실 버전)
   - td.time 안에 span/div 등 어떤 구조가 있어도 전부 숨김
   - ::before로 시작 시간만 표시
   =============================== */

#sb_content .schedule table.overview tbody tr td.time{
  position: relative !important;
  white-space: nowrap !important;
}

/* ✅ 핵심: time 셀 내부 요소(스팬 등)까지 전부 숨김 */
#sb_content .schedule table.overview tbody tr:nth-child(2) td.time *,
#sb_content .schedule table.overview tbody tr:nth-child(4) td.time *,
#sb_content .schedule table.overview tbody tr:nth-child(5) td.time *,
#sb_content .schedule table.overview tbody tr:nth-child(7) td.time *{
  font-size: 0 !important;
}

/* ✅ time 셀 자체 텍스트도 혹시 남아있으면 같이 제거 */
#sb_content .schedule table.overview tbody tr:nth-child(2) td.time,
#sb_content .schedule table.overview tbody tr:nth-child(4) td.time,
#sb_content .schedule table.overview tbody tr:nth-child(5) td.time,
#sb_content .schedule table.overview tbody tr:nth-child(7) td.time{
  font-size: 0 !important;
}

/* ✅ 표시 텍스트 공통 스타일 */
#sb_content .schedule table.overview tbody tr:nth-child(2) td.time::before,
#sb_content .schedule table.overview tbody tr:nth-child(4) td.time::before,
#sb_content .schedule table.overview tbody tr:nth-child(5) td.time::before,
#sb_content .schedule table.overview tbody tr:nth-child(7) td.time::before{
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  color: #000 !important;
  white-space: nowrap !important;
}

/* 값 */
#sb_content .schedule table.overview tbody tr:nth-child(2) td.time::before{ content: "10:00" !important; }          /* Tue */
#sb_content .schedule table.overview tbody tr:nth-child(4) td.time::before{ content: "19:00" !important; }          /* Thu */
#sb_content .schedule table.overview tbody tr:nth-child(5) td.time::before{ content: "19:00" !important; }          /* Fri */
#sb_content .schedule table.overview tbody tr:nth-child(7) td.time::before{ content: "10:00 · 19:00" !important; }  /* Sun */



/* 숫자 줄 베이스라인 미세 보정 (필요하면 -1px / +1px 조절) */
#sb_content .schedule table.overview tbody tr:nth-child(2) td.time::before,
#sb_content .schedule table.overview tbody tr:nth-child(4) td.time::before,
#sb_content .schedule table.overview tbody tr:nth-child(5) td.time::before,
#sb_content .schedule table.overview tbody tr:nth-child(7) td.time::before{
  top: calc(50% + 1px) !important;
}


/* ===============================
   32) Header Navigation (TOP BAR)
   적용 위치:
   - 화면 상단 가로 네비게이션
   - Home / Memberships / My Bookings
   용도:
   - 상단 헤더 메뉴 폰트를 Helvetica로 통일
   =============================== */

#sb_main .header__navigation,
#sb_main .header__navigation a,
#sb_main .header__navigation-link,
#sb_main .header__navigation-item {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}


/* ===============================
   33) Header Navigation (SIDE MENU)
   적용 위치:
   - 햄버거 버튼 클릭 시 열리는 사이드 메뉴
   - 모바일 / 슬라이드 메뉴
   용도:
   - 사이드 메뉴 폰트를 Helvetica로 통일
   =============================== */

#sb_menu,
.sb-menu,
.sidebar-menu,
#sb_sidebar,
#sb_menu_container,
#sb_menu a,
#sb_sidebar a{
  font-family: "Helvetica Neue", Helvetica, Arial, -apple-system,
               BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR",
               sans-serif !important;
}

#sb_menu a,
#sb_sidebar a{
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}


/* ===============================
   34) MODAL 전체 폰트 통일
   - Cancel booking
   - Success (예약 완료)
   - 아이콘(X, 체크 아이콘) 제외
   =============================== */


/* ===============================
   [1] 공통: 모달 제목 / 본문 / 버튼
   =============================== */

/* 제목 */
.modal-dialog .modal-title,
.modal-dialog .title {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

/* 본문 텍스트 */
.modal-dialog .modal-body,
.modal-dialog .modal-body p,
.modal-dialog .modal-body span,
.modal-dialog .modal-body div {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

/* 버튼 텍스트 */
.modal-dialog button {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}


/* ===============================
   [2] Success 팝업 전용
   =============================== */

/* Success 타이틀 (Success 글자) */
.booking-status-popup
.subscribe-component-title,
.booking-status-popup
.title.booking-status.subscribe-component-title {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-weight: 600;
  letter-spacing: 0;
}

/* Success 설명 문구 */
.booking-status-popup
.subscribe-component-txt,
.booking-status-popup
.subscribe-component-txt p {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}


/* ===============================
   [3] 아이콘 보호 (닫기 X / 체크 아이콘)
   =============================== */

/* 닫기(X) */
.modal-dialog .close,
.modal-dialog button.close,
.modal-dialog [aria-label="Close"] {
  font-family: inherit !important;
}

/* Success 체크 아이콘 (원 안에 체크) */
.booking-status-popup svg,
.booking-status-popup svg * {
  font-family: initial !important;
}


/* ===============================
   35) 닫기(X) 버튼/아이콘 완전 제거 (프로필 + 에디트 프로필)
   - 빈 네모(□)까지 같이 제거
   =============================== */

/* 버튼 자체 제거 */
.modal-dialog button.close-full-info,
.modal-dialog .close,
.modal-dialog button.close,
.modal-dialog button[aria-label="Close"]{
  display: none !important;
}

/* 버튼 안 아이콘(i/span/svg)도 같이 제거 */
.modal-dialog button.close-full-info i,
.modal-dialog button.close-full-info span,
.modal-dialog button.close-full-info svg,
.modal-dialog .close i,
.modal-dialog .close span,
.modal-dialog .close svg,
.modal-dialog button[aria-label="Close"] i,
.modal-dialog button[aria-label="Close"] span,
.modal-dialog button[aria-label="Close"] svg{
  display: none !important;
}

/* 혹시 ::before/::after로 생기는 가짜 아이콘까지 제거 */
.modal-dialog button.close-full-info::before,
.modal-dialog button.close-full-info::after,
.modal-dialog .close::before,
.modal-dialog .close::after,
.modal-dialog button[aria-label="Close"]::before,
.modal-dialog button[aria-label="Close"]::after{
  content: "" !important;
  display: none !important;
}


/* 35-1) Profile(미리보기 카드)에서만 닫기 버튼 숨김 */
.modal-dialog.modal--client-profile button.close-full-info{
  display: none !important;
}

/* 35-2) Edit profile 모달: □ 방지 + × 표시 */
.modal-dialog button.close-full-info{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* 아이콘 폰트(i.fa-*)가 □ 만들면 숨김 */
.modal-dialog button.close-full-info i{
  display: none !important;
}

/* ×를 직접 찍기 */
.modal-dialog button.close-full-info::before{
  content: "×" !important;
  font-size: 22px !important;
  line-height: 1 !important;
  color: #000 !important;
  display: inline-block !important;
}


/* ===============================
   36) Profile/Edit profile 아바타(사람 아이콘) 제거
   =============================== */

/* Edit Profile 모달 안 기본 프로필 이미지 제거 */
.modal-dialog.modal--client-profile #client-profile-edit .avatar,
.modal-dialog.modal--client-profile #client-profile-edit .avatar img,
.modal-dialog.modal--client-profile #client-profile-edit .avatar svg{
  display: none !important;
}

/* 아바타 제거 후 위쪽 여백 정리 */
.modal-dialog.modal--client-profile #client-profile-edit{
  padding-top: 0 !important;
}

.modal-dialog.modal--client-profile #client-profile-edit .form-horizontal{
  margin-top: 0 !important;
}



/* ===============================
   37) Profile 모달 - Unsubscribe 텍스트 Helvetica Neue로 통일
   =============================== */

.modal-dialog.modal--client-profile 
input[type="checkbox"] + label{
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* 혹시 span으로 감싸져 있는 경우 대비 */
.modal-dialog.modal--client-profile 
input[type="checkbox"] + label span{
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}


/* ===============================
   38) INVOICE: Print invoice 버튼 제거
   - invoice / invoice-return / invoice-pay 등에서만 숨김
   =============================== */

/* 버튼 자체(가장 흔한 클래스) */
.page-invoice-pay .btn.btn--print,
.page-invoice-pay a.btn--print,
.page-invoice-pay a[href*="/invoice/print"],
.page-invoice-pay a[href*="invoice/print"],
.page-invoice-pay a[href*="/invoice/print/id/"],
.page-invoice-pay a[target="_blank"][href*="invoice/print"],

/* return 화면에도 같이(혹시 남아있을 때) */
.invoice-return .btn.btn--print,
.invoice-return a.btn--print,
.invoice-return a[href*="invoice/print"],
.invoice-return a[target="_blank"][href*="invoice/print"],

/* 레이아웃/컨테이너까지 같이 잡아서 빈공간 방지 */
.page-invoice-pay .invoice-buttons-container,
.page-invoice-pay .back-buttons-container,
.invoice-return .invoice-buttons-container,
.invoice-return .back-buttons-container{
  display: none !important;
}


