/** Shopify CDN: Minification failed

Line 434:1 Expected "}" to go with "{"

**/
/* Login/Register */
.login .section__wrapper,
.register .section__wrapper,
.activate .section__wrapper,
.reset-password .section__wrapper {
  width: 100%;
  max-width: 50rem;
  padding: 60px 1.5rem !important;
  margin: 0 auto;
}

@media (max-width: 767.98px) {
  .register .section__wrapper {
    padding: 0px 1.5rem !important;
  }
}

.login p,
.register p,
.activate p,
.reset-password p {
  margin: 1.2rem 0 0;
}
.login .form-field + a,
.register .form-field + a,
.activate .form-field + a,
.reset-password .form-field + a {
  margin-top: 0.8rem;
}
.login form,
.register form,
.activate form,
.reset-password form {
  margin: 2.4rem 0 0;
}
.login form button,
.login form .btn--secondary,
.register form button,
.register form .btn--secondary,
.activate form button,
.activate form .btn--secondary,
.reset-password form button,
.reset-password form .btn--secondary {
  margin-top: 2.4rem;
}
.login form button + a,
.login form .btn--secondary + a,
.register form button + a,
.register form .btn--secondary + a,
.activate form button + a,
.activate form .btn--secondary + a,
.reset-password form button + a,
.reset-password form .btn--secondary + a {
  margin-top: 1.6rem;
}
.login form button + button,
.login form .btn--secondary + button,
.register form button + button,
.register form .btn--secondary + button,
.activate form button + button,
.activate form .btn--secondary + button,
.reset-password form button + button,
.reset-password form .btn--secondary + button {
  margin-top: 1.6rem;
}
@media (max-width: 767.98px) {
  .login form,
  .register form,
  .activate form,
  .reset-password form {
    margin-top: 2rem;
  }
  .login form button,
  .register form button,
  .activate form button,
  .reset-password form button {
    margin-top: 2rem;
  }
}

#customer_login_guest button {
  margin-top: 0;
}

#recover,
#recover + div {
  display: none;
}

#recover:target {
  display: block;
}

#recover:target + div {
  display: block;
}

#recover:target ~ #login,
#recover:target ~ #login + div {
  display: none;
}

#recover,
#login {
  scroll-margin-top: 20rem;
}

#recover {
  margin-bottom: 0;
}

.customer__header {
  margin-bottom: 4rem;
}
@media (max-width: 767.98px) {
  .customer__header {
    margin-bottom: 3.2rem;
  }
}
.customer__body {
  display: flex;
  gap: 3.2rem;
}
.customer__sidebar {
  flex: 0 0 32rem;
  align-self: self-start;
}
.customer__sidebar p {
  color: rgba(var(--color-subtext), var(--color-subtext-alpha, 1));
  margin: 0;
}
.customer__widget {
  padding: 2.4rem;
  background-color: rgb(var(--color-secondary-background));
}
.customer__content {
  flex: 1;
}
.customer .rich-text {
  margin-bottom: 2.4rem;
}
@media (max-width: 767.98px) {
  .customer .rich-text {
    margin-bottom: 1.2rem;
  }
}
@media (max-width: 1023.98px) {
  .customer__body {
    flex-direction: column;
  }
  .customer__sidebar {
    flex: 0 0 100%;
    min-width: 100%;
  }
}

/* Account */
/* Order */
.order-total-amount {
  margin-top: 2.4rem;
}
.order-total-amount li + li {
  margin-top: 0.8rem;
}

/* Address */
.addresses .section__wrapper {
  width: 100%;
  max-width: 79rem;
  padding: 0 1.5rem;
  margin: 0 auto;
}
.addresses [data-address] {
  padding: 2.4rem 3.2rem;
  margin-bottom: 2.4rem;
}
@media (max-width: 767.98px) {
  .addresses [data-address] {
    padding: 1.6rem;
    margin-bottom: 1.2rem;
  }
}
.addresses__edit-form {
  margin-top: 2.4rem;
  padding-top: 2.4rem;
  border-top: 1px solid rgba(var(--color-border), var(--color-border-alpha, 1));
}

