:root{
  --c-text:#333;
  --c-muted:#ccc;
  --c-border:#c9c9c9;
  --c-border-light:#dbdbdb;
  --c-accent:#f26667;
  --c-bg:#f9f9f9;

  --fs-12:12px;
  --fs-14:14px;
  --fs-16:16px;
  --fs-30:30px;

  --r-5:5px;
  --gap-5:5px;
  --gap-10:10px;
  --gap-20:20px;

  --pad-20:20px;
  --pad-30:30px;
}

/* 래퍼: 블러 퍼짐 가장자리 숨김 */
.img-blur-wrap{
    display:inline-block;
    overflow:hidden;
    line-height:0; /* 여백 제거 */
}
/* 실제 블러: 1~2px 정도가 '조금' */
.img-blur{
    -webkit-filter: blur(1.5px);
            filter: blur(1.5px);
    transform: scale(1.03); /* 가장자리 보정용 소폭 확대 */
    display:block;
}
  
/* ========================================
   ✅ Empty State
======================================== */
.empty-state {
    text-align: center;
    padding: 60px 20px;
    color: rgba(255,255,255,0.6);
}

.empty-icon {
    font-size: 80px;
    margin-bottom: 20px;
    opacity: 0.5;
}

.empty-message {
	color: #999;
    font-size: 18px;
    margin-bottom: 10px;
}

.empty-submessage {
	color: #999;
    font-size: 14px;
    opacity: 0.7;
}


table {
    width: 100%;
}


/* 컨테이너 기준점 */
.form-group.password-field {
  position: relative;
  overflow: visible; /* 아이콘 잘림 방지 */
}

/* 입력 글자가 아이콘과 겹치지 않도록 오른쪽 여백 확보 */
.form-group.password-field .form-control {
  padding-right: 2.75rem; /* 2.5~3rem 사이로 조절 */
  position: relative;
  z-index: 1;
}

/* 아이콘 버튼: 인풋 내부 오른쪽 '세로 정중앙' 고정 */
.form-group.password-field > .toggle-password {
  position: absolute !important;
  right: 10px !important;
  top: 60% !important;

  margin: 0 !important;
  padding: 0 8px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;

  display: inline-flex !important;
  align-items: center !important;   /* 세로 중앙 */
  justify-content: center !important;
  cursor: pointer;
  z-index: 2;
  min-width: 32px;                  /* 터치 영역 확장 */
}

/* 아이콘 크기 (테마 input 높이에 맞춰 16~20px 조절) */
.form-group.password-field > .toggle-password i {
  font-size: 18px;
  line-height: 1;
}



/* 1) 특이성 올리고 !important로 강제 */
input.ct-check{
  display:inline-block;           /* 일부 브라우저에서 필요 */
  transform: scale(1.2) !important;
  transform-origin: left top;
  margin-right: 8px;
  vertical-align: middle;         /* 줄높이 어긋남 방지 */
}

/* 2) 클릭 범위 */
input.ct-check + label{
  cursor: pointer;
  user-select: none;
  margin-left: 4px;
  line-height: 1.2;
}



/* 3) (크롬/엣지 전용) transform이 막힐 때 대비 */
@supports (-webkit-appearance: none) or (-moz-appearance: none) {
  input.ct-check{
    zoom: 1.2;   /* 크롬/엣지에서 잘 먹힘, 파폭은 무시됨 */
  }
}

.option-list { display:block; }
.option-item {
	display:flex; align-items:center; gap:.5rem;
	padding:.4rem 0; border-bottom:1px dashed #eee;
}
.option-item:last-child { border-bottom:0; }
.option-item .opt-name { font-weight:600; }
.option-item .opt-price { margin-left:.25rem; color:#666; }



.ps-btn.js-open-address-list, button.ps-btn.js-open-address-list {
	padding: 1rem 2rem;
	font-size: 1.2rem;
	color: #999;
	background-color: #fff;
	border: 1px solid #ccc;
}

.ps-btn.js-open-address-list:hover, button.ps-btn.js-open-address-list:hover {
	padding: 1rem 2rem;
	font-size: 1.2rem;
	color: #333;
	background-color: #fff;
	border: 1px solid #ccc;
}

/* 주소 입력 + 버튼 한 줄 배치 */
.form-group__content.addr-inline{
  display:flex;
  align-items:center;
  gap:8px;            /* 입력칸과 버튼 사이 여백 */
  flex-wrap:nowrap;   /* 한 줄 유지 */
}

.ps-form--checkout .form-control {
  height: 40px;
}

/* 입력칸 폭(원래 인라인 style 있었으면 여기로 옮기는 걸 권장) */
.form-group__content.addr-inline .form-control{
  max-width:150px;    /* 필요시 200~240px로 조절 */
}

/* 버튼이 입력칸 높이에 맞도록(테마에 따라 생략 가능) */
.form-group__content.addr-inline .ps-btn.ps-btn--sm{
  line-height:1; 
  padding:10px 14px;  /* 테마 버튼 높이와 맞춰 조정 */
}

/* 작은 화면에서는 세로로 쌓이게(선택) */
@media (max-width:480px){
  .form-group__content.addr-inline{
    flex-wrap:wrap;
  }
  .form-group__content.addr-inline .form-control{
    flex:1 1 160px;   /* 가능하면 가로로 넓게 */
  }
}
/* 체크아웃 합계 박스 테두리/라운드/패딩 */
.ps-block--checkout-total{
  border: 1px solid #e5e7eb;   /* 연회색 테두리 */
  border-radius: 12px;          /* 모서리 둥글게 */
  background: #fff;             /* 흰 배경(테마에 따라 유지) */
  padding: 20px;                /* 안쪽 여백 */
  box-shadow: 0 2px 6px rgba(0,0,0,.04); /* (선택) 아주 약한 그림자 */
}

/* 상단 헤더와 내용 구분선 */
.ps-block--checkout-total .ps-block__header{
  margin: -20px -20px 12px;     /* 박스 안쪽 여백과 맞추기 */
  padding: 14px 20px;
  border-bottom: 1px solid #f0f0f0;
}

/* 표 간격 정돈 */
.ps-block--checkout-total .ps-block__products{
  width:100%;
  margin: 8px 0 12px;
}

/* 배송 블록 위 구분선 */
.ps-block--checkout-total .ps-block__shippings{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #f5f5f5;
}

/* 버튼과 박스 사이 간격 */
.ps-btn.ps-btn--fullwidth{
  margin-top: 14px;
}

/* 기본 버튼(초록) */
.pay-methods .pay-btn{
  margin-right: 6px;
  transition: transform .06s ease, box-shadow .12s ease, background-color .2s ease, color .2s ease;
}

/* 선택 상태: 더 진한 초록 + 흰 글자 */
.pay-methods .pay-btn.is-selected{
  background-color: #2f7a17;   /* 진초록 */
  border-color: #2f7a17;
  color: #fff;
  box-shadow: 0 0 0 2px rgba(47,122,23,.12) inset;
}

/* 비선택 상태로 보이게 살짝 연해도 OK (선택) */
.pay-methods .pay-btn:not(.is-selected){
  background-color: #57a639;   /* 기본 초록 */
  border-color: #57a639;
  color:#fff;
  opacity:.9;
}

/* 키보드/마우스 인터랙션 */
.pay-methods .pay-btn:active{ transform: scale(.98); }
.pay-methods .pay-btn:focus{ outline: none; box-shadow: 0 0 0 3px rgba(87,166,57,.25); }


.checkout__notice {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    height: auto;
    margin: 35px 0 0 0;
    padding: 0;
    font-size: 12px;
    line-height: 1.4;
    color: #b2b2b2;
}
.checkout__notice span {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0 0 0 20px;
}
.checkout__notice span::before {
    content: '※';
    position: absolute;
    top: 2px;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 12px;
    height: 12px;
    margin: 0;
    padding: 0;
    font-size: 10px;
}

.checkout__agree {
    display: flex;
    flex-direction: column;
    vertical-align: middle;
    width: 100%;
    height: auto;
    margin: 25px 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    color: #333333;
}

.checkout__shipping {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 15px 0;
    border-bottom: 1px solid #e6e6e6;
}
.checkout__shipping .__title {
    font-size: 16px;
    line-height: 1;
    color: #333333;
}
.checkout__shipping .__price {
    font-size: 16px;
    line-height: 1;
    color: #333333;
}

.checkout__purchase__price {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 20px 20px;
    background-color: #abf1f1;
}
.checkout__purchase__price span {
    font-size: 24px;
    line-height: 1;
    color: #333333;
}
.checkout__purchase__price span:last-child {
    color: #4a4a4a;
}

/* 연락처: 한 줄 정렬 */
.form-inline-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;                 /* 한 줄 유지 */
}
.form-inline-row .form-control{ min-height:36px; }
.phone-code{ min-width:160px; width:auto; }   /* 국제전화코드 셀렉트 */
.phone-number{ flex:1 1 260px; }              /* 나머지 공간 채우기 */

/* 주소 행: 요소 간격 + 정렬 */
.addr-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:8px;
}
.country-select{ min-width:220px; }           /* 국가 셀렉트 */
.addr-label{ min-width:70px; color:#666; }     /* 라벨 간단하게 */
.zipcode{ width:120px; }                       /* 우편번호만 작게! */

/* 테이블 안 여백/줄맞춤 보정(선택) */
td .form-control{ max-width:100%; }

/* 모바일 대응: 좁은 화면에서 자동 줄바꿈 */
@media (max-width: 576px){
  .form-inline-row{ flex-wrap:wrap; }
  .phone-code{ min-width:140px; }
  .phone-number{ flex:1 1 100%; }

  .addr-row{ flex-wrap:wrap; }
  .addr-label{ min-width:auto; }
  .zipcode{ width:120px; } /* 그대로 작게 유지 */
}

/* 배너 중앙정렬 전용 보강 */
.ps-banner--centered{ 
  position: relative;  margin-bottom: 50px;
}
.ps-banner--centered > img{
  width: 100%;
  height: auto;
  display: block;
}

/* 텍스트를 배너 정중앙에 */
.ps-banner--centered .ps-section__header{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  padding: 0 16px;            /* 좌우 여백(모바일 보호) */
  box-sizing: border-box;
}

/* 제목 가독성 & 반응형 크기 */
.ps-banner--centered .ps-section__header h2{
  margin: 0;
  font-weight: 700;
  font-size: clamp(20px, 4vw, 40px);   /* 화면에 따라 자동 크기 */
  line-height: 1.2;
  color: #111;                         /* 배경 밝으면 진한 글자 */
  text-shadow: 0 1px 2px rgba(0,0,0,.15); /* 얕은 그림자(선택) */
}

/* 배경이 너무 밝아 글자가 묻히면, 약한 오버레이(선택) */
.ps-banner--centered::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(to bottom, rgba(255,255,255,.0), rgba(255,255,255,.15));
  pointer-events:none;
}

