html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
ol,
ul,
li,
strong,
article,
aside,
figure,
figcaption,
nav,
footer,
header,
section {
  box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ol,
ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
}

select {
  text-align-last: center;
  font-size: 1.2rem;
  padding-top: 0;
  padding-left: 0;
  padding-bottom: 0;
  vertical-align: middle;
}

/* 체크박스 스타일 */
input[type='checkbox'] {
  display: none;
}

input[type='checkbox']:checked {
  background-color: #30bcf2; /* 체크박스 배경색 */
  border-color: #30bcf2;
}

input[type='checkbox']:checked::after {
  content: '✓';
  position: absolute;
  top: -0.1rem;
  left: 0.2rem;
  color: white;
  font-size: 1rem;
}

/* 혜택 적용 - 쿠폰할인, 적립금 input 테두리 */
input[type='text'] {
  border: none;
}

input[type='text'].input-field {
  border: 0;
  border-radius: 0;
}

/* 메인페이지 메인 상단 배너 */
.hero {
  width: 100%;
}

.hero .swiper-slide {
  display: flex;
  background: #f5f6f8;
}

.hero .swiper-slide a {
  display: block;
  width: 100%;
  height: 100%;
}

.hero .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 메인 스킨 배너 모양 */
.ad_bnr {
  display: block;
  margin: 0 auto;
}

.ad_bnr img {
  display: block;
  margin: 0 auto;
  min-height: 14rem;
}

.prod_ad_bnr {
  display: block;
  width: 100%;
}

.prod_ad_bnr img {
  display: block;
  margin: 0 auto;
}

.bnr_comment {
  font-size: 1.3rem;
  padding: 1.3rem 1.5rem 0;
}

.bnr_comment:first-of-type {
  padding-top: 1.5rem;
}

.login_bnr {
  width: 100%;
  max-width: 40rem;
  background: #fff;
  margin: 0 auto;
  box-sizing: border-box;
}

/* 전시 카테고리 이미지 설정*/
main.l-content > div.category-content > div.category-content__html > p:first-child > a > img {
  margin-top: 4rem;
}
.header--sub {
  border-bottom: unset;
}

.header {
  display: flex;
  flex: 0 0 auto; /* flex 줄바꿈 방지 */
  top: 3rem;
  position: sticky;
  min-height: 5rem;
}

.top-banner {
  position: sticky;
  top: 0;
  width: 100%;
  height: 3rem;
  background-color: #000;
  font-size: 1.2rem;
  line-height: 3rem;
  text-align: center;
  color: #fff;
  cursor: pointer;
  z-index: 7;
}

.category-nav-sign-in__link {
  position: absolute;
  top: 0.9rem;
  left: 1.5rem;
  width: 7.5rem;
  height: 3rem;
}

.category-nav-sign-in__link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.category-nav .header__title {
  margin-top: 0.5rem;
}

.header__title-wrapper .editor {
  font-size: 1.4rem;
  font-weight: bold;
}

.header__title {
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  user-select: none;
}

.header__title.header__title--main {
  margin-top: 1px;
}

.header__title.PRODUCT .header__title-wrapper * {
  font-size: 1.7rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  width: 65vw;
  margin: 0 auto;
}

.header__title-wrapper .editor {
  text-align: center;
}

.header__search-btn {
  position: absolute;
  top: 2.25rem;
  right: 5rem; /* 검색 버튼 위치 조정 부분 */
  width: 1.8rem;
  transform: translateY(-50%);
  z-index: 1;
}

