/* ============================================================
   제이스윗 공급처 안내 페이지 — '룩북 아틀리에' 에디션 v3.0.0
   패션 에디토리얼 룩북 스타일
   팔레트: 아이보리 + 더스티로즈 + 웜차콜
   ============================================================ */
:root{
  --jw-ivory:#FBF7F0;
  --jw-ivory-deep:#F4ECE0;
  --jw-rose:#D8A7A0;
  --jw-rose-deep:#B76E66;
  --jw-rose-soft:#F3E2DE;
  --jw-char:#3A3330;
  --jw-ink:#2E2926;
  --jw-line:#E4D7C8;
  --jw-white:#FFFDF9;
  --jw-serif:'Gowun Batang',serif;
  --jw-sans:'Pretendard Variable',Pretendard,-apple-system,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;
}

/* ---------- Rebuilder 공용 스타일 오버라이드 ---------- */
.jw-page{color:var(--jw-ink);}
.jw-page a{color:var(--jw-rose-deep);}
.jw-page a.jw-btn{color:#FFFDF9 !important;}
.jw-page a.jw-copy{color:var(--jw-ink) !important;}
.jw-page .jw-toc a{color:var(--jw-char) !important;}

/* ---------- 베이스 ---------- */
.jw-page{
  font-family:var(--jw-sans);
  background:var(--jw-ivory);
  color:var(--jw-ink);
  line-height:1.75;
  word-break:keep-all;
  overflow-x:hidden;
  scroll-behavior:smooth;
}
.jw-page h1,.jw-page h2,.jw-page h3,.jw-page h4{line-height:1.4;margin:0;}
.jw-page p{margin:0;}
.jw-page img{max-width:100%;height:auto;}
.jw-wrap{max-width:1020px;margin:0 auto;padding:0 24px;}
.jw-narrow{max-width:760px;}

/* 상단 스크롤 진행 바 */
.jw-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:transparent;}
.jw-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--jw-rose),var(--jw-rose-deep));}

/* ---------- 리빌 (JS 로드 성공 시에만 숨김) ---------- */
html.js .jw-page .rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
html.js .jw-page .rv.on{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  html.js .jw-page .rv{transition:none;opacity:1;transform:none;}
}

/* ---------- 룩북 커버 ---------- */
.jw-cover{
  min-height:100svh;display:flex;align-items:stretch;justify-content:center;
  padding:28px 20px;box-sizing:border-box;
  background:
    radial-gradient(1200px 600px at 50% -10%,var(--jw-rose-soft),transparent 60%),
    var(--jw-ivory);
}
.jw-frame{
  flex:1;max-width:1100px;border:1px solid var(--jw-char);outline:1px solid var(--jw-char);outline-offset:6px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:84px 32px;position:relative;background:var(--jw-white);
}
.jw-vol{font-size:12px;letter-spacing:.35em;color:var(--jw-rose-deep);font-weight:600;}
.jw-kicker{margin-top:18px;font-size:15px;color:var(--jw-char);}
.jw-kicker::before,.jw-kicker::after{content:'—';margin:0 10px;color:var(--jw-rose);}
.jw-cover h1{margin:26px 0 6px;display:flex;flex-direction:column;gap:6px;}
.jw-en{
  font-family:var(--jw-sans);font-weight:800;letter-spacing:.18em;font-size:clamp(15px,2.4vw,22px);
  color:transparent;-webkit-text-stroke:1px var(--jw-rose-deep);
}
.jw-ko{font-family:var(--jw-serif);font-weight:700;font-size:clamp(58px,11vw,124px);color:var(--jw-ink);}
.jw-cat{
  margin-top:10px;font-family:var(--jw-serif);font-size:clamp(17px,2.6vw,24px);color:var(--jw-rose-deep);
  letter-spacing:.12em;
}
.jw-cover-sub{margin-top:28px;font-size:16px;color:var(--jw-char);}
.jw-toc{margin-top:48px;display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:center;}
.jw-toc a{
  font-size:14px;text-decoration:none;border-bottom:1px solid var(--jw-line);padding-bottom:2px;
  transition:border-color .2s,color .2s;
}
.jw-toc a:hover{border-color:var(--jw-rose-deep);}
.jw-scroll{margin-top:44px;font-size:12px;letter-spacing:.3em;color:var(--jw-rose-deep);line-height:2;animation:jwFloat 2.4s ease-in-out infinite;}
@keyframes jwFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(8px);}}