/* 이용약관/정책 박스 공용 */
.provision-box{
  border: 1px solid #ddd;      /* 테두리 */
  padding: 16px 18px;          /* 안쪽 여백 */
  border-radius: 10px;         /* 모서리 둥글게 */
  background: #fff;            /* 배경 (필요 시) */
}

/* 박스 안의 본문 가독성 보정(에디터 내용 포함 가정) */
.provision-box h1,
.provision-box h2,
.provision-box h3 { margin-top: 0.2em; }
.provision-box p  { margin: 0 0 0.8em; line-height: 1.6; }
.provision-box ul, 
.provision-box ol { margin: 0.6em 0 0.8em 1.2em; }

/* 모바일에서 여백 살짝 축소 */
@media (max-width: 575px){
  .provision-box{ padding: 12px 14px; border-radius: 8px; }
}


/* ===============================
   헤더 하단: 회색 1px 실선
   =============================== */
.header--organic .navigation {
    position: relative;
    border-bottom: 1px solid #e5e7eb !important;
}
/* 과거 스트라이프 제거(안전망) */
.header--organic .navigation::after,
.header--organic.header--sticky .navigation::after {
    content: none !important;
    display: none !important;
}
.header--organic.header--sticky .navigation {
    border-bottom: 1px solid #e5e7eb !important;
}
.header--mobile.organic .navigation--mobile {
    border-bottom: 1px solid #e5e7eb !important;
}

/* ===============================
   좌측 영역: 아이콘 + 메뉴 수평 배치
   =============================== */
.navigation__left .menu--product-categories {
    display: flex;
    align-items: center;
    gap: 0;                 /* 불필요 여백 제거 */
    white-space: nowrap;
}

/* ===============================
   햄버거 토글(아이콘 영역)
   - 좌우 세로선(의사요소)
   - 오른쪽 여백 최소화
   =============================== */
.header--organic .menu--product-categories .menu__toggle {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px !important;            /* 헤더 높이에 맞게 조절 */
    padding: 0 12px 0 14px !important;  /* 오른쪽 패딩 최소화 */
    margin-right: 10px !important;      /* 세로선 뒤 간격 */
    line-height: 1 !important;
    border-radius: 10px !important;
    background: transparent !important;
    cursor: pointer !important;
}

/* 좌/우 세로선 */
.header--organic .menu--product-categories .menu__toggle::before,
.header--organic .menu--product-categories .menu__toggle::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 1px !important;
    height: 32px !important;
    background: #e1e1e1 !important;
}
.header--organic .menu--product-categories .menu__toggle::before { left: 0 !important; }
.header--organic .menu--product-categories .menu__toggle::after  { right: 0 !important; }

/* 호버 시 세로선 강조 */
.header--organic .menu--product-categories .menu__toggle:hover::before,
.header--organic .menu--product-categories .menu__toggle:hover::after {
    background: #5fa30f !important;
}

/* 아이콘 크기/선명도 */
.header--organic .menu--product-categories .menu__toggle .icon-menu {
    font-size: 30px !important;
    width: 32px !important;
    height: 32px !important;
    margin-left: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #111 !important;
    line-height: 1 !important;
    text-shadow: 0 0 1px currentColor;
}

/* 텍스트(토글 내부에 있을 때) */
.header--organic .menu--product-categories .menu__toggle > span {
    font-weight: 700 !important;
    font-size: 15px !important;
    color: #111 !important;
}

/* ===============================
   햄버거 오른쪽의 "전체상품보기"를
   아이콘 옆에 나란히 배치
   =============================== */
.navigation__left .menu--product-categories > .menu.menu--organic {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}
.navigation__left .menu--product-categories > .menu.menu--organic > li > a {
    display: inline-flex;
    align-items: center;
    height: 48px;           /* 토글 높이와 동일 */
    padding: 0 12px;
    font-weight: 700;
    color: #111;
    text-decoration: none;
}
.navigation__left .menu--product-categories > .menu.menu--organic > li > a:hover {
    color: #5fa30f;
}

/* (옵션) 토글 Hover 배경 하이라이트 */
.header--organic .menu--product-categories .menu__toggle:hover {
    background: rgba(0, 0, 0, 0.04) !important;
}

.menu > li > a {
    display: inline-block;
    padding: 15px 15px;
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    color: #000;
}

/* 햄버거 버튼(헤더용) */
.hamburger-btn{
    display:inline-flex; align-items:center; justify-content:center;
    width:40px; height:40px; border:0; background:transparent; cursor:pointer;
}
.hamburger-btn .icon-menu{ font-size:26px; color:#111; }

/* 오버레이 */
.menu-overlay{
    position:fixed; inset:0; background:rgba(0,0,0,.35);
    opacity:0; visibility:hidden; transition:opacity .25s ease;
    z-index:9998;
}

/* 슬라이드 패널 */
.slide-menu{
    position:fixed; top:0; left:0; height:100vh; width:320px; max-width:86vw;
    background:#fff; box-shadow: 6px 0 24px rgba(0,0,0,.12);
    transform:translateX(-100%); transition:transform .28s ease;
    z-index:9999; display:flex; flex-direction:column;
}
.slide-menu .menu-header{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 18px; border-bottom:1px solid #eee;
}
.slide-menu .menu-header .menu-logo img{ height:28px; }
.slide-menu .menu-close{ border:0; background:transparent; width:36px; height:36px; cursor:pointer; }
.slide-menu .menu-close i{ font-size:22px; color:#111; }

.slide-menu .menu-content{
    padding:10px 18px 24px; overflow:auto; -webkit-overflow-scrolling:touch;
}

/* 1차 메뉴 */
.menu-section{ padding:10px 0; }
.menu-section + .menu-section{ border-top:1px solid #efefef; }
.menu-section-title{
    display:flex; align-items:center; justify-content:space-between;
    gap:10px; font-weight:700; color:#111; padding:10px 0; cursor:pointer;
}
.menu-section-title .menu-toggle-arrow{ margin-left:auto; }

/* 2차 메뉴 */
.menu-sub-items{ padding:6px 0 8px 16px; }
.menu-item{
    display:flex; align-items:center; justify-content:space-between;
    padding:10px 0; cursor:pointer; color:#111;
}
.menu-item:hover{ color:#5fa30f; }
.menu-item i{ margin-right:8px; }
.menu-item-title{ flex:1; }

/* 열림 상태 */
.menu-open .menu-overlay{ opacity:1; visibility:visible; }
.menu-open .slide-menu{ transform:translateX(0); }

/* 본문 스크롤 잠금 */
.menu-open{ overflow:hidden; }

/* 모바일 높이 조금 타이트하게 */
@media (max-width:480px){
    .slide-menu{ width:300px; }
}

.navigation .navigation__left {
  max-width: 60px;
}

.header-search {
    flex-grow: 1;
    padding: 0 20px;
    position: relative;
    z-index: 10;
}

.header-search form {
    position: relative;
    width: 100%;
}

/* 인풋-버튼 래퍼: 버튼 absolute 기준 */
.search-input-wrap {
    position: relative;
    width: 100%;
}

/* 인풋(돋보기 자리 포함) */
.header-search form .search-input {
    width: 100%;
    height: 50px;
    padding: 10px 44px 10px 20px; /* 오른쪽 44px: 아이콘 자리 */
    font-size: 1.5rem;
    box-sizing: border-box;
    transition: all .18s ease;
}

/* 돋보기 버튼: 인풋 내부 우측 */
.search-btn {
    position: absolute;
    top: 50%;
    right: 12px;
    width: 25px;
    height: 25px;
    margin: 0;
    padding: 0;
    font-size: 0;
    line-height: 0;
    border: none !important;
    background: url(../img/icons/header_search_icon.png) no-repeat center center !important;
    background-size: 25px 25px;
    transform: translateY(-50%);
    cursor: pointer;
}

/* ====== 안전 기본값 강제 ====== */
#headerSearch .search-suggest-panel { 
  display: none !important; 
}
#headerSearch .search-suggest-panel.show { 
  display: block !important; 
}

/* hidden 속성도 확실히 숨김 */
#headerSearch .search-suggest-panel[hidden] {
  display: none !important;
}

/* ====== 패널 배치/레이어 ====== */
.search-suggest-panel {
  position: absolute;
  left: 0;
  right: 0;
  top: -10px;                /* 인풋을 덮는 위치 */
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
  z-index: 999;              /* 헤더 위로 확실히 */
  overflow: hidden;
}
.search-suggest-panel.show {
    display: block;
}

/* 패널 상단(폼이 이동됨) */
.search-suggest-head {
    padding: 15px 14px;
    border-bottom: 1px solid #f1f5f9;
    background: #fff;
}

/* 패널 열림 시 인풋 살짝 확대 */
.header-search.in-overlay .search-input {
    height: 50px;            /* ← 기존 48px을 50px로 고정 */
    padding-right: 44px;     /* 아이콘 자리 유지 */
    border: 1px solid #e5e7eb;
    box-shadow: none;
}
.header-search.in-overlay .search-btn {
    right: 12px;
    width: 25px;
    height: 25px;
}

/* 패널 내부 */
.search-suggest-inner {
    padding: 12px 14px 10px;
}
.search-suggest-header {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 10px;
}
.search-suggest-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}
.search-suggest-chips .chip {
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    color: #111827;
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    transition: background .15s, border-color .15s;
}
.search-suggest-chips .chip:hover {
    background: #eef2ff;
    border-color: #c7d2fe;
}
.search-suggest-footer {
    display: flex;
    justify-content: flex-end;
    padding-top: 4px;
}
.btn-close-suggest {
    background: transparent;
    border: 0;
    color: #6b7280;
    font-size: 13px;
    padding: 6px 8px;
    border-radius: 8px;
    cursor: pointer;
}
.btn-close-suggest:hover {
    background: #f3f4f6;
    color: #374151;
}

/* 모바일 보정 */
@media (max-width: 576px) {
    .search-suggest-head {
        padding: 10px;
    }
    .header-search.in-overlay .search-input {
        height: 46px;
    }
}