.address-info__default-badge {
  margin-bottom: 0.4rem;
}
.address-info p {
  margin: 0;
}
.address-info button {
  padding: 0;
  height: auto;
  line-height: normal;
}

/* ========== REGISTER AGREEMENT — FINAL RESET (CLEAN) ========== */
/* 한 블록으로 크기/정렬/간격을 모두 일관화합니다. */

.customer.register .agreementbox{
  border-top: 1px solid #eee;
  margin-top: 24px;
  padding-top: 12px;
}

/* 한 줄 정렬 + 세로 가운데 */
.customer.register .agreementbox .agreement-item{
  display: flex !important;
  align-items: center !important;       /* baseline → center */
  gap: 8px !important;                  /* 체크박스-라벨-링크 간격 */
  margin: 10px 0 !important;
  line-height: 1.25 !important;
}

/* 체크박스: 간격 4px, 높이 미세보정 1px */
.customer.register .agreementbox .agreement-item input[type="checkbox"]{
  margin: 0 4px 0 0 !important;
  position: relative !important;
  top: -1px !important;                  /* 필요 시 0~2px로 조정 */
  vertical-align: middle !important;
  transform: none !important;
}

/* 라벨: 폰트 상속 + 한 줄 + (필수)와 텍스트 간격은 타이트하게 */
.customer.register .agreementbox .agreement-item label{
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;                  /* 텍스트 ↔ (필수) 사이 간격 */
  white-space: nowrap !important;       /* 항상 한 줄 */
  font: inherit !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  color: inherit !important;
}

.customer.register .agreementbox .agreement-item label .view-terms-inline{
  all: unset;                             /* 버튼 기본 스타일 제거 */
  font: inherit !important;               /* 라벨과 완전 동일 크기 */
  line-height: inherit !important;
  text-decoration: underline !important;
  color: inherit !important;
  cursor: pointer !important;
}