/* ---------- 섹션 / 챕터 헤더 ---------- */
.jw-sec{padding:124px 0;}
.jw-sec-tint{background:var(--jw-ivory-deep);}
.jw-chap{display:flex;gap:26px;align-items:flex-start;margin-bottom:66px;}
.jw-chap > div{min-width:0;flex:1;}
.jw-chap-num{
  font-family:var(--jw-serif);font-weight:700;font-size:clamp(64px,9vw,110px);line-height:1;
  color:transparent;-webkit-text-stroke:1.5px var(--jw-rose);flex-shrink:0;min-width:1.6em;
}
.jw-chap-kick{font-size:12px;letter-spacing:.32em;color:var(--jw-rose-deep);font-weight:700;}
.jw-chap h2{font-family:var(--jw-serif);font-weight:700;font-size:clamp(32px,5vw,48px);margin:8px 0 6px;}
.jw-chap-sub{color:var(--jw-char);font-size:16px;}

/* ---------- 룩북: 가로 스크롤 ---------- */
.jw-look-title{font-family:var(--jw-serif);font-size:22px;font-weight:700;margin-bottom:26px;}
.jw-look-title span{font-family:var(--jw-sans);font-size:13px;color:var(--jw-rose-deep);font-weight:400;margin-left:8px;}
.jw-lookbook{
  display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:6px 4px 22px;margin:0 -24px;padding-left:24px;padding-right:24px;
  scrollbar-width:thin;scrollbar-color:var(--jw-rose) transparent;
}
.jw-look{
  scroll-snap-align:start;flex:0 0 min(300px,78vw);
  background:var(--jw-white);border:1px solid var(--jw-line);border-radius:18px;
  padding:38px 30px;position:relative;
  box-shadow:0 10px 30px rgba(183,110,102,.08);
}
.jw-look::after{
  content:'';position:absolute;inset:8px;border:1px dashed var(--jw-line);border-radius:12px;pointer-events:none;
}
.jw-look p.jw-look-num{font-size:12px;letter-spacing:.25em;color:var(--jw-rose-deep);font-weight:700;}
.jw-look p.jw-look-emoji{font-size:44px;margin:16px 0 10px;}
.jw-look h3{font-family:var(--jw-serif);font-size:22px;font-weight:700;margin-bottom:14px;}
.jw-look p{font-size:15px;color:var(--jw-char);}
.jw-look b{color:var(--jw-rose-deep);}
.jw-look-prog{height:3px;background:var(--jw-line);border-radius:2px;margin-top:6px;overflow:hidden;}
.jw-look-prog span{display:block;height:100%;width:0;background:var(--jw-rose-deep);border-radius:2px;}

/* ---------- 인용구 스타일 정책 카드 ---------- */
.jw-quotes{display:grid;gap:26px;margin-top:64px;}
.jw-quotes-2{grid-template-columns:1fr 1fr;}
.jw-quote{
  margin:0;background:var(--jw-white);border:1px solid var(--jw-line);border-left:6px solid var(--jw-rose);
  border-radius:0 16px 16px 0;padding:34px 34px;position:relative;
  box-shadow:0 8px 24px rgba(58,51,48,.05);
}
.jw-quote::before{
  content:'“';font-family:var(--jw-serif);font-size:54px;line-height:1;color:var(--jw-rose-soft);
  position:absolute;top:6px;right:18px;
}
.jw-quote p.jw-quote-t{font-family:var(--jw-serif);font-weight:700;font-size:20px;margin-bottom:14px;color:var(--jw-ink);}
.jw-quote p{font-size:15px;color:var(--jw-char);}
.jw-quote b{color:var(--jw-rose-deep);}

/* ---------- 배송 노트 ---------- */
.jw-ship{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--jw-char);}
.jw-ship-row{
  display:flex;gap:30px;align-items:flex-start;padding:38px 12px;border-bottom:1px solid var(--jw-line);
}
.jw-ship-row > div{min-width:0;flex:1;}
.jw-ship-n{
  font-family:var(--jw-serif);font-weight:700;font-size:26px;color:var(--jw-rose-deep);
  min-width:3.2em;flex-shrink:0;
}
.jw-ship-row h3{font-family:var(--jw-serif);font-size:21px;font-weight:700;margin-bottom:10px;}
.jw-ship-row p{font-size:15px;color:var(--jw-char);}
.jw-ship-row b{color:var(--jw-rose-deep);}