.ps-header--row{
  display:flex;
  align-items:center;
  justify-content:space-between; /* 제목 왼쪽, 버튼 오른쪽 */
  gap:12px;
}
.ps-header--row h3{ margin:0; }            /* 제목 하단 여백 제거 */
.ps-header--row .btn{ white-space:nowrap;} /* 버튼 줄바꿈 방지 */
@media (max-width:576px){
  .ps-header--row{ flex-wrap:wrap; }       /* 모바일 좁을 때 줄바꿈 허용 */
}
/* =========================
   풀블리드 히어로 배너 (Owl)
   ========================= */

/* 가로 100% 풀블리드 + 중앙 기준 정렬 */
.hero-bleed{
    position: relative;
    width: 100dvw;                 /* 스크롤바 오차 줄이기 */
    left: 50%;
    transform: translateX(-50%);   /* 중앙 기준 정렬 */
    margin: 0;
}

/* 고정 높이: 필요시 --hero-h 값만 조정 */
.fixed-hero{
    --hero-h: 400px;
}

/* 반응형 높이 보정 */
@media (max-width: 1200px){
    .fixed-hero{ --hero-h: 360px; }
}
@media (max-width: 992px){
    .fixed-hero{ --hero-h: 340px; }
}
@media (max-width: 768px){
    .fixed-hero{ --hero-h: 300px; }
}
@media (max-width: 576px){
    .fixed-hero{ --hero-h: 260px; }
}

/* Owl 내부 높이를 고정값으로 통일 */
.fixed-hero .owl-stage-outer,
.fixed-hero .owl-stage,
.fixed-hero .owl-item,
.fixed-hero .ps-banner--organic{
    height: var(--hero-h);
}

/* 배너(배경/이미지): 가운데 기준 꽉 채우기 */
.ps-banner--organic{
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover; /* 남는 부분은 크롭 */
}

/* <img> 사용 시 */
.ps-banner--organic > img{
    width: 100%;
    height: 100%;
    object-fit: cover; /* 꽉 채우기(잘림 감수) */
    display: block;
}

/* 전체 클릭 오버레이 */
.hero-link{
    position: absolute;
    inset: 0;
    display: block;
    z-index: 1; /* nav/dots(=3)보다 아래 */
}

/* 이미지 비율 박스: 4:1 (원하는 비율로 바꾸세요) */
.hero-bleed .hero-ratio{
    aspect-ratio: 4 / 1;
    width: 100%;
}

/* aspect-ratio 미지원 브라우저/환경용 최소 높이 폴백 */
@supports not (aspect-ratio: 1 / 1){
    .hero-bleed .hero-ratio{
        min-height: 240px; /* 임의값: 필요시 조정 */
    }
}

/* Owl 불필요 여백 제거 */
.ps-carousel--nav-inside.owl-slider,
.ps-carousel--nav-inside .owl-stage-outer,
.ps-carousel--nav-inside .owl-stage,
.ps-carousel--nav-inside .owl-item{
    margin: 0 !important;
    padding: 0 !important;
}

/* (선택) 이미지 비율 박스가 필요하다면 사용
   .hero-bleed .hero-ratio{ aspect-ratio: 4 / 1; width: 100%; } */

/* 네비게이션 화살표가 항상 위에 보이도록 */
.ps-carousel--nav-inside .owl-nav{
    z-index: 5 !important;
}

/* 버튼 공통 모양(원형) */
.ps-carousel--nav-inside .owl-nav button{
    position: relative;
    margin: 5px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(0,0,0,.35);
    border: 0;
    outline: 0;
    color: #fff;
    display: grid;
    place-items: center;
}

/* 테마가 span을 숨겨도 보이도록: pseudo-element로 강제 출력 */
.ps-carousel--nav-inside .owl-nav button span{
    display: none !important;
}
.ps-carousel--nav-inside .owl-nav .owl-prev::before,
.ps-carousel--nav-inside .owl-nav .owl-next::before{
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: 40px;
    font-weight: 300;
    line-height: 1;
    color: #000;
    content: '';
}
.ps-carousel--nav-inside .owl-nav .owl-prev::before{
    content: '\2039'; /* ‹ */
}
.ps-carousel--nav-inside .owl-nav .owl-next::before{
    content: '\203A'; /* › */
}

/* 호버 색상 변화 */
.ps-carousel--nav-inside .owl-nav button:hover{
    background: rgba(0,0,0,.5);
}

/* 모바일에서 버튼 사이즈 축소 */
@media (max-width: 768px){
    .ps-carousel--nav-inside .owl-nav button{
        width: 44px;
        height: 44px;
    }
    .ps-carousel--nav-inside .owl-nav .owl-prev::before,
    .ps-carousel--nav-inside .owl-nav .owl-next::before{
        font-size: 28px;
    }
}

/* =========================
   쇼핑카트 버튼
   ========================= */
.ps-shopping-cart .ps-section__cart-actions {
  padding-top: 30px;
  padding-bottom: 40px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}

.ps-shopping-cart .ps-section__cart-actions .ps-btn i {
  margin-right: 6px;
  vertical-align: middle;
}

.ps-shopping-cart .ps-section__cart-actions .ps-btn--outline {
  border-color: #fff;
  color: #000;
  padding: 12px 20px;
  vertical-align: middle;
}

.ps-shopping-cart .ps-section__cart-actions .ps-btn--outline i {
  margin-right: 6px;
  vertical-align: middle;
}

.ps-shopping-cart .ps-section__cart-actions .ps-btn--outline:hover {
  background-color: #fcb800;
  border-color: #fcb800;
}

.ps-shopping-cart .ps-section__footer figure figcaption {
  position: relative;
  display: block;
  font-size: 20px;
  color: #000;
  margin-bottom: 35px;
}

.ps-shopping-cart .ps-section__footer figure figcaption:after {
  content: '\e93a';
  font-family: 'Linearicons';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

/* 카트 액션 버튼: 진한 테두리 */
.ps-shopping-cart .ps-section__cart-actions .ps-btn--outline.ps-btn--thick{
  border-width: 2px;
  border-style: solid;
  border-color: #111;   /* 진한 테두리 */
  color: #111;          /* 글자색도 진하게 */
  font-weight: 600;
  font-size: 16px;
  padding: 12px 22px;   /* 아이콘/텍스트 여백 */
  background: #fff;
  border-radius: 8px;   /* 필요 없으면 0으로 */
}

/* 호버는 기존 노랑 규칙 유지 */
.ps-shopping-cart .ps-section__cart-actions .ps-btn--outline.ps-btn--thick:hover,
.ps-shopping-cart .ps-section__cart-actions .ps-btn--outline.ps-btn--thick:focus,
.ps-shopping-cart .ps-section__cart-actions .ps-btn--outline.ps-btn--thick:active{
  background: #2e7d32;         /* 초록 유지 */
  border-color: #2e7d32;
  color: #fff;                  /* 가독성 위해 흰 글자 */
  font-size: 16px;
}

/* 아이콘 간격/정렬 */
.ps-shopping-cart .ps-section__cart-actions .ps-btn--outline.ps-btn--thick i{
  margin-right: 6px;
  vertical-align: middle;
}
.ps-shopping-cart .ps-section__footer figure .form-control {
  border-color: #ccc;
}

.ps-shopping-cart .ps-section__footer .ps-btn--outline {
  border-color: #cccccc;
  color: #000;
  border-radius: 0;
}

.ps-shopping-cart .ps-section__footer .ps-btn--outline:hover {
  background-color: #fcb800;
  border-color: #fcb800;
  color: #ffffff;
}

.ps-shopping-cart .ps-section__footer .select2 {
  min-width: 100%;
}

.ps-shopping-cart .ps-section__footer .select2 .select2-selection--single .select2-selection__rendered {
  padding: 15px 20px;
  border: #cccccc;
}

/* 카트 옵션/배송 텍스트를 은은하게 */
.cart-meta-dim{
  color:#666;        /* 약한 회색(=tailwind gray-500 느낌) */
  line-height:1.6;
  font-size:14px;       /* 필요시 소폭 축소 */
}

/* 내부에 a, span, b 등이 있더라도 색 유지 */
.cart-meta-dim a,
.cart-meta-dim span,
.cart-meta-dim b,
.cart-meta-dim i{
  color:inherit;
}

@media (max-width: 479px) {
  .ps-shopping-cart .ps-section__cart-actions {
    flex-flow: row wrap;
  }
  .ps-shopping-cart .ps-section__cart-actions .ps-btn {
    width: 100%;
    margin-bottom: 10px;
    text-align: center;
  }
}






/* ✅ variants 있을 때: 기존 동작 유지 (row-reverse) */
.ps-product--detail .ps-product__thumbnail {
  display: flex;
  flex-flow: row-reverse nowrap; /* ← 원래대로 유지 */
  align-content: flex-start;
}

/* ✅ variants 없는 카드만: 일반 row로 전환 */
.ps-product--detail .ps-product__thumbnail.no-variants {
  flex-flow: row nowrap !important;   /* ← row-reverse 해제 */
}

/* ✅ 왼쪽 공백(60/52px 계산폭 & padding) 제거 */
.ps-product--detail .ps-product__thumbnail.no-variants figure,
.ps-product--hot-deal .ps-product__thumbnail.no-variants > figure {
  max-width: 100% !important;
  padding-left: 0 !important;
}

/* (옵션) variants 컬럼이 혹시 남아 있으면 숨김 */
.ps-product--detail .ps-product__thumbnail.no-variants .ps-product__variants,
.ps-product--hot-deal .ps-product__thumbnail.no-variants .ps-product__variants {
  display: none !important;
}

/* 고정 썸네일 박스 유지 */
.thumb-fixed { width:300px; height:360px; overflow:hidden; border-radius:8px; }
.thumb-fixed .ps-wrapper,
.thumb-fixed .ps-product__gallery,
.thumb-fixed .ps-product__gallery .item,
.thumb-fixed .ps-product__gallery .item a { width:100%; height:100%; display:block; }
.thumb-fixed img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }

/* ① 제목은 확실히 한 줄을 차지(줄바꿈 강제) */
.product-name{
  display:block !important;
  width:100% !important;
  margin-bottom:0.5rem; /* 필요시 조정 */
  clear:both;
}

/* ② 한줄 설명: 제목 아래 '한 줄만' 보이고 넘치면 … */
.product-subtext{
  display:block;
  width:100%;
  font-size:16px;
  margin:0 0 0.75rem 0;
  /*white-space:pre-line;      \n 줄바꿈을 화면에 반영 */
  overflow:visible;         /* 숨기지 않음 */
  text-overflow:clip;       /* 말줄임 제거 */
  clear:both;
  word-break:break-word;    /* 긴 단어/URL도 줄바꿈 */
  overflow-wrap:anywhere;   /* 강제 줄바꿈 허용(보조) */
}

