/* v28 빠른 상담(cs-)·홈 앱 팝업(hm-app) — PC. tools/gen_cs_css.py 로 만든 파일(손으로 고치지 말 것). 원본: cms.rebeauty-builder.com assets/pc/css/{consult,base,pages/home}.css */
.cs{position:fixed;right:28px;bottom:28px;z-index:120;font-size:16px;line-height:1.4}
.cs-fab{position:relative;display:grid;place-items:center;width:65px;height:65px;border-radius:50%;background:linear-gradient(180deg,#febeb1 0%,#f68770 22.6%,#e9694f 72.6%,#ffac75 100%);box-shadow:0 4px 8px rgba(117,124,133,.4);color:#fff;transition:transform .15s}
.cs-fab:hover{transform:translateY(-2px)}
.cs-fab-ic{width:34.19px;height:34px}
.cs-fab-x{display:none;width:28px;height:28px;color:#555}
.cs.is-open .cs-fab{width:54px;height:54px;border-radius:8px;background:rgba(255,255,255,.5);box-shadow:inset 0 0 0 1px #ccc;backdrop-filter:blur(2px);transform:none}
.cs.is-open .cs-fab-ic{display:none}
.cs.is-open .cs-fab-x{display:block}


.cs-tip{position:absolute;right:0;bottom:69px;width:272px;height:82px;transition:opacity .2s,visibility 0s}
.cs-tip-bg{position:absolute;left:0;top:0;width:272px;height:82.42px;filter:drop-shadow(0 2px 4px rgba(117,124,133,.4));overflow:visible}
.cs-tip-txt{position:absolute;left:15px;top:11px;font-size:17px;font-weight:700;line-height:1.4;letter-spacing:-.02em;color:#222;white-space:nowrap}
.cs-tip-txt b{color:#ec7057}
.cs-tip-go{position:absolute;left:15.88px;top:38px;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;line-height:20px;color:#999}
.cs-tip-go .ic{width:15.55px;height:14px;margin-top:1px}
.cs-tip-go:hover{color:#685072}
.cs-tip-x{position:absolute;left:240px;top:8px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ebebeb;color:#a49da9}
.cs-tip-x .ic{width:24px;height:24px}
.cs.tip-off .cs-tip{opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}
.cs.tip-off .cs-fab:hover~.cs-tip,.cs.tip-off .cs-tip:hover{opacity:1;visibility:visible;transition:opacity .2s,visibility 0s}
.cs.tip-off .cs-tip-x{display:none}
.cs.tip-hold .cs-tip{opacity:0!important;visibility:hidden!important}
.cs.is-open .cs-tip{display:none}


.cs-win{position:absolute;right:0;bottom:70px;width:368px;height:min(700px,calc(100vh - 194px));display:flex;flex-direction:column;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.45);overflow:hidden;outline:0;color:#222;isolation:isolate}

.cs-app::before{content:"";position:absolute;left:-12px;top:-188px;z-index:-1;width:410px;height:410px;border-radius:50%;background:radial-gradient(circle at 100% 0,#f6d2cd,#ffe5d3 100%);opacity:.6;filter:blur(150px);pointer-events:none}
.cs-app[data-view=chat]::before{left:97px}
.cs-view{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}
.cs-head{position:relative;flex:none;display:flex;align-items:flex-start;justify-content:space-between;height:51px;padding:17px 20px 0}
.cs-title{font-size:18px;font-weight:700;line-height:1;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-readall{margin-top:1px;font-size:15px;font-weight:600;line-height:1;letter-spacing:-.02em;color:#777}
.cs-readall:hover{color:#685072}
.cs-body{position:relative;flex:1;min-height:0}
.cs-scroll{overflow-y:auto;overscroll-behavior:contain}
.cs-scroll::-webkit-scrollbar{width:12px}
.cs-scroll::-webkit-scrollbar-track{background:#f5f5f5}
.cs-scroll::-webkit-scrollbar-thumb{background:#ccc;border:2px solid #f5f5f5;border-radius:500px}
.cs-heart{display:block;width:56px;height:48.87px;margin:0 auto}


.cs-rooms{padding:32px 0 81px}
.cs-room{position:relative;height:62px}
.cs-room+.cs-room{margin-top:28px}
.cs-room-open{display:flex;gap:8px;width:100%;height:100%;padding:8px 54px 8px 20px;text-align:start}
.cs-ava{flex:none;width:38px;height:38px;border-radius:50%;background:#a1b28d}
.cs-ava.c1{background:#ce7565}
.cs-ava.c2{background:#685072}
.cs-room-txt{display:block;flex:1;min-width:0}
.cs-room-top{display:flex;align-items:center;height:16px}
.cs-room-top b{font-size:16px;font-weight:700;line-height:1;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-room-top time{flex:none;margin:2px 0 0 6px;font-size:12px;font-weight:300;line-height:1;color:#777}
.cs-room-top .cs-dot{position:static;margin:1px 0 0 6px}
.cs-room-last{display:block;margin-top:8px;font-size:16px;line-height:1.4;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-more{position:absolute;right:12px;top:8px;display:grid;place-items:center;width:24px;height:24px;color:#444;opacity:0;transition:opacity .15s}
.cs-more .ic{width:24px;height:24px}
.cs-room:hover .cs-more,.cs-room:focus-within .cs-more,.cs-room.is-more .cs-more{opacity:1}
.cs-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:#ff5a65}


.cs-empty{position:absolute;inset:0 0 38px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}
.cs-empty h3{margin-top:42px;font-size:20px;font-weight:700;line-height:1;color:#222}
.cs-empty p{margin-top:16px;font-size:16px;line-height:1.4;color:#555}
.cs-new{position:absolute;left:50%;bottom:20px;z-index:2;height:41px;padding:0 23px;border-radius:8px;background:#4b3952;box-shadow:inset 0 0 0 1px #4b3952;color:#fff;font-size:15px;font-weight:700;line-height:1.4;transform:translateX(-50%);white-space:nowrap}
.cs-new:hover{background:#685072}


.cs-tabs{flex:none;display:flex;height:70px;padding:0 9px;background:#fff}
.cs-app[data-view=chat] .cs-tabs{display:none}
.cs-tab{flex:1;display:flex;flex-direction:column;align-items:center;padding-top:12px;gap:2px;font-size:14px;font-weight:500;line-height:20px;color:#777}
.cs-tab[aria-current=page]{color:#222}
.cs-tab-ic{position:relative;display:block;width:24px;height:24px}
.cs-tab-ic .ic{display:block;width:24px;height:24px}
.cs-tab-ic .ic-cs-tab-chat{position:absolute;left:-1.5px;top:2.5px;width:21.02px;height:20px}
.cs-tab-ic .cs-dot{left:17.5px;top:-.5px}


.cs-chat .cs-head{justify-content:flex-start;gap:0;padding-left:43px}
.cs-back{position:absolute;left:10px;top:12px;display:grid;place-items:center;width:28px;height:28px;color:#999}
.cs-back .ic{width:18px;height:18px}
.cs-chat .cs-title{max-width:270px}
.cs-exit{position:absolute;right:16px;top:14px;display:grid;place-items:center;width:24px;height:24px;color:#444}
.cs-exit .ic{width:24px;height:24px}
.cs-back:hover,.cs-exit:hover{color:#685072}
.cs-log{padding:26px 24px 24px}
.cs-msgs:empty{display:none}


.cs-hello{padding-top:56px;text-align:center}
.cs-hello h3{margin-top:48px;font-size:20px;font-weight:700;line-height:1;color:#222}
.cs-hello>p{margin-top:16px;font-size:16px;line-height:1.4;color:#555}
.cs-hello .cs-hello-line{display:flex;align-items:center;gap:8px;margin:77px -7.5px 0;font-size:14px;line-height:20px;color:#555}
.cs-hello-line::before,.cs-hello-line::after{content:"";flex:1;height:1px;background:#eee}
.cs-menu{display:grid;gap:8px;width:173px;margin:19px auto 0}
.cs-menu button{display:flex;align-items:center;justify-content:center;gap:0;width:100%;height:40px;border-radius:5000px;background:#fff;box-shadow:inset 0 0 0 1px #eee;font-size:16px;line-height:1.4;color:#333;transition:box-shadow .15s,color .15s}
.cs-menu button:hover{box-shadow:inset 0 0 0 1px #ce7565;color:#ce7565}
.cs-log.has-msgs .cs-hello{display:none}


.cs-msg+.cs-msg{margin-top:20px}
.cs-msg.bot+.cs-msg.me{margin-top:16px}
.cs-bub{font-size:16px;line-height:1.4;white-space:pre-line;word-break:break-word}
.cs-msg.me{display:flex;justify-content:flex-end}
.cs-msg.me .cs-bub{max-width:280px;padding:8px 12px;border-radius:12px 0 12px 12px;background:#ce7565;color:#fff}
.cs-who{display:flex;align-items:center;height:24px}
.cs-who .cs-ava{width:24px;height:24px}
.cs-who b{margin-left:6px;font-size:15px;font-weight:500;line-height:1;color:#555}
.cs-who time{margin:2px 0 0 6px;font-size:12px;font-weight:300;line-height:1;color:#777}
.cs-msg.bot .cs-bub{display:inline-block;max-width:302px;margin-top:12px;padding:12px;border-radius:0 12px 12px 12px;background:#f2f5ee;color:#222}

.cs-msg.agent .cs-ava{background:#685072}
.cs-msg.agent .cs-bub{background:#f2eff3}
.cs-chips{display:flex;flex-wrap:wrap;gap:8px;max-width:302px;margin-top:12px}
.cs-chips button{height:32px;padding:0 12px;border-radius:4px;background:#d5dccc;box-shadow:inset 0 0 0 1px #a1b28d;font-size:16px;line-height:1.4;color:#4b3952;white-space:nowrap;transition:background .15s}
.cs-chips button:hover{background:#c5d0b8}
.cs-msg.sys{margin-left:-7px;margin-right:-7px;padding-top:20px;border-top:1px solid #ddd;text-align:center;font-size:16px;line-height:1.4;color:#555;white-space:pre-line}
.cs-msg.me+.cs-msg.sys{margin-top:21px}


.cs-input{flex:none;display:flex;align-items:flex-start;gap:13px;height:76px;padding:15px 15px 0 11px;border-top:1px solid #eee;background:#fff}
.cs-input input{flex:1;min-width:0;height:41px;padding:0 20px;border:1px solid #ddd;border-radius:5000px;background:#f3f3f5;font-size:15px;font-weight:500;color:#222;outline:0}
.cs-input input::placeholder{color:#797979;opacity:1}
.cs-input input:focus{border-color:#ce7565}
.cs-send{display:grid;place-items:center;width:28px;height:28px;margin-top:6px;color:#d3d1d7;transition:color .15s}
.cs-send .ic{width:28px;height:28px}
.cs-input.has-text .cs-send{color:#ce7565}


.cs-set{padding:26px 16px 24px}
.cs-me{text-align:center}
.cs-me p{margin-top:20px;font-size:16px;line-height:1.4;color:#555}
.cs-me b{font-weight:600}
.cs-set-h{margin-top:53px;padding-top:17px;border-top:1px solid #eeeae8;font-size:13px;font-weight:500;line-height:1;color:#888}
.cs-set-list{margin-top:12px}
.cs-set-list>li{height:34px}
.cs-set-row{display:flex;align-items:center;gap:4px;width:100%;height:26px;font-size:13px;line-height:1;color:#333;text-align:start}
.cs-set-row>.ic{width:16px;height:16px;margin-left:3px;color:#444}
.cs-set-row>span:not(.ic){flex:1}
.cs-set-row em{font-style:normal;color:#333}
.cs-set-row .cs-chev{width:12px;height:12px;margin:0 0 0 9px;color:#999;transform:scaleX(-1)}
button.cs-set-row:hover em{color:#685072}
.cs-switch{position:relative;flex:none;width:44.57px;height:26px;border-radius:13px;background:#eaebec;box-shadow:inset 0 0 0 .93px #e8e9f1;transition:background .2s}
.cs-switch::after{content:"";position:absolute;left:2.79px;top:2.79px;width:20.43px;height:20.43px;border-radius:50%;background:#fff;box-shadow:0 .93px 1.86px rgba(0,0,0,.1);transition:transform .2s}
.cs-switch[aria-checked=true]{background:#7d948b}
.cs-switch[aria-checked=true]::after{transform:translateX(18.57px)}


.cs-dim{position:absolute;inset:0;z-index:5}
.cs-confirm{display:grid;place-items:center;background:rgba(1,1,1,.8)}
.cs-confirm-box{width:239px;border-radius:8px;background:#fff;overflow:hidden;text-align:center}
.cs-confirm-box p{padding:36px 0 33px;font-size:17px;font-weight:500;line-height:1;color:#444}
.cs-confirm-box div{display:flex}
.cs-confirm-box button{flex:1;height:48px;background:#d4d4d4;font-size:16px;font-weight:600;line-height:1;color:#444}
.cs-confirm-box button+button{background:#81a55f;color:#fff}
.cs-confirm-box button:hover{filter:brightness(.95)}
.cs-sheet{bottom:70px;display:flex;align-items:flex-end;background:rgba(9,9,9,.6)}
.cs-sheet-box{position:relative;width:100%;height:371px;padding:0 0 16px;border-radius:16px 16px 0 0;background:#fff;overflow-y:auto;animation:cs-up .22s ease-out}
@keyframes cs-up{from{transform:translateY(100%)}}
.cs-sheet-h{padding:18px 12px 0;font-size:13px;font-weight:500;line-height:1;color:#888}
.cs-sheet-x{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ebebeb;color:#a49da9}
.cs-sheet-x .ic{width:22px;height:22px}
.cs-sheet-q{display:flex;align-items:center;gap:4px;height:30px;margin:16px 8px 0;padding:0 12px;background:#f9f9fc;color:#86818c}
.cs-sheet-q .ic{width:21px;height:21px}
.cs-sheet-q input{flex:1;min-width:0;height:100%;border:0;background:none;outline:0;font-size:14px;color:#222}
.cs-sheet-q input::placeholder{color:#86818c;opacity:1}
.cs-sheet-q:focus-within{box-shadow:inset 0 0 0 1px #c9c3cd}
.cs-sheet-h2{position:relative;margin-top:20px;padding:20px 12px 0;font-size:13px;font-weight:500;line-height:1;color:#888}
.cs-sheet-h2::before{content:"";position:absolute;left:16px;right:16px;top:0;height:1px;background:#eeeae8}
.cs-langs{display:grid;gap:4px;margin-top:10px;padding:0 12px}
.cs-langs button{display:flex;align-items:center;gap:4px;width:100%;height:26px;font-size:14px;line-height:1;letter-spacing:-.02em;color:#333;text-align:start}
.cs-langs small{font-size:14px;color:#999}
.cs-langs button:hover{color:#685072}
.cs-langs button[aria-current=true]{color:#685072}
.cs-langs-none{padding:12px;font-size:14px;color:#999}
.v28m{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.6)}
.v28m-box{position:relative;width:min(480px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:8px;padding:40px}
.v28m-x{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:32px;height:32px;color:#555}
.v28m-x .ic{width:20px;height:20px}
body.has-modal{overflow:hidden}
.v28m-box:focus,.side-panel:focus,.v28m:focus{outline:none}
.hm-app .hm-app-box{width:min(700px,100%);padding:0;border-radius:24px;background:linear-gradient(155deg,#f5efe2 0%,#fbf8f2 34%,#fff 62%);box-shadow:0 24px 64px rgba(43,30,51,.28);text-align:start}
.hm-app-x{right:16px;top:16px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.85);color:var(--c-plum-d)}
.hm-app-x:hover{background:#fff}
.hm-app-main{display:flex;align-items:center;gap:36px;padding:48px 48px 36px}
.hm-app-copy{flex:1;min-width:0}
.hm-app-ic{width:72px;height:72px;border-radius:18px;box-shadow:0 6px 16px rgba(89,73,57,.18)}
.hm-app-t{margin-top:22px;font-size:28px;font-weight:700;line-height:1.3;letter-spacing:-.02em;color:var(--c-ink)}
.hm-app-d{margin-top:10px;font-size:16px;line-height:1.6;color:var(--c-text)}
.hm-app-lang{display:inline-flex;align-items:center;gap:6px;margin-top:16px;padding:6px 12px;border-radius:999px;background:var(--c-lav);color:var(--c-plum);font-size:14px;font-weight:600;line-height:1.3}
.hm-app-lang .ic{width:16px;height:16px}
.hm-app .hm-app-btn{display:flex;width:fit-content;max-width:100%;height:auto;min-height:50px;margin-top:24px;padding:8px 9px 8px 21.5px;line-height:1.3;white-space:normal}
.hm-app-btn span{flex:1}
.hm-app-btn i{flex:none}
.hm-app-note{margin-top:12px;font-size:13px;line-height:1.5;color:var(--c-gray)}
.hm-app-qr{flex:none;width:188px;margin:0;padding:20px 20px 16px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px #ece6dc;text-align:center}
.hm-app-qr img{width:148px;height:148px;margin:0 auto}
.hm-app-qr figcaption{margin-top:10px;font-size:13px;line-height:1.45;color:var(--c-text)}
.hm-app-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 28px;border-top:1px solid #ece6dc;border-radius:0 0 24px 24px;background:var(--c-cream)}
.hm-app-foot button{padding:6px 4px;font-size:14px;line-height:1.4;color:var(--c-muted)}
.hm-app-foot button:hover{color:var(--c-ink)}
.hm-app-foot .hm-app-close{font-weight:600;color:var(--c-ink2)}
body:has(#hm-app:not([hidden])) .cs{visibility:hidden}
/* v28 덧붙임 — 1:1 문의 칩은 링크(a) */
.cs-menu a{display:flex;align-items:center;justify-content:center;width:100%;height:40px;border-radius:5000px;background:#fff;box-shadow:inset 0 0 0 1px #eee;font-size:16px;line-height:1.4;color:#333;text-decoration:none;transition:box-shadow .15s,color .15s}
.cs-menu a:hover{box-shadow:inset 0 0 0 1px #ce7565;color:#ce7565}
.cs-input input:disabled{opacity:.6}
.cs-set-row>em{flex:none}
/* body keep-all 이라 쪼갤 자리 없는 일본어·중국어 줄이 칸을 넘지 않게(그 자리에서 끊기) */
.hm-app-box,.cs-win,.cs-page{overflow-wrap:break-word}
/* 칩 글이 긴 언어(vi 등)는 칩 폭을 글에 맞춰 넓힌다(cms 폭 173px 은 최소로) */
.cs-menu{width:max-content;min-width:173px;max-width:100%}
.cs-menu button,.cs-menu a{padding:0 16px;white-space:nowrap}
/* 머리 메뉴에 «리뷰티맵» 이 더해져 7개 — 한국어 밖 긴 언어는 메뉴 간격·검색 알약 최소 폭을 줄여 1440 에서 한 줄에 맞춘다 */
html:not([data-lang=ko]) .gnb-nav{gap:clamp(14px,1.1vw,24px)}
html:not([data-lang=ko]) .gnb-search{min-width:120px}
/* «더보기»: 한 줄에 안 들어가는 창에서만 보인다(header.php 스크립트) — 머리 메뉴 글과 같은 모양 */
.gnb-more{position:relative;flex:none;display:flex;align-items:center;margin-right:16px}
.gnb-more>button{display:inline-flex;align-items:center;gap:5px;padding:4px 0 5.5px;font-size:17px;font-weight:600;line-height:1;color:var(--c-ink2);white-space:nowrap}
.gnb-more .ic-chev-down-sm{width:8px;height:4px}
.gnb-more .dd-menu a.is-on{color:var(--c-plum)}
/* 앱 팝업 안 리뷰티맵 줄(앱 카드와 같은 톤 — 흰 칸·베이지 테두리). iOS 는 앱 부분을 숨기고 이 줄만 */
.hm-app-map{display:flex;align-items:center;gap:20px;margin:0 48px 28px;padding:16px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px #ece6dc;text-align:start}
.hm-app-map-shot{flex:none;width:128px;height:72px;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1px #ece6dc}
.hm-app-map-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.hm-app-map-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.hm-app-map-tx b{font-size:17px;font-weight:700;line-height:1.3;color:var(--c-ink)}
.hm-app-map-tx span{font-size:14px;line-height:1.45;color:var(--c-text)}
.hm-app .hm-app-map-btn{flex:none;height:44px;background:#fff;color:var(--c-plum-d);box-shadow:inset 0 0 0 1px var(--c-plum-d)}
.hm-app .hm-app-map-btn::before{background:var(--c-plum-d)}
.hm-app .hm-app-map-btn i{background:var(--c-plum-d);color:#fff}
.hm-app .hm-app-map-btn:hover{background:#f2eff3}
.hm-app.is-ios .hm-app-main{display:none}
.hm-app.is-ios .hm-app-map{margin-top:68px}
/* 홈 리뷰티맵 띠(매거진과 약속 사이) — 다른 구역 머리 간격(hm-pop) 그대로 */
.v28s.hm-main .hm-map{padding:117px 0 110px;background:#fff;text-align:center}
.hm-map .hm-title{height:80px;margin-top:22px}
.hm-map .sub{margin-top:40px}
.hm-map .desc{max-width:640px;margin-top:12px}
.hm-map-shot{display:block;width:min(1080px,calc(100% - 80px));margin:48px auto 0;border-radius:24px;overflow:hidden;box-shadow:0 24px 64px rgba(43,30,51,.18)}
.hm-map-shot img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.hm-map-btn{margin-top:50px}