/* (필수)/(선택) 표기 통일 */
.customer.register .agreementbox .required{ color:#d32f2f !important; font-weight:600 !important; }
.customer.register .agreementbox .optional{ color:#666 !important; }
/* ========== /REGISTER AGREEMENT — FINAL RESET (CLEAN) ========== */

/* ===== 약관보기 버튼 오른쪽 정렬 ===== */
.customer.register .agreementbox .agreement-item {
  display: flex !important;
  justify-content: space-between !important; /* 왼쪽: 문장 / 오른쪽: 버튼 */
  align-items: center !important;
  gap: 8px !important;
}

.customer.register .agreementbox .agreement-item label {
  flex: 1 1 auto !important;
  text-align: left !important;
  white-space: nowrap !important;
}

.customer.register .agreementbox .agreement-item .terms-inline {
  flex-shrink: 0 !important;
  margin-left: auto !important; /* 오른쪽 끝으로 */
}

.customer.register .agreementbox .agreement-item .terms-inline {
  position: relative;
  top: -1px;
}

/* 약관보기를 라벨 '안'에 둘 때: 보라색 고정 */
.customer.register .agreementbox .agreement-item label .terms-inline .view-terms-inline{
  all: unset;                         /* 버튼 기본 스타일 제거 */
  font: inherit !important;
  line-height: inherit !important;
  color: #5f0080 !important;          /* ← 기본부터 컬리 퍼플 고정 */
  text-decoration: underline !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

/* === [Agree-All] 제목은 체크박스 옆 한 줄, 설명은 다음 줄 === */
.customer.register .agreementbox .agree-all{
  display:flex !important;
  align-items:flex-start !important;     /* 설명이 아래로 내려오도록 */
  gap:8px !important;
  margin:10px 0 !important;
  line-height:1.5 !important;
}

/* 체크박스: 다른 항목과 동일 정렬 */
.customer.register .agreementbox .agree-all input[type="checkbox"]{
  margin:0 4px 0 0 !important;
  position:relative !important;
  top:2px !important;                    /* 0~2px 사이에서 필요시 조정 */
}

/* 라벨은 블록: 첫 줄(제목) + 둘째 줄(설명) */
.customer.register .agreementbox .agree-all label{
  display:block !important;
  flex:1 1 auto !important;
  white-space:normal !important;         /* 설명 줄바꿈 허용 */
  margin:0 !important;
  font:inherit !important;               /* 아래 항목과 동일 폰트/크기 */
  line-height:1.5 !important;
  color:inherit !important;
}

/* ① 제목: 체크박스 옆 한 줄, '이용약관 동의'와 완전 동일 크기/두께 */
.customer.register .agreementbox .agree-all .agree-all__title{
  display:inline-block !important;       /* 같은 줄에 유지 */
  font:inherit !important;
  font-size:1.75rem !important;
  font-weight:700 !important;       
  line-height:1.5 !important;
}

/* ② 설명: 제목 아래 줄, 같은 들여쓰기(체크박스 오른쪽에 정렬) */
.customer.register .agreementbox .agree-all .agree-all__note{
  display:block !important;
  margin-top:4px !important;             /* 제목과 간격 */
  color:#777 !important;
  font-size:1rem !important;         /* 작은 회색 안내문 */
  line-height:1.5 !important;
  padding-left:0 !important;             /* 들여쓰기 제거(제목과 좌측 정렬 동일) */
}

/* ===== 모바일 전용 폰트 크기 축소 ===== */
@media (max-width: 480px) {
  .customer.register .agreementbox .agreement-item label {
    font-size: 1.2rem !important;      
    line-height: 1.4 !important;
  }

  .customer.register .agreementbox .agreement-item .view-terms-inline {
    font-size: 1.2rem !important;       /* 약관보기 버튼도 비율 맞춤 */
  }

  /* 체크박스 크기 축소 */
  .customer.register .agreementbox .agreement-item input[type="checkbox"] {
    width: 16px !important;             /* 기본 20~22px → 16px로 */
    height: 16px !important;
    transform: scale(0.9) !important;   /* 브라우저별 비율 보정 */
    margin-right: 4px !important;
    vertical-align: middle !important;
    top: 0px !important;
  }
  /* ===== 전체 동의합니다 전용 높이 보정 ===== */
.customer.register .agreementbox .agree-all input[type="checkbox"] {
  position: relative !important;
  top: 3px !important;
}

/* ---- [전용] 이용약관 약관보기 버튼: 링크처럼 작게 ---- */
.customer.register .agreementbox .agreement-item .terms-inline > button.btn-link-terms{
  all: unset !important;                 /* 버튼 스타일 전부 제거 */
  display: inline !important;
  font: inherit !important;              /* 라벨과 동일 크기/굵기 */
  line-height: inherit !important;
  color: #5f0080 !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  margin-left: 8px !important;
}

/* 혹시 남아있는 배경/보더/패딩 강제 제거(일부 테마가 또 입힘) */
.customer.register .agreementbox .agreement-item .terms-inline > button.btn-link-terms{
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* 포커스 표시 */
.customer.register .agreementbox .agreement-item .terms-inline > button.btn-link-terms:focus{
  outline: 2px solid #5f0080 !important;
  outline-offset: 2px;
}

/* ===== 이용약관 모달 사이즈 조정 ===== */
.terms-modal__dialog {
  width: min(95vw, 1100px);
  max-height: 85vh;
  padding: 28px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

/* 내부 iframe도 꽉 채우기 */
.terms-frame {
  width: 1200px;
  height: 75vh;
  border: none;
  border-radius: 8px;
  background: #fff;
}


/* Privacy 전용 모달 크기(토스와 동일 톤) */
#privacyModal .terms-modal__dialog{
  width: min(85vw, 900px) !important;
  max-height: 80vh !important;
  padding: 24px !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.25) !important;
}

/* 내부 스크롤 영역 */
#privacyModal .scroll-area{
  max-height: 70vh;
  overflow: auto;
}


/* 개인정보 수집 이용 동의 테이블 전체 가운데 정렬 */
.terms-table td,
.terms-table th {
  text-align: center !important;
  vertical-align: middle !important;
}