/* ③ 리뷰/위시/공유 블록: 다음 줄부터 시작(줄바꿈 보장) */
.product-meta{
  display:flex !important;          /* 왼쪽/오른쪽 배치 */
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100% !important;
  padding:8px 0 12px;
  border-bottom:1px solid #eee;
  margin:0 0 0.5rem 0;
  clear:both;                       /* 이전 줄과 강제 분리 */
  float:none !important;            /* 테마 float 강제 해제 */
  position:static !important;       /* 혹시 absolute였다면 해제 */
}

/* 왼쪽(별점+리뷰) */
.product-meta-row .product-meta-left{
  display:flex; align-items:center; gap:8px;
  min-width:0; flex:1 1 auto;       /* 내용 길어도 오른쪽 공간 남겨줌 */
  white-space:nowrap;
}

/* 오른쪽(위시/공유) — 항상 오른쪽 끝으로 */
.product-meta-row .product-meta-right{
  margin-left:auto;                 /* ← 핵심: 오른쪽 끝으로 밀기 */
  display:flex; align-items:center; gap:10px;
  flex:0 0 auto; white-space:nowrap;
}

/* 아이콘 크기/줄바꿈 방지 */
.product-meta-row .product-meta-right a{ display:inline-flex; }
.product-meta-row .meta-icon{ width:22px; height:22px; display:block; }

