/* ==================================================
   GoodJewelry - Common CSS
   Purpose: Merged from goodjewelry-purple-final.css + goodjewelry-index-modern.css
   Load order: reset.css → header.css → main.css → THIS FILE
   ================================================== */

/* ── 전체 페이지 중앙정렬 고정 ── */
html{ background:#000; }
@media (min-width:460px){
  body:not(.reviewPage):not(.partner-page){
    position:fixed !important;
    width:460px !important;
    height:100% !important;
    top:0 !important;
    left:50% !important;
    transform:translateX(-50%) !important;
  }
  body.reviewPage{
    max-width:460px !important;
    margin:0 auto !important;
  }
}
/* ==================================================
   GoodJewelry - Purple Final Overrides (2025-09-10)
   Purpose: Consolidated, conflict-free overrides for store detail, reviews,
            footer bar, hashtags, stars, and layout polish.
   Usage:  Load AFTER reset.css, header.css, main.css
           e.g. <link rel="stylesheet" href="/resources/css/goodjewelry-purple-final.css?v=20250910">
   ================================================== */

/* ---------- Design Tokens ---------- */
:root{
  --bg:#FFFFFF;
  --surface:#FFFFFF;
  --surface-2:#F7F7FA;
  --text:#1F2937;
  --subtext:#6B7280;
  --border:#E5E7EB;
  --accent:#7C3AED;
  --accent-strong:#6D28D9;
  --accent-weak:#F3E8FF;
  --accent-weak-2:#E9D5FF;
}


/* ── 잘난체 폰트 ── */
@font-face {
  font-family: 'Jalnan2';
  src: url('/resources/fonts/Jalnan2.otf') format('opentype'),
       url('/resources/fonts/Jalnan2TTF.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

/* ---------- Design Tokens ---------- */


/* ---------- Base ---------- */

body{ color:var(--text); background:var(--bg); line-height:1.55; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }

/* Navigation / tabs keep purple identity */
body>header>nav>ul>li.Cnav{ border-bottom:2px solid #111111 !important; }
body>header>nav>ul>li.Cnav>a{ color:#111111 !important; }
li.OnTab, li.OnTab>a, div.OnTab{ color:#111111 !important; font-weight:700 !important; border-bottom:1px solid #111111 !important; }

/* Subtle purple accents */
section.Sdetail_map>p:first-child>span{ color:#111111 !important; }
section.p_today>table>thead span{ color:var(--accent) !important; }
section.p_calculator>form>fieldset label{ color:var(--accent) !important; }

/* ==================================================
   Notice Text (Sdetail_map)
   ================================================== */
.Sdetail_map{ padding-top:4px !important; padding-bottom:6px !important; }
.Sdetail_map #noticeText{
  display:block;
  margin:10px 12px 8px;
  padding:8px 10px;
  background:#FAFAFA;
  border:1px solid #E0E0E0;
  border-radius:10px;
  font-size:13px;
  line-height:1.55;              /* �씫湲� �렪�븳 媛꾧꺽 */
  letter-spacing:-0.01em;
  color:#111111;
  word-break:keep-all;
}
.Sdetail_map #noticeText br+br{ display:none; }  /* <br><br> 異뺤냼 */

/* 소개글/이벤트 내용(Summernote 에디터 저장분) 안 이미지가 화면 너비를 넘지 않도록 */
#market_Introduce img, #market_event img{ max-width:100%; height:auto; }
.Sdetail_map #noticeText span{ font-weight:600; color:#111111; font-size:14px; }
section.Sdetail_map > p:first-child > span{ font-size:14px !important; } /* 泥� 媛뺤“ �뒪�뙩�룄 14px */

/* 援щ텇�꽑 */
.Sdetail_map #noticeLine{
  display:block; height:1px; border:0;
  margin:8px 12px 10px; background:var(--accent-weak-2);
}

/* ==================================================
   Store Footer (Gradient Bar)
   ================================================== */
.Sdetail_slide footer.store_footer{
  display:flex !important; align-items:center; justify-content:space-between;
  gap:8px; padding:8px 12px !important; margin:8px 10px !important;
  border-radius:12px;
  background:linear-gradient(90deg, #7C3AED 0%, #6D28D9 60%, #4C1D95 100%) !important;
  color:#fff !important;
  box-shadow:0 6px 18px rgba(76,29,149,.25);
  border:1px solid rgba(233,213,255,.35);
}
.Sdetail_slide footer.store_footer *{ color:#fff !important; }
.Sdetail_slide footer.store_footer>div{ background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; }
.Sdetail_slide footer.store_footer p{ font-size:12px !important; line-height:1.2 !important; margin:0 !important; }

/* Hashtags row inside gradient bar (one-line, scrollable) */
.Sdetail_slide #market_tag p{
  display:flex !important; align-items:center !important; gap:6px !important;
  height:auto !important; margin:0 !important;
  line-height:1.2 !important; white-space:nowrap !important;
  overflow-x:auto !important; overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  color:#fff !important;
}
.Sdetail_slide #market_tag p::-webkit-scrollbar{ display:none; }

/* ==================================================
   Store Info Section
   ================================================== */
section.S_info{
  position:relative; background:#fff !important;
  padding:12px 12px 8px !important;
}
section.S_info::before, section.S_info::after{
  content:""; position:relative; display:block; height:1px;
  background:#EEF2F7; margin:0 12px;
}
section.S_info::before{ margin-bottom:12px; }
section.S_info::after{  margin-top:12px; }
section.S_info h1, section.S_info h2, section.S_info h3{ font-size:16px; font-weight:700; margin:6px 0 8px !important; color:#312E81; }
section.S_info p + p{ margin-top:6px !important; }

/* detail info rhythm */
section.Sdetail_info dl{ margin:8px 0 !important; }
section.Sdetail_info dt{ margin-top:8px !important; }
section.Sdetail_info dd{ margin:2px 0 !important; line-height:1.35 !important; }

section.Sdetail_price h2{ margin:8px 12px 4px !important; }
section.Sdetail_price p{ padding:2px 12px !important; margin:0 !important; }
section.Sdetail_price table{ margin:6px 12px 10px !important; }

/* ==================================================
   Reviews (�썑湲�)
   ================================================== */
/* �쟾泥� 諛곌꼍 �젣嫄� */
.S_comment{ background:transparent !important; padding:8px 0 !important; }

/* 移대뱶 & �벑濡� �뤌 */
.S_comment .C_comment, .S_comment .SC_regist{
  background:#fff !important;
  border:1px solid var(--border) !important;
  border-radius:14px !important;
  box-shadow:0 1px 6px rgba(17,24,39,.06) !important;
  padding:12px 15px !important; margin:12px 15px !important;
}
.S_comment .C_comment + .C_comment{ margin-top:10px !important; }

/* 移대뱶 �궡遺� �씪�씤 */
.S_comment .C_comment footer{ border-top:1px solid #EEF2F7 !important; padding-top:8px !important; padding-bottom:6px !important; }
.S_comment .C_comment > article > p{ font-weight:600; color:#1F2937 !important; margin:2px 0 6px; }
.S_comment .C_comment footer ul li{ color:#6B7280 !important; }

/* �옉�꽦 �뤌: �씪踰④낵 �궡�슜 �긽�븯 媛꾧꺽 */
.S_comment .SC_regist #starName{ display:inline-block !important; margin-bottom:8px !important; }
.S_comment .SC_regist #starName + .box{ margin-top:8px !important; }
.S_comment .SC_regist #starName ~ .box{ margin-top:8px !important; }

/* 醫뗭븘�슂: �븯�듃 + �닽�옄留�, 諛곌꼍/�뀒�몢由� �뾾�쓬 */
.S_comment .C_comment footer p{
  display:inline-flex !important; align-items:center !important; gap:4px !important;
  margin:0 !important; padding:0 !important; border:none !important; background:transparent !important;
  box-shadow:none !important; line-height:1 !important; white-space:nowrap !important;
}
.S_comment .C_comment footer p .OffLike,
.S_comment .C_comment footer p .OnLike{
  display:inline-flex !important; align-items:center !important; padding:0 !important;
  border:none !important; background:transparent !important; box-shadow:none !important;
  font-size:0 !important; cursor:pointer; user-select:none;
}
.S_comment .C_comment footer p .OffLike::before{ content:"�솪"; font-size:18px; line-height:1; color:#6D28D9; }
.S_comment .C_comment footer p .OnLike::before{  content:"�솯"; font-size:18px; line-height:1; color:#4C1D95; }
.S_comment .C_comment footer p [id^="review_likeCount_"]{ font-size:12px !important; font-weight:700 !important; color:#555 !important; line-height:1 !important; }

/* addPicture 踰꾪듉�쓣 �씠誘몄� �븘�씠肄섏쑝濡� */
#addPicture,
.S_comment .SC_regist [onclick^="review_add_image"]{
  display:inline-block !important; width:30px; height:24px;
  background:url('/resources/image/imageadd.png') no-repeat center/contain !important;
  border:0 !important; padding:0 !important; margin-left:8px !important;
  vertical-align:middle !important; cursor:pointer !important;
  color:transparent !important; text-indent:-9999px !important; white-space:nowrap !important; overflow:hidden !important;
}
#addPicture:hover, .S_comment .SC_regist [onclick^="review_add_image"]:hover{ filter:brightness(1.05); }
#addPicture:active, .S_comment .SC_regist [onclick^="review_add_image"]:active{ filter:brightness(0.95); }

/* ==================================================
   Stars �� Offstar �깋�긽�쓣 Onstar�� '�셿�쟾�엳 �룞�씪' �넠�쑝濡�
   ================================================== */
/* Onstar�뒗 �럹�씠吏�媛� �벐�뒗 湲곗〈 �넠 �쑀吏� (�삁: hue-rotate(270deg) saturate(1.4) brightness(1.05)) */
.S_comment .Onstar{ filter:hue-rotate(270deg) saturate(1.4) brightness(1.05); }
.SC_regist .Onstar{ filter:hue-rotate(270deg) saturate(1.4) brightness(1.05); }

/* Offstar: onstar.png �깋�쓣 洹몃�濡� �벐怨�, offstar.png �삎�깭濡� 留덉뒪�궧 */
.S_comment span.OffStar, .S_comment span.Offstar,
.SC_regist span.OffStar, .SC_regist span.Offstar{
  display:inline-block !important; width:16px; height:16px; vertical-align:middle; margin-right:2px;
  background:url(../image/onstar.png) center/contain no-repeat !important;
  -webkit-mask:url(../image/offstar.png) center/contain no-repeat !important;
          mask:url(../image/offstar.png) center/contain no-repeat !important;
  filter:hue-rotate(270deg) saturate(1.4) brightness(1.05) !important;
  -webkit-filter:hue-rotate(270deg) saturate(1.4) brightness(1.05) !important;
}

/* 留뚯빟 蹂꾩씠 <img src="...offstar.png">濡� �삱 �븣 */
img[src*="offstar"]{
  background:url(../image/onstar.png) center/contain no-repeat !important;
  -webkit-mask:url(../image/offstar.png) center/contain no-repeat !important;
          mask:url(../image/offstar.png) center/contain no-repeat !important;
  filter:hue-rotate(270deg) saturate(1.4) brightness(1.05) !important;
  -webkit-filter:hue-rotate(270deg) saturate(1.4) brightness(1.05) !important;
  width:16px; height:16px; display:inline-block; content:"";
}

/* 留덉뒪�겕 誘몄��썝(援ы삎) �뤃諛�: 洹쇱궗移� 而щ윭�씪�씠吏� */
@supports not ((-webkit-mask: url()) or (mask: url())){
  .S_comment span.OffStar, .S_comment span.Offstar,
  .SC_regist span.OffStar, .SC_regist span.Offstar,
  img[src*="offstar"]{
    filter: invert(15%) sepia(75%) saturate(1200%) hue-rotate(270deg) brightness(1.05) contrast(1.05) !important;
  }
}

/* ==================================================
   Buttons (minor)
   ================================================== */
button, .btn{ border-radius:10px !important; border:1px solid var(--border) !important; padding:6px 10px !important; }
.btn-primary{ background:var(--accent) !important; color:#fff !important; border-color:var(--accent-strong) !important; }
.btn-primary:hover{ background:var(--accent-strong) !important; }

/* ==================================================
   Minor Polish (search fields)
   ================================================== */
header.T_header>form>fieldset,
body>header>section.srch>div>form>fieldset{ background:#F3F4F6 !important; }

/* END of Final Overrides */

/* === Reviews: DB에서 온 HTML 폰트 크기 일괄 고정 === */
/* 1) 기본 폰트/줄간격 기준값 (원하는 값으로 조정 가능) */
.S_comment .C_comment [id^="review_"]{
  font-size:13px !important;         /* 전체 기본 크기 */
  line-height:1.55 !important;       /* 읽기 좋은 줄간격 */
  color:#111;                      /* 본문 톤 */
}

/* 2) 모든 자식 엘리먼트가 '부모의 크기'를 따르게 */
.S_comment .C_comment [id^="review_"] *{
  font-size:inherit !important;
  line-height:inherit !important;
}

/* 3) h1~h6도 크기 고정(굵기만 차이) */
.S_comment .C_comment [id^="review_"] h1,
.S_comment .C_comment [id^="review_"] h2,
.S_comment .C_comment [id^="review_"] h3,
.S_comment .C_comment [id^="review_"] h4,
.S_comment .C_comment [id^="review_"] h5,
.S_comment .C_comment [id^="review_"] h6{
  font-size:1em !important;          /* 크기 동일 */
  font-weight:700 !important;         /* 제목은 굵기로만 구분 */
  margin:6px 0 !important;
}

/* 4) 과거 <font size>, 인라인 style="font-size:.." 무력화 */
.S_comment .C_comment [id^="review_"] font[size],
.S_comment .C_comment [id^="review_"] *[style*="font-size"]{
  font-size:inherit !important;
}

/* 5) 문단/리스트 간 간격 통일 */
.S_comment .C_comment [id^="review_"] p,
.S_comment .C_comment [id^="review_"] li{
  margin:6px 0 !important;
}

/* 6) 불필요한 이중 줄바꿈 정리 */
.S_comment .C_comment [id^="review_"] br+br{ display:none; }

/* 7) 이미지/표는 본문 폭에 맞춤 */
.S_comment .C_comment [id^="review_"] img{ max-width:100%; height:auto; border-radius:12px; }
.S_comment .C_comment [id^="review_"] table{ width:100%; border-collapse:collapse; }
.S_comment .C_comment [id^="review_"] table td,
.S_comment .C_comment [id^="review_"] table th{ padding:6px; border:1px solid #EEF2F7; font-size:inherit !important; }



/* === [복원] 강력추천 배지 (#starName, [id^="starname_"]) === */
#starName, [id^="starname_"]{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px;
  font-size:12px !important;
  font-weight:700 !important;
  color:#6D28D9 !important;            /* 텍스트 보라 */
  background:#F3E8FF !important;       /* 라이트 보라 칩 */
  border:1px solid #E9D5FF !important; /* 보더 복구 */
  border-radius:999px !important;
  padding:2px 8px !important;
  margin-top:2px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

/* === [복원] 좋아요(하트+숫자) 가시성 강화 === */
.S_comment .C_comment footer p{
  display:inline-flex !important;
  align-items:center !important;
  gap:4px !important;
  margin:0 !important; padding:0 !important;
  border:none !important; background:transparent !important;
  line-height:1 !important; white-space:nowrap !important;
}

/* 하트 아이콘이 항상 보이도록(문구 숨김 유지) */
.S_comment .C_comment footer p .OffLike,
.S_comment .C_comment footer p .OnLike{
  display:inline-flex !important; align-items:center !important;
  font-size:0 !important; padding:0 !important;
  border:none !important; background:transparent !important;
}

/* 하트 기호 복구 */
.S_comment .C_comment footer p .OffLike::before{
  content:"♡"; font-size:18px; line-height:1;
  color:#888 !important;
}
.S_comment .C_comment footer p .OnLike::before{
  content:"♥"; font-size:18px; line-height:1;
  color:#4C1D95 !important;
}

/* 숫자 스타일 복구 */
.S_comment .C_comment footer p [id^="review_likeCount_"]{
  font-size:12px !important; font-weight:700 !important;
  color:#555 !important; line-height:1 !important;
}

/* (안전망) 어떤 페이지에서도 적용되도록 .S_comment 없이도 동작 */
.C_comment footer p{ display:inline-flex !important; align-items:center !important; gap:4px !important; }
.C_comment footer p .OffLike, .C_comment footer p .OnLike{ font-size:0 !important; }
.C_comment footer p .OffLike::before{ content:"♡"; font-size:18px; color:#888 !important; }
.C_comment footer p .OnLike::before{  content:"♥"; font-size:18px; color:#4C1D95 !important; }
.C_comment footer p [id^="review_likeCount_"]{ font-size:12px !important; font-weight:700 !important; color:#555 !important; }

/* ===== recomment 전용: 후기 좌우 여백 컴팩트 ===== */

/* 카드 자체 여백 축소 (.C_comment / 작성폼 포함) */
body.reviewPage .C_comment,
body.reviewPage .SC_regist{
  margin-left:10px !important;
  margin-right:10px !important;
  width:auto !important;           /* 혹시 강제 폭 제한 있었으면 풀기 */
}

/* 상위 래퍼 쪽 패딩이 큰 경우도 같이 줄임 */
body.reviewPage .S_comment,
body.reviewPage .SC_comment,       /* 페이지에 따라 쓰는 래퍼명들 커버 */
body.reviewPage .P_comment,
body.reviewPage .content,
body.reviewPage #content{
  padding-left:10px !important;
  padding-right:10px !important;
}

/* 더 바깥 컨테이너에서 패딩 먹이는 케이스도 안전망 */
body.reviewPage .wrap,
body.reviewPage .container,
body.reviewPage .container-fluid{
  padding-left:0 !important;
  padding-right:0 !important;
}

/* 인라인 스타일로 margin이 박혀 들어오는 경우 강제 덮기 */
body.reviewPage .C_comment[style*="margin"]{
  margin-left:10px !important;
  margin-right:10px !important;
}


/* ===== [FixPack] 강력추천 배지 & 별 색상 전역 복원 ===== */

/* 1) 강력추천 배지 (#starName, [id^="starname_"]) — 어디서든 동일 룩 */
#starName, [id^="starname_"]{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px;
  font-size:12px !important;
  font-weight:700 !important;
  color:#6D28D9 !important;
  background:#F3E8FF !important;
  border:1px solid #E9D5FF !important;
  border-radius:999px !important;
  padding:2px 8px !important;
  margin-top:2px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

/* 2) Onstar: 현재 페이지에서 쓰는 톤 그대로(필요할 때만 필터 유지) */
.Onstar{
  /* 페이지에서 이미 톤이 좋다면 아래 줄 유지.
     톤이 어둡게 보이면 이 줄을 지워 Onstar 원색을 쓰게 해도 됨 */
  filter:hue-rotate(270deg) saturate(1.4) brightness(1.05) !important;
}

/* 3) Offstar: Onstar와 '완전히 같은 색' + 빈별 형태(마스크) — 전역 적용
      상대경로 문제를 피하려고 절대경로 사용 */
span.OffStar, span.Offstar{
  display:inline-block !important; width:16px; height:16px; vertical-align:middle; margin-right:2px;
  /* 색 소스 = onstar.png */
  background:url('/resources/image/onstar.png') center/contain no-repeat !important;
  /* 형태 = offstar.png 외곽선만 보이게 마스크 */
  -webkit-mask:url('/resources/image/offstar.png') center/contain no-repeat !important;
          mask:url('/resources/image/offstar.png') center/contain no-repeat !important;
  /* Onstar와 동일 톤을 쓰는 경우엔 동일 필터 적용 */
  filter:hue-rotate(270deg) saturate(1.4) brightness(1.05) !important;
  -webkit-filter:hue-rotate(270deg) saturate(1.4) brightness(1.05) !important;
}

/* 4) <img src="...offstar.png">로 들어오는 케이스도 커버 */
img[src*="offstar"]{
  /* 원본 이미지는 흐리게 보일 수 있으니 가려서 동일 톤 구성 */
  background:url('/resources/image/onstar.png') center/contain no-repeat !important;
  -webkit-mask:url('/resources/image/offstar.png') center/contain no-repeat !important;
          mask:url('/resources/image/offstar.png') center/contain no-repeat !important;
  filter:hue-rotate(270deg) saturate(1.4) brightness(1.05) !important;
  -webkit-filter:hue-rotate(270deg) saturate(1.4) brightness(1.05) !important;
  width:16px; height:16px; display:inline-block; content:""; 
}

/* 5) 별 크기·줄맞춤(환경별 차이 흡수) */
.Onstar, .Offstar, .OffStar, img[src*="offstar"]{
  width:16px !important; height:16px !important;
  vertical-align:middle !important;
  margin-right:2px !important;
}

/* 6) (안전망) recomment 전용 좌우 여백 압축 + 폭 제한(너무 퍼지는 느낌 방지) */
body.reviewPage .C_comment,
body.reviewPage .SC_regist{ margin-left:6px !important; margin-right:6px !important; }
body.reviewPage .S_comment, 
body.reviewPage .P_comment {
  max-width: 720px !important;   /* 100% 방지 */
  margin-left: 0 !important;     /* 왼쪽 붙임 */
  margin-right: auto !important; /* 오른쪽만 여백 */
  padding-left: 10px !important;
  padding-right: 10px !important;
}

/* 7) 좋아요(하트+숫자) 보장 — 페이지마다 덮임 방지 */
.C_comment footer p{ display:inline-flex !important; align-items:center !important; gap:4px !important; }
.C_comment footer p .OffLike, .C_comment footer p .OnLike{ font-size:0 !important; padding:0 !important; background:transparent !important; border:none !important; }
.C_comment footer p .OffLike::before{ content:"♡"; font-size:18px; line-height:1; color:#888 !important; }
.C_comment footer p .OnLike::before{  content:"♥"; font-size:18px; line-height:1; color:#4C1D95 !important; }
.C_comment footer p [id^="review_likeCount_"]{ font-size:12px !important; font-weight:700 !important; color:#555 !important; line-height:1 !important; }

/* 8) 리뷰 본문 폰트 고정(인라인 font-size 무시) */
[id^="review_"]{ font-size:13px !important; line-height:1.55 !important; color:#374151; overflow:visible !important; }
[id^="review_"] *{ font-size:inherit !important; line-height:inherit !important; }
[id^="review_"] *[style*="font-size"], [id^="review_"] font[size]{ font-size:inherit !important; }
/* 구후기 본문 div overflow 해제 (main.css SC_comment>article>div 오버라이드) */
section.SC_comment > article > div[id^="review_"]{ overflow:visible !important; white-space:pre-wrap !important; }
/* 구후기 article 내부 div float 해제 */
section.SC_comment > article > div{ float:none !important; clear:both !important; }
/* 구후기 본문 내부 span - main.css 별점 스타일 리셋 */
section.SC_comment > article > div[id^="review_"] span{
    display:inline !important; float:none !important;
    width:auto !important; height:auto !important;
    background:none !important; font-size:inherit !important;
}
/* 구후기 본문 p 태그 margin 복원 (reset.css margin:0 오버라이드) */
section.SC_comment > article > div[id^="review_"] p{
    display:block !important; margin-bottom:0.8em !important;
}


/* ==================================================
   Reviews: User avatar (이미지/대체텍스트) — compact → final parity
   ================================================== */
.S_comment .C_comment aside img,
img[alt="사용자이미지"]{
  width:40px !important;
  height:40px !important;
  border-radius:50% !important;
  object-fit:cover !important;
  display:block !important;
  border:2px solid #E9D5FF !important;   /* lavender ring */
  background:#F3F4F6 !important;         /* fallback bg */
}

/* Broken/missing src 안전망 */
img[alt="사용자이미지"]:not([src]),
img[alt="사용자이미지"][src=""],
img[alt="사용자이미지"][src="#"],
img[alt="사용자이미지"][src="null"]{
  background:#EDE9FE !important;
}

/* Inline style로 둥근 모양/사이즈가 박혀 있어도 우리가 우선 */
img[alt="사용자이미지"][style],
.S_comment .C_comment aside img[style]{
  width:40px !important;
  height:40px !important;
  border-radius:50% !important;
}

/* 슬라이더 메인 이미지: 네모 유지 */
section.main_slide ul.slide_main li img {
  border-radius:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important; /* 비율 유지하면서 꽉 채우기 */
}

/* --- FIX: index.jsp store_footer 해시태그 하단 잘림 --- */
/* 1) footer 전체 p 기본 줄간 넉넉하게 (px 고정) */
.Sdetail_slide footer.store_footer p{
  font-size: 14px !important;      /* 보기 좋은 크기(필요시 13px) */
  line-height: 20px !important;     /* 핵심: px 고정 */
}

/* 2) 해시태그 줄(#market_tag p) — y클리핑 해제 + 여백 보강 */
.Sdetail_slide footer.store_footer #market_tag p{
  display: inline-flex !important;
  align-items: center !important;   /* baseline 대신 center로 복귀 */
  height: auto !important;
  line-height: 20px !important;     /* 텍스트 높이와 동일 */
  overflow-y: visible !important;    /* 잘림 방지 */
  overflow-x: auto !important;       /* 가로 스크롤 유지 */
  padding: 2px 0 3px !important;     /* 아래쪽 여백 보강 */
  white-space: nowrap !important;
  -webkit-overflow-scrolling: touch !important;
}

/* 3) 내부 span/a도 같은 줄간을 따르게 */
.Sdetail_slide footer.store_footer #market_tag p > *{
  line-height: 20px !important;
  display: inline-block !important;
}

/* 4) 혹시 다른 CSS가 더 강하게 덮으면 극약처방(최후 수단) */
@supports (-webkit-appearance:none) {
  .Sdetail_slide footer.store_footer #market_tag p{
    transform: translateY(0.5px);   /* 렌더러별 1px 미세 보정 */
  }
}

/* === Reviews footer: class="pic" 텍스트 깨짐 방지 & 아이콘화 === */
/* 후기 카드 footer > ul > li > .pic 모두 커버 */
.C_comment footer ul li .pic {
  display: inline-block !important;
  width: 30px !important;
  height: 24px !important;
  background: url('/resources/image/imageadd.png') no-repeat center/contain !important;
  text-indent: -9999px !important;   /* "이미지추가" 텍스트 화면에서 숨김 */
  overflow: hidden !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  line-height: 24px !important;      /* main.css 액션 높이와 동일 */
  cursor: pointer !important;
  margin: 0 2px !important;
}


/* ── 매장 좋아요 아이콘 공통 (store_detail, rsview, index) ── */
/* li > span 구조 타겟 - footer p .OffLike(후기좋아요)와 구분 */
li > span.OffLike {
  background: none !important;
  font-size: 0 !important;
  width: auto !important;
}
li > span.OffLike::before {
  content: "♥";
  font-size: 22px !important;
  line-height: 1 !important;
  color: #fff !important;
  -webkit-text-stroke: 1.5px #333 !important;
  display:inline-block !important;
  transform: scaleY(0.82) !important;
  vertical-align: middle !important;
  margin-top: -3px !important;
}
li > span.OnLike {
  background: none !important;
  font-size: 0 !important;
  width: auto !important;
}
li > span.OnLike::before {
  content: "♥";
  font-size: 22px !important;
  line-height: 1 !important;
  color: #e8003d !important;
  -webkit-text-stroke: 0 !important;
  display:inline-block !important;
  transform: scaleY(0.82) !important;
  vertical-align: middle !important;
  margin-top: -3px !important;
}

/* ── 매장상세 4탭 한줄 정렬 ── */
.depth_nav { background:none !important; }
.depth_nav ul { display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; padding:0 !important; width:100% !important; }
.depth_nav ul li { float:none !important; width:auto !important; flex:1 !important; text-align:center !important; margin:0 !important; font-size:clamp(11px,3vw,14px) !important; white-space:nowrap !important; color:#444 !important; border-right:none !important; border-radius:0 !important; }
.depth_nav ul li.OnTab { color:#111111 !important; font-weight:700 !important; border-bottom:1px solid #111111 !important; border-radius:0 !important; }

/* ── 매장상세 견적탭 카드 태그 ── */
.est-tag { display:inline-block; padding:2px 7px; border-radius:6px; font-size:11px; font-weight:500; margin-right:4px; }
.est-tag.gold    { background:transparent; border:1.5px solid #5A3DC8; color:#5A3DC8; }
.est-tag.diamond { background:transparent; border:1.5px solid #2563EB; color:#2563EB; }

/* ── 공임비 블러 처리 (비로그인) ── */
.price-login-banner { display:flex; flex-direction:column; align-items:center; gap:10px; background:#f5f3ff; border:1.5px solid #c4b5fd; border-radius:12px; padding:14px 16px; margin:0 12px 16px; text-align:center; }
.price-login-banner p { font-size:13px; color:#5a3dc8; font-weight:600; margin:0; }
.price-login-btn { background:#7B5EA7; color:#fff; border:none; border-radius:8px; padding:8px 24px; font-size:13px; font-weight:700; cursor:pointer; }

/* ── 공임비 카드형 ── */
.price-card-list { display:flex; flex-direction:column; gap:8px; padding:4px 12px; }
.price-card { background:#fff; border:1.5px solid #ede8fb; border-radius:10px; padding:12px 14px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.price-card-name { font-size:13px; color:#444; line-height:1.4; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.price-card-price { font-size:13px; font-weight:700; color:#7B5EA7; flex-shrink:0; white-space:nowrap; }
.price-blur-full { display:block; background:#c4b5fd; border-radius:4px; filter:blur(4px); width:80px; height:13px; flex-shrink:0; }

/* ── 공임비 안내 박스 ── */
.price-info-banner { display:flex; align-items:flex-start; gap:8px; background:#f5f3ff; border:1.5px solid #c4b5fd; border-radius:12px; padding:10px 12px; margin:0 12px 12px; }
.price-info-icon { font-size:14px; flex-shrink:0; margin-top:1px; }
.price-info-text p { font-size:12px; color:#333; line-height:1.6; margin:0; }

/* ── 매장명/설명 색상 ── */
section.store_info { display:flex !important; align-items:center !important; overflow:hidden; }
section.store_info > dl { float:none !important; margin-left:10px !important; }
section.store_info > ul { float:none !important; margin-top:0 !important; margin-left:auto !important; }
section.store_info > dl > dt { font-size:19px !important; font-weight:700 !important; color:#111 !important; }
section.store_info > dl > dd { display:none !important; }

/* ── 매장상세 견적탭 필터 테두리 ── */
#tab3view .est-filter-box { border:1.5px solid var(--est-border, #E2DEEF) !important; }

/* ── 강력추천 배지 ── */
[id^="starname_"] { display:inline-block; background:#F3EFFF; color:#7B5EA7; border-radius:14px; padding:4px 8px; font-size:12px; font-weight:600; }

/* ── 신후기 카드 별점 (article 밖) ── */
.SC_comment .Onstar {
  display:inline-block !important;
  background:url('/resources/image/onstar.png') center/contain no-repeat !important;
  width:16px !important; height:16px !important;
  vertical-align:middle !important;
  filter:hue-rotate(270deg) saturate(1.4) brightness(1.05) !important;
}
.SC_comment span.Offstar, .SC_comment span.OffStar {
  display:inline-block !important;
  background:url('/resources/image/onstar.png') center/contain no-repeat !important;
  -webkit-mask:url('/resources/image/offstar.png') center/contain no-repeat !important;
          mask:url('/resources/image/offstar.png') center/contain no-repeat !important;
  width:16px !important; height:16px !important;
  vertical-align:middle !important;
  filter:hue-rotate(270deg) saturate(1.4) brightness(1.05) !important;
}

/* ── Pretendard 폰트 ── */
@font-face { font-family:'Pretendard'; src:url('/resources/fonts/pretendard/Pretendard-Thin.woff2') format('woff2'); font-weight:100; font-display:swap; }
@font-face { font-family:'Pretendard'; src:url('/resources/fonts/pretendard/Pretendard-ExtraLight.woff2') format('woff2'); font-weight:200; font-display:swap; }
@font-face { font-family:'Pretendard'; src:url('/resources/fonts/pretendard/Pretendard-Light.woff2') format('woff2'); font-weight:300; font-display:swap; }
@font-face { font-family:'Pretendard'; src:url('/resources/fonts/pretendard/Pretendard-Regular.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Pretendard'; src:url('/resources/fonts/pretendard/Pretendard-Medium.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:'Pretendard'; src:url('/resources/fonts/pretendard/Pretendard-SemiBold.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:'Pretendard'; src:url('/resources/fonts/pretendard/Pretendard-Bold.woff2') format('woff2'); font-weight:700; font-display:swap; }
@font-face { font-family:'Pretendard'; src:url('/resources/fonts/pretendard/Pretendard-ExtraBold.woff2') format('woff2'); font-weight:800; font-display:swap; }
@font-face { font-family:'Pretendard'; src:url('/resources/fonts/pretendard/Pretendard-Black.woff2') format('woff2'); font-weight:900; font-display:swap; }

/* ── 전역 폰트 적용 ── */
body, input, textarea, select, button {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* ── iOS auto-zoom 방지 (입력 필드 확대 방지) ── */
@supports (-webkit-touch-callout: none) {
  input, textarea, select {
    font-size: 16px !important;
  }
}

/* ── 후기 답글/이미지 모달 ── */
.review-modal-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 9000;
  overflow-y: auto;
}
.review-modal-overlay.active {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 20px 0;
}
.review-modal-box {
  background: #fff;
  border-radius: 14px;
  width: 92%;
  max-width: 480px;
  padding: 20px;
  box-sizing: border-box;
  margin: auto;
  position: relative;
}
.review-modal-box h3 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 14px;
  text-align: center;
}
.review-modal-box .modal-wrap {
  position: relative;
  padding-right: 36px;
}
.review-modal-close {
  position: absolute;
  top: 14px; right: 16px;
  font-size: 20px;
  cursor: pointer;
  background: none;
  border: none;
}

/* ── 프로필 내가 쓴 댓글 별점 ── */
.pf-review-stars .Onstar {
  display:inline-block !important;
  background:url('/resources/image/onstar.png') center/contain no-repeat !important;
  width:16px !important; height:16px !important;
  vertical-align:middle !important;
  filter:hue-rotate(270deg) saturate(1.4) brightness(1.05) !important;
}
.pf-review-stars span.Offstar {
  display:inline-block !important;
  background:url('/resources/image/onstar.png') center/contain no-repeat !important;
  -webkit-mask:url('/resources/image/offstar.png') center/contain no-repeat !important;
          mask:url('/resources/image/offstar.png') center/contain no-repeat !important;
  width:16px !important; height:16px !important;
  vertical-align:middle !important;
  filter:hue-rotate(270deg) saturate(1.4) brightness(1.05) !important;
}

/* ── 프로필 내가 쓴 댓글 사진 ── */
.pf-review-img-row { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.pf-review-img-row img {
  width:55px !important; height:55px !important;
  object-fit:cover !important; border-radius:8px !important;
  border:1px solid #ddd; cursor:pointer;
}

/* ── 로그인 후 사람 아이콘 진한 검정으로 변경 ── */
#loginbtn.OnLogin {
  filter: brightness(0) !important;
}


/* ==================================================
   Index Modern Styles (merged)
   ================================================== */

/* ==================================================
   GoodJewelry - Index Modern (2025-09-11)
   Purpose: Make the index page look modern while
            staying consistent with purple-final.
   Load order (after existing):
     reset.css �넂 header.css �넂 main.css �넂 goodjewelry-purple-final.css �넂 THIS FILE
   ================================================== */

/* ---------- Design Tokens: inherit from purple-final if present ---------- */


/* ---------- Base polish ---------- */



/* Header: logo spacing & search/login icons alignment */
body>header{ padding:12px 12px 0 !important; }
body>header>h1>a{ width:160px !important; height:44px !important; margin:0 auto 8px !important; display:block; }
body>header>section.srch>h2,
body>header>section.log>h2{ opacity:.9; transition:transform .15s ease, opacity .15s ease; }
body>header>section.srch>h2:active,
body>header>section.log>h2:active{ transform:scale(.96); opacity:.8; }

/* Search field modern look */
body>header>section.srch>div>form>fieldset{
  height:40px !important; background:#F3E8FF !important; border-radius:12px !important; border:1px solid var(--accent-weak-2) !important;
}
body>header>section.srch>div>form>fieldset>input{
  margin:10px 0 0 12px !important; font-size:14px !important; color:var(--text) !important;
}
body>header>section.srch>div>form>fieldset>button{
  margin:9px 10px 0 0 !important; width:24px !important; height:24px !important;
}

/* ---------- Hero / main slider ---------- */
section.main_slide{ margin-top:12px !important; }
section.main_slide>ul.slide_main{ height:auto !important; min-height:220px !important; }
section.main_slide>ul.slide_main>li{
  height:auto !important; min-height:220px !important;
  background:#EDE9FE !important; border-radius:16px !important; overflow:hidden !important;
}
/* slider dots */
section.main_slide>ul.slide_Bt{ margin:10px auto 14px !important; width:auto !important; display:flex !important; gap:6px !important; justify-content:center !important; }
section.main_slide>ul.slide_Bt>li{ width:8px !important; height:8px !important; border-radius:999px !important; background:#E9D5FF !important; }
section.main_slide>ul.slide_Bt>li.onSBt{ background:#7C3AED !important; }
/* slider LR arrows */
section.main_slide>ul.slide_lr>li{ width:36px !important; height:36px !important; top:44% !important; }

/* ---------- Category list (吏��뿭/醫낅ぉ/�씤湲곗닚) ---------- */
section.m_list{ padding:8px 12px 12px !important; }
section.m_list>ul{ display:flex !important; gap:8px !important; }
section.m_list>ul>li{
  width:auto !important; padding:0 !important;
}
/* chip look */
section.m_list>ul>li>a,
section.m_list>ul>li>span,
section.m_list>ul>li>button{
  display:inline-flex !important; align-items:center !important; gap:6px !important;
  height:32px !important; padding:0 12px !important; border-radius:999px !important;
  background:var(--surface-2) !important; border:1px solid var(--border) !important; color:#374151 !important; font-weight:700 !important;
}
section.m_list>ul>li.on,
section.m_list>ul>li:has(>div[style*='display:block']){
  /* when opened */
}
section.m_list>ul>li:hover a,
section.m_list>ul>li:hover span,
section.m_list>ul>li:hover button{
  border-color:var(--accent-weak-2) !important;
}

/* ---------- Store list / cards ---------- */
section.store{ margin:16px 0 12px !important; }
section.store>header{ padding:0 12px 6px !important; }
section.store>header h2,
section.store>header p{ color:#312E81 !important; }

/* store_info block �넂 modern card header */
section.store_info{
  display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important;
  padding:10px 12px !important;
}
section.store_info>div{ /* avatar ring */
  width:44px !important; min-width:44px !important; height:44px !important; min-height:44px !important;
  border-radius:50% !important; padding:2px !important;
  background:linear-gradient(180deg, #7C3AED, #EE63B0) !important;
}
section.store_info>div>img{ display:block !important; width:100% !important; height:100% !important; border-radius:50% !important; object-fit:cover !important; }

section.store_info>dl{ margin-left:8px !important; }
section.store_info>dl>dt{ font-size:13px !important; line-height:1.3 !important; font-weight:800 !important; color:#111827 !important; }
section.store_info>dl>dd{ font-size:11px !important; color:#6B7280 !important; }

/* view / like row */
section.store_info>ul{ display:flex !important; align-items:center !important; gap:8px !important; margin:0 !important; }
section.store_info>ul>li>span{ line-height:24px !important; }
span.view, span.OffLike, span.OnLike{ width:20px !important; height:20px !important; }

/* hero image container under header -> card with gradient footer */
section.store>div{
  height:220px !important; background-color:#EDE9FE !important; border-radius:14px !important; margin-top:8px !important;
}
footer.store_footer{
  position:absolute !important; bottom:0 !important; left:0 !important; right:0 !important;
  box-sizing:border-box !important; height:auto !important; padding:10px 12px !important;
  background:linear-gradient(90deg, #7C3AED 0%, #6D28D9 60%, #4C1D95 100%) !important;
  border-radius:0 0 14px 14px !important; color:#fff !important;
  display:flex !important; align-items:center !important; justify-content:space-between !important; gap:8px !important;
  border-top:1px solid rgba(233,213,255,.35) !important;
}
footer.store_footer>div{ display:flex !important; align-items:center !important; gap:10px !important; }
footer.store_footer>div>p{ margin:0 !important; font-size:12px !important; }
footer.store_footer>div>p>a{ color:#fff !important; text-decoration:underline !important; text-underline-offset:2px !important; }
footer.store_footer>p{ margin:0 !important; font-size:12px !important; color:#fff !important; }

/* ---------- �쒖텛泥쒕ℓ�옣�� �꽮�뀡 �뿤�뜑 由щ벉 ---------- */
div.depth_nav{
  padding:8px 12px !important; background-position:center !important;
  background-size:100% 2px !important; /* thin line look */
}
div.depth_nav>ul{ display:flex !important; justify-content:space-evenly !important; gap:6px !important; }
div.depth_nav>ul>li{ width:auto !important; padding:0 6px !important; line-height:36px !important; font-size:15px !important; border-radius:6px !important; }


/* ---------- Reviews preview row on index (if exists) ---------- */
.C_comment, .SC_regist{
  background:#fff !important; border:1px solid var(--border) !important; border-radius:14px !important;
  box-shadow:0 1px 6px rgba(17,24,39,.06) !important; padding:12px !important; margin:10px 12px !important;
}
/* Badge (媛뺣젰異붿쿇 �벑) kept consistent */
#starName, [id^="starname_"]{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:700;
  color:#6D28D9; background:#F3E8FF;
  border:1px solid #E9D5FF; border-radius:999px;
  padding:2px 8px; margin-top:2px; line-height:1; white-space:nowrap;
}

/* ---------- Utility ---------- */
.container{ padding:0 12px; }
.rounded-14{ border-radius:14px; }
.shadow-card{ box-shadow:0 1px 6px rgba(17,24,39,.06); }

/* ---------- Responsive tweaks ---------- */
@media (min-width:460px){
  body:not(.reviewPage){ max-width:460px; margin:0 auto; } /* 후기 페이지는 제외 */
}


/* 이름/설명 한 줄 고정 + 말줄임 */
section.store_info > dl{ flex:1 1 auto !important; min-width:0 !important; }
section.store_info > dl > dt,
section.store_info > dl > dd{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* 오른쪽 뷰/좋아요 영역 컴팩트 + 우측 정렬 */
section.store_info > ul{
  flex:0 0 auto !important;
  margin-left:auto !important;
  display:flex !important; align-items:center !important; gap:8px !important;
}
section.store_info > ul > li{ display:flex !important; align-items:center !important; gap:4px !important; }
section.store_info > ul > li > span:first-child{ width:18px !important; height:18px !important; }

/* 아바타 통일(40x40 + 라벤더 링) */
section.store_info > div{
  width:40px !important; height:40px !important; min-width:40px !important; min-height:40px !important;
  padding:0 !important; background:transparent !important; border-radius:50% !important;
}
section.store_info > div > img{
  width:40px !important; height:40px !important; border-radius:50% !important; object-fit:cover !important;
  border:2px solid #E9D5FF !important; background:#F3F4F6 !important;
}

/* goodjewelry-index-modern.v5.css — header tighter + bigger metrics */

section.store_info{
  padding:4px 8px !important;
  margin:2px 0 2px !important;
  gap:4px !important;
  border-width:1px !important;
}

section.store_info > dl{ flex:1 1 auto !important; min-width:0 !important; }
section.store_info > dl > dt{
  font-size:12.5px !important; line-height:1.25 !important;
  white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;
}
section.store_info > dl > dd{
  font-size:10.5px !important; line-height:1.25 !important;
  white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;
}

section.store_info > ul{
  flex:0 0 auto !important;
  margin-left:auto !important;
  display:flex !important; align-items:center !important;
  gap:6px !important; padding:0 !important; border:0 !important; background:transparent !important;
}
section.store_info > ul > li{
  display:flex !important; align-items:center !important; gap:4px !important;
  padding:0 !important; margin:0 !important; border:0 !important; background:transparent !important;
  line-height:20px !important;
}
section.store_info > ul > li > span.view,
section.store_info > ul > li > span.OffLike,
section.store_info > ul > li > span.OnLike{
  width:18px !important; height:18px !important;
  min-width:18px !important; min-height:18px !important;
}
section.store_info > ul > li > span + span{
  font-size:13px !important; font-weight:600 !important;
  margin-left:2px !important; line-height:1 !important;
}

/* ==================================================
   GJ Tabs – Minimal Underline + Equal Width (2025-09-15)
   target: <nav class="gj-tabs">
   ================================================== */
:root{
  --gj-ink: #4B5563;          /* 기본 글자 */
  --gj-ink-strong:#111827;    /* 활성 글자 */
  --gj-accent:#7C3AED;        /* 보라 포인트 */
  --gj-accent-2:#6D28D9;      /* 보라 그라디언트 */
}

/* 컨테이너 */
.gj-tabs{
  box-sizing:border-box;
  width:100%;
  padding:6px 12px 4px;
}

/* 리스트 (header.css의 nav>ul {width:95%} 무력화) */
.gj-tabs > ul{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  gap:0 !important;
  list-style:none !important;
  background:transparent !important;
  border:none !important;
  position:relative;
}

/* 아이템: 4등분 균등폭, 한 줄 고정 */
.gj-tabs > ul > li{
  float:none !important;            /* 구 규칙 차단 */
  flex:1 0 0 !important;            /* 25%씩 */
  text-align:center !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  border-bottom:none !important;    /* 과거 밑줄 제거 */
  font-size:16px !important;
  font-weight:600 !important;
  line-height:30px !important;
  padding:0 6px !important;
  color:var(--gj-ink);
  cursor:pointer; user-select:none;
  background:transparent;
  -webkit-tap-highlight-color:transparent;
  transition: color .15s ease;
}
.gj-tabs > ul > li:hover{ color:var(--gj-ink-strong); }
.gj-tabs > ul > li.is-active{ color:var(--gj-ink-strong); }

/* 하단 인디케이터(보라 밑줄) */
.gj-tabs > ul::after{
  content:"";
  position:absolute;
  left:var(--_x,0%);
  bottom:-2px;
  height:2px;
  width:var(--_w,25%);
  background:#111111;
  border-radius:2px;
  transition:left .25s ease, width .25s ease;
}

/* 위치 상태 (4개 탭 기준) */
.gj-tabs.pos-0 > ul{ --_x:0%;  --_w:25%; }
.gj-tabs.pos-1 > ul{ --_x:25%; --_w:25%; }
.gj-tabs.pos-2 > ul{ --_x:50%; --_w:25%; }
.gj-tabs.pos-3 > ul{ --_x:75%; --_w:25%; }

/* 항목 수 변경시 옵션 */
.gj-tabs[data-count="4"] > ul{ --_w:25%; }
.gj-tabs[data-count="3"] > ul{ --_w:33.3333%; }
.gj-tabs[data-count="5"] > ul{ --_w:20%; }

/* 5개 탭 기준 인디케이터 위치 */
.gj-tabs[data-count="5"].pos-0 > ul{ --_x:0%;  --_w:20%; }
.gj-tabs[data-count="5"].pos-1 > ul{ --_x:20%; --_w:20%; }
.gj-tabs[data-count="5"].pos-2 > ul{ --_x:40%; --_w:20%; }
.gj-tabs[data-count="5"].pos-3 > ul{ --_x:60%; --_w:20%; }
.gj-tabs[data-count="5"].pos-4 > ul{ --_x:80%; --_w:20%; }

/* 초소형 화면 보정 */
@media (max-width:360px){
  .gj-tabs > ul > li{
    font-size:13px !important;
    line-height:28px !important;
  }
}



/* ==================================================
   메인 공통 섹션 헤더
   ================================================== */
.main-sec-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 14px 4px;
}
.main-sec-title{
  font-size:15px; font-weight:700; color:#111;
}
.main-sec-more{
  font-size:12px; color:#7C3AED; font-weight:600; cursor:pointer;
}
.main-sec-sub{
  font-size:11px; color:#888;
  padding:0 14px 8px;
}


/* ==================================================
   오늘의 추천매장 카드 (좌이미지 + 우정보)
   ================================================== */
.today-rec-list{
  display:flex; flex-direction:column; gap:8px;
  padding:4px 14px 14px;
}
.main-rec-card{
  display:flex; flex-direction:row;
  height:100px;
  background:#fff;
  border-radius:12px;
  border:1px solid #EDE9FE;
  cursor:pointer;
  overflow:hidden;
}
.main-rec-thumb{
  width:140px; min-width:140px;
  flex-shrink:0;
  position:relative;
  background:#EDE9FE;
  border-radius:11px 0 0 11px;
  overflow:hidden;
  align-self:stretch;
}
.main-rec-thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.main-rec-body{
  flex:1; min-width:0;
  padding:10px 10px;
  display:flex; flex-direction:column; justify-content:center; gap:4px;
  border-radius:0 11px 11px 0;
  overflow:hidden;
}
.main-rec-labels{
  display:flex; gap:4px; overflow:hidden; flex-wrap:nowrap;
}
.main-rec-label{
  display:inline-block;
  font-size:10px; font-weight:700;
  padding:2px 7px; border-radius:999px;
  white-space:nowrap;
}
.main-rec-name{
  font-size:13px; font-weight:700; color:#111;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.main-rec-area{
  font-size:11px; color:#888;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.main-rec-meta{
  display:flex; align-items:center; gap:8px;
}
.main-rec-score{
  font-size:11px; color:#F59E0B; font-weight:700;
}
.main-rec-cnt{
  font-size:11px; color:#888;
}


/* ==================================================
   실시간 후기 사진 3x2 그리드
   ================================================== */
.review-photo-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:3px;
  padding:4px 14px 14px;
}
.review-photo-cell{
  aspect-ratio:1;
  border-radius:6px;
  overflow:hidden;
  background:#EDE9FE;
  cursor:pointer;
}
.review-photo-cell img{
  width:100%; height:100%; object-fit:cover; display:block;
}


/* ==================================================
   메인 배너 슬라이드 (신규 라운드 UI)
   ================================================== */
.main-banner-wrap{
  position:relative;
  margin:12px 14px 4px;
  height:180px;
  border-radius:16px;
  overflow:hidden;
  background:#EDE9FE;
  cursor:pointer;
}
.main-banner-inner{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
}
.main-banner-inner img{
  width:100%; height:100%; object-fit:cover; display:block;
}
/* 좌우 버튼 */
.main-banner-wrap .slide_lr{
  position:absolute; top:0; left:0; right:0; bottom:0;
  pointer-events:none;
}
.main-banner-wrap .slide_lr .LBt,
.main-banner-wrap .slide_lr .RBt{
  pointer-events:all;
  position:absolute; top:50%; transform:translateY(-50%);
  width:32px; height:32px;
  background:rgba(255,255,255,0.7);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:0; cursor:pointer;
}
.main-banner-wrap .slide_lr .LBt{ left:10px; }
.main-banner-wrap .slide_lr .RBt{ right:10px; }
.main-banner-wrap .slide_lr .LBt::after{ content:'‹'; font-size:20px; color:#7C3AED; line-height:1; }
.main-banner-wrap .slide_lr .RBt::after{ content:'›'; font-size:20px; color:#7C3AED; line-height:1; }
/* 도트 */
.main-banner-dots{
  position:absolute; bottom:8px; left:0; right:0;
  display:flex; justify-content:center; gap:5px;
  pointer-events:none;
}
.main-banner-dot{
  width:7px; height:7px; border-radius:50%;
  background:rgba(255,255,255,0.5);
  transition:background .2s;
}
.main-banner-dot.on{ background:#7C3AED; }


/* ==================================================
   견적 미리보기 카드 — 메인 전용 오버라이드
   (estimate.css 전체 축소 적용 후 메인 추가 조정)
   ================================================== */
.est-card-wrap--main{
  border-radius:10px;
}
.est-card--main{
  padding:7px 10px !important;
}





/* ==================================================
   구매 가이드 2열 그리드
   ================================================== */
.main-tip-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:10px;
  padding:4px 14px 16px;
}
.main-tip-card{
  background:#fff;
  border-radius:12px;
  border:1px solid #EDE9FE;
  overflow:hidden;
  cursor:pointer;
}
.main-tip-thumb{
  width:100%;
  aspect-ratio:4/3;
  background:#EDE9FE;
  overflow:hidden;
}
.main-tip-thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.main-tip-body{
  padding:8px 10px 10px;
}
.main-tip-title{
  font-size:13px; font-weight:700; color:#111;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  margin-bottom:3px;
}
.main-tip-desc{
  font-size:11px; color:#888;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}


/* ==================================================
   매장 리스트 (rsview) - 새 카드 UI
   ================================================== */
.rs-divider{
  height:1px; background:#E5E7EB;
  margin:8px 14px 16px;
}
.rs-market-card{
  display:flex; flex-direction:row;
  align-items:stretch;
  background:#fff;
  border-radius:12px;
  border:1px solid #EDE9FE;
  overflow:visible;
  cursor:pointer;
  margin:0 14px 10px;
  box-sizing:border-box;
}
.rs-market-thumb{
  width:140px; min-width:140px;
  flex-shrink:0;
  background:#EDE9FE;
  overflow:hidden;
  border-radius:12px;
  align-self:stretch;
  position:relative;
}

.rs-market-thumb img{
  position:absolute; top:0; left:0;
  width:100%; height:100%; object-fit:cover; display:block;
}
.rs-market-body{
  flex:1; min-width:0;
  padding:10px 10px 12px;
  display:flex; flex-direction:column; justify-content:center; gap:3px;
  box-sizing:border-box;
}
.rs-market-name{
  font-size:13px; font-weight:700; color:#111;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.rs-market-area{
  font-size:11px; color:#888;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.rs-market-meta{
  display:flex; align-items:center; gap:8px; margin-top:2px;
}
.rs-market-score{ font-size:11px; color:#F59E0B; font-weight:700; }
.rs-market-cnt{ font-size:11px; color:#888; }
.rs-like-wrap{ cursor:pointer; display:flex; align-items:center; gap:3px; }

/* 카드 래퍼 - reset.css padding:0 방어 */
.rs-market-card-wrap{
  padding:0 14px 10px;
  box-sizing:border-box;
}
.rs-market-card-wrap .rs-market-card{
  margin:0 !important;
  width:100%;
}


/* ==================================================
   꿀팁 리스트 — A안 이미지 오버레이 카드
   ================================================== */
.tip-card-wrap{
  padding:0 14px 14px;
  box-sizing:border-box;
}
.tip-card{
  position:relative;
  width:100%;
  height:220px;
  border-radius:14px;
  overflow:hidden;
  cursor:pointer;
  background:#EDE9FE;
}
.tip-card img{
  width:100%; height:100%; object-fit:cover; display:block;
}
/* 하단 그라디언트 오버레이 */
.tip-overlay{
  position:absolute;
  bottom:0; left:0; right:0;
  height:55%;
  background:linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0) 100%);
  pointer-events:none;
}
/* 제목 */
.tip-title{
  position:absolute;
  bottom:0; left:0; right:0;
  padding:12px 14px;
  color:#fff;
  font-size:14px;
  font-weight:700;
  line-height:1.4;
  text-shadow:0 1px 4px rgba(0,0,0,0.5);
  pointer-events:none;
}
/* 조회수 뱃지 */
.tip-meta{
  position:absolute;
  top:10px; right:12px;
  display:flex; align-items:center; gap:4px;
  background:rgba(0,0,0,0.35);
  border-radius:999px;
  padding:3px 8px;
  font-size:11px; color:#fff;
  pointer-events:none;
}
/* 태그 뱃지 */
.tip-tag{
  position:absolute;
  top:10px; left:12px;
  background:#7C3AED;
  border-radius:999px;
  padding:3px 10px;
  font-size:11px; color:#fff; font-weight:600;
  pointer-events:none;
}


/* ==================================================
   꿀팁 상세 (tip_detail)
   ================================================== */
.td-nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 16px;
  border-bottom:1px solid #F3F4F6;
  background:#fff;
}
.td-nav-back{
  display:flex; align-items:center; gap:4px;
  cursor:pointer;
}
.td-nav-back svg{
  width:22px; height:22px;
  stroke:#111; fill:none; stroke-width:2.5;
  stroke-linecap:round; stroke-linejoin:round;
}
.td-nav-title{ font-size:15px; font-weight:700; color:#111; }
.td-nav-actions svg{
  width:20px; height:20px;
  stroke:#555; fill:none; stroke-width:2;
  stroke-linecap:round; stroke-linejoin:round;
}

.td-meta{
  padding:16px 16px 12px;
  border-bottom:1px solid #F3F4F6;
}
.td-title{
  font-size:16px; font-weight:700; color:#111;
  line-height:1.4; flex:1;
}
.td-title-row{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
}
.td-info-row{
  display:flex; align-items:center; justify-content:space-between;
}
.td-date{ font-size:12px; color:#aaa; }
.td-stats{ display:flex; align-items:center; gap:14px; }
.td-stat{
  display:flex; align-items:center; gap:4px;
  font-size:12px; color:#888;
}
.td-stat svg{ width:14px; height:14px; }
.td-like{
  display:flex; align-items:center; gap:4px;
  font-size:12px; color:#888; cursor:pointer;
}
.td-like svg{
  width:14px; height:14px;
  stroke:#888; fill:none; stroke-width:2;
}
.td-like.active{ color:#E03A3A; }
.td-like.active svg{ stroke:#E03A3A; fill:#E03A3A; }
.td-like.OnLike{ color:#E03A3A; }
.td-like.OnLike svg{ stroke:#E03A3A; fill:#E03A3A; }

.td-content{
  padding:20px 16px 40px;
  font-size:14px; color:#333; line-height:1.8;
}


/* =============================================
   파트너 입점 페이지 (/partner)
   ============================================= */

/* mainHeader 숨김 */
.partner-page .M_header { display: none !important; }

/* 페이지 공통 */
.partner-wrap { background: #fff; min-height: 100vh; }
.partner-wrap .pt-hero { margin-top: 0; }

/* 상단 헤더 */
.pt-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 20px; border-bottom: 0.5px solid rgba(0,0,0,0.1);
  position: sticky; top: 0; background: #fff; z-index: 10;
}
.pt-header-back { font-size: 22px; cursor: pointer; color: #1a1a2e; text-decoration: none; line-height: 1; }
.pt-header-title { font-size: 16px; font-family: 'BMDohyeon', sans-serif; color: #1a1a2e; }
.pt-header-dummy { width: 22px; }

/* 히어로 섹션 */
.pt-hero {
  background: linear-gradient(160deg, #1a1a2e 60%, #3C3489);
  padding: 36px 20px 40px; color: #fff; position: relative; overflow: hidden;
}
.pt-hero::before {
  content: ''; position: absolute; right: -30px; top: -30px;
  width: 160px; height: 160px; border-radius: 50%; background: rgba(83,74,183,0.3);
}
.pt-hero::after {
  content: ''; position: absolute; right: 40px; bottom: -20px;
  width: 90px; height: 90px; border-radius: 50%; background: rgba(29,158,117,0.25);
}
.pt-hero-tag {
  display: inline-block; background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  color: #fff; font-size: 11px; padding: 4px 10px;
  border-radius: 20px; margin-bottom: 16px;
}
.pt-hero h1 {
  font-size: 20px; line-height: 1.6; margin-bottom: 10px;
  font-family: 'BMDohyeon', sans-serif; color: #fff; position: relative; z-index: 1;
}
.pt-hero h1 .pt-mint { color: #5DCAA5; }
.pt-hero p { font-size: 13px; color: rgba(255,255,255,0.7); line-height: 1.6; margin-bottom: 28px; position: relative; z-index: 1; }
.pt-hero-btns { display: flex; flex-direction: column; gap: 12px; position: relative; z-index: 1; }

/* 히어로 버튼 */
.pt-btn-purple {
  background-color: #534AB7; color: #fff; border: none;
  padding: 15px; border-radius: 10px; font-size: 15px;
  font-family: 'BMDohyeon', sans-serif; cursor: pointer;
  text-align: center; display: block; width: 100%;
}
.pt-btn-mint {
  background-color: #1D9E75; color: #fff; border: none;
  padding: 15px; border-radius: 10px; font-size: 15px;
  font-family: 'BMDohyeon', sans-serif; cursor: pointer;
  text-align: center; display: block; width: 100%;
}

/* 공통 섹션 */
.pt-section { padding: 44px 20px; border-bottom: 1px solid #f0f0f0; }
.pt-stat-chip { display: inline-block; font-size: 40px; color: #534AB7; margin-bottom: 12px; font-family: 'BMDohyeon', sans-serif; }
.pt-section-title { font-size: 17px; margin-bottom: 10px; line-height: 1.6; font-family: 'BMDohyeon', sans-serif; color: #1a1a2e; }
.pt-section-desc { font-size: 13px; color: #666; line-height: 1.8; }

/* 뱃지 섹션 */
.pt-badge-section { background: #EEEDFE; padding: 44px 20px; border-bottom: 1px solid #e8e6f8; }
.pt-badge-label {
  display: inline-block; background: #534AB7; color: #fff;
  font-size: 16px; padding: 7px 18px; border-radius: 20px;
  margin-bottom: 16px; font-family: 'BMDohyeon', sans-serif;
}

/* 그래프 섹션 */
.pt-graph-section { padding: 44px 20px; border-bottom: 1px solid #f0f0f0; }
.pt-graph-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.pt-graph-box { background: #f8f8fb; border-radius: 10px; padding: 14px; text-align: center; }
.pt-graph-box .pt-g-label { font-size: 11px; color: #666; margin-bottom: 6px; }
.pt-graph-box .pt-g-title { font-size: 12px; margin-bottom: 10px; font-family: 'BMDohyeon', sans-serif; }
.pt-g-title.pt-purple { color: #534AB7; }
.pt-g-title.pt-mint { color: #1D9E75; }
.pt-graph-box svg { width: 100%; height: 70px; }

/* FAQ 섹션 */
.pt-faq-section { padding: 44px 20px; border-bottom: 1px solid #f0f0f0; }
.pt-faq-title { font-size: 18px; margin-bottom: 24px; text-align: center; font-family: 'BMDohyeon', sans-serif; color: #1a1a2e; }
.pt-faq-item { margin-bottom: 20px; }
.pt-faq-q { font-size: 14px; margin-bottom: 5px; font-family: 'BMDohyeon', sans-serif; color: #1a1a2e; }
.pt-faq-a { font-size: 13px; color: #666; line-height: 1.7; }

/* 입점 절차 섹션 */
.pt-process-section { padding: 44px 20px; border-bottom: 1px solid #f0f0f0; }
.pt-process-desc { font-size: 13px; color: #666; margin-bottom: 24px; line-height: 1.7; }
.pt-step-list { display: flex; flex-direction: column; gap: 16px; }
.pt-step-item { display: flex; align-items: center; gap: 14px; }
.pt-step-num {
  width: 34px; height: 34px; border-radius: 50%;
  background: #534AB7; color: #fff; font-size: 14px;
  font-family: 'BMDohyeon', sans-serif;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.pt-step-text { font-size: 14px; font-weight: 400; color: #1a1a2e; }

/* 하단 고정 버튼 */
.pt-bottom-btn { padding: 16px 20px 32px; background: #fff; border-top: 0.5px solid rgba(0,0,0,0.1); }

/* 모달 오버레이 */
.pt-modal-overlay {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,0.55); z-index: 1000;
  align-items: center; justify-content: center;
  padding: 20px;
}
.pt-modal-overlay.active { display: flex; }

/* 모달 카드 */
.pt-modal-card {
  background: #fff; border-radius: 20px;
  width: 100%; max-width: 460px; overflow: hidden;
  max-height: 90vh; overflow-y: auto;
}

/* 모달 헤더 - 입점(퍼플) */
.pt-modal-head-purple {
  background: linear-gradient(135deg, #1a1a2e 0%, #3C3489 60%, #534AB7 100%);
  padding: 28px 22px 26px; position: relative; overflow: hidden;
}
.pt-modal-head-purple::before {
  content: ''; position: absolute; width: 120px; height: 120px; border-radius: 50%;
  background: rgba(255,255,255,0.06); right: -30px; top: -30px;
}
.pt-modal-head-purple::after {
  content: ''; position: absolute; width: 70px; height: 70px; border-radius: 50%;
  background: rgba(93,202,165,0.2); right: 50px; bottom: -20px;
}

/* 모달 헤더 - 상담(민트) */
.pt-modal-head-mint {
  background: linear-gradient(135deg, #0a2e24 0%, #0F6E56 55%, #1D9E75 100%);
  padding: 28px 22px 26px; position: relative; overflow: hidden;
}
.pt-modal-head-mint::before {
  content: ''; position: absolute; width: 120px; height: 120px; border-radius: 50%;
  background: rgba(255,255,255,0.06); right: -30px; top: -30px;
}
.pt-modal-head-mint::after {
  content: ''; position: absolute; width: 70px; height: 70px; border-radius: 50%;
  background: rgba(83,74,183,0.2); right: 50px; bottom: -20px;
}

.pt-modal-badge {
  display: inline-block; font-size: 11px; padding: 3px 10px; border-radius: 20px;
  margin-bottom: 12px; font-family: 'BMDohyeon', sans-serif;
  background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.2);
  color: #fff; position: relative; z-index: 1;
}
.pt-modal-title { font-size: 22px; color: #fff; margin-bottom: 6px; font-family: 'BMDohyeon', sans-serif; position: relative; z-index: 1; }
.pt-modal-sub { font-size: 13px; color: rgba(255,255,255,0.65); position: relative; z-index: 1; }

/* 모달 바디 */
.pt-modal-body { padding: 24px 20px 32px; }
.pt-field-wrap { margin-bottom: 14px; }
.pt-field-label { font-size: 12px; font-weight: 600; color: #888; margin-bottom: 6px; }
.pt-field-input {
  width: 100%; border: 1.5px solid #eee; border-radius: 10px;
  padding: 12px 14px; font-size: 14px; outline: none;
  background: #fafafa; color: #1a1a2e;
}
.pt-field-input:focus { border-color: #534AB7; background: #fff; }
.pt-field-input[readonly] { background: #f4f4f4; color: #aaa; cursor: pointer; }
.pt-addr-row { display: flex; gap: 8px; }
.pt-addr-row .pt-field-input { flex: 1; }
.pt-addr-btn {
  padding: 12px 14px; background: #f4f4f4; border: 1.5px solid #eee;
  border-radius: 10px; font-size: 13px; cursor: pointer;
  color: #555; white-space: nowrap; flex-shrink: 0;
}

/* 모달 버튼 */
.pt-modal-btns { display: flex; gap: 10px; margin-top: 20px; }
.pt-modal-btn-cancel {
  flex: 1; padding: 14px; border: none; border-radius: 12px;
  font-size: 14px; cursor: pointer; font-family: 'BMDohyeon', sans-serif;
  background-color: #3a3a4a; color: #fff;
}
.pt-modal-btn-purple {
  flex: 2; padding: 14px; border: none; border-radius: 12px;
  font-size: 15px; cursor: pointer; font-family: 'BMDohyeon', sans-serif;
  background: linear-gradient(135deg, #3C3489, #534AB7); color: #fff;
}
.pt-modal-btn-mint {
  flex: 2; padding: 14px; border: none; border-radius: 12px;
  font-size: 15px; cursor: pointer; font-family: 'BMDohyeon', sans-serif;
  background: linear-gradient(135deg, #0F6E56, #1D9E75); color: #fff;
}
.pt-modal-notice { text-align: center; font-size: 12px; color: #ccc; margin-top: 14px; }


/* ── 메인 입점 문의 배너 ── */
.main-partner-banner {
  margin: 4px 14px 14px;
  border-radius: 14px;
  background: linear-gradient(135deg, #1a1a2e 0%, #3C3489 60%, #534AB7 100%);
  cursor: pointer;
  overflow: hidden;
}
.main-partner-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
}
.main-partner-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.main-partner-title {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
}
.main-partner-sub {
  font-size: 12px;
  color: rgba(255,255,255,0.7);
}
.main-partner-arrow {
  font-size: 22px;
  color: rgba(255,255,255,0.6);
  line-height: 1;
}

/* ── 카카오 애드핏 광고 ── */
.adfit-top-wrap {
  padding: 6px 12px;
  background: #fff;
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.adfit-top-wrap ins,
.adfit-list-wrap ins {
  overflow: hidden;
}
.adfit-list-wrap {
  margin: 2px 12px;
  overflow: hidden;
  text-align: center;
}
section.P_comment {
  padding-top: 0 !important;
}

/* ── partner.jsp 로그인 모달 (lgView를 body 직하위로 이동 시) ── */
body > div.log_bg {
    display: none;
    z-index: 9999;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0,0,0,.5);
}
body > div.log_bg > div.log_main {
    position: absolute;
    background: #fff !important;
    box-sizing: border-box;
    width: 80%;
    max-width: 346px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 20px;
    padding: 0;
    overflow: visible;
}

/* index.jsp 하단 푸터 */
.main-footer {
    padding: 20px 0 40px;
    text-align: center;
    border-top: 1px solid #f0f0f0;
    margin-top: 8px;
}
.main-footer-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 6px;
}
.main-footer-links a {
    font-size: 12px;
    color: #999;
    text-decoration: none;
}
.main-footer-dot {
    font-size: 12px;
    color: #ccc;
}
.main-footer-company {
    font-size: 12px;
    font-weight: 600;
    color: #bbb;
}

/* partner.jsp — lgView 이용약관/개인정보처리방침 팝업 */
body > div.log_bg > div.log_main ul > li > div.pop_user {
    display: none;
    position: absolute;
    box-sizing: border-box;
    top: -8%;
    left: -5%;
    background: white;
    width: 110%;
    height: 450px;
    border-radius: 10px;
    padding: 20px;
    overflow: hidden;
    color: #595959;
    word-wrap: break-word;
}

/* ── 후기 등록 로딩 스피너 (store_detail.jsp) ── */
.review-loading { display:none; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:9500; align-items:center; justify-content:center; }
.review-loading.show { display:flex; }
.review-loading-box { background:#fff; border-radius:14px; padding:28px 36px; text-align:center; font-size:14px; font-weight:600; color:#333; }
.review-spinner { width:36px; height:36px; border:3px solid #e8e0f7; border-top-color:#7B5EA7; border-radius:50%; animation:reviewSpin .7s linear infinite; margin:0 auto 12px; }
@keyframes reviewSpin { to { transform:rotate(360deg); } }