/* ---------- 타임라인 ---------- */
.jw-page .jw-mini-h{font-family:var(--jw-serif);font-size:24px;font-weight:700;margin:76px 0 32px;display:flex;align-items:center;gap:12px;}
.jw-page .jw-mini-h::after{content:'';flex:1;height:1px;background:var(--jw-line);}
.jw-time{list-style:none;margin:0;padding:0;display:grid;gap:0;}
.jw-time li{display:flex;gap:24px;position:relative;padding:0 0 48px 4px;}
.jw-time li > div{min-width:0;flex:1;}
.jw-time li::before{
  content:'';position:absolute;left:21px;top:48px;bottom:0;width:2px;background:var(--jw-line);
}
.jw-time li:last-child::before{display:none;}
.jw-dot{
  width:36px;height:36px;flex-shrink:0;border-radius:50%;
  background:var(--jw-rose-deep);color:#fff;font-weight:700;font-size:15px;
  display:flex;align-items:center;justify-content:center;z-index:1;
  box-shadow:0 0 0 6px var(--jw-rose-soft);
}
.jw-time h4{font-size:17px;font-weight:700;margin-bottom:10px;}
.jw-time p{font-size:15px;color:var(--jw-char);overflow-wrap:break-word;}
.jw-time b{color:var(--jw-rose-deep);}
.jw-notes{list-style:none;margin:30px 0 0;padding:30px 32px;background:var(--jw-rose-soft);border-radius:14px;display:grid;gap:14px;}
.jw-notes li{font-size:14.5px;color:var(--jw-char);padding-left:22px;position:relative;}
.jw-notes li::before{content:'✦';position:absolute;left:0;color:var(--jw-rose-deep);}
.jw-notes b{color:var(--jw-rose-deep);}

/* ---------- 아코디언 ---------- */
.jw-acc{margin-top:56px;border:1px solid var(--jw-line);border-radius:14px;background:var(--jw-white);overflow:hidden;}
.jw-acc-btn{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:24px 28px;background:none;border:0;cursor:pointer;
  font-family:var(--jw-sans);font-size:16px;font-weight:700;color:var(--jw-ink);text-align:left;
}
.jw-acc-btn em{font-style:normal;font-size:13px;color:var(--jw-rose-deep);font-weight:600;margin-left:6px;}
.jw-acc-btn i{font-style:normal;font-size:22px;color:var(--jw-rose-deep);transition:transform .3s;flex-shrink:0;}
.jw-acc-btn[aria-expanded="true"] i{transform:rotate(45deg);}
.jw-acc-body{max-height:0;overflow:hidden;transition:max-height .45s ease;}
.jw-more{list-style:none;margin:0;padding:0 28px 28px;display:grid;gap:14px;}
.jw-more li{
  font-size:14.5px;color:var(--jw-char);background:var(--jw-ivory);border:1px dashed var(--jw-line);
  border-radius:10px;padding:14px 18px;
}
/* JS 미로드 시 아코디언 내용 노출 */
html:not(.js) .jw-acc-body{max-height:none;}