/* 별 아이콘 색상(폰트어썸) */
.rating__star{ font-size:14px; line-height:1; margin-right:2px; }
.rating__star--full,.rating__star--half{ color:#ffc107; }
.rating__star--empty{ color:#cfcfcf; }
.rating__count{ color:#6b6b6b; margin-left:4px; }

/* ④ 내부 좌우 정렬 + 테마 스타일 무력화 */
.product-meta .product-meta-left,
.product-meta .product-meta-right{
  float:none !important;
}

.product-meta .product-meta-left{
  display:flex; align-items:center; gap:8px;
  flex:1; min-width:0;              /* 리뷰 카운트 말줄임 보호 */
}

.product-meta .rating i{            /* 폰트어썸 별 아이콘 크기 */
  font-size:14px; margin-right:2px; line-height:1;
}
.product-meta .rating .fa-star,
.product-meta .rating .fa-star-half-alt{ color:#ffc107; }
.product-meta .rating .far.fa-star{ color:#cfcfcf; }

.product-meta .rating__count{ color:#6b6b6b; margin-left:4px; }

.product-meta .product-meta-right{
  display:flex; align-items:center; gap:10px; flex:0 0 auto;
}
.product-meta .product-meta-right img{ width:22px; height:22px; display:block; }
/* 한 줄 레이아웃 + 좌우 정렬 */
.product-meta-row{
  display:flex !important;
  align-items:center;
  justify-content:space-between; /* ← 왼쪽 별/리뷰, 오른쪽 아이콘 */
  gap:12px;
  flex-wrap:nowrap;              /* ← 줄바꿈 금지 */
  width:100%;
  border-bottom:1px solid #eee;
  padding:6px 0 10px;
}

/* 래퍼 */
.buy-panel { margin-top: 18px; }
.buy-panel .bp-row {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 12px 16px; border-radius: 12px; background: #f8fafa;
}

/* 수량 */
.bp-qty { display: inline-flex; align-items: center; gap: 10px; }
.bp-btn {
  width: 32px; height: 32px; border-radius: 50%;
  border: 1px solid #d4e9e9; background: #fff; font-size: 18px; line-height: 1; 
}
.bp-input {
  width: 48px; text-align: center; border: 0; background: transparent; font-size: 16px;
}

/* 합계 */
.bp-total { display: flex; align-items: baseline; gap: 12px; }
.bp-total-label { color: #6b7b7b; font-size: 14px; }
.bp-total-value { font-weight: 700; font-size: 22px; }
/* 가격 영역 전체: 행 간격만 */
.bp-price-list{
  display:grid;
  row-gap:6px;
  margin:0;
}

/* 3열 그리드: [라벨 | 값 | 퍼센트]
   가운데 값 칼럼 너비를 고정하면 정렬이 더 '균일'해짐 */
.bp-price-row{
  /* 값 칼럼 기준 너비를 변수로 관리(반응형에 맞게 조절) */
  --value-col: 80px; /* 120~160px 사이 추천 */

  display:grid;
  grid-template-columns: auto var(--value-col) auto;
  align-items:baseline;
  column-gap:6px;
  width:100%;
}
.bp-price-row{
  grid-template-columns: auto minmax(96px, max-content) auto;
  column-gap: 6px;
}
/* 라벨(왼쪽) */
.bp-price-label{
  font-size:16px;
  color:#111;
  white-space:nowrap;      /* 줄바꿈 방지 */
}

/* 값(가운데, 오른쪽 정렬) */
.bp-price-value{
  font-size:18px;
  font-weight:600;
  text-align:right;        /* 숫자 끝자리를 세로로 딱 맞춤 */
  margin:0;
}
.bp-price-value del{ color:#888; }

/* 퍼센트(오른쪽, 민트/굵게) */
.bp-price-percent{
  font-weight:700;
  font-size:20px;
  line-height:1;
  color:#18c7c4;
  white-space:nowrap;
}

/* 좁은 화면 대응: 값 칼럼 살짝 줄이고 글자 크기 다운 */
@media (max-width:420px){
  .bp-price-row{ --value-col: 110px; }
  .bp-price-label{ font-size:15px; }
  .bp-price-value{ font-size:17px; }
  .bp-price-percent{ font-size:18px; }
}


/* 액션 영역 기본 레이아웃 */
.bp-actions{
  display:flex;
  gap:10px;
  width:100%;
}
/* 버튼들 */
.bp-btn-outline, .bp-btn-fill {
  flex: 1 1 0; height: 52px; border-radius: 28px; font-weight: 700; font-size: 18px;
}
.bp-btn-outline {
  background: #fff; border: 2px solid #29c7c7; color: #29c7c7;
}
.bp-btn-fill {
  background: #29c7c7; border: 2px solid #29c7c7; color: #fff;
}

/* 품절 버튼 (이미지 스타일) */
.bp-btn-soldout{
  width:80%;
  height:48px;                 /* 필요시 44~52px 조절 */
  background:#bfc1c5;          /* 연한 회색 */
  color:#fff;
  border:0;
  border-radius:12px;          /* 둥근 모서리 */
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:0 6px 16px rgba(0,0,0,.08);  /* 은은한 그림자 */
  cursor:not-allowed;
  opacity:0.98;
}
.bp-btn-soldout:disabled{ opacity:0.98; }


/* 모바일 여백 보정 */
@media (max-width: 480px) {
  .buy-panel .bp-row { flex-direction: column; align-items: stretch; gap: 10px; }
  .bp-total { justify-content: space-between; }
}



/* 공통: 표 레이아웃/간격 통일 */
/* product-price-table에서는 모든 선 제거 */
.table.product-price-table {
  border: 0 !important;
}
.table.product-price-table {
    width: 100%;
    border-collapse: collapse;       /* 줄 간격 예측 가능 */
    table-layout: fixed;             /* 고정 레이아웃 */
    font-size: 16px;
    line-height: 1.4;
}

/* 왼쪽 열 폭 고정 (두 표 모두 동일 적용) */
.table.product-price-table th {
    width: 110px;                    /* 원하는 값으로 조절(예: 100~140px) */
    white-space: nowrap;             /* 라벨 줄바꿈 방지 */
    vertical-align: top;
    padding: 8px 10px;
    color: #333;
}

/* 오른쪽 열 */
.table.product-price-table td {
    padding: 8px 10px;
    vertical-align: top;
    color: #333;
    word-break: keep-all;            /* 한글 단어 중간 끊김 방지 */
}

/* 할인 퍼센트 배지 정렬 통일 */
.table.product-price-table .bp-price-percent {
    display: inline-block;
    margin-left: 8px;
    font-weight: 600;
}

/* 필요 시 행 사이 미세 간격 */
.table.product-price-table tr + tr td,
.table.product-price-table tr + tr th {
    border-top: 0;                   /* Bootstrap 기본선 제거 */
}
/* 혹시 테마가 tr 자체에 선을 넣었다면 이것도 무력화 */
.table.product-price-table > tbody > tr {
  border: 0 !important;
}

/* 가격표 테이블 공통 리셋 */
.table.product-price-table{
    border: 0;
    border-collapse: separate;   /* collapse일 때 생기는 라인/겹침 방지 */
    border-spacing: 0;
    position: relative;
}

/* 모든 셀의 상단선 제거 */
.table.product-price-table > tbody > tr > th,
.table.product-price-table > tbody > tr > td{
    border-top: none !important;
    background-image: none !important;  /* 일부 테마가 gradient로 선을 넣는 경우 */
}

/* 첫 행에 혹시 남는 선 완전 제거 */
.table.product-price-table tbody tr:first-child th,
.table.product-price-table tbody tr:first-child td{
    border-top: 0 !important;
}

/* 테이블 앞에 그어지는 구분선(테마용) 제거 */
.table.product-price-table::before,
.table.product-price-table::after{
    content: none !important;
}


/* =========================
   상품 구매안내
   ========================= */
/* 레이아웃 */
.__product_guide--header{
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:10px; width:100%; margin:30px 0 0;
}
.__product_guide--header--logo img{ width:100%; max-width:100%; height:auto; object-fit:cover; }
.__product_guide--header--title span{ font-size:24px; line-height:1; color:#111; }

.__product_guide--content{ display:flex; flex-direction:column; gap:20px; width:100%; margin-top:20px; }
.__product_guide--content .__info{ display:flex; flex-direction:column; }

/* 타이포: 선명도 업(색상 진하게, 웨이트 올림, 스무딩 정리) */
.__product_guide--content .__info h1{
    margin:30px 0 0; padding:0 0 16px; font-size:18px;
    font-family:'S-Core6' !important; font-weight:600 !important;
    color:#111; line-height:1.2; border-bottom:1px solid #cfcfcf;
    -webkit-font-smoothing:auto; -moz-osx-font-smoothing:auto;
}
.__product_guide--content .__info h1:first-child{ margin-top:20px; }

.__product_guide--content .__info h2{
    margin:24px 0 0; font-size:15px;
    font-family:'S-Core6' !important; font-weight:600 !important;
    color:#222; line-height:1.3;
    -webkit-font-smoothing:auto; -moz-osx-font-smoothing:auto;
}

.__product_guide--content .__info p,
.__product_guide--content .__info .fontSC3{
    margin-top:14px; font-size:14px;
    /* 기존 300 → 400으로 올려 가독성 ↑ */
    font-family:'S-Core3' !important; font-weight:400 !important;
    line-height:1.7; color:#333; letter-spacing:0;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:auto; -moz-osx-font-smoothing:auto;
}

/* 항목 리스트 기본 스타일(가독성) */
.__product_guide--content .guide-list{
    margin:12px 0 0; padding-left:18px;
}
.__product_guide--content .guide-list li{
    margin:6px 0; color:#333; line-height:1.7;
}

/* 작은 화면 */
@media (max-width: 992px){
    .__product_guide--header{ margin-top:20px; }
    .__product_guide--header--title span{ font-size:20px; }
    .__product_guide--content .__info h1{ font-size:17px; }
    .__product_guide--content .__info h2{ font-size:14px; }
    .__product_guide--content .__info p{ font-size:14px; line-height:1.75; }
}

/* =========================
   상품 리뷰
   ========================= */
.__product_review--header {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: auto;
    margin: 30px 0 0 0;
    padding: 0;
}
.__product_review--header .__product_review--header--logo {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
}
.__product_review--header .__product_review--header--logo img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
}
.__product_review--header .__product_review--header--title {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
}
.__product_review--header .__product_review--header--title span {
    font-size: 24px;
    line-height: 1;
    color: #333333;
}

.__product_review--status {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    margin: 30px 0 0 0;
    padding: 30px 30px;
    border: 1px solid #cccccc;
}
.__product_review--status .__total__rating {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
}
.__product_review--status--block {
    flex: 0 0 auto;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0 0 0 30px;
    padding: 0 0 0 30px;
    border-left: 1px solid #ececec;
}
.__product_review--status--block.__total {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
}
.__product_review--status--block.__total .__title {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 10px 20px;
    font-size: 16px;
    line-height: 1;
    color: #333333;
    border-radius: 30px;
    background-color: #ececec;
}
.__product_review--status--block.__total .__count {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 20px 0 0 0;
    font-size: 16px;
    line-height: 1;
    color: #333333;
}
.__product_review--status--block.__total .__count .type1 {
    position: relative;
    top: 4px;
    font-size: 30px;
}
.__product_review--status--block.__rating .__title {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 10px 20px;
    font-size: 16px;
    line-height: 1;
    color: #333333;
    border-radius: 30px;
    background-color: #ececec;
}
.__product_review--status--block.__rating .__value {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 20px 0 0 0;
}
.__product_review--status--block.__rating .__value .rating.__star {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
}
.__product_review--status--block.__rating .__value .rating.__star .rating__item {
    font-size: 24px;
}
.__product_review--status--block.__rating .__value .rating.__star .rating__item--active {
    color: #f26667;
}
.__product_review--status--block.__rating .__value .__star_point {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0 0 0 10px;
    font-size: 16px;
    line-height: 1;
    color: #333333;
}
.__product_review--status--block.__rating .__value .__star_point .type1 {
    position: relative;
    top: 4px;
    font-size: 30px;
}

.__product_review--status--block.__graph {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
}
.__product_review--status--block.__graph .__rate {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
}
.__product_review--status--block.__graph .__rate .__gauge {
    background: #eee;
    width: 10px;
    height: 55px;
    margin: 0 0 8px 0;
    border-radius: 2px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
}
.__product_review--status--block.__graph .__rate .__gauge .__percentile {
    background: #666;
    display: block;
    width: 100%;
    min-height: 1%;
}
.__product_review--status--block.__graph .__rate.rate5 .__gauge .__percentile {
    background: #f94830;
}
.__product_review--status--block.__graph .__rate .__text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1;
    color: #333333;
}

.__product_review--status--block.__writing .__title {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1;
    color: #333333;
}
.__product_review--status--block.__writing .__btn {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 15px 0 0 0;
    padding: 10px 30px;
    font-size: 14px;
    line-height: 1;
    color: #33cccc;
    border: 1px solid #33cccc;
    border-radius: 4px;
    background-color: #fff;
    cursor: pointer;
}

.__product_review--content {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 30px 0 0 0;
    padding: 0;
}
.__product_review--content .__review-count {
    font-size: 14px;
    color: #111;
    font-weight: 400;
    margin-bottom: 10px;
}
.__product_review--content .__review-count strong {
    font-weight: 600;
    color: #d60000;
}
.__product_review--content--list {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}
.__product_review--content--list .no_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 50px 0;
    font-size: 16px;
    line-height: 1;
    color: #666666;
}
.__product_review--content--list .__review-item {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}
.__product_review--content--list .__review-item:first-child {
    padding-top: 0;
}
.__product_review--content--list .__review-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}
.__product_review--content--list .__review-rating {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}
.__product_review--content--list .__review-stars {
    color: #ff5a00;
    font-size: 14px;
    margin-right: 5px;
}
.__product_review--content--list .__review-score {
    font-weight: 600;
    font-size: 14px;
}
.__product_review--content--list .__review-body {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}
.__product_review--content--list .__review-thumbnail {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
}
.__product_review--content--list .__review-thumbnail .__review-thumbnail--image {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 80px;
    min-width: 80px;
    height: 80px;
    margin: 0;
    padding: 0;
    border: 1px solid #eee;
    overflow: hidden;
}
.__product_review--content--list .__review-thumbnail .__review-thumbnail--image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.__product_review--content--list .__review-text {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    font-size: 14px;
    color: #111;
    line-height: 1.6;
}
.__product_review--content--list .__review-summary {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 13px;
    color: #111;
    line-height: 1.4;
}
.__product_review--content--list .__review-summary.show {
    -webkit-line-clamp: unset;
    display: block;
    overflow: visible;
    text-overflow: unset;
}
.__product_review--content--list .__review-more {
    margin-top: 5px;
    color: #888;
    font-size: 12px;
    cursor: pointer;
}
.__product_review--content--list .__review-more i {
    font-size: 11px;
}
.__product_review--content--list .__review_open {
    cursor: pointer;
}
.__product_review--content--list .__review__btns {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
    height: auto;
    margin: 10px 0 0 0;
    padding: 0;
}
.__product_review--content--list .__review__btns .__review__btn {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 6px 10px 4px 10px;
    font-size: 12px;
    line-height: 1;
    background-color: #fff;
    cursor: pointer;
}
.__product_review--content--list .__review__btns .__review_modify_btn {
    color: #33cccc;
    border: 1px solid #33cccc;
}
.__product_review--content--list .__review__btns .__review_delete_btn {
    color: #f94830;
    border: 1px solid #f94830;
}

.__product_review--content--list .__review-right {
    flex: 0 0 140px;
    text-align: right;
    font-size: 13px;
    color: #555;
}
.__product_review--content--list .__review-right div {
    margin-bottom: 4px;
}


.__product_review--content--btns {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
    height: auto;
    margin: 30px 0 0 0;
    padding: 0;
}
.__product_review--content--btns .__list {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 12px 40px 10px 40px;
    color: #33cccc;
    border: 1px solid #33cccc;
    border-radius: 30px;
    background-color: #fff;
}
.__product_review--content--btns .__write {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 12px 40px 10px 40px;
    color: #ffffff;
    border: 1px solid #33cccc;
    border-radius: 30px;
    background-color: #33cccc;
    cursor: pointer;
}

/* =========================
   상품 구매문의
   ========================= */
.__product_inquiry--header {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: auto;
    margin: 30px 0 0 0;
    padding: 0;
}
.__product_inquiry--header .__product_inquiry--header--logo {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
}
.__product_inquiry--header .__product_inquiry--header--logo img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
}
.__product_inquiry--header .__product_inquiry--header--title {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
}
.__product_inquiry--header .__product_inquiry--header--title span {
    font-size: 24px;
    line-height: 1;
    color: #333333;
}
.__product_inquiry--content {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    margin: 30px 0 0 0;
    padding: 0;
    border-top: 1px solid #c1c1c1;
}
.__product_inquiry--content--list {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}
.__product_inquiry--content--list .no_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 50px 0;
    font-size: 16px;
    line-height: 1;
    color: #666666;
}
.__product_inquiry--content--list .inquiry-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: 14px;
    color: #222;
}
.__product_inquiry--content--list .inquiry-table thead th {
    background-color: #f8f8f8;
    padding: 12px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    font-family: 'S-Core6' !important;
    font-weight: 600 !important;
    line-height: 1.2;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.__product_inquiry--content--list .inquiry-table tbody tr {
    cursor: pointer;
}
.__product_inquiry--content--list .inquiry-table tbody td {
    padding: 14px 12px;
    border-bottom: 1px solid #eee;
    font-family: 'S-Core3' !important;
    font-weight: 300 !important;
    line-height: 1.2;
    text-align: center;
    vertical-align: top;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.__product_inquiry--content--list .inquiry-table tbody td.__inquiry_subject {
    text-align: left;
}
.__product_inquiry--content--list .inquiry-table tbody td.__inquiry_name {
    text-align: center;
}
.__product_inquiry--content--list .inquiry-table tbody td .__inquiry_subject_wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}
.__product_inquiry--content--list .inquiry-table tbody td .__inquiry_subject_wrap .__inquiry_subject_value {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}
.__product_inquiry--content--list .inquiry-table tbody td .__inquiry_subject_wrap .__inquiry_subject_question {
    display: none;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 16px 0;
    font-size: 14px;
    color: #222;
}
.__product_inquiry--content--list .inquiry-table tbody td .__inquiry_subject_wrap .__inquiry_subject_question .__inquiry_question_block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 15px 0 0 0;
    border-top: 1px solid #eee;
}
.__product_inquiry--content--list .inquiry-table tbody td .__inquiry_subject_wrap .__inquiry_subject_question .__q_text {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0 0 0 20px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    color: #333333;
}
.__product_inquiry--content--list .inquiry-table tbody td .__inquiry_subject_wrap .__inquiry_subject_question .__q_text::before {
    content: "Q.";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: auto;
    height: auto;
    font-size: 14px;
    font-family: 'S-Core6' !important;
    font-weight: 600 !important;
    line-height: 1.2;
    color: #333333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.__product_inquiry--content--list .inquiry-table tbody td .__inquiry_subject_wrap .__inquiry_subject_question p {
    margin: initial;
}
.__product_inquiry--content--list .inquiry-table tbody td .__inquiry_subject_wrap .__inquiry_subject_question .__a_block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 16px 20px;
    background-color: #f9f9f9;
}
.__product_inquiry--content--list .inquiry-table tbody td .__inquiry_subject_wrap .__inquiry_subject_question .__a_text {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0 0 0 20px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    color: #555555;
}
.__product_inquiry--content--list .inquiry-table tbody td .__inquiry_subject_wrap .__inquiry_subject_question .__a_text::before {
    content: "A.";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: auto;
    height: auto;
    font-size: 14px;
    font-family: 'S-Core6' !important;
    font-weight: 600 !important;
    line-height: 1.2;
    color: #555555;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.__inquiry_question--btns {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
    height: auto;
    margin: 20px 0 0 0;
    padding: 0;
}
.__inquiry_question--btn {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 6px 10px 4px 10px;
    font-size: 12px;
    line-height: 1;
    background-color: #fff;
    cursor: pointer;
}
.__inquiry_question--btn.__inquiry_modify_btn {
    color: #33cccc;
    border: 1px solid #33cccc;
}
.__inquiry_question--btn.__inquiry_delete_btn {
    color: #f94830;
    border: 1px solid #f94830;
}


.__product_inquiry--content--btns {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
    height: auto;
    margin: 30px 0 0 0;
    padding: 0;
}
.__product_inquiry--content--btns .__list {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 12px 40px 10px 40px;
    color: #33cccc;
    border: 1px solid #33cccc;
    border-radius: 30px;
    background-color: #fff;
    cursor: pointer;
}
.__product_inquiry--content--btns .__write {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 12px 40px 10px 40px;
    color: #ffffff;
    border: 1px solid #33cccc;
    border-radius: 30px;
    background-color: #33cccc;
    cursor: pointer;
}
/* //상세 정보 탭 */


/* =========================
   Product Q&A Modal
   ========================= */
.qna-modal {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw; height: 100vh;
    z-index: 9999;
}

.qna-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.6);
}