.shopping-basket {
  background-image: url(https://storefront.cdn-nhncommerce.com/copy/mall-81019/hiddentagstore-6354/shopping-cart..png?9b241f591e978805580a) !important;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 2rem; /*장바구니 아이콘 크기 조정 부분*/
  height: 3rem; /*장바구니 아이콘 크기 조정 부분*/
  margin-bottom: 0.5rem;
}


.shopping-basket__count {
  width: 1.5rem;
  height: 1.5rem;
  font-size: 0.9rem;
}

.search-keyword-modal {
  padding-top: 4rem;
}

.search-keyword-modal .search-field {
  margin-right: 5%;
}

.search-keyword-modal__back-btn {
  width: 2rem;
  height: 2rem;
  padding-right: 0;
  margin-left: 5%;
  margin-top: 4%;
}

.header--sub .header__search-field {
  position: relative;
  padding: 0 5rem;
  margin-top: 0;
  z-index: 5;
}

.header--sub input {
  font-size: 1.8rem;
}

.search-keyword-modal .search-field__submit-btn .ico {
  width: 20px;
  height: 20px;
  background-image: url(https://storefront.cdn-nhncommerce.com/copy/mall-81019/hiddentagstore-6354/SearchBtn..png?80d0e3043f2cb97a9f3f);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/*검색 창 관련 CSS 스타일*/
.recent-keyword {
  border-radius: unset;
  border: 1px solid #c1c1c1;
  padding: 0 1.3rem 2.8rem;
}

.search-keyword-modal__top {
  width: 85%;
  border: 0.1rem solid #c1c1c1;
  margin: 10% auto 0;
  min-height: 5%;
  height: unset;
}

.search-keyword-modal .text-field input {
  font-size: 1.2rem;
  font-family: 'Pretendard', sans-serif;
  height: 3.6rem; /* 원하는 고정 높이 */
  line-height: 3.6rem; /* height와 동일하게 */
  padding: 0 1rem; /* 좌우만 padding, 상하는 제거 */
  box-sizing: border-box;
}

.search-field__clear-btn {
  display: none; /*여긴 정말 지우는 지 물어보기*/
}

.search-keyword-modal .recent-keyword {
  width: 85%;
  margin: 1rem auto 8rem;
}




.recent-keyword__top {
  border-bottom: 1px solid #c1c1c1;
}

.recent-keyword__top p {
  font-size: 1.3rem;
  font-weight: normal; /* 볼드 해제 */
}

.recent-keyword__top button {
  font-size: 1.3rem;
  color: #000;
}

.recent-keyword__content-empty::before {
  display: none;
}

.recent-keyword__content-empty p {
  color: #c1c1c1;
  font-size: 1.3rem;
}

/* 홈 버튼 */
a.header__home-btn {
  position: absolute;
  right: 8rem;
  width: 2.2rem;
}

/* 장바구니 페이지 홈 버튼 */
a.header__home-btn.cart {
  right: 2rem;
  height: 2.5rem;
  min-height: initial;
  background-color: transparent;
  line-height: 2rem;
}

.header__cart-btn {
  top: 2.4rem;
  right: 1.75rem;
  width: 2rem;
}

.header__cancel-btn {
  top: 2.25rem;
  right: 1rem;
  width: 3rem;
  height: 3rem;
}

.header__left-btn {
  width: 2rem;
  height: 2rem;

}

.header__left-btn img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.header--sub .header__left-btn,
.header--sub .header__cart-btn {
  top: 2.6rem;
}

/* 헤더 제품 상세 페이지 투명 헤더 */
.header.header--sub.header--detail {
  background-color: transparent;
  z-index: 10;
  left: 0;
  width: 100%;
  /*min-height: 0;*/
}

.header--detail .header__left-btn {
  top: 2.5rem;
}

.header--detail .header__search-btn {
  top: 2.5rem;
}

.header--detail .header__cart-btn {
  top: 2.5rem;
}

.header--detail .header__home-btn {
  top: 2.5rem;
  transform: translateY(-50%);
}

/* 헤더 카테고리 네비게이션 */
.nav {
  position: sticky;
  top: calc(8rem - 2px);
  width: 100%;
  min-height: 3.5rem;
  padding-left: 0.5rem;
  background-color: #fff;
  overflow: visible;
  z-index: 4;
}

.nav_sub {
  display: none;
  background-color: #fff;
  border-top: 1px solid #eee;
  padding: 0 1.6rem;
  overflow-x: auto;
  white-space: nowrap;
}

.nav_sub.active {
  display: block;
}

/* 하단 카테고리 버튼 클릭시 나오는 창 */
.category_header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  flex: 0 0 auto;
  min-height: 7rem;
  border-bottom: 1px solid #ccc;
  background-color: #fff;
  z-index: 1000;
}

.category-nav .header__left-btn {
  top: 50%;
  left: 1rem;
}

.category_header .header__title {
  margin: 0 auto;
}

.category_header .header__title a {
  display: flex;
  height: 100%;
  align-items: center;
}

.category_header .header__title a img {
  height: 2.6rem;
  width: auto;
}


/* 헤더 공통 버튼 스타일 - 모든 버튼을 중앙 정렬 */
.header {
  display: flex;
  align-items: center; /* 세로 중앙 정렬 */
  justify-content: space-between;
  position: sticky;
  top: 3rem;
  min-height: 5rem;
  padding: 0 1rem; /* 좌우 여백 추가 */
}

/* 좌측 버튼 영역 */
.header__left {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

/* 중앙 제목 영역 */
.header__center {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}

/* 우측 버튼 영역 */
.header__right {
  display: flex;
  align-items: center;
  gap: 1rem; /* 버튼 간격 */
  flex: 0 0 auto;
}

/* 모든 헤더 버튼 공통 스타일 */
.header__left-btn,
.header__search-btn,
.header__cart-btn,
.header__home-btn,
.header__cancel-btn {
  position: relative !important; /* absolute 제거 */
  top: auto !important; /* top 값 제거 */
  right: auto !important; /* right 값 제거 */
  left: auto !important; /* left 값 제거 */
  transform: none !important; /* transform 제거 */

  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  min-height: 2.2rem;
}

/* 기존 스타일 수정 */
.header__search-btn {
  width: 1.8rem;
  height: 1.8rem;
}

.header__cart-btn {
  width: 2rem;
  height: 2rem;
}

.header__cancel-btn {
  width: 3rem;
  height: 3rem;
}

.header__left-btn {
  width: 2rem;
  height: 2rem;
}

/* 장바구니 페이지 홈 버튼 */
a.header__home-btn.cart {
  height: 2.5rem;
  background-color: transparent;
}

/* 서브 헤더와 디테일 헤더에서도 동일한 정렬 적용 */
.header--sub,
.header--detail {
  align-items: center;
}

.header--detail {
  background-color: transparent;
  z-index: 10;
}

/* 헤더 제목 스타일 조정 */
.header__title {
  text-align: center;
  user-select: none;
  margin: 0; /* 기존 margin 제거 */
}

/* 메인 헤더에서 로고를 헤더 전체 중앙에 배치하는 방법 1: absolute positioning */
.header.header--main {
  position: relative; /* absolute 자식 요소의 기준점 */
}

.header__title.header__title--main {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin: 0; /* 기존 margin 제거 */
  z-index: 1; /* 다른 요소보다 위에 표시 */
}

/* 방법 1: 로고 이미지를 직접 absolute positioning */
.header__title.CATEGORY .header__logo-img {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 1;
  max-height: 3rem;
  width: auto;
}

/* 카테고리 네비게이션 헤더 */
.category_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1rem;
}

.category_header .header__left-btn {
  position: relative;
  top: auto;
  left: auto;
}

/* 메인 헤더의 경우 특별한 레이아웃 */
.category-nav-sign-in__link {
  position: absolute;
  top: 0.9rem;
  left: 1.5rem;
  width: 7.5rem;
  height: 3rem;
}

.category-nav .header__title {
  margin-top: 0;
}

.mainfooter {
  background-color: #000; /* 검정색 배경 */
  color: #fff; /* 흰색 글자 */
  font-family: 'Pretendard', sans-serif;
}

.mainfooter a,
.mainfooter p,
.mainfooter span,
.mainfooter em {
  color: #fff;
}

.mainfooter button {
  color: #eee;
}

.mainfooter .copyright {
  color: #fff;
  font-family: 'Pretendard', sans-serif !important;
  font-size: 1rem;
  font-weight: normal;
}

.footer {
  padding: 1rem 2rem 8rem;
}

.footer__nav {
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 3.5rem;
  /*text-align: center;*/
}

.footer__sns-icons {
  display: flex;
  gap: 0.3rem;
  margin-top: -2rem;
}
.footer__sns-icons img {
  width: 2rem;
  height: 2rem;
}

.footer__link + .footer__link {
  border-left: none;
}

.footer__link--bold {
  font-weight: bold;
}

.footer__link {
  font-size: 1rem;
  flex: 1;
  font-weight: bold;
  text-align: unset;
}

.footer__about {
  font-size: 1rem;
}

.footer__nav div {
  flex: 1;
  white-space: nowrap;
}

.title-modal--full {
  min-width: 0rem;
}

.title-modal--full .title-modal__content {
  min-width: 0;
  width: 100%;
}

@media (max-width: 375px) {
  .title-modal--full .title-modal__content {
    min-width: 0;
    width: 100vw;
  }
}

.title-modal--full .title-modal__content .title-modal__header {
  min-width: 0;
  width: 100%;
}

/* category 검색일 때만 margin-top 부여 */
body[data-product-mode='category'] .total-sort {
  margin-top: 3.8rem;
}

.page__content {
  width: 100%;
}

/* 카테고리 서브 네비게이션 */
.nav_sub__main {
  position: absolute;
  top: 3.5rem;
  left: 0;
  display: none;
  width: 100%;
  height: auto;
  background-color: #fff;
  border-top: 1px solid #ececec;
  padding: 0.5rem;
  z-index: 3;
}

.nav_sub__main.is-active {
  display: block;
}

.nav__link {
  flex: none;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 1rem 0.5rem;
  font-size: 1.2rem;
  line-height: 1.2rem;
}

.nav__link.is-active {
  color: #000;
}

.nav__link.is-active::after {
  background-color: transparent;
}

.category-callout__link--main {
  display: inline-block;
  flex: 0 0 auto;
  scroll-snap-align: start;
  font-size: 1.2rem;
  padding: 0.7rem;
  border-radius: 16px;
  white-space: nowrap;
  vertical-align: middle;
}

.category-callout__link--main.is-sub-active {
  padding: 0.5rem 1rem; /* 좌우만 조절 */
  height: 2.4rem; /* 고정 높이 설정 */
  line-height: 1.4rem; /* 텍스트 세로 중앙 정렬 */
  border-radius: 16px;
  background: #000;
  color: #5defff;
  display: inline-flex; /* flex로 변경 */
  align-items: center; /* 세로 중앙 정렬 */
  box-sizing: border-box;
}

/* 카테고리별 제품리스트 */
.breadcrumb {
  position: sticky;
  top: 12rem;
  z-index: 3;
  background: #fff;
}

/* 기본값은 없음 */
.total-sort {
  position: unset;
  /*top: 154px;
	z-index: 4;*/
  margin-top: unset;
  margin-bottom: 1rem;
  background: #fff;
  font-size: 1rem;
  padding: 0.25rem 1.2rem;
}

.total-sort__select-box {
  border: unset;
  color: #000;
  font-weight: bold;
  font-size: 1rem;
}

.total-sort .total-sort__count {
  font-size: 1rem;
}

.total-sort__count .highlight {
  margin-left: 0.3rem;   /* 왼쪽 여백 제거 */
  padding-left: 0;  /* 필요시 패딩도 제거 */
}

.select-box--sort select {
  height: 100%;
  padding: 0.5rem 0rem 0.5rem 1rem;
  text-align: center;
  line-height: 2rem;
  font-size: 1rem;
}

.total-sort .select-box--sort::before {
  display: none;
}

.fab-btn {
  width: 3rem;
  height: 3rem;
  transform: rotate(270deg);
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.4);
}

.fab-btn svg {
  width: 2.5rem;
}

.bottom-nav {
  bottom: 0;
}

.page .bottom-nav {
  max-width: 100%;
}

.bottom-nav__home {
  margin-top: 0;
}

.bottom-nav__icon {
  width: 1.4rem;
  height: 1.4rem;
  object-fit: contain;
}

.bottom-nav__link {
  font-size: 1rem;
}

.bottom-nav__label {
  font-size: 0.9rem;
  margin-bottom: 2rem;
}

.bottom-nav .bottom-nav__link.bottom-nav__link--category::before {
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(https://storefront.cdn-nhncommerce.com/copy/mall-81019/hiddentagstore-6354/hamburger..png?c3e3a1ce3972f6c4f479);
}

.bottom-nav__link--search::before {
  background-image: url(https://storefront.cdn-nhncommerce.com/copy/mall-81019/hiddentagstore-6354/search..png?80d0e3043f2cb97a9f3f);
}

.bottom-nav__link--north::before {
  background-image: url(https://storefront.cdn-nhncommerce.com/copy/mall-81019/hiddentagstore-6354/mypage..png?04a7fd6d552bc5b34c7d);
}

.bottom-nav__link--return::before {
  background-image: url(https://storefront.cdn-nhncommerce.com/copy/mall-81019/hiddentagstore-6354/return..png?a16db8a99e6fa9c03ca4);
}

.bottom-nav__link:not(:first-child)::before {
  width: 1.3rem;
  height: 1.3rem;
}

/* 상품상세페이지 홈버튼 */
.header__home-btn .bottom-nav__icon {
  width: 2.5rem;
  height: 2.5rem;
}

/* 회원정보 수정 전 비밀번호 검증 페이지 버튼 스타일 조정 */
.password-authentication__button-wrap .verification {
  background-color: black;
  color: white;
  border-radius: 0 !important;
  width: 42vw;
}
.password-authentication__button-wrap .cancel {
  border-radius: 0 !important;
  width: 42vw;
}

/* 카테고리 창 */
.offcanvas {
  max-width: 100%;
}
.page .offcanvas.is-active {
  z-index: 10;
  max-width: 100%;
}

.category_nav_header {
  background-color: #fff;
  padding: 0.5rem 1rem;
  margin-left: 1rem;
  margin-top: 9rem;
}

.category_nav_header .welcome_message {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  color: #888;
  gap: 0.6rem;

}

.category_nav_header .logout_btn {
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
  display: inline;
  color: #888;
}

.category_nav_header .divider {
  color: #ccc;
}

.category-accordion {
  background-color: #fff;
  padding: 1.6rem;
  /*font-family: sans-serif;*/
}

/* 토글 */
.accordion__title {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 4rem;
  padding: 1rem 1.5rem;
  /*font-size: 1.3rem;*/
  border-bottom: none;
}

.accordion__title:before {
  content: '';
  position: absolute;
  left: 5%;
  bottom: 0;
  width: 90%;
  height: 0.1rem;
  background-color: black;
}

.accordion__title::after {
  display: inline-block;
  top: 50%;
  right: 1.5rem;
  width: auto; /* 텍스트에 맞게 자동 조정 */
  /*height: auto; !* 텍스트에 맞게 자동 조정 *!*/
  background: none;
  transform: translateY(-50%); /* Y축 중앙 정렬만 유지 */
  /* 🔧 텍스트 스타일 추가 */
  font-size: 3rem;
  /*line-height: 0;*/
  font-weight: lighter;
  color: #9d9d9d;
  content: '+'; /* 🔧 + 텍스트로 변경 */
}

/* 🔧 열린 상태일 때 - 표시 */
.accordion__title[aria-expanded='true']::after,
.accordion.open .accordion__title::after,
details[open] .accordion__title::after {
  content: '-';
  right: 1.9rem;
  font-size: 3.5rem;
}

.accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.2rem 1.6rem; /* ← 좌우 16px 여백 추가 */
  cursor: pointer;
  font-weight: 500;
  font-size: 1.3rem;
  color: #111;
}

.accordion-item {
  border-bottom: 1px solid #eee;
  margin: 0 -1.6rem; /* 양쪽으로 확장하여 border를 꽉 채움 */
  padding: 0;
}

.accordion-icon {
  font-size: 1.8rem;
  line-height: 1;
  user-select: none;
}

.accordion-content {
  list-style: none;
  padding-left: 0;
  margin: 0.4rem 0 1.2rem;
}

.accordion-link {
  display: block;
  padding: 0.6rem 0 0.6rem 2rem;
  text-decoration: none;
  font-size: 1.2rem;
  color: #444;
}

.accordion-link:hover {
  color: #000;
  font-weight: 500;
}

.l-panel {
  box-shadow: none;
  border: none;
}

.l-content {
  width: 100%;
  min-height: unset;
}

.l-content .add_pd{
  padding-bottom: 1rem;
}

@media (max-width: 375px) {
  .title-modal--full .title-modal__content {
    min-width: 0;
    width: 100vw;
  }
}

@media (max-width: 369px) {
  .page__content {
    min-width: 100%;
  }
}

@media (min-width: 370px) and (max-width: 1000px) {
  .page__content {
    min-width: 100%;
    max-width: initial;
  }

  /* 제품 상세 하단 장바구니 및 구매하기 버튼 네비게이션 */
  .product-detail.purchase {
    max-width: 100%;
  }
}

.l-panel__sameAddress{
  margin-bottom: 1rem;
}


@media (min-width: 1000px) {
  .portal .modal {
    width: 500px;
  }

  .page .bottom-nav {
    max-width: 500px;
  }

  .page .offcanvas.is-active {
    max-width: 500px;
  }

  .page__content {
    max-width: 500px;
  }
}




/* 하단 카테고리 버튼 클릭시 나오는 창 내의 모달 팝업 */
.notice-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.notice-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5); /* 어두운 배경 */
}

.notice-modal__content {
  position: relative;
  z-index: 10000;
  background: white;
  padding: 2rem;
  border-radius: 8px;
  max-width: 90%;
  max-height: 90%;
  overflow: auto;
  box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.3);
  /* 타이포그래피 통일 */
  font-size: 1.1rem !important;
  line-height: 1.7 !important;
  letter-spacing: -0.02em !important;
  color: #333 !important;
}

.notice-modal__content img {
  max-width: 100%;
  height: auto;
}

.notice-modal__content button {
  margin-top: 1.6rem;
  padding: 0.8rem 1.6rem;
  background: #000;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

/* 모달 */
.portal {
  position: fixed;
  z-index: 15;
}

/*.portal .modal {*/
/*  width: calc(100% - 4rem);*/
/*  max-width: 50rem;*/
/*  margin: 0 auto;*/
/*}*/

.moda.full-modal.agreement {
  width: 100%;
}

.modal.full-modal {
  width: 100%;
}

.full-modal {
  max-width: 80rem;
  width: 100%;
}

.full-modal__container {
  max-width: 80rem;
  width: 90%;
}

.modal__btns {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;               /* 전체 폭 차지 */
  border-top: 1px solid #000;
}

.modal .modal__btns .btn {
  flex: 1;                   /* 버튼이 동일한 폭으로 반반 */
  padding: 1rem 0;
  text-align: center;
  border: none;
  background: #fff;
  font-size: 1.4rem;
  cursor: pointer;
}

/* 가운데 경계선 */
.modal .modal__btns .btn + .btn {
  border-left: 1px solid #000;
}




/* 헤더 내 검색 박스 */
.modal.search-keyword-modal {
  max-width: 50rem;
  min-width: 100%;
  min-height: 100vh;
}

.modal__box--alert,
.modal__box--confirm {
  max-width: 50rem;
}

.title-modal--full {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.title-modal--full .title-modal__content {
  min-width: 0;
  width: 100%;
}

.title-modal__header {
  position: relative;
}

.title-modal__header .title-modal__title {
  width: 70%;
  margin: 0 auto;
  font-size: 1.4rem;
  word-break: keep-all;
  text-align: center;
}

.title-modal__header .modal_close {
  position: absolute;
  right: 1rem;
}

.my-grade {
  min-width: initial;
}

.banner-notice-content {
  line-height: 1.7 !important;
  font-size: 1.1rem !important;
  letter-spacing: -0.02em !important;
  color: #333 !important;
}
.banner-notice-content h1,
.banner-notice-content h2,
.banner-notice-content h3 {
  margin-bottom: 1rem;
  color: #333;
  font-size: 1.2rem !important;
  line-height: 1.6 !important;
  letter-spacing: -0.01em !important;
  font-weight: 600 !important;
}
.banner-notice-content p {
  font-size: 1.1rem !important;
  line-height: 1.7 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 1.5rem;
}
.banner-notice-content img {
  max-width: 100%;
  height: auto;
}
.banner-notice-content a {
  color: #007bff;
  text-decoration: underline;
}

/* FullModal과 TitleModal 타이포그래피 통일 */
.full-modal .title-modal__content,
.title-modal__content,
.modal.full-modal {
  font-size: 1.1rem !important;
  line-height: 1.7 !important;
  letter-spacing: -0.02em !important;
  color: #333 !important;
}

/* 모달 내 모든 텍스트 요소 타이포그래피 통일 */
.full-modal p,
.full-modal div,
.full-modal span,
.title-modal__content p,
.title-modal__content div,
.title-modal__content span,
.modal.full-modal p,
.modal.full-modal div,
.modal.full-modal span {
  font-size: 1.1rem !important;
  line-height: 1.7 !important;
  letter-spacing: -0.02em !important;
  color: #333 !important;
}

/* 모달 내 제목 타이포그래피 */
.full-modal h1,
.full-modal h2,
.full-modal h3,
.title-modal__content h1,
.title-modal__content h2,
.title-modal__content h3,
.modal.full-modal h1,
.modal.full-modal h2,
.modal.full-modal h3 {
  font-size: 1.2rem !important;
  line-height: 1.6 !important;
  letter-spacing: -0.01em !important;
  font-weight: 600 !important;
  color: #333 !important;
  margin-bottom: 1.2rem !important;
}
/* 메인 상품 진열 관리 css */
.product-section {
    width: 100%;
    padding-top: 3rem;
    margin-top: 0;
}

.product-bnr {
    border-radius: 8px;
    display: block;
    width: 90%;
    height: auto;
    margin: 0 auto 1.25rem;
}

.product-bnr img {
    width: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.product-section .thumb-LIST {
    position: relative;
    max-width: 90%;
    padding: 0;
    margin: 0 auto;
}

.product-section .thumb-LIST .thumb-item__media {
    width: 14rem;
    height: 14rem;
    border-radius: 8px;
}

.product-section .thumb-LIST .thumb-item__info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0;
    margin-left: 1.2rem;
}

.product-section .thumb-LIST .thumb-item.MOBILE_WEB {
    margin-top: 0.75rem;
}

.product-section .thumb-LIST .product-thumb-title {
    padding: 0;
    margin: 0;
}

.product-section .thumb-LIST .product-thumb-title-product-name {
    display: -webkit-box;
    overflow: hidden;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.8rem;
    text-align: left;
    word-wrap: break-word;
    word-break: keep-all;
    white-space: normal;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    color: #565656;
}

.product-section__more {
    font-size: 1.2rem;
}

/* 가격 정보 전체 컨테이너 */
.product-thumb-price-info {
    margin-top: 0.8rem;
}

/* 할인율 + 할인가 라인 (첫 번째 줄) */
.product-thumb-discount-line {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.2rem;
}

.product-thumb-brand-name {
    font-size: 1rem;
    color: #000;
    font-weight: bold;
    margin-bottom: 0.1rem;
}

/* 할인율 - 빨간색 */
.product-thumb-discount-rate {
    font-size: 1.3rem;
    font-weight: bold;
    color: #ff4444;
}

/* 할인가 영역 */
.product-thumb-sale-price {
    display: flex;
    align-items: center;
}

/* 할인가 가격 - 굵고 크게 */
.product-thumb-price {
    font-size: 1.3rem;
    font-weight: bold;
    color: #333;
    font-style: normal;
}

/* 통화 단위 */
.product-thumb-unit {
    font-size: 1.3rem;
    color: #333;
    font-weight: bold;
    margin-left: 0.2rem;
}

/* 정가 라인 (두 번째 줄) */
.product-thumb-original-line {
    margin-top: 0.2rem;
}

/* 정가 - 회색 + 취소선 + 작은 폰트 */
.product-thumb-price-original {
    font-size: 1.1rem;
    color: #999;
    text-decoration: line-through;
}

/* 메인 브랜드 아이템 css */
.main-latest-brand {
    padding-top: 1.5rem;
}

.brand-banner-image {
    border-radius: 8px;
    display: block;
    width: 90%;
    height: auto;
    margin: 0 auto 1.25rem;
}

.latest-brand-product-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.latest-brand-product-list > li:not(:first-of-type) {
    margin-top: 0.75rem;
}

.product-list-item {
    width: 100%;
}

.product-inner {
    display: flex;
    align-items: center;
    margin: 0 auto;
    max-width: 90%;
    position: relative;
}

.product-thumbnail {
    width: 14rem;
    height: 14rem;
    margin-right: 1.2rem;
    background-color: #fff;
    flex-shrink: 0;
}

.product-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 8px;
}

.product-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #565656;
    height: fit-content;
    width: calc(100% - 17rem);
}

.product-brand {
    font-size: 1.2rem;
    color: #000;
    font-weight: bold;
    margin-bottom: 0.5rem;
}

.product-name {
    display: -webkit-box;
    overflow: hidden;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.8rem;
    text-align: left;
    word-break: keep-all;
    word-wrap: break-word;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.product-price {
    margin-top: 0.4rem;
    font-size: 1.6rem;
    color: #000;
}

.product-discount {
    color: red;
    font-weight: bold;
    margin-right: 0.5rem;
    font-size: 1.2rem;
}

.product-sale-price {
    font-weight: bold;
    font-size: 1.2rem;
}

.product-like-wrap {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 8rem;
}

.main-like-btn {
    width: 4rem;
    height: 4rem;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

.main-like-btn svg {
    fill: var(--default-color);
    transition: fill 0.2s ease;
}

.main-like-btn.is-active svg {
    fill: var(--point-color);
}

.main-latest-brand .sticker_wrap,
.product-section .sticker_wrap {
    display: flex;
    align-items: center;
    column-gap: 0.5rem;
    margin-top: 0.5rem;
    font-size: 1rem;
}

.main-latest-brand .sticker_wrap li,
.product-section .sticker_wrap li {
    margin: 0;
    padding: 0;
}

.main-latest-brand .sticker_wrap img,
.product-section .sticker_wrap img {
    display: block;
    height: 1.2rem;
}

.bnbottom {
    margin-bottom: 4rem;
}

/* 카테고리 제품 리스트 */
.thumb-GALLERY {
    margin-bottom: 7.8rem;
    padding: 0;
}

.thumb-GALLERY.add_pd {
    padding-bottom: 7rem;
}


.thumb-item__media {
    width: 100%;
}

.thumb-item__img img {
    object-fit: contain;
    object-position: center;
}

.product-thumb-title {
    line-height: 1.5 /* 줄 간격을 줄여서 위로 당겨보임 */
}

/*상품리스트의 상품 할인 폰트 사이즈 조절*/
.thumb-GALLERY .product-thumb-title {
    font-size: 1rem;
}

/*상품리스트의 상품 할인 폰트 사이즈 조절*/
.thumb-GALLERY .product-thumb-discount-rate {
    font-size: 1rem;
}

/*상품리스트의 상품 가격 폰트 사이즈 조절*/
.thumb-GALLERY .product-thumb-price {
    font-size: 1rem;
}

.thumb-GALLERY .sticker_wrap {
    display: flex;
    align-items: center;
}

.thumb-GALLERY .sticker_wrap .product-thumb__sticker img {
    height: 1.2rem;
}

:where(.thumb-GALLERY) {
    row-gap: 1rem;
}

:where(.thumb-GALLERY) .thumb-item {
    width: calc(50% - 0.5px);
}

/* 제품 상세사항 썸네일 하단 네비게이션 바 */
.product-detail .thumb-item {
    margin-bottom: 0;
}

/* 인디케이터 크기 조절 */
.swiper-pagination-bullet {
    height: 0.4rem !important;
}

.product-detail .product-image-slider .swiper-pagination-bullets {
    bottom: 1rem;
}

/* 제품 상세사항 */
.product-summary {
    padding: 2rem 1.3rem 0;
}

.product-summary dt {
    font-size: 1.2rem;
}

.product-summary dd {
    padding-left: 0;
    margin-left: 0;
    font-size: 1.2rem;
    line-height: 1.2rem;
}

.product-review-summary__title {
    font-size: 1.6rem;
    font-weight: bold;
}

.product-board-list__total-count {
    vertical-align: center;
    color: black;
}

.product-summary__title {
    margin-right: 0.8rem;
    margin-top: 0.5rem;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 2rem;
}

.product-summary__title .editor {
    font-size: 1.3rem;
    font-weight: bold;
    word-break: keep-all;
}

.product-summary__price-info {
    margin-top: 0.5rem;
}

.product-summary__off-percent {
    margin-right: 0.8rem;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 2.6rem;
    color: red;
}

.product-summary__discounted-price {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 2.6rem;
}

.product-summary__price {
    font-size: 1.6rem;
    margin-right: 0.8rem;
}

.product-detail div.product-summary {
    padding-bottom: 1.5rem;
}

.product-detail .tabs {
    top: 3rem;
    padding: 6rem 0 2.2rem;
    margin: 0 auto 1rem;
    background-color: white;
}

.product-detail.purchase {
    padding: unset;
}

.product-content {
    padding-bottom: 5.6rem;
}

.product-detail .product-content {
    margin-top: unset;
    border-top: none;
}

.product-detail .product-summary {
    padding-bottom: 1.5rem;
    border-bottom: solid lightgray;
    border-width: 1px 0;
    z-index: 6;
}

.product-detail .custom-purchase-wrap svg {
    width: 2.8rem;
}

.product-detail .custom-purchase-wrap img {
    width: 1.6rem;
    height: 1.6rem;
}




.product-detail .product-review-summary__score span {
    color: #000;
    font-weight: bold;
}

.product-review-summary__score {
    display: inline-flex;
    align-items: baseline;
    gap: 0.2rem;
    font-size: 1.6rem; /*0/5 별점 표시 폰트 사이즈*/
    line-height: 1;
}

.product-review-summary__score span {
    font-size: inherit;
    line-height: inherit;
    vertical-align: baseline;
}

.product-summary__freight-line {
    margin-top: 1rem;
    padding-top: 1rem;
}

.product-summary__brand-name {
    font-size: 1.2rem;
    margin-top: 0.8rem;
    margin-bottom: 0.5rem;
}

.product-summary__freight {
    font-size: 1.2rem;
}

.product-summary__freight dt strong {
    margin: 0.5rem 0.5rem 0 1rem;
    font-size: 1.2rem;
}

.product-summary__freight .ico--package {
    width: 2.25rem;
    height: 2.25rem;
    background-position: -0.15rem -14.15rem;
    background-size: 36.75rem 18.85rem;
}

.product-summary__freight .product-summary__display-label {
    margin-top: 0.5rem;
}

.product_freight_comment {
    font-size: 1.2rem;
}

.product-board-list__sort-type select {
    font-size: 1.2rem;
    text-align: center;
}

.product-summary__point .ico {
    margin: -2px 0 0 2.15px;
}

.product-summary__point span {
    margin: 0 0.5rem 0 1.1rem;
    font-size: 1.2rem;
}

/* 상품 후기 화살표까지 클릭되도록 수정 */
.select-box.product-board-list__sort-type::after {
    cursor: pointer !important;
    pointer-events: none !important;
}

.select-box.product-board-list__sort-type {
    cursor: pointer !important;
    pointer-events: auto !important;
}

.review-accumulation__point {
    font-size: 1.2rem;
}

/* 제품 탭 버튼 */
.tabs__item button {
    white-space: nowrap;
    background-color: white;
}

/* 제품 상세정보 */
.product-content__content-box {
    position: relative;
    width: 100%;
    text-align: center;

}

div.product-content__more-btn {
    background: none !important; /* 컨테이너 빨간 배경 제거 */
}

div.product-content__more-btn button {
    width: 100%; /* 버튼이 컨테이너 전체 너비 차지 */
    background: white;
    border: 1px solid black;
    color: black;
}

.product-content__content .product-content__more-btn::before {
    bottom: 5rem;
}

.product-content__content .product-content__more-btn:after {
    position: absolute;
    left: 0;
    bottom: 3rem;
    width: 100%;
    height: 2rem;
    background: #fff;
    content: '';

}

.product-content__certification {
    line-height: 1.8rem;
    font-size: 1.2rem;
    margin: 2rem 0 4rem;
    padding: 2rem 1rem;
    border: 1px solid #e7e7e7;;
}

.product-content__certification--duty-info dl:first-of-type {
    margin-top: 0;
}

.product-content__certification--duty-info dt {
    width: 8rem;
}

.product-content__certification--duty-info dd {
    width: calc(100% - 8rem);
    margin-left: 0;
}

.product-content .product-content-inquiry .inquiry-item__angle-top-down {
    position: relative;
}

.product-content .product-content-inquiry .inquiry-item__angle-top-down:before {
    content: '상세보기';
    position: absolute;
    top: 0.5rem;
    right: 1.5rem;
    width: 4rem;
    font-size: 1rem;
}

/* 제품 구매 옵션 */
.purchase__naver-pay-btn {
    margin: 0rem 0;
}

.purchase__quantity-box {
    max-height: 14rem;
}

.purchase__quantity-box .option-price {
    font-size: 1.2rem;
}

.purchase__quantity-box .option-title {
    margin-left: 0.6rem;
}

.custom-purchase-wrap {
    display: flex;
    /*flex-wrap: wrap;*/
    align-items: center;
    justify-content: space-between;
    background-color: #000;
    /*gap: 8px;*/
    padding: 0.8rem 1.2rem;
    box-sizing: border-box;
    width: 100%;
}

.custom-icon-btn {
    display: flex;
    flex-shrink: 0; /* 줄어들지 않도록 고정 */
    align-items: center;
    justify-content: center;
    width: 3.2rem;
    height: 3.6rem;
    border: none;
    padding: 0;
    background: none;
    cursor: pointer;
}

.custom-text-btn {
    width: 40%;
    padding: 0.6rem 0.5rem;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 1.4rem;
    text-align: center;
    white-space: nowrap;
    color: #fff;
}

.custom-divider {
    width: 0.1rem;
    height: 2rem;
    background-color: #aaa;
    flex-shrink: 0;
}

.custom-buy-btn {
    flex: 1; /* 남는 공간 사용 */
    /*min-width: 100px;
      max-width: 200px;*/
    width: 60%;
    height: 3rem;
    background-color: transparent;
    color: #00f0ff;
    border: 1px;
    border-radius: 0; /* ✅ 라운드 제거 */
    cursor: pointer;
    text-align: center;
    white-space: nowrap;
    transition: background-color 0.2s;
    padding: 0.6rem 0.5rem;
    font-size: 1.4rem;
}

.purchase__text-btn {
    background: none;
    border: none;
    color: #fff;
    font-size: 1.4rem;
    cursor: pointer;
    padding: 0.4rem 0.6rem;
}

.purchase__button-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background-color: #000;
    width: 100%;
    padding: 0.8rem 1.2rem;
    box-sizing: border-box;
    gap: 0.8rem;
}

.purchase__icon-btn {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.2rem;
    height: 3.2rem;
    flex-shrink: 0;
}

.vertical-divider {
    width: 0.1rem;
    height: 2rem;
    background-color: #aaa;
    margin: 0 0.6rem;
    flex-shrink: 0;
}

.purchase__copy-btn {
    background: none;
    border: none;
    padding: 0;
    width: 3.2rem;
    height: 3.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.purchase__buy-btn {
    margin-left: auto; /* 오른쪽 끝으로 밀기 */
    min-width: 12rem;
    height: 4rem;
    background-color: transparent;
    border: 1px solid #ffffff;
    color: #00f0ff;
    font-size: 1.6rem;
    padding: 0 1.6rem;
    cursor: pointer;
    border-radius: 0;
    white-space: nowrap;
}

.purchase_total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0.7rem 1rem 1.5rem;
}

.purchase_total .total_text {
    font-size: 1.2rem;
    font-weight: bold;
    color: #000;
    margin-top: 1.5rem;
}

.purchase_total .total_price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.purchase_total .coupon_text {
    font-size: 1rem;
    color: #aaa;
    margin-bottom: 0.5rem;
}

.purchase_total .price_text {
    font-size: 1.7rem;
    font-weight: bold;
    color: #fa5500;
}

/* 함께 구매하면 좋은 상품 */
.related-product__item {
    max-width: calc(50% - 5px);
}

.related-product__item:last-of-type {
    margin-right: 0;
}

.related-product__title {
    font-size: 1.2rem;
    margin: 3rem 1rem 2rem;
    text-align: left;
}

.related-product__items {
    padding: 0 1rem;
}

.related-product__price {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.related-product__original-price {
    /*font-size: 1.2rem;*/
    /*color: #aaa;*/
    /*text-decoration: line-through;*/
    /*padding: 0 0.4rem;*/
    display: none;
}

.related-product__price strong {
    font-size: 1.3rem;
}

.related-product__discount-line {
    display: flex;
    align-items: center;
}

.related-product__price .related-product__discount-rate {
    font-size: 1.3rem;
    font-weight: bold;
    color: #f44;
    text-decoration: none;
}

/*상품 상세 옵션*/
.option-quantity-block {
    margin-bottom: 1.6rem;
    background-color: #f5f5f5; /* ✅ 회색 배경 */
    padding: 1.2rem;
    border-radius: 8px;
}

.option-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.option-title {
    font-weight: normal; /* ✅ 볼드 해제 */
    font-size: 1rem;
    color: #000;
}

.remove-btn {
    background: none;
    border: none;
    font-size: 1.8rem;
    color: #888;
    cursor: pointer;
}

.option-body {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.8rem;
}

.quantity-box {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.quantity-btn {
    background: none;
    border: none;
    font-size: 1.2rem;
    cursor: pointer;
    padding: 0.4rem 0.8rem;
    color: #444
}

.quantity-input {
    width: 3rem;
    height: 2rem;
    border: 1px solid #ccc;
    border-radius: 8px;
    text-align: center;
    font-size: 0.8rem;
    padding: 0;
    background-color: #fff; /* ✅ 추가: 배경색 흰색 */
    color: #000; /* ✅ 숫자도 잘 보이도록 검정색 */
}

.option-price {
    font-size: 1rem;
    font-weight: bold;
    white-space: nowrap;
    color: #000;
}

/* 상품문의 비밀글 설정 체크박스 */
.product-inquiry-form__secret .check-radio input[type='checkbox'] {
    display: none;
}

.board-form__button-group .review-form__btn {
    height: 3rem;
    margin-top: 1.5rem;
    font-size: 1.2rem;
}

/*적립금 금액 사이 구분자 '|' 삭제*/
.product-summary__point dd::before {
    display: none;
}

.thumb-item {
    margin-bottom: 1rem;
}

/*상품 q&a*/
.product-board-list {
    margin-bottom: 15rem;
}

/* 상품페이지 이미지 사이 간격 없애기 */
.editor img {
    display: block;
    margin: 0 auto; /* 중앙 정렬 유지 원할 경우 */
}
.product-thumb__sticker .product-thumb__sticker-img {
    width: 3.8rem; /* 또는 원하는 크기, 예: 2rem */
    height: auto;
    object-fit: contain;
}


.purchase__option .select-box{
    border: 1px solid #999999; /* 테두리 색 변경 */
    margin-bottom: 1.5rem;
}


.related-product__brand{
    margin-left: 0.4rem;
    margin-bottom: 0.8rem;
}

.product-content-review {
    padding-top: 0 !important;
}

/* 상품정보제공고시 */
/* 상품정보제공고시 토글 스타일 */
.duty-info-toggle-section {
    margin: 2rem 0;
    border-top: 1px solid #eee;
    padding-top: 1.5rem;
}

.duty-info-toggle-btn {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
    background: none;
    border: none;
    font-size: 1.4rem;
    color: #333;
    cursor: pointer;
    transition: color 0.2s ease;
}

.duty-info-toggle-btn:hover {
    color: #666;
}

.duty-info-toggle-btn span {
    font-weight: 500;
}

.duty-info-arrow {
    transition: transform 0.3s ease;
    color: #666;
}

.duty-info-toggle-btn.open .duty-info-arrow {
    transform: rotate(180deg);
}

.duty-info-toggle-btn.closed .duty-info-arrow {
    transform: rotate(0deg);
}

/* 토글 콘텐츠 애니메이션 */
.duty-info-content {
    overflow: hidden;
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.duty-info-content.closed {
    max-height: 0;
    opacity: 0;
}

.duty-info-content.open {
    max-height: 2000px; /* 충분히 큰 값 */
    opacity: 1;
    padding-top: 1rem;
}

/* 반응형 대응 */
@media (max-width: 768px) {
    .duty-info-toggle-btn {
        font-size: 1.3rem;
    }

    .duty-info-arrow {
        width: 14px;
        height: 14px;
    }
}

/* 상품정보제공고시 내용 스타일링 */
.duty-info-content.open .duty-information {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 4px;
    padding: 1.5rem;
    margin-top: 1rem;
}

/* 기존 상세정보 더보기 버튼 스타일과 구분 */
.product-content__more-btn button {
    background: #333;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 1rem 2rem;
    font-size: 1.4rem;
    cursor: pointer;
    transition: background 0.2s ease;
}

.product-content__more-btn button:hover {
    background: #555;
}
/* 로그인 폼 스타일 */
.sign-in {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.login-container {
    width: 100%;
    max-width: 45rem; /* 더 넓은 최대 너비 */
    padding: 1rem;
    background: #fff;
    margin: 0 auto;
    box-sizing: border-box;
}

.login-form {
    width: 100%;
    max-width: 40rem; /* 더 넓은 최대 너비 */
    margin: 0 auto;
    padding: 2rem 0;
}

.input-group {
    width: 100%;
    margin-bottom: 3rem;
    position: relative;
}

.input-group .input-field {
    height: 3rem;
}

.input-label {
    font-size: 1.2rem; /* 약간 더 큰 폰트 */
    font-weight: 500;
    color: #c1c1c1;
    margin-bottom: 0.5rem;
    display: block;
}

.input-field {
    width: 100%;
    height: 3rem;
    padding: 0 0.8rem;        /* 좌우 여백 */
    line-height: 3rem;        /* 텍스트 세로 가운데 정렬 */
    background: transparent;
    border: 0;
    border-radius: 0;
    outline: none;
    font-size: 1.2rem;
    box-sizing: border-box;   /* 패딩 포함 계산 */
}

.input-line {
    width: 100%;
    height: 0.1rem; /* 약간 더 두꺼운 선 */
    background: #c1c1c1;
}

.login-button {
    width: 100%;
    height: 3.5rem; /* 더 높은 버튼 */
    background: #000;
    color: #fff;
    font-size: 1.3rem; /* 더 큰 폰트 */
    font-weight: 500;
    border: none;
    border-radius: 0;
    cursor: pointer;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.login-button:disabled {
    background: #999;
    cursor: not-allowed;
}

.hidden-login-button {
    width: 100%;
    max-width: 40rem;
    height: 5rem; /* 더 높은 버튼 */
    background: #333;
    color: #fff;
    font-size: 1.4rem; /* 더 큰 폰트 */
    font-weight: 500;
    border: none;
    border-radius: 0;
    cursor: pointer;
    margin: 0 auto 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    word-break: keep-all;
    text-align: center;
}

.hidden-login-button:disabled {
    background: #999;
    cursor: not-allowed;
}

.social-login {
    width: 100%;
    margin-bottom: 1.5rem;
}

.kakao-button {
    width: 100%;
    height: 3.5rem; /* 더 높은 버튼 */
    background: #ffd23c;
    border: none;
    border-radius: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    margin-bottom: 1rem;
}

.naver-button {
    width: 100%;
    height: 3.5rem; /* 더 높은 버튼 */
    background: #29b521;
    border: none;
    border-radius: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    margin-bottom: 2rem;
}

.kakao-text {
    font-size: 1.3rem; /* 더 큰 폰트 */
    font-weight: 500;
    color: #000;
    display: flex;
    align-items: center;
}

.naver-text {
    font-size: 1.3rem; /* 더 큰 폰트 */
    font-weight: 500;
    color: #ffffff;
    display: flex;
    align-items: center;
}

.social-icon {
    display: inline-block;
    margin-right: 0.8rem; /* 약간 더 넓은 간격 */
    font-size: 1.6rem; /* 더 큰 아이콘 */
}

.links {
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin-bottom: 3rem;
    font-size: 1.2rem; /* 더 큰 폰트 */
    font-weight: 400;
}

.link-group {
    display: flex;
    gap: 2rem; /* 더 넓은 간격 */
}

.link {
    color: #000000;
    text-decoration: none;
    font-size: 1.2rem; /* 더 큰 폰트 */
}

.join-link {
    width: 100%;
    text-decoration: none;
}

.join-button {
    width: 100%;
    height: 3.5rem; /* 더 높은 버튼 */
    border: 1px solid #000; /* 약간 더 두꺼운 테두리 */
    background: transparent;
    font-size: 1.4rem; /* 더 큰 폰트 */
    font-weight: 400;
    border-radius: 0;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 비회원 주문 조회 스타일 */
.guest-order {
    width: 100%;
    max-width: 40rem;
    margin: 3rem auto 0;
    padding-top: 3rem;
    border-top: 1px solid #eee;
}

.guest-order__title {
    font-size: 1.4rem; /* 더 큰 폰트 */
    font-weight: 500;
    margin-bottom: 2rem;
}

.guest-order__input-wrap {
    width: 100%;
    margin-bottom: 2rem;
    position: relative;
}

.guest-order-link {
    display: flex;
    width: 100%;
    text-align: center;
    margin: 2rem 0;
    text-decoration: none;
    color: #555555;
    font-size: 1.4rem; /* 더 큰 폰트 */
    border-radius: unset;
    justify-content: center;
}

/* 소셜 로그인 섹션 */
.sign-in-open-id {
    width: 100%;
    max-width: 40rem;
    margin: 2rem auto 0;
}

/* 버튼 모서리 라운드 처리 제거를 위한 강력한 선택자 */
.guest-order button,
.guest-order .shopby-button,
.guest-order [class*='button'],
.guest-order [class*='btn'],
button.shopby-button,
.shopby-button {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
}

/* 라이브러리가 다른 선택자를 사용할 경우 대비 */
.guest-order button,
.guest-order input[type='button'],
.guest-order input[type='submit'] {
    border-radius: 0;
}

/* 내부 요소에도 적용 (버튼이 복합 구조일 경우) */
.guest-order button > *,
.guest-order .shopby-button > * {
    border-radius: 0;
}

.guest-order button {
    height: 3.5rem;
}

/*.modal__content {*/
/*    min-height: 12rem;*/
/*}*/

.modal__text {
    font-size: 1.3rem;
}

/*.modal__box--alert,*/
/*.modal__box--confirm {*/
/*    min-height: 15.4rem;*/
/*    font-size: 1.2rem;*/
/*}*/

/* 회원가입 폼 스타일 */
/* Terms checkbox */
.terms-checkbox-input {
    position: relative;
    width: 1.3rem;
    height: 1.3rem;
    padding: 0;
    margin-right: 1rem;
    border: 0.5px solid #d9d9d9;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.terms-checkbox-input:checked {
    background-color: #000;
}

.terms-checkbox-label {
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.3rem;
    color: #000;
}

/* 마케팅 수신 동의 스타일 */
.marketing-consent {
    display: flex;
    align-items: center;
    margin: 1.5rem 0;
}

/* 커스텀 셀렉트 박스 스타일 */
.custom-select-wrapper {
    position: relative;
    display: inline-block;
}

.custom-select-wrapper::after {
    content: '';
    position: absolute;
    right: 1.5rem;
    top: 50%;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #000;
    transform: translateY(-50%);
    pointer-events: none;
}

.custom-select {
    display: flex;
    justify-content: flex-start; /* 왼쪽 정렬 유지 */
    align-items: center; /* 세로 가운데 정렬 */
    text-align: center; /* 텍스트 가운데 정렬 */
    width: 100%;
    height: 4.6rem;
    padding: 0 1rem;
    padding-right: 3rem;
    background-color: #fff;
    background-image: none;
    border-radius: 0;
    border: 0.7px solid #c1c1c1;
    outline: none;
    cursor: pointer;
    color: #000;
    font-size: 1.2rem;
    line-height: 4.6rem; /* 라인 높이를 박스 높이와 동일하게 설정 */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* 셀렉트 박스 크기 통일 */
.birthday-select {
    width: 7.5rem;
}

/* SignUp.css */
.sign-up-container {
    position: relative;
    width: 100%;
    margin: 0 auto;
    background: #fff;
    padding-bottom: 4rem;
}

.sign-up-header {
    position: relative;
    width: 32rem;
    height: 4rem;
    background: #f6f5f5;
    box-shadow: 0rem 0.4rem 1.8rem rgba(0, 0, 0, 0.01);
}

.sign-up-banner {
    position: relative;
    width: 45rem;
    height: 3.1rem;
    background: #000000;
    margin-top: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sign-up-banner-text {
    font-family: 'Pretendard', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2rem;
    text-align: center;
    color: #ffffff;
}

.sign-up-title {
    font-family: 'Pretendard', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.3rem;
    text-align: left;
    color: #000000;
    margin-top: 3rem;
    margin-left: 1.5rem;
}

.sign-up-social {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    margin-top: 2.2rem;
    padding: 0 1.5rem;
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
}

.sign-up-container .birthday-input .birthday-select {
    width: 100%;
}

.sign-up-container .birthday-input .custom-select-wrapper:after {
    display: none;
}

.sign-up-kakao,
.sign-up-naver {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 2.7rem;
    border-radius: 0;
    font-family: 'Pretendard', sans-serif;
    font-weight: 500;
    font-size: 1.1rem;
    line-height: 1.3rem;
}

.sign-up-kakao {
    background: #ffd23c;
    color: #000;
}

.sign-up-naver {
    background: #29b521;
    color: #fff;
}

.sign-up-form {
    padding: 0 1.5rem;
}

.sign-up-form__section-title {
    font-style: normal;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.3rem;
    color: #000000;
    margin: 4rem 1.5rem 1.5rem;
    display: flex;
    justify-content: space-between;
}

.sign-up-form .sign-up-form__section-title {
    margin: 4rem 1.5rem 1.5rem;
}

.sign-up-form__required-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.3rem;
    text-align: center;
    color: #000000;
}

.sign-up-form__item {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.sign-up-form__tit {
    display: none;
}

/* 공통 입력 필드 높이 조정 */
.sign-up-form__input-wrap input,
.sign-up-form__input-wrap select,
.custom-select-wrapper,
.custom-select {
    width: 100%;
    height: 3rem !important; /* 입력 필드 높이 통일 */
    box-sizing: border-box;
}

.custom-select.phone-select {
    height: 4rem;          /* 높이 설정 */
    line-height: 1rem;      /* 텍스트를 살짝 위로 올려 아래쪽 여백 효과 */
    padding-top: 0.2rem;    /* 위쪽 여백 */
}

.custom-select.phone-select option {
    padding-bottom: 1rem;
}


.sign-up-form__input-wrap .check-radio input {
    position: absolute;
    width: 20rem;
    border: 0.7px solid #c1c1c1;
    padding: 0 1rem;
    font-size: 1rem;
    color: #000;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    background-color: #fff;
}

/* 셀렉트 박스 화살표 스타일링 */
.sign-up-form__input-wrap select {
    width: 7.5rem;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2710%27 height=%276%27 viewBox=%270 0 10 6%27%3e%3cpath fill=%27%23000000%27 d=%27M0 0l5 5 5-5H0z%27/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.8rem center;
    padding-right: 2.5rem;
}

.sign-up-form__input-wrap input::placeholder {
    color: #838383;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.4rem;
}

.sign-up-form__input-wrap .text-field input {
    width: 100%;
    border: 0;
    font-size: 1.2rem;
    text-align: left;
}

.sign-up-form__input-wrap .text-field {
    height: 3rem;
}


.sign-up-form__input-wrap .phone-input .text-field {
    width: 30%;
}

/* Address field */
.sign-up-form__address {
    display: flex;
    gap: 0.8rem;
}

.sign-up-form__zipcode-input {
    width: 18.9rem !important;
}

.sign-up-form__zipcode-button {
    width: 9.3rem;
    height: 2.7rem;
    background: #ffffff;
    border: 0.7px solid #000000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.3rem;
    color: #000000;
    cursor: pointer;
}

/* Birthday form */
.birthday-input {
    display: flex;
    gap: 0.5rem;
}

.birthday-input select {
    width: 7.5rem;
    height: 4rem;
    border: 0.7px solid #c1c1c1;
    font-size: 1rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2710%27 height=%276%27 viewBox=%270 0 10 6%27%3e%3cpath fill=%27%23000000%27 d=%27M0 0l5 5 5-5H0z%27/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.8rem center;
    padding-right: 2.5rem;
    padding-left: 0.8rem;
    border-radius: 0;
    outline: none;
    align-items: center;
}

.year-label,
.month-label,
.date-label {
    display: flex;
    align-items: center;
    margin-right: 0.5rem;
    font-size: 1.2rem;
    color: #000000;
    padding: 0 0.2rem;
}

.member-modification-form .member-modification-form__item .birthday-input .select {
    width: 100%;
    height: 5rem;
}

.member-modification-form__input-wrap.birthday-input.select-box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 2;
    height: inherit;
    border: 0.1rem solid var(--default-color);
}

/* Phone input */
.phone-input {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.phone-input input {
    flex: 1;
    width: 12rem;
    min-width: 0;
    height: 4.6rem;
    padding: 1rem;
    outline: none;
    border-radius: 0;
    box-sizing: border-box;
    border: 0.7px solid #c1c1c1;
    text-align: center;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

.phone-input input:last-child {
    text-align: center;
}

.phone-input-separator {
    display: flex;
    align-items: center;
    color: #000000;
    font-size: 1.2rem;
    padding: 0 0.5rem;
}

/* Sex radio buttons */
.sex-form {
    display: flex;
    align-items: center;
    gap: 4rem;
    margin-top: 0.5rem;
}

.sex-form-option {
    display: flex;
    align-items: center;
}

.sex-form-radio {
    width: 1rem !important;
    height: 1rem !important;
    border: 0.7px solid #d9d9d9 !important;
    border-radius: 50% !important;
    padding: 0 !important;
    margin-right: 0.5rem;
    position: relative;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    outline: none !important;
    background-image: none !important;
}

.sex-form-radio:checked::after {
    content: '';
    position: absolute;
    width: 0.6rem;
    height: 0.6rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #000000;
    border-radius: 50%;
}

.sex-form-label {
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.3rem;
    color: #000000;
}

/* Terms section */
.terms-section {
    margin-top: 2rem;
    border-top: 0.5px solid #c1c1c1;
    padding-top: 1rem;
}

.terms-section__title {
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.3rem;
    color: #000;
    margin-bottom: 1rem;
}

.terms-checkbox {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.terms-checkbox-input {
    width: 1.3rem;
    height: 1.3rem;
    border: 0.5px solid #d9d9d9;
    padding: 0;
    margin-right: 1rem;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.terms-checkbox-input:checked {
    background-color: #000;
}

.terms-checkbox-label {
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.3rem;
    color: #000;
}

/* Submit button */
.sign-up-form__confirm {
    margin-top: 1.5rem;
    border-top: 0.5px solid #c1c1c1;
    padding-top: 1.5rem;
}

.sign-up-form__confirm button {
    width: 100%;
    height: 4.6rem; /* 버튼 높이 수정 */
    background: #000;
    color: #ffffff;
    font-family: 'Pretendard', sans-serif;
    font-weight: 500;
    font-size: 1.1rem;
    line-height: 1.3rem;
    text-align: center;
    border: none;
    cursor: pointer;
}

.sign-up-form__confirm button:disabled {
    background: #c1c1c1;
    cursor: not-allowed;
}

/* Validation status */
.validation-status {
    font-size: 1rem;
    color: #fa5500;
    margin-top: 0.5rem;
}

.checking-status {
    font-size: 1rem;
    color: #666;
    margin-top: 0.5rem;
}

.sign-up-form__section-title__extra {
    font-family: 'Pretendard', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.3rem;
    color: #000000;
    display: flex;
    justify-content: flex-start; /* 왼쪽 정렬 */
}

/* 아이디 찾기 */
/* 전체 컨테이너 */
.find-id {
  width: 100%;
  max-width: 100%;
  padding: 0 15px;
  box-sizing: border-box;
  margin-bottom: 20rem;
}

/* 타이틀 */
.find-id__tit {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    margin: 2rem 0;
}

/* 폼 레이아웃 */
.find-id-form {
    padding: 0;
}

.find-id-form__item {
    margin-bottom: 1.5rem;
}

/* 입력 필드 */
.find-id-form__input-wrap input,
.find-id-form__input-wrap select {
    height: 4rem;
    border: 1px solid #ddd;
    background-color: #fff;
    font-size: 1.4rem;
    color: #000;
    box-sizing: border-box;
    padding: 0 1rem;
}

/* 버튼 */
.find-id-form__btn-wrap {
    margin-top: 2rem;
    margin-bottom: 4rem;
}

.find-id-form__btn-wrap button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 4rem;
    border: none;
    background-color: #000;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
}

.sign-up-form__checkbox--all {
    position: relative;
}

/* 휴대폰 번호 입력 관련 스타일 */
.phone-number-input {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-align: center;
}

.phone-number-input input {
    flex: 1;
}

/* 회원가입 하단 문구 */
.sign-up-container .notice-list__item {
    word-break: keep-all;
}

@media (max-width: 375px) {
    /*.modal__box--alert,*/
    /*.modal__box--confirm {*/
    /*    min-width: 80vw;*/
    /*}*/
}

.order-sheet {
    padding: 0;
}

.order-sheet .accordion__title,
.order-sheet .order-sheet__pay-method-title,
.order-sheet .order-sheet__promotion-title {
    height: 5rem;
    padding: 1rem 2rem;
}

.order-sheet .accordion__items,
.order-sheet .order-sheet__promotion-items {
    padding-bottom: 1rem;
}

.order-sheet .accordion__items .thumb-item {
    padding: 1.5rem 0;
    margin-bottom: 0;
}

.order-sheet .accordion__title::after {
    top: 2rem;
}

.order-sheet .order-sheet__item {
    margin-bottom: 0;
}

.order-sheet .order-sheet__item:not(:first-of-type) {
    margin-top: 0.5rem;
}

.order-sheet .order-sheet__notice-checkbox {
    font-size: 1rem;
    letter-spacing: -0.3px;
}

.order-sheet .text-field input,
.order-sheet select {
    height: 3rem;
}

.order-sheet .order-sheet__notice-checkbox input[type='checkbox'] {
    display: none;
}

/* 주문자 정보 */
.email-input {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.email-input input[type='text'] {
    flex: 3 1 0%; /* 아이디 입력: 더 넓게 */
}

.email-input .email-input__domain {
    flex: 2 1 0%; /* 도메인 영역: 상대적으로 좁게 */
}

/* 휴대폰 정보 */
.order-sheet .select-box select {
  min-width: initial;
  /*text-align-last: left;*/
  /*margin-left: 0.5rem;*/
    min-width: initial;
    text-align-last: center;
}

.order-sheet__item .phone-number-input .select-box,
.order-sheet__item .phone-number-input .text-field {
    display: block;
    width: calc(100% / 3 - 2rem);
    flex: 1;
}

.phone-number-input select,
.phone-number-input input {
    font-size: 1rem;
}

.phone-number-input_select {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    text-indent: 0;
}

/* 주문 상품 */
span.standardAmt {
    font-size: 1.1rem;
    text-decoration: line-through;
}

/* 혜택 적용 */
.order-sheet__promotion-title {
    border-bottom: none;
}

.order-sheet__promotion-title:before {
    content: '';
    position: absolute;
    left: 5%;
    bottom: 0;
    width: 90%;
    height: 0.1rem;
    background-color: black;
}

/* 혜택 적용 옵션  */
.order-sheet__item-subject {
    margin-bottom: 0.5rem;
}



.order-sheet__promotion-input {
    gap: 1rem;
}

.order-sheet__promotion-items .order-sheet__item:not(:first-of-type) {
    margin-top: 1rem;
}

.order-sheet__promotion-items .order-sheet__accumulation-amt {
    margin-top: 0.5rem;
}

.pay-method-btn {
    border: 1px solid #838383;
    border-radius: 1px;
    padding: 1.68rem 0.5rem;
    justify-content: center;
}

.pay-method-btn--checked {
    background-color: #000000;
}

.pay-method-btn .ico--pay-virtual-account-black {
    display: none;
}

.pay-method-btn .ico--pay-credit-card-black {
    display: none;
}

.pay-method-btn .ico--pay-realtime-account-black {
    display: none;
}

.order-sheet__pay-method-btns .pay-method-btn .ico--pay-etc-white {
    display: none;
}

.btn--mypay .pay-method-btn__icon {
    display: none !important;
}

.pay-method-btn__label {
    display: inline-block;
    white-space: normal;
    font-size: 1.2rem;
    /*font-weight: bold;*/
    text-align: center;

    word-break: keep-all;
    margin: 1rem;
    /*margin-right: unset;*/
}

.input-with-unit {
    border: 1px solid #838383;
}

/* 결제수단 선택*/
.order-sheet__pay-method-title {
    border-bottom: none !important;
}

.order-sheet__pay-method-title:before {
    content: '';
    position: absolute;
    left: 5%;
    bottom: 0;
    width: 90%;
    height: 0.1rem;
    background-color: black;
}

.order-sheet__pay-method-btns .pay-method-btn {
    width: calc(50% - 0.25rem);
    height: 1.2rem;
    margin-bottom: 0.5rem;
}

/* 최종결제정보 */
.order-sheet__payment-info {
    padding: 0 !important;
}

.price-tag__details {
    row-gap: 0.5rem;
}

.price-tag__details dt {
    color: #000000;
}

.price-tag {
    border: none !important;
}

/* 최종결제정보 */
.price-tag__final-amount dd em {
    color: #ff4444;
}

.price-tag__final-amount dt {
    font-weight: unset;
}

/* 예상적립금 */
.price-tag__expected-accumulation {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    color: #999999;
}

.price-tag__details dd:nth-child(4) em, /* 할인금액 합계 */
.price-tag__details dd:nth-child(6) em, /* 적립금 사용 금액 합계 */
.price-tag__details dd:nth-child(10) em /* 배송비 할인금액 */
{
    color: red;
}

.price-tag__division {
    border-top: solid 1px !important;
}

/* 결제하기 버튼 */
.order-sheet__pay-btn {
    color: #fff;
    background-color: #000000;
    font-weight: bold;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    height: 7rem;
    font-size: 1.5rem;
}

.check-radio input:checked ~ :where(.check-radio__ico) {
    background-color: #000000;
    border-color: #000000;
}

/* 브랜드 명 */
.product-thumb-item__brand {
    font-size: 1.4rem;
    font-weight: bold;
    color: #000;
}

.product-thumb-item .thumb-item__info {
    gap: 0rem;
}

/* 약관 전체 선택 */
span.check-radio__label.order-sheet-all-check {
    font-weight: bolder;
}

.l-panel.order-sheet__payment-info .price-tag:nth-of-type(2) {
    padding-bottom: 0;
}

.l-page.order-sheet__terms {
    padding-top: 0;
}

.orders {
    padding-bottom: 15rem;
}

.order-sheet__term-checker .check-radio input[type='checkbox'] {
    display: none;
}

.orders .select-box.start-ymd-selector {
    height: 3rem;
}

.orders .select-box.start-ymd-selector select {
    text-align-last: left;
}

.orders .orders__order-summary {
    margin-top: 1rem;
    border: 1px solid #c1c1c1;
}

.orders .orders__identifier span {
    font-size: 1rem;
}

.orders .orders__identifier .bold {
    width: 70%;
    font-weight: 400;
    font-size: 1rem;
}

.orders .orders__order-no {
    font-size: 1rem;
}

.orders .orders__identifier {
    flex-wrap: wrap;
    gap: 0.5rem 0.25rem;
    color: var(--gray-color);
}

.orders .orders__pay-amount-label {
    font-size: 1.2rem;
    font-weight: bold;
    color: #000;
}

.orders .orders__product-name {
    margin-bottom: 0.5rem;
    font-size: 1.2rem;
    line-height: 1.4rem;
}

.orders .orders__product-name .editor {
    max-width: 25rem;
}

.orders .orders__pay-amount-label .orders__pay-amount {
    font-size: 1.2rem;
}

.orders .orders__product {
    width: 100%;
    height: 11rem;
    justify-content: center;
    gap: initial;
    padding: initial;
    border: initial;
    border-radius: initial;
}

.orders .orders__product-image {
    width: 11rem; /* 부모 높이와 동일하게 */
    min-width: 11rem;
    height: 11rem; /* 정사각형 */
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    overflow: hidden; /* 이미지가 넘칠 경우 잘라냄 */
}

.orders .orders__product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 비율을 유지하면서 영역을 채움 */
    /* 또는 object-fit: contain; - 이미지 전체가 보이도록 */
}

.orders .orders__product-description {
    flex: 1; /* 남은 공간을 모두 차지 */
    min-width: 0; /* 중요: flex item이 축소될 수 있도록 */
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 1rem;
    overflow: hidden; /* 넘치는 내용 숨김 */
}

.order-sheet .address-form p:not(.address-form__zip-code) input {
    text-align: left;
}

.order-sheet .address-form .address-form__zip-code input {
    text-align: center;
}

.order-sheet .order-sheet__product-table .product-thumb-item__brand {
    font-size: 1rem;
}

.option-label__normal-option span {
    color: black;
}

.order-detail-info__mileage {
    margin-top: 0.5rem;
}

/* 결제 완료 페이지 */
.order-confirm .order-confirm__message {
    padding: 3rem 2rem 2rem;
}

.order-confirm .l-panel {
    margin-bottom: 0.5rem;
}

.order-confirm .order-confirm__product-table-tit {
    padding-right: 2.5rem;
}

.order-confirm .order-confirm__product-table-tit .order-confirm__product-table-amt {
    font-size: 1.2rem;
}

.order-confirm .accordion__title::after {
    top: 2.5rem;
    font-size: 3.5rem;
    font-weight: 300;
}

.order-confirm .product-thumb-item.thumb-item {
    padding: 1rem 0;
    margin: 0;
}

.order-confirm .product-thumb-item__brand {
    font-size: 1.2rem;
}

.order-confirm .product-thumb-item .bold {
    font-size: 1rem;
    font-weight: 700;
}

.order-confirm .product-thumb-item .standardAmt {
    font-size: 1rem;
    color: #9d9d9d;
}

.order-confirm .order-detail-info .accordion__items {
    padding: 2rem 2rem 0;
}

.order-confirm .order-detail-info__item-title {
    padding-bottom: 0.8rem;
}

.order-confirm .price-tag__division2 {
    width: 90%;
    margin: 1.2rem 0 1.2rem 5%;
}

.order-confirm .order-detail-info__pay-method {
    padding-top: 1rem;
}

.order-detail-info__copy-btn {
    height: 4rem;
    padding: 0;
    font-size: 1rem;
}

.order-confirm__btn-group .btn {
    height: 4rem;
}

/* 비회원 주문번호 안내 */
.l-panel.order-confirm__message .non-member-notice {
    color: red;
}

/* 주문 조회 페이지 */
.order-detail .order-detail__cancel-all-btn.btn--cancel_all {
    color: #fff;
    font-weight: 700;
}

.order-detail__product-table {
    padding: 0 2rem;
}

.order-detail .order-detail__product {
    margin-top: 1.5rem;
}

.order-detail .order-detail__product .product-thumb-item {
    padding: 1.6rem 0 0;
    margin-bottom: 0;
}

.order-detail .order-detail__product .product-thumb-item__amount-wrap {
    margin-top: 0.5rem;
}

.order-detail .accordion__items {
    padding: 2rem 2rem 0.5rem;
}

.order-detail-info .description {
    font-size: 1rem;
}

.order-detail-info__pay-method {
    padding: 0 2rem;
}

.order-detail .order-detail-info__item-title {
    padding: 0 0 2rem;
    margin: 2rem;
    border-color: #000;
}

.order-detail__section-content .option-label__normal-option {
    font-size: 1rem;
}

.order-detail .order-detail-info__item {
    padding: 0 2rem;
}

.product-thumb-item__price-section, .product-thumb-item__price-section .standardAmt {
    font-size: 1rem;
}

.thumb-item__info, .product-thumb-item__brand {
    font-size: 1rem;
}

.product-thumb-item__price-section .standardAmt {
    color: #a3a3a3;
}

.coupon-modal__controller-item {
    display: flex;
    align-items: center; /* 세로 가운데 정렬 */
    column-gap: 10px;
}

.coupon-modal__coupon-amount {
    margin-left: 7rem;
}

.coupon-modal__coupon-type {
    margin-bottom: 1rem;
}


.coupon-modal__coupon-section > * {
    max-height: none; /* 높이 제한 해제 */
    height: auto; /* 내용에 맞춰 늘어나도록 */
    overflow: visible; /* 스크롤 제거 */
}

.coupon-modal__controller {
  background-color: white;
}

.coupon-modal__coupon-section:first-of-type .coupon-modal__controller {
  height: 20rem;
}

/* 모든 아이콘 숨기기 */
.order-sheet__pay-method-btns .pay-method-btn .pay-method-btn__icon {
    display: none !important;
}

.naver-pay-text {
    color: #3F434C;
}

/* 선택된 상태에서 흰색 (기존 CSS의 color: #fff 활용) */
.pay-method-btn--checked .naver-pay-text {
    color: inherit; /* 부모의 color: #fff를 상속받음 */
}

.accordion__title,
.order-sheet__promotion-title,
.order-sheet__pay-method-title,
.price-tag__final-amount dt {
    font-size: 1.5rem !important;
}

/* 주문 실패 시 안내되는 내용 디자인에 통일 */
.order-confirm__go-home-btn {
    background-color: black;
}

.order-confirm__sub-message--fail {
    font-size: 1.2rem;
    padding: 30px;
    margin: 30px 0;
    line-height: 30px;
}

/* 모바일 실제 기기 대응 */
@media screen and (max-width: 480px) {
    .orders .orders__product {
        min-height: 11rem;
        height: auto;
    }

    .orders .orders__product-image {
        width: 11rem; /* 정사각형 유지 */
        min-width: 11rem;
        height: 11rem;
    }

    .orders .orders__product-description {
        padding: 0.5rem;
    }
}
section.l-panel.cart__delivery-section {
    border: solid 1px;
}

.l-panel.cart__payment-info {
    margin-bottom: 10rem;
}

.cart {
    background-color: #ededed;
    min-height: 85vh;
}

.cart__delivery-section {
    background-color: #ffffff;
}

.inner-cart {
    /*margin: 13px;*/
    padding: 1.3rem;
}

.inner-cart .thumb-item__info .product-thumb-item__brand {
    font-size: 1.2rem;
}

.cart__select-manager {
    padding: 1rem 0rem;
    box-shadow: none;
    margin-bottom: 0;
    border: none;
}

.cart .check-radio > input {
    position: absolute;
}

.cart__product {
    padding: 1.5rem;
    background-color: #ededed;
    display: flex;
    align-items: center;
    gap: 1rem; /* 이게 가장 깔끔함 */
}

.check-radio input[type="checkbox"] {
    margin-right: 10px; /* 체크박스와 이미지 간격 */
}

.cart__product .thumb-item {
    margin-bottom: 0;
}

/* 상품 영역 - 정상가격 부분 */
span.standardAmt {
    font-size: 1.1rem;
    text-decoration: line-through;
}

/* 수량 버튼 부분 */
.quantity-changer button {
    background-color: #f5f5f5;
    border: none;
}

.quantity-changer {
    border: none;
    margin-top: 0.5rem;
}

button.quantity-changer__decrease-btn {
    width: 2.2rem;
    height: 2.2rem;
    font-size: 1.85rem;   /* ⬅️ 줄임 */
    font-weight: lighter;
    line-height: 1.6rem;
}

button.quantity-changer__increase-btn {
    width: 2.2rem;
    height: 2.2rem;
    font-size: 1.3rem;     /* ⬆️ 키움 */
    font-weight: lighter;
    line-height: 1.6rem;
}


button.quantity-changer__decrease-btn {
    line-height: 2rem;
}

.cart__product-detail .product-thumb-item__name {
    width: calc(100% - 2.5rem);
    word-break: keep-all;
    font-size: 1.2rem;
}

/* X 버튼 */
.check-radio input:checked ~ :where(.check-radio__ico) {
    background-color: #000000;
    border-color: #000000;
}

.cart__delete-btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 2rem;
    height: 2rem;
}

.cart__delete-btn::before,
.cart__delete-btn::after {
    width: 1.4rem;
    background-color: #838383;
}

/* 카트 내 제품 썸네일 */
.product-thumb-item .thumb-item__media {
    width: 8.5rem;
    height: 8.5rem;
}

/* 브랜드 명 */
.product-thumb-item__brand {
    margin-bottom: 0.5rem;
    font-size: 1.4rem;
    font-weight: bold;
    color: #000;
}

/*상품리뷰 상품의 겉 테두리 없앰*/
.board-product-item__image {
    box-shadow: none;
}


.review-form__title {
    font-size: 1.5rem;
}

/*리뷰 관리에서 텍스트 변경 가능*/
.product-thumb-item__brand_review {
    margin-bottom: 0.5rem;
    font-size: 1rem;
    font-weight: bold;
    color: #000;
}

.product-thumb-item .thumb-item__info {
    gap: 0rem;
    padding-left: 1.5rem;
}

/* 체크박스 */
/*.check-radio__ico {*/
/*    border: 1px solid #000;*/
/*}*/

.cart__delete-selected-btn {
    color: #000;
}

/* 총 상품금액, 총 배송비, 총 할인금액 */
.price-tag__details dt,
.price-tag__details dd {
    color: #000;
}

/* 총 상품금액, 총 배송비, 총 할인금액의 숫자 부분 */
.price-tag__details dd em {
    font-weight: 500;
}

/* 장바구니 페이지 하단 여백 */
.cart__fixed-order-btn {
    max-width: 100%;
}

.cart__payment-info .price-tag {
    padding: 0;
}


/*.check-radio .check-radio__ico{*/
/*    margin-top: 3.5rem;*/
/*    margin-right: 1rem;*/
/*}*/

.check-radio__ico .ico ico--check-white {
    margin-bottom: 3.5rem;
    margin-right: 1rem;
}

@media (min-width: 1000px) {
    .cart__fixed-order-btn {
        max-width: 500px;
    }
}


.header__title .header__home-btn cart{
    margin-bottom: 1rem;
}

.mypage-container {
    width: 100%;
    margin: 0 auto;
    background: #ffffff;
    box-sizing: border-box;
}

/* 회원 정보 영역 스타일 */
.member-info {
    position: relative;
    margin: 0 1.5rem;
    padding-top: 3rem;
    margin-bottom: 3rem;
}

.member-greeting {
    font-weight: 300;
    font-size: 1.2rem;
    line-height: 2.1rem;
    color: #000000;
}

.member-greeting p {
    margin: 0;
    padding-bottom: 0;
}

.benefit-btn {
    position: absolute;
    top: 3rem;
    right: 0;
    font-size: 1.2rem;
    font-weight: 400;
    color: #838383;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
}

.member-info-details {
    display: flex;
    margin-top: 1rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2rem;
    color: #838383;
}

.member-info-details span {
    margin-right: 1.5rem;
    position: relative;
}

.member-info-details span:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -0.8rem;
    top: 0.15rem;
    height: 0.9rem;
    width: 0.05rem;
    background-color: #d9d9d9;
}

/* 혜택 요약 영역 스타일 */
.benefit-summary {
    display: flex;
    width: 100%;
    margin: 0 auto;
    border: 0.5px solid #d8d8d8;
    margin-bottom: 3rem;
}

.benefit-card {
    flex: 1;
    height: 5.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}

.benefit-card:not(:last-child) {
    border-right: 0.5px solid #d8d8d8;
}

.benefit-title {
    font-size: 1rem;
    font-weight: 400;
    color: #000000;
    margin-bottom: 0.4rem;
}

.benefit-value {
    font-size: 1.2rem;
    font-weight: 300;
    color: #000000;
}

/* 주문 처리 현황 영역 스타일 */
.order-status-section {
    margin: 0 15px 30px;
}

.order-status-header {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.order-status-title {
    font-size: 12px;
    font-weight: 500;
    color: #000000;
    margin-right: 5px;
}

.order-status-subtitle {
    font-size: 10px;
    font-weight: 400;
    color: #838383;
    margin-right: auto;

}

.order-status-more {
    font-size: 12px;
    color: #000000;
    text-decoration: none;
    font-weight: 500;
}

.order-status-summary {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 0.5px solid #d8d8d8;
}

.order-status-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    flex: 1;
}

.order-status-count {
    font-size: 14px;
    font-weight: 600;
    color: #838383;
    margin-bottom: 5px;
}

.order-status-item:first-child .order-status-count {
    color: #000000;
}

.order-status-label {
    font-size: 10px;
    font-weight: 400;
    color: #838383;
}

.deposit-wait {
    color: #1facf3;
}

.order-status-item:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 10px;
    right: 0;
    width: 5px;
    height: 5px;
    border-top: 1px solid #d9d9d9;
    border-right: 1px solid #d9d9d9;
    transform: rotate(45deg);
}

.order-claim-summary {
    display: flex;
    background-color: #f5f5f5;
    height: 30px;
    width: 100%;
    margin: 0 auto;
}

.order-claim-item {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.order-claim-label {
    font-size: 10px;
    font-weight: 400;
    color: #000000;
    margin-right: 3px;
}

.order-claim-count {
    font-size: 10px;
    font-weight: 600;
    color: #565656;
}

.order-claim-item:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    height: 9px;
    width: 1px;
    background-color: #d9d9d9;
}

/* 메뉴 링크 영역 스타일 */
.menu-links {
    margin: 0 1.5rem 3rem;
    width: 100%;
    margin: 0 auto 3rem;
}

.menu-link-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 1rem 0.5rem 0; /* 오른쪽에 1rem 패딩 추가 */
    border-bottom: 0.5px solid #d8d8d8;
    text-decoration: none;
    color: #000000;
    position: relative;
}

.menu-link-item:first-child {
    border-top: 0.5px solid #d8d8d8;
}

.menu-link-item span {
    font-size: 1.2rem;
    font-weight: 500;
    margin-left: 5%;
}

/*!* 메뉴 화살표 아이콘 *!*/
/*.menu-arrow {*/
/*  position: relative;*/
/*  width: 2.1rem;*/
/*  height: 2.1rem;*/
/*  margin-right: 1rem;*/
/*}*/
/*.menu-arrow::before,*/
/*.menu-arrow::after {*/
/*  content: '';*/
/*  position: absolute;*/
/*  width: 1rem;*/
/*  height: 0.1rem;*/
/*  background: #000;*/
/*  top: 50%;*/
/*  right: 1rem;*/
/*}*/

/*.menu-arrow::before {*/
/*  transform: translateY(-0.3rem) rotate(45deg);*/
/*}*/

/*.menu-arrow::after {*/
/*  transform: translateY(0.3rem) rotate(-45deg);*/
/*}*/

/* 로그아웃 회원탈퇴 버튼 영역 스타일 */
.membership-actions {
    display: flex;
    justify-content: center;
    margin-bottom: 5rem;
    width: 100%;
}

.logout-btn {
    font-size: 1rem;
    font-weight: 500;
    color: #838383;
    background: transparent;
    border: none;
    text-decoration: underline;
    cursor: pointer;
    padding: 0 1rem;
    position: relative;
}

.logout-btn::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    height: 1.2rem;
    width: 0.5rem;
    background-color: #838383;
}

/* 로그아웃 회원탈퇴 버튼 영역 스타일 */
.membership-actions {
    display: flex;
    justify-content: center;
    margin-bottom: 5rem;
}

.logout-btn::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    height: 1.2rem;
    width: 0.1rem;
    background-color: #838383;
}

.membership-actions .logout-btn::after {
    display: none; /* 또는 content: ""; */
}

/* 로딩 스타일 */
.loading {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    font-size: 1.6rem;
    color: #838383;
}

.member-modification-name {
    display: none;
}

.member-modification-form__input-wrap select {
    padding-left: 0;
}

.phone-number-input select,
.phone-number-input input {
    height: 3.3rem; /* 동일한 높이 */
    line-height: 3.3rem; /* 텍스트 세로 중앙 */
    padding: 0; /* 위아래 여백 제거 */
    text-align: center; /* 숫자 가운데 정렬 */
    box-sizing: border-box;
}

.phone-number-input {
    display: flex;
    align-items: center; /* flex로 세로 정렬 */
    gap: 0.5rem;
}

.member-modification .select-box select {
    min-width: initial;

}

.phone-number-input {
    height: 3.3rem;
}

.member-modification .phone-number-input .select-box select {
    font-size: 1rem; /* 크기 줄이기 */
    margin-right: 0.5rem;
}

.member-modification .phone-number-input .select-box,
.member-modification .phone-number-input .text-field {
    display: block;
    width: calc(100% / 3 - 2rem);
    flex: 1;
}

.member-modification-form .phone-number-input .select-box {
    text-align: left;
}

.member-modification-form .phone-number-input .text-field {
    text-align: center;
}

.custom-select.phone-select {
    font-size: 1.2rem;
}

/* 주소 검색 박스 */
.my-page__count {
    font-size: 0.9rem;
}

.my-page__total-count {
    margin-top: 2rem;
    margin-bottom: unset;
}

.my-page__count span,
.my-page__total-count {
    font-size: 0.9rem;
}

.my-page__count span {
    font-weight: unset;
}

.profile-shipping-address__registration-button {
    height: 3rem;
    margin-top: 2rem;
    margin-bottom: 1rem;
    border: unset;
    background-color: #000;
    font-size: 1.2rem;
    color: #fff;
}

.profile-shipping-address__list {
    padding-bottom: 5rem; /* 하단 네비 높이 고려 */
}

.profile-shipping-address__list-item {
    margin-top: 1rem;
    /*border: 1px solid #838383;*/
}

.empty-list {
    font-size: 1.2rem;
    color: #838383;
    /*border: 1px solid #838383;*/
}

.shipping-address-form__item .check-radio input[type='checkbox'] {
    display: none;
}

.shipping-address-form__buttons button {
    height: 3rem;
    font-size: 1.2rem;
}

.board-form__notice-text {
    font-size: 1.2rem;
}

/* 1:1 문의, 상품 문의 조회 버튼 */
.profile-list .inquiry-item__angle-top-down,
.personal-inquiry-list .inquiry-item__angle-top-down {
    position: relative;
}

.profile-list .inquiry-item__angle-top-down:before,
.personal-inquiry-list .inquiry-item__angle-top-down:before {
    content: '상세보기';
    position: absolute;
    top: 0.5rem;
    right: 1.5rem;
    width: 4rem;
    font-size: 1rem;
}

/* 1:1 문의, 상품 문의 목록에 하단 패딩주기 */
.profile-list,
.personal-inquiry {
    padding-bottom: 15rem;
}

/* 1:1 문의 */
.my-page__count {
    font-size: 0.9rem;
}

.my-page__total-count {
    margin-top: 2rem;
    margin-bottom: initial;
}

.my-page__count span,
.my-page__total-count {
    font-size: 0.9rem;
}

.my-page__count span {
    font-weight: initial;
}

.personal-inquiry__registration-button {
    height: 3rem;
    font-size: 1.2rem;
    border: unset;
    background-color: #000;
    color: #fff;
}

.personal-inquiry .ico--exclamation-white-bg {
    display: none;
}

.product-board-list__empty-notes {
    font-size: 1.2rem;
    color: #838383;
}

/* 버튼 높이 조정 */
.personal-inquiry-form .button,
.personal-inquiry-form .btn {
    height: 4vh; /* 원하는 높이로 조정 */
    min-height: 40px;
}

@media (max-width: 375px) {
    .personal-inquiry-form {
        padding: 3.5rem;
    }
}

/* 1:1 문의, 상품 문의 목록에 하단 패딩주기 */
.profile-list,
.personal-inquiry {
    padding-bottom: 15rem;
}


.search-zip-code-form__search .search-field__submit-btn {
    background-color: #f5f5f5 !important;
}

.shipping-address-form__item .phone-number-input .select-box select {
    width: 7rem; /* 박스 넓이 */
    box-sizing: border-box;
    margin-right: 0.5rem;
}

/* 나의 혜택보기 모달 가로 너비 늘리기 */
.modal:has(.my-grade) {
    width: 70% !important;
    max-width: 70% !important;
}

/*1:1 문의 내 셀렉션 박스 글씨 밑으로 붙는 현상 수정*/
.select-box.board-form__type-selector {
    display: block;          /* inline → block */
    line-height: normal;     /* 전역 span line-height 무력화 */
    margin-bottom: 12px;     /* 원하는 간격 부여 */
    height: auto;            /* 고정 높이 제거(있다면) */
    /* 필요 시 padding은 select에만 */
}
.boardform__panel.personal-inquiry-form .select-box.board-form__type-selector select {
    display: block;
    width: 100%;
    padding: 6px 40px 6px 10px;
    box-sizing: border-box;
    line-height: normal;
}

/* 배송지 등록 배송지명, 받는사람 필수 입력되도록 수정 */
div.shipping-address-form div.shipping-address-form__item div.shipping-address-error-message,
div.shipping-address-form div.shipping-address-form__item p.shipping-address-error-message {
    color: red !important;
    font-size: 12px !important;
    margin-top: 5px !important;
    margin-bottom: 0 !important;
}

.address-form__zip-code>.text-field, .address-form__zip-code>.btn {
    border-radius: 0;
}
.notice__list {
  min-height: 50dvh;
}

.notice__list li {
  padding: 1rem 1.5rem;
}

.notice__list li div {
  justify-content: flex-start;
  font-size: 1.2rem;
}

.notice__tit {
  font-size: 1.4rem;
  margin-top: 0.5rem;
}

/* MemberWithdrawal.css */
.member-withdrawal-container {
  max-width: 60rem;
  margin: 0 auto;
  padding: 2rem;
  background-color: #fff;
  min-height: 100vh;
}

.withdrawal-content {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

/* 헤더 섹션 */
.withdrawal-header {
  text-align: center;
  padding: 2rem 0;
  border-bottom: 1px solid #eee;
}

.withdrawal-header h2 {
  font-size: 2.4rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 1rem;
}

.withdrawal-warning {
  font-size: 1.2rem;
  color: #e74c3c;
  margin: 0;
  font-weight: 500;
}

/* 회원탈퇴 관련 버튼만 선택 */
.member-withdrawal-container .withdrawal-action .btn.btn--default {
  height: 3.5rem !important;
  min-height: 2rem !important;
  border-radius: 0;
}

/* 인증 폼 섹션 */
.authentication-form {
  background-color: #f8f9fa;
  border-radius: 8px;
  padding: 3rem;
  margin: 2rem 0;
}

.form-section h3 {
  font-size: 1.8rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 1rem;
}

.auth-description {
  font-size: 1.2rem;
  color: #666;
  margin-bottom: 3rem;
  line-height: 1.5;
}

.input-group {
  margin-bottom: 2rem;
}

.input-group label {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  color: #333;
  margin-bottom: 0.8rem;
}

.input-group input {
  width: 100%;
  height: 4.8rem;
  padding: 0 1rem;
  border-radius: 6px;
  font-size: 1.6rem;
  transition: border-color 0.3s ease;
  box-sizing: border-box;
}

.input-group input:focus {
  outline: none;
  border-radius: 6px;
}

.input-group input:disabled {
  background-color: #f5f5f5;
  color: #999;
  cursor: not-allowed;
}

/* 읽기 전용 입력 필드 스타일 */
.readonly-input {
  background-color: #f8f9fa !important;
  color: #495057 !important;
  border-color: #e9ecef !important;
  cursor: default !important;
  font-weight: 500;
}

.readonly-input:focus {
  box-shadow: none !important;
  border-color: #e9ecef !important;
}

/* 입력 필드 안내 텍스트 */
.input-notice {
  display: block;
  margin-top: 0.4rem;
  font-size: 1.2rem;
  color: #6c757d;
  line-height: 1.3;
}

.authentication-btn {
  width: 100%;
  height: 5rem;
  background-color: #e74c3c;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s ease;
  margin-top: 1rem;
}

.authentication-btn:hover:not(:disabled) {
  background-color: #c0392b;
}

.authentication-btn:disabled {
  background-color: #bdc3c7;
  cursor: not-allowed;
}

/* 처리 중 섹션 */
.processing-section {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 20rem;
  background-color: #f8f9fa;
  border-radius: 8px;
  margin: 2rem 0;
}

.processing-content {
  text-align: center;
}

.spinner {
  width: 4rem;
  height: 4rem;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #e74c3c;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 0 auto 2rem;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.processing-content p {
  font-size: 1.6rem;
  color: #333;
  margin: 1rem 0;
}

.processing-warning {
  font-size: 1.4rem !important;
  color: #666 !important;
}

/* 주의사항 섹션 */
.withdrawal-notice {
  background-color: #fff5f5;
  border: 1px solid #fed7d7;
  /*border-radius: 8px;*/
  padding: 2.4rem;
  margin-top: 3rem;
}

.withdrawal-notice h4 {
  font-size: 1.6rem;
  font-weight: 600;
  color: #e74c3c;
  margin-bottom: 1.6rem;
}

.withdrawal-notice ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.withdrawal-notice li {
  font-size: 1.2rem;
  color: #555;
  margin-bottom: 0.8rem;
  padding-left: 2rem;
  position: relative;
  line-height: 1.5;
  word-break: keep-all;
}

.withdrawal-notice li::before {
  content: '•';
  color: #e74c3c;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
}

/* 로딩 상태 */
.loading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 20rem;
  font-size: 1.6rem;
  color: #666;
}

/* 소셜 로그인 인증 섹션 */
.open-id-authentication {
  background-color: #f8f9fa;
  border-radius: 8px;
  padding: 4rem 3rem;
  text-align: center;
  margin: 2rem 0;
}

.open-id-authentication__info-text {
  font-size: 1.6rem;
  color: #333;
  line-height: 1.6;
  margin-bottom: 3rem;
}

.open-id-authentication__link {
  display: flex;
  justify-content: center;
}

/* 배송지 등록, x 버튼 정렬 */
#custom-modal-profile-shipping-address__form .title-modal__header .title-modal__title- {
  display: flex;
  align-items: center; /* 헤더 안 모든 자식(=h2 포함)을 세로 가운데 정렬 */
}

#custom-modal-profile-shipping-address__form .title-modal__title {
  margin-bottom: 0 !important;          /* 전역 margin 제거 */
  line-height: 1.4;   /* 필요 시 조정 */
}
/* 반응형 디자인 */
@media (max-width: 768px) {
  .member-withdrawal-container {
    padding: 1.6rem;
  }

  .authentication-form {
    padding: 2.4rem 2rem;
  }

  .withdrawal-header h2 {
    font-size: 2rem;
  }

  .withdrawal-notice {
    padding: 2rem;
  }

  .input-group input {
    height: 4.4rem;
    font-size: 1.4rem;
  }

  .authentication-btn {
    height: 4.6rem;
    font-size: 1.5rem;
  }
}

@media (max-width: 480px) {
  .member-withdrawal-container {
    padding: 1.2rem;
  }

  .authentication-form {
    padding: 2rem 1rem;
  }

  .withdrawal-header {
    padding: 1.6rem 0;
  }

  .withdrawal-notice {
    padding: 1.6rem;
  }
}

/* SimpleTermsAgreement.css */

/* 전역 체크박스 스타일 덮어쓰기 - 최고 우선순위 */
body input[type='checkbox']:checked {
    background-color: #000 !important;
    border-color: #000 !important;
}

html body input[type='checkbox']:checked {
    background-color: #000 !important;
    border-color: #000 !important;
}

* input[type='checkbox']:checked {
    background-color: #000 !important;
    border-color: #000 !important;
}

.terms-agreement-container {
    padding: 0 2rem;
    border: none;
    border-radius: 0;
    background-color: white;
}

.terms-agreement-title {
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 2rem;
    color: #333;
}

.terms-all-checkbox {
    padding: 2rem;
    background-color: white;
    border: 0.1rem solid #e0e0e0;
    border-radius: 0;
    margin-bottom: 2rem;
    font-size: 1.5rem;
}

.terms-item {
    padding: 1.6rem 0;
    background-color: white;
    border: none;
    border-bottom: 0.1rem solid #f0f0f0;
    border-radius: 0;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.terms-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 1.2rem;
    color: #333;
}

.terms-checkbox {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-right: 1rem;
    width: 1.8rem;
    height: 1.8rem;
    cursor: pointer;
    flex-shrink: 0;
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    appearance: checkbox !important;
}

.terms-view-button {
    padding: 0.8rem 1.6rem;
    border: 0.1rem solid #e0e0e0;
    background-color: white;
    color: #666;
    border-radius: 0;
    cursor: pointer;
    font-size: 1.2rem;
    transition: all 0.2s ease;
}

.terms-view-button:hover {
    background-color: #f8f9fa;
    color: #333;
}

.terms-notice {
    margin-top: 3rem;
}

.terms-notice-text {
    font-size: 1.3rem;
    color: #999;
    line-height: 1.6;
    background-color: transparent;
    padding: 0;
    border-radius: 0;
    margin: 0;
}

.terms-required-warning {
    color: #ff4444;
    font-size: 1.2rem;
    margin-top: 1rem;
    font-weight: 400;
}

/* 모달 스타일 */
.terms-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: white;
    z-index: 9999;
    display: flex;
    flex-direction: column;
}

.terms-modal-header {
    padding: 2rem;
    border-bottom: 0.1rem solid #e0e0e0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: white;
    min-height: 6rem;
}

.terms-modal-title {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 600;
    color: #333;
}

.terms-modal-close {
    background: none;
    border: none;
    font-size: 2.4rem;
    cursor: pointer;
    color: #999;
    padding: 0;
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    transition: color 0.2s ease;
}

.terms-modal-close:hover {
    color: #333;
}

.terms-modal-content {
    flex: 1;
    padding: 2rem;
    overflow: auto;
    font-size: 1.1rem;
    line-height: 1.8;
    color: #333;
    background-color: #fff;
}

.terms-modal-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 6rem 2rem;
    text-align: center;
}

.terms-loading-spinner {
    width: 4rem;
    height: 4rem;
    border: 0.4rem solid #f3f3f3;
    border-top: 0.4rem solid #000;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 2rem;
}

.terms-loading-text {
    font-size: 1.6rem;
    color: #666;
}

.terms-modal-text {
    white-space: pre-wrap;
    word-break: break-word;
}

.terms-modal-footer {
    padding: 2rem;
    border-top: 0.1rem solid #e0e0e0;
    text-align: center;
    background-color: white;
}

.terms-modal-confirm-button {
    padding: 1.2rem 4rem;
    background-color: #000;
    color: white;
    border: none;
    border-radius: 0;
    cursor: pointer;
    font-size: 1.6rem;
    font-weight: 600;
    min-width: 12rem;
    transition: background-color 0.2s ease;
}

.terms-modal-confirm-button:hover {
    background-color: #333;
}

/* 애니메이션 */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* 반응형 디자인 */
@media (max-width: 76.8rem) {
    .terms-agreement-container {
        padding: 0 1rem;
    }

    .terms-all-checkbox {
        padding: 1.5rem;
    }

    .terms-item {
        padding: 1.2rem 0;
        flex-direction: row;
        align-items: center;
        gap: 0;
        flex-wrap: nowrap;
    }

    .terms-view-button {
        padding: 0.6rem 1.2rem;
        font-size: 1.1rem;
        margin-left: 1rem;
        flex-shrink: 0;
    }

    .terms-modal-header {
        padding: 1.5rem;
    }

    .terms-modal-content {
        padding: 1.5rem;
    }

    .terms-modal-footer {
        padding: 1.5rem;
    }

    .terms-modal-title {
        font-size: 1.3rem;
    }

    .terms-modal-close {
        font-size: 2rem;
        width: 3rem;
        height: 3rem;
    }
}
/* SocialCallbackPage.css */

.loading-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background-color: #f8f9fa;
}

.loading-spinner {
    width: 4rem;
    height: 4rem;
    border: 0.4rem solid #e3e3e3;
    border-top: 0.4rem solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 2rem;
}

.terms-form-container {
    padding: 2rem;
    max-width: 42rem;
    margin: 0 auto;
    min-height: 100vh;
    background-color: white;
}

.terms-form-wrapper {
    background-color: white;
    padding: 2rem 0;
    border-radius: 0;
    box-shadow: none;
}

.terms-form-title {
    text-align: center;
    margin-bottom: 5rem;
    color: #333;
    font-size: 1.3rem;
    font-weight: 600;
}

.terms-form-description {
    text-align: center;
    color: #666;
    margin-bottom: 3rem;
    font-size: 1.4rem;
    font-weight: 400;
}

.terms-form-button-container {
    margin-top: 3rem;
    padding: 0 2rem;
}

.terms-form-submit-button {
    width: 100%;
    height: 4.6rem;
    padding: 1.8rem;
    font-size: 1.1rem;
    font-weight: 600;
    background-color: #000;
    color: white;
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background-color 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
}

.terms-form-submit-button.disabled {
    background-color: #ccc;
    cursor: not-allowed;
}

.terms-form-submit-button:not(.disabled):hover {
    background-color: #333;
}

/* 반응형 디자인 */
@media (max-width: 76.8rem) {
    .terms-form-container {
        padding: 1rem;
    }

    .terms-form-wrapper {
        padding: 1rem 0;
    }

    .terms-form-button-container {
        padding: 0 1rem;
        margin-top: 2rem;
    }

    .terms-form-submit-button {
        padding: 1.6rem;
        font-size: 1.5rem;
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
@charset 'utf-8';
/* ✅ Pretendard Variable 폰트 import (npm 설치 기준) */

/*@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');*/

:root {
  --whole-color: #fff;
  --background-color: #f5f6f8;
  --point-color: #f92626;
  --point-color-secondary: #2869f7;
  --black-color: #111;
  --dark-gray-color: #262626;

  --empty-color: #f5f6f8;
  --default-color: #ddd;
  --blue-gray-color: #3f434c;
  --gray-color: #999;
  --gray-font-color: #828282;
  --tooltip-bg-color: #f7f7f7;

  --default-font-color: #181818;

  /* ✅ 전역 폰트 지정 */
  --font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI',
    'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
}

/* ✅ body 전체에 Pretendard 적용 */
body {
  font-family: 'Pretendard', sans-serif;
  line-height: 1;
}

body * {
  font-family: 'Pretendard', sans-serif;
}

html {
  font-size: 3.215vw;
}

@media (min-width: 400px) and (max-width: 624px) {
  html {
    font-size: 2.5vw;
  }
}

@media (min-width: 625px) and (max-width: 799px) {
  html {
    font-size: 1.6vw;
  }
}

@media (min-width: 800px) and (max-width: 999px) {
  html {
    font-size: 1.25vw;
  }
}

@media (min-width: 1000px) {
  html {
    font-size: 12px;
  }
}