/* ---------- 비용 빅넘버 ---------- */
.jw-fees{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.jw-fee{
  background:var(--jw-char);color:var(--jw-ivory);border-radius:18px;padding:46px 28px;text-align:center;
  position:relative;overflow:hidden;
}
.jw-fee::before{
  content:'';position:absolute;top:-40px;right:-40px;width:130px;height:130px;border-radius:50%;
  background:radial-gradient(circle,var(--jw-rose) 0%,transparent 70%);opacity:.5;
}
.jw-fee-p{font-family:var(--jw-serif);font-weight:700;font-size:clamp(30px,4.5vw,44px);color:#fff;}
.jw-fee-t{margin-top:8px;font-size:15px;font-weight:700;color:var(--jw-rose);}
.jw-fee-d{margin-top:10px;font-size:13.5px;color:#D9CFC2;}
.jw-note{margin-top:20px;font-size:13px;color:var(--jw-char);}

/* ---------- 반품 주소 카드 ---------- */
.jw-addr{
  margin-top:56px;background:var(--jw-white);border:1px solid var(--jw-line);border-radius:18px;
  padding:38px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  box-shadow:0 10px 30px rgba(58,51,48,.06);
}
.jw-addr-kick{font-size:12px;letter-spacing:.28em;color:var(--jw-rose-deep);font-weight:700;}
.jw-addr-v{font-family:var(--jw-serif);font-size:clamp(20px,3.4vw,28px);font-weight:700;margin-top:8px;}
.jw-addr-corp{margin-top:8px;font-size:14px;color:var(--jw-char);}
.jw-copy{
  border:1.5px solid var(--jw-rose-deep);background:var(--jw-rose-soft);color:var(--jw-ink);
  border-radius:999px;padding:12px 26px;font-size:15px;font-weight:700;cursor:pointer;
  font-family:var(--jw-sans);transition:background .2s;white-space:nowrap;
}
.jw-copy:hover{background:var(--jw-rose);color:#fff;}
.jw-warn{
  margin-top:28px;background:#FFF6E9;border:1px solid #EBD3A8;border-radius:14px;
  padding:22px 26px;font-size:14.5px;color:#7A5B2E;
}

/* ---------- FAQ ---------- */
.jw-faq{display:grid;gap:20px;}
.jw-qa{background:var(--jw-white);border:1px solid var(--jw-line);border-radius:14px;overflow:hidden;}
.jw-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:24px 28px;background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--jw-serif);font-size:17px;font-weight:700;color:var(--jw-ink);
}
.jw-q i{font-style:normal;color:var(--jw-rose-deep);font-size:20px;transition:transform .3s;flex-shrink:0;}
.jw-q[aria-expanded="true"] i{transform:rotate(45deg);}
.jw-a{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.jw-a p{padding:0 28px 28px;font-size:15px;color:var(--jw-char);}
html:not(.js) .jw-a{max-height:none;}

/* ---------- 피날레 ---------- */
.jw-finale{
  padding:150px 0;background:var(--jw-char);color:var(--jw-ivory);text-align:center;position:relative;overflow:hidden;
}
.jw-finale::before{
  content:'JAYSWEET';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-4deg);
  font-family:var(--jw-sans);font-weight:800;font-size:clamp(70px,16vw,220px);letter-spacing:.1em;
  color:transparent;-webkit-text-stroke:1px rgba(216,167,160,.25);white-space:nowrap;pointer-events:none;
}
.jw-finale .jw-vol{color:var(--jw-rose);}
.jw-finale h2{font-family:var(--jw-serif);font-weight:700;font-size:clamp(36px,6vw,58px);margin:18px 0 12px;position:relative;}
.jw-finale p{position:relative;color:#D9CFC2;}
.jw-contact{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:48px 0;position:relative;}
.jw-contact div{
  background:rgba(255,253,249,.06);border:1px solid rgba(216,167,160,.4);border-radius:14px;
  padding:18px 28px;min-width:150px;
}
.jw-contact p{font-size:13px;color:var(--jw-rose);}
.jw-contact b{font-size:18px;color:#fff;}
.jw-btn{
  display:inline-block;background:var(--jw-rose-deep);border-radius:999px;
  padding:16px 44px;font-size:17px;font-weight:700;text-decoration:none;
  box-shadow:0 12px 30px rgba(183,110,102,.4);transition:transform .2s,box-shadow .2s;position:relative;
}
.jw-btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(183,110,102,.5);}

/* ---------- 푸터 ---------- */
.jw-footer{
  background:var(--jw-ink);color:#B9AE9F;text-align:center;padding:54px 24px;font-size:14px;
}
.jw-footer p{margin:6px 0;}
.jw-foot-brand b{color:var(--jw-ivory);}
.jw-footer i{font-family:var(--jw-serif);}
.jw-copy{margin-top:18px !important;font-size:12.5px;color:#8A7F70;}

/* ---------- v3: AI 이미지 ---------- */
.jw-hero-img{
  display:block;width:min(440px,100%);margin:44px auto 0;
  border-radius:18px;border:1px solid var(--jw-line);
  box-shadow:0 18px 48px rgba(183,110,102,.20);
}
.jw-photo{
  margin:60px 0 0;background:var(--jw-white);border:1px solid var(--jw-line);
  border-radius:22px;padding:16px;
  box-shadow:0 14px 40px rgba(58,51,48,.08);
}
.jw-photo img{display:block;width:100%;border-radius:14px;}
.jw-photo figcaption{
  padding:20px 10px 8px;text-align:center;
  font-family:var(--jw-serif);font-size:16px;color:var(--jw-char);
}

/* ---------- 반응형 ---------- */
@media (max-width:720px){
  .jw-sec{padding:92px 0;}
  .jw-chap{gap:18px;margin-bottom:48px;}
  .jw-quotes-2{grid-template-columns:1fr;}
  .jw-fees{grid-template-columns:1fr;}
  .jw-frame{padding:48px 20px;}
  .jw-ship-n{min-width:2.6em;font-size:22px;}
  .jw-contact div{min-width:0;flex:1 1 40%;}
}