.qna-modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 800px;
    max-height: 90vh;
    background: #fff;
    z-index: 10000;
}

.qna-modal-header {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border-bottom: 1px solid #eee;
}
.qna-modal-header .qna-title {
    font-size: 18px;
    line-height: 1.2;
    color: #333;
}

.qna-modal-body {
    padding: 20px 15px;
    overflow-y: auto;
}
.qna-modal-body form[name="qnaForm"] {
    display: flex;
    flex-direction: column;
    gap: 0; /* 구조 유지용 */
}

.qna-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 20px 40px;
    border-top: 1px solid #eee;
}

.qna-product-info {
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 0 0 20px;
}
.qna-product-thumb {
    width: 60px; height: 60px;
    object-fit: cover;
    border: 1px solid #ccc;
}
.qna-product-detail {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.qna-product-detail .qna-product-name {
    font: 600 14px 'S-Core6', sans-serif !important;
    line-height: 1.2;
    color: #333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.qna-product-detail .qna-product-price {
    font-size: 13px;
    color: #555;
}

/* 폼 라인 */
.qna-modal .qna-section {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid #e0e0e0;
}
.qna-modal .qna-label {
    width: 100px;
    font: 600 14px 'S-Core6', sans-serif !important;
    line-height: 1.2;
    color: #333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.qna-modal .qna-input {
    flex: 1 1 auto;
}
.qna-modal .qna-input .form-control {
    color: #000 !important;          /* 핵심 */
    caret-color: #000;               /* 커서 색 */
    font-weight: 400;                /* 너무 얇으면 연해 보임 → 400 권장 */
    -webkit-text-fill-color: #000;   /* WebKit에서 실제 채움색 */
    -webkit-font-smoothing: auto;    /* 너무 옅게 보이는 경우 해제 */
    -moz-osx-font-smoothing: auto;
}
.qna-modal .qna-input .qna-editor {
    height: 200px;
}
.qna-modal .qna-input .radio-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}
/* placeholder는 구분해서 연한 회색 */
.qna-modal .qna-input .form-control::placeholder {
    color: #888;     /* placeholder만 연하게 */
    opacity: 1;      /* Firefox 등에서 연해지는 것 방지 */
}
/* 자동완성 색상 덮어쓰기 (Chrome/Safari) */
.qna-modal .qna-input .form-control:-webkit-autofill,
.qna-modal .qna-input .form-control:-webkit-autofill:hover,
.qna-modal .qna-input .form-control:-webkit-autofill:focus {
    -webkit-text-fill-color: #000 !important;
    transition: background-color 9999s ease-out 0s; /* 노란 배경 잔상 최소화 */
}

/* 비활성/읽기전용일 때도 흐려지지 않게(원하면 유지) */
.qna-modal .qna-input .form-control[readonly],
.qna-modal .qna-input .form-control:disabled {
    color: #000;
    -webkit-text-fill-color: #000;
}

/* 경고문 */
.qna-warning {
    position: relative;
    margin-top: 10px;
    padding-left: 12px;
    font-size: 12px;
    line-height: 1.5;
    color: #666;
}
.qna-warning::before {
    content: "*";
    position: absolute;
    left: 0; top: 0;
    font: 300 12px 'S-Core3', sans-serif !important;
    color: #ff5a00;
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.secret-lock{
    font-size: 13px;       /* 필요시 조절 */
    color: #999;           /* 진하게는 #333 */
    margin-right: 6px;     /* 텍스트와 간격 */
    vertical-align: middle;
}
/* 버튼 */
.btn {
    padding: 10px 25px;
    font-size: 14px;
    cursor: pointer;
    border-radius: 4px;
    border: 1px solid #ccc;
    background: #fff;
}
.btn-black {
    background: #111;
    color: #fff;
    border: none;
}

/* 반응형 */
@media (max-width: 992px) {
    .qna-modal { padding: 0 15px; }
    .qna-modal-content { width: 100% !important; }
    .qna-modal .qna-section {
        flex-direction: column;
        align-items: stretch;
    }
    .qna-modal .qna-label { margin-bottom: 5px; }
}

/* =========================
   Review Modal
   ========================= */
.review-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.review-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.6);
}

.review-modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 800px;
    max-height: 90vh;
    background: #fff;
    box-shadow: 0 5px 30px rgba(0,0,0,0.2);
}

.review-modal-header {
    padding: 20px;
    border-bottom: 1px solid #eee;
    text-align: center;
}

.review-modal .review-title {
    font: 600 18px 'S-Core6', sans-serif !important;
    line-height: 1.2;
    color: #333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.review-modal-body {
    flex: 1 1 auto;
    padding: 0 40px;
    overflow-y: auto;
}

.review-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 20px 40px;
    border-top: 1px solid #eee;
}

/* 행 */
.review-modal .review-section {
    display: flex;
    align-items: center;
    padding: 10px 0;
    border-top: 1px solid #e0e0e0;
}

.review-modal .review-label {
    width: 100px;
    font: 600 14px 'S-Core6', sans-serif !important;
    line-height: 1.2;
    color: #333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.review-modal .review-input {
    flex: 1 1 auto;
}

/* 입력 */
.review-modal .form-input {
    width: 100%;
    padding: 10px;
    font: 300 14px 'S-Core3', sans-serif !important;
    line-height: 1.2;
    color: #000 !important;           /* 더 선명하게 */
    border: 1px solid #ccc;
    -webkit-text-fill-color: #000;    /* WebKit */
}

.review-modal .form-input::placeholder {
    color: #888;
    opacity: 1;
}

.review-modal .form-textarea {
    width: 100%;
    height: 180px;
    padding: 10px;
    font-size: 14px;
    color: #000;
    border: 1px solid #ccc;
}

/* 라디오/별점 */
.review-modal .review-input .radio-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}

.review-modal .rating label {
    margin-right: 10px;
    font-size: 16px;
    color: #ff5a00;
}

/* 이미지 선택 */
.review-modal .image-select {
    display: flex;
    align-items: center;
    gap: 10px;
}

.review-modal .image-placeholder {
    width: 80px;
    min-width: 80px;
    height: 80px;
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #aaa;
    background: #f5f5f5;
    border: 1px solid #ddd;
}

.review-modal .image-placeholder img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.review-modal .image-select .product-name {
    font-size: 14px;
    line-height: 1.2;
    color: #333;
    word-break: keep-all;
}

/* 안내문 */
.review-modal .review-note {
    position: relative;
    margin: 15px 0 0;
    padding-left: 12px;
    font: 300 12px 'S-Core3', sans-serif !important;
    color: #666;
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.review-modal .review-note::before {
    content: "*";
    position: absolute;
    left: 0; top: 0;
    font: 300 12px 'S-Core3', sans-serif !important;
    color: #ff5a00;
    line-height: 1.4;
}

/* 버튼 (누수 방지: 두 selector 모두 접두사) */
.review-modal .btn-cancel,
.review-modal .btn-submit {
    padding: 10px 25px;
    font-size: 14px;
    border-radius: 4px;
    cursor: pointer;
}

.review-modal .btn-cancel {
    background: #fff;
    color: #333;
    border: 1px solid #ccc;
}

.review-modal .btn-submit {
    background: #111;
    color: #fff;
    border: none;
}

/* 반응형 */
@media (max-width: 992px) {
    #reviewModal { padding: 0 15px; }
    .review-modal-content { width: 100% !important; }
    .review-modal-body { padding: 0 15px; }
    .review-modal .review-section {
        flex-direction: column;
        align-items: stretch;
    }
    .review-modal .review-label { margin-bottom: 5px; }
    .review-modal .radio-group {
        flex-direction: row;
        flex-wrap: wrap;
    }
}


/* =========================
  상품 정보: 선택옵션
   ========================= */
.__product_option__select {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.option-section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 40px 0 0 0;
    padding: 0 0 20px 0;
    border: 1px solid #d6d6d6;
    background-color: #fff;
}

.option-section .option-section--header {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 30px;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 20px 20px 18px 20px;
    border-bottom: 1px solid #d6d6d6;
}

.option-section .option-section--header span {
    font-size: 14px;
    color: #333333;
}

.option-section .option-section--header span:last-child {
    color: #666666;
}

.option-section .option-section--item {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 20px;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 10px 20px 0 20px;
}

.option-section .option-section--item:last-child {
    border-bottom: none;
}

.option-section .option-section--item .option-section--item--product-image {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 90px;
    height: 90px;
    margin: 0;
    padding: 0;
}

.option-section .option-section--item img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 4px;
}

.option-section .option-section--item .option-section--item--details {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.option-section .option-section--item .option-section--item--details .option-section--item--details-title {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1;
    color: #333333;
    word-break: keep-all;
}

.option-section .option-section--item .option-section--item--details .option-section--item--details-price {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    width: auto;
    height: auto;
    margin: 0;
    padding: 10px 0 0 0;
    font-size: 16px;
    line-height: 1;
    color: #333333;
    word-break: keep-all;
}

.option-section .option-section--item .option-section--item--details .option-section--item--details-price .discount {
    padding-left: 10px;
    color: #00b7b5;
}

.option-section .option-section--item .option-section--item--details .option-section--item--details-select {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 10px 0 0 0;
}

.option-section .option-section--item .option-section--item--details .option-section--item--details-select .nice-select {
    font-size: 14px;
    color: #666666;
}

.option-section .option-section--item .option-section--item--details .option-section--item--details-select .textfield.nice-select .option {
    color: #333;
}

.option-section .option-section--item .option-section--item--details .option-section--item--details-select .textfield.nice-select:after {
    right: 15px;
}

/* =========================
  상품 정보: 추가옵션
   ========================= */
.sit_option {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    height: auto;
    margin: 10px 0 0 0;
    padding: 15px;
    border: 0;
    border-radius: 20px;
}

.sit_option label.label-title {
    display: none;
}

.sit_option label.label-title {
    display: block;             /* 기존에 display:none 되어 있던 것 해제 */
    font-weight: 600;           /* 더 진하게 */
    color: #333;                /* 진한 색상 */
    margin-bottom: 6px;         /* 라벨과 셀렉트 사이 간격 */
}

.sit_option span {
    margin-top: 10px;
    position: relative;
    display: block;
}

.sit_option select {
    all: unset;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.sit_option .get_item_options {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.sit_option .get_item_options label {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    font-size: 16px;
    font-weight: 500 !important;
    line-height: 1.2;
    color: #333;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.sit_option .get_item_options span {
	position: relative;
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.sit_option select {
    position: relative;
    display: block;
    background: #fff;
    border: 1px solid #eaeaea;
    border-radius: 10px;
    padding: 12px 15px 10px 15px;
    width: 100%;
    height: auto;
    font-size: 14px;
    font-family: 'S-Core3' !important;
    font-weight: 500 !important;
    line-height: 1.2;
    color: #333;
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* 화살표 아이콘 (폰트 의존 X, 모든 브라우저 안정적) */
.sit_option span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 14px;                /* 화살표 오른쪽 여백 */
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;

    /* ↓ 아래는 작은 다운 애로우 SVG (검정 #666) */
    background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\<path fill='%23666' d='M7 10l5 5 5-5z'/>\</svg>");
}

/* 3) 셀렉트 오른쪽 패딩을 늘려 화살표와 텍스트 겹침 방지 */
.sit_option select.it_option {
    padding-right: 40px;        /* 기존 padding에 덧붙여 오른쪽 여유 확보 */
}

/* 4) 인풋/텍스트 컬러 대비 약간 강화(선택 사항) */
.sit_option select.it_option {
    color: #333;
    border-color: #e1e1e1;
}

#sit_sel_option {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

#sit_sel_option #sit_opt_added {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 20px 0 0 0;
    padding: 0;
    color: #111;
    background: #f8f8f8;
    border-radius: 20px;
    overflow: hidden;
}

#sit_opt_added li {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 20px;
    background: #f8f8f8;
    border-radius: 0;
}

#sit_opt_added .sit_opt_list .opt_name {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    border-radius: 0;
}

#sit_opt_added .sit_opt_list .opt_name .sit_opt_subj {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0 20px 0 0;
    font-size: 16px;
    font-family: 'S-Core3' !important;
    font-weight: 300 !important;
    line-height: 1.2;
    color: #333333;
    word-break: keep-all;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#sit_opt_added .sit_opt_list .opt_count {
    flex: 0 0 auto;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 20px 0 0 0;
    padding: 0;
    border-radius: 0;
}

#sit_opt_added .sit_opt_list .opt_count .num_input {
    margin: 0 5px;
    font-size: 16px;
    font-family: 'S-Core3' !important;
    font-weight: 300 !important;
    line-height: 1.2;
    color: #333333;
    text-align: center;
    border: 0;
    background: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.__product_option_wrap.fixed #sit_opt_added .sit_opt_list .opt_count .num_input {
    padding-top: 2px;
}

#sit_opt_added .sit_opt_list .opt_count .sit_qty_minus {
    position: relative;
    width: 24px;
    height: 24px;
    border: 2px solid #ddd;
    line-height: 20px;
    font-size: 2.8rem;
    text-align: center;
    color: #494949;
    cursor: pointer;
    opacity: .7;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
}

#sit_opt_added .sit_opt_list .opt_count .sit_qty_minus:before {
    content: "";
    margin-top: -1px;
    margin-left: -5px;
    width: 10px;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #494949;
}

#sit_opt_added .sit_opt_list .opt_count .sit_qty_minus i {
    display: none;
}

#sit_opt_added .sit_opt_list .opt_count .sit_qty_minus .sound_only {
    display: none;
}

#sit_opt_added .sit_opt_list .opt_count .sit_qty_plus {
    position: relative;
    width: 24px;
    height: 24px;
    border: 2px solid #ddd;
    line-height: 20px;
    font-size: 2.8rem;
    text-align: center;
    color: #494949;
    cursor: pointer;
    opacity: 0.7;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
}

#sit_opt_added .sit_opt_list .opt_count .sit_qty_plus:before {
    content: "";
    margin-top: -1px;
    margin-left: -5px;
    width: 10px;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #494949;
}

#sit_opt_added .sit_opt_list .opt_count .sit_qty_plus::after {
    content: "";
    margin-top: -5px;
    margin-left: -1px;
    width: 2px;
    height: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: currentColor;
}

#sit_opt_added .sit_opt_list .opt_count .sit_qty_plus i {
    display: none;
}

#sit_opt_added .sit_opt_list .opt_count .sit_qty_plus .sound_only {
    display: none;
}

#sit_opt_added .sit_opt_list .opt_count .sit_opt_prc {
    position: absolute;
    right: 100px;
    display: block;
    float: right;
    width: 100px;
    text-align: right;
    font-size: 16px;
    font-family: 'S-Core6' !important;
    font-weight: 600 !important;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#sit_opt_added .sit_opt_list .opt_count .sit_opt_del {
    position: absolute;
    right: 10px;
    top: 0;
    width: auto;
    height: auto;
    margin: 0;
    padding: 6px 12px 4px 10px;
    border: 1px solid #f26667;
    background: transparent;
    cursor: pointer;
}

#sit_opt_added .sit_opt_list .opt_count .sit_opt_del i {
    display: none;
}

#sit_opt_added .sit_opt_list .opt_count .sit_opt_del .sound_only {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-family: 'S-Core6' !important;
    font-weight: 600 !important;
    color: #f26667;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#sit_tot_price {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
}
/* //상품 정보: 선택옵션 */

/* 상품 정보: 추가옵션상품 */
.product-addon {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 20px 0 0 0;
    padding: 0;
    border: 1px solid #d6d6d6;
    background-color: #fff;
}

.product-addon .product-addon--item--wrap {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.product-addon .product-addon--header {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 30px;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 20px 20px 18px 20px;
    border-bottom: 1px solid #d6d6d6;
}

.product-addon .product-addon--header span {
    font-size: 14px;
    color: #333333;
}

.product-addon .product-addon--header span:last-child {
    color: #666666;
}

.product-addon .product-addon--item {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 20px;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 20px 20px 18px 20px;
    border-bottom: 1px solid #eee;
}

.product-addon .product-addon--item:last-child {
    border-bottom: none;
}

.product-addon .product-addon--item .product-addon--item--product-image {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 90px;
    height: 90px;
    margin: 0;
    padding: 0;
}

.product-addon .product-addon--item img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 4px;
}

.product-addon .product-addon--item .product-addon--item--details {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.product-addon .product-addon--item .product-addon--item--details .product-addon--item--details-title {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1;
    color: #333333;
    word-break: keep-all;
}

.product-addon .product-addon--item .product-addon--item--details .product-addon--item--details-price {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    width: auto;
    height: auto;
    margin: 0;
    padding: 10px 0 0 0;
    font-size: 16px;
    line-height: 1;
    color: #333333;
    word-break: keep-all;
}

.product-addon .product-addon--item .product-addon--item--details .product-addon--item--details-price .discount {
    padding-left: 10px;
    color: #00b7b5;
}

.product-addon .product-addon--item .product-addon--item--details .product-addon--item--details-select {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 10px 0 0 0;
}

.product-addon .product-addon--item .product-addon--item--details .product-addon--item--details-select .nice-select {
    font-size: 14px;
    color: #666666;
}

.product-addon .product-addon--item .product-addon--item--details .product-addon--item--details-select .textfield.nice-select .option {
    color: #333;
}

.product-addon .product-addon--item .product-addon--item--details .product-addon--item--details-select .textfield.nice-select:after {
    right: 15px;
}
/* //상품 정보: 추가옵션상품 */

.modal-content {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    /* border: 1px solid rgba(0, 0, 0, .2); */
    border-radius: .3rem;
    outline: 0;
}

/* overlay */
#cart_overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .7);
    z-index: 1100;
}

#cart_overlay.is-open {
    display: block;
}

/* modal box */
#gw-cart-modal {
    display: none;
    position: fixed;
    z-index: 1200;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(560px, calc(100% - 40px));
    height: auto;
    max-height: 70vh;
    overflow: visible;
    background: #fff;
    border-radius: 12px;
    padding: 28px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
    box-sizing: border-box;
}

#gw-cart-modal.is-open {
    display: block;
}

/* 내용 최소 스타일 */
#gw-cart-modal .modal-title {
    margin: 0 0 14px;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
}

#gw-cart-modal .modal-txt {
    text-align: center;
    font-size: 18px;
}

#gw-cart-modal .modal-content {
    text-align: center;
    font-size: 16px;
    line-height: 1.6;
}

#gw-cart-modal .gw-ico {
    width: 72px;
    height: 72px;
    margin: 8px auto 14px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #33cccc;
    color: #fff;
    font-size: 24px;
}

#gw-cart-modal .gw-btn-container {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
    display: flex;
    gap: 12px;
    justify-content: center;
}

#gw-cart-modal .gw-btn-container li {
    flex: 1;
    max-width: 220px;
}

.gw-btn01,
.gw-btn02 {
    display: block;
    width: 100%;
    height: 48px;
    line-height: 48px;
    border-radius: 10px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #333;
}

.gw-btn01 {
    background: #000;
    color: #fff !important;
}

.gw-btn02 {
    background: #fff;
    color: #333 !important;
}

#gw-cart-modal .small-btn {
    position: absolute;
    right: 14px;
    top: 14px;
    width: 36px;
    height: 36px;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* =========================
  리뷰
   ========================= */
.__content__search {display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:auto; margin:30px 0 0 0; padding:30px 0; background-color:#f9f9f9;}
.__content__search form {flex:0 0 auto; display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:center; width:100%; height:auto; margin:0; padding:0;}
.__content__search form .__search__title {flex:0 0 auto; display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:center; gap:10px; width:auto; height:auto; margin:0; padding:0;}
.__content__search form .__search__title i {font-size:16px; line-height:1; color:#333333;}
.__content__search form .__search__title span {font-size:16px; line-height:1; color:#333333;}
.__content__search form .__search__input {flex:0 0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; width:auto; min-width:200px; height:auto; margin:0 0 0 20px; padding:0;}
.__content__search form .__search__input .__input {width:100%; height:40px; margin:0; padding:14px 0 10px 10px; font-size:16px; line-height:1; color:#333333; border:1px solid #c9c9c9; border-radius:5px; background-color:#ffffff; box-sizing:border-box; outline:1px; -moz-appearance:none; -webkit-appearance:none; appearance:none;}
.__content__search form .__search__input .__input:not(:disabled):focus,
.__content__search form .__search__input .__input:not(:disabled):hover {border-color:#000; transition:0.3s;}
.__content__search form .__search__button {flex:0 0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; width:auto; height:auto; margin:0 0 0 10px; padding:0;}
.__content__search form .__search__button .__btn {flex:0 0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; width:auto; height:40px; margin:0; padding:8px 20px 6px 20px; font-size:16px; line-height:1; color:#333333; border:1px solid #c9c9c9; border-radius:5px; background-color:#fff; cursor:pointer; transition:font-size 0.2s ease-in-out;}
.__thumb{ width:90px; height:90px; }

/* ========== Review list ========== */
.__content__review_list{ @apply __fx-col-center; width:100%; margin-top:30px; }
.__content__review_list .__no_data{
  @apply __fx-row-center; gap:var(--gap-5);
  width:100%; padding:50px 0; font-size:var(--fs-16); line-height:1; color:var(--c-text);
}

.__content__review_list .__items{ @apply __fx-col-center; align-items:flex-start; width:100%; }
.__content__review_list .__items .__item{
  @apply __fx-row-start; gap:var(--gap-20);
  width:100%; margin:0 0 20px; padding:0 var(--pad-20) var(--pad-20);
  border-bottom:1px solid var(--c-border-light);
}

/* product */
.__content__review_list .__item__product{ @apply __fx-col-center; align-items:flex-start; gap:10px; width:300px; }
.__content__review_list .__item__product .__thumb{ width:90px; height:90px; }
.__content__review_list .__item__product .__thumb a{
	display:block; width:100%; 
	height:100%;
	border-radius:var(--r-5); 
	background-repeat:no-repeat; 
	background-position:center; 
	background-size:cover;
}
.__content__review_list .__item__product .__thumb img{ width:100%; height:100%; object-fit:cover; opacity:0; }
.__content__review_list .__item__product .__info{ max-width:200px; }
.__content__review_list .__item__product .__info .__name a{ font-size:var(--fs-12); line-height:1.2; color:var(--c-text); }

/* content */
.__content__review_list .__item__content{ @apply __fx-row-start; gap:10px; flex:1 1 auto; }
.__content__review_list .__item__content .__content{
  flex:1 1 auto; padding-right:var(--pad-20); border-right:1px solid var(--c-border-light);
}
.__content__review_list .__item__content .__content .__rating{ @apply __fx-row-center; justify-content:flex-start; gap:10px; }
.__content__review_list .__item__content .__content .__rating .__stars{ @apply __fx-row-center; gap:7px; }
.__content__review_list .__item__content .__content .__rating .__stars .rating__item{ margin:0; font-size:var(--fs-16); line-height:1; color:var(--c-muted); }
.__content__review_list .__item__content .__content .__rating .__stars .rating__item--active{ color:var(--c-accent); }
.__content__review_list .__item__content .__content .__rating .__score{ font-size:var(--fs-14); line-height:1; color:var(--c-text); }

.__content__review_list .__review-thumbs{ @apply __fx-row-start; flex-wrap:wrap; gap:10px; }
.__content__review_list .__review-thumbs .__thumb{ border-radius:var(--r-5); background-repeat:no-repeat; background-position:center; background-size:cover; }
.__content__review_list .__review-thumbs .__thumb img{ width:100%; max-width:80px; height:80px; object-fit:cover; opacity:0; }

.__content__review_list .__item__content .__content .__review-text{ }
.__content__review_list .__item__content .__content .__review-text .__review-text__content{
  display:-webkit-box; max-height:34px; font-size:var(--fs-12); line-height:16px; color:var(--c-text);
  overflow:hidden; text-overflow:ellipsis; -webkit-line-clamp:2; -webkit-box-orient:vertical; cursor:pointer;
}
.__content__review_list .__item__content .__content .__review-text .__review-text__content.open{
  display:block; max-height:none; overflow:visible; -webkit-line-clamp:unset;
}

/* more button */
.__content__review_list .__item__content .__content .__review__more .__btn_more{
  font-size:var(--fs-12); line-height:1; color:var(--c-text);
}
.__content__review_list .__item__content .__content .__review__more .__btn_more .__arrow{
  display:inline-block; width:13px; height:13px; font-size:0; line-height:0; vertical-align:middle; transform:rotate(90deg);
  margin:0; padding-left:1px;
}
.__content__review_list .__item__content .__content .__review__more .__btn_more .__arrow::after{
  content:""; display:inline-block; width:6px; height:6px; border-left:1px solid #000; border-bottom:1px solid #000; transform:rotate(225deg); vertical-align:middle; margin:2px 0 0 0;
}
.__content__review_list .__item__content .__content .__review__more .__btn_more .__arrow.open::after{
  margin:2px 0 0 3px; padding-right:3px; transform:rotate(45deg);
}

/* author */
.__content__review_list .__item__content .__author{
  @apply __fx-col-center; align-items:flex-end; gap:5px; min-width:140px;
}
.__content__review_list .__item__content .__author p{
  display:flex; flex-direction:row; justify-content:flex-start;
  font-size:var(--fs-12); line-height:1; color:var(--c-text); margin:0;
}
.__content__review_list .__item__content .__author p.__writer{ }
.__content__review_list .__item__content .__author p.__date{ margin-top:5px; }

/* write button */
.__content__review_btns{ @apply __fx-col-center; align-items:flex-end; width:100%; margin-top:10px; }
.__content__review_btns .__btn-write{
  @apply __fx-col-center;
  padding:14px 30px 12px; font-size:var(--fs-14); line-height:1; color:#fff; border:0; border-radius:var(--r-5); background:#000;
}
.__content__review_btns .__btn-write:is(:hover,:focus){ color:#fff; }



@media (max-width: 992px){
  .container{ max-width:100%; }
  .__sidebar{ display:none; }
  .__content{ padding-bottom:80px; }

  .__content__search{ margin-top:20px; }
  .__content__search form{ padding:0 var(--pad-20); }
  .__content__search form .__search__title{ display:none; }
  .__content__search form .__search__input{ flex:1 1 auto; margin-left:0; }

  .__content__review_list .__items .__item{ flex-direction:column; padding:0 0 var(--pad-20); }
  .__content__review_list .__item__product{ flex-direction:row; width:100%; }
  .__content__review_list .__item__product .__thumb{ width:60px; height:60px; }
  .__content__review_list .__item__product .__info{ flex:1 1 auto; max-width:none; }
  .__content__review_list .__item__product .__info .__name{ font-size:var(--fs-14); }

  .__content__review_list .__item__content{ flex:0 0 auto; flex-direction:column; width:100%; padding-top:20px; border-top:1px solid var(--c-border-light); }
  .__content__review_list .__item__content .__content{ padding:0; border:0; order:2; }
  .__content__review_list .__item__content .__content .__review-thumbs img{ max-width:60px; height:60px; }

  .__content__review_list .__item__content .__author{ flex-direction:row; align-items:center; gap:10px; order:1; }
  .__content__review_list .__item__content .__author p{ font-size:var(--fs-14); }
  .__content__review_list .__item__content .__author p.__date{ margin-top:0; }

  .__content__review_btns .__btn-write{ width:100%; }
}

@media (max-width: 768px){
  .__content__search form .__search__input input,
  .__content__search form .__search__button .__btn{ font-size:var(--fs-14); }
}

@media (max-width: 576px){
  .__content__body{ margin-top:20px; padding-bottom:20px; }
  .__content__search{ padding:20px 0; }
  .__content__search form .__search__input input,
  .__content__search form .__search__button .__btn{ font-size:var(--fs-12); }
}


/* =========================
  상품 문의
   ========================= */
/* 상품정보 셀: 좌우 정렬 */
.qna-cell{
  display:flex; 
  align-items:flex-start;
  gap:12px;
  text-align:left; padding:10px 0; /* 표의 기본 padding에 맞춰 조절 */
}

/* 썸네일: 정사각, 커버 */
.qna-thumb{ display:block; flex:0 0 70px; width:70px; height:70px; border-radius:6px; overflow:hidden; }
.qna-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

/* 오른쪽 텍스트 묶음 */
.qna-meta{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:6px; }

/* 상품명(윗줄) */
.qna-product-name{
  display:inline-block; font-size:14px; line-height:1.3; color:#222; text-decoration:none;
  /* 너무 길면 말줄임 */
  max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* 제목(아랫줄) */
.qna-title{ display:flex; align-items:center; gap:6px; margin-top: 10px;}
.qna-title .__title__link{ font-size:13px; line-height:1.3; color:#333; }
.qna-title a.__title__link{ text-decoration:none; }
.qna-title a.__title__link:hover{ text-decoration:underline; }

/* 자물쇠 아이콘 */
.qna-lock{ color:#999; user-select:none; display:inline-flex; align-items:center; }
.qna-lock .fa{ font-size:12px; line-height:1; }

/* 반응형: 모바일에서 썸네일 조금 작게 */
@media (max-width: 576px){
  .qna-thumb{ flex-basis:56px; width:56px; height:56px; }
  .qna-product-name{ font-size:13px; }
  .qna-title .__title__link{ font-size:12px; }
}