/* ================================================
   ROTURN 전역 플로팅 위젯 v5 CSS
   ================================================ */
#rw-widgets{position:fixed;top:0;left:0;width:0;height:0;overflow:visible;pointer-events:none;z-index:9490}
#rw-widgets *{pointer-events:auto}

/* Fix: Channel Talk iframe was capturing mobile taps in hero area even when hidden.
   The iframe is position:fixed covering ~430x728px with visibility:hidden but
   pointer-events:auto, which iOS Safari still hit-tests. Block touches when hidden. */
.ch-messenger-hidden,
.ch-messenger-hidden iframe,
#ch-plugin-script.ch-messenger-hidden,
#ch-plugin-script-iframe {
  pointer-events: none !important;
}

/* Imweb product pages already have a fixed purchase bar on mobile.
   Hide ROTURN floating widgets there so cart / purchase buttons stay clear. */
@media (max-width: 768px) {
  body.shop_view #rw-widgets,
  body.shop_view .rw-fab,
  body.shop_view .rw-popup,
  body.shop_view .rw-chat-label,
  body.shop_view .rw-theme-toggle,
  body.shop_view #rc-fab,
  body.shop_view .rc-fab-label,
  body.shop_view #rc-window,
  body.shop_view .rc-window {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}
/* Re-enable when actually visible */
.ch-messenger-visible,
.ch-messenger-visible iframe {
  pointer-events: auto !important;
}
:root {
  --rw-bg2:          #1E1E22;
  --rw-border:       rgba(255,255,255,0.08);
  --rw-orange:       #F07B1C;
  --rw-orange-light: #FF9F45;
  --rw-orange-dim:   rgba(240,123,28,0.10);
  --rw-orange-glow:  rgba(240,123,28,0.40);
  --rw-dark:         #707070;
  --rw-icon:         #C8C8C8;
  --rw-ease:         cubic-bezier(0.23,1,0.32,1);
  --rw-btn-size:     48px;
}
body.rw-theme-light {
  --rw-bg2:#FFFFFF;--rw-border:rgba(0,0,0,0.10);--rw-orange-dim:rgba(240,123,28,0.07);--rw-orange-glow:rgba(240,123,28,0.22);--rw-dark:#888;--rw-icon:#444;
}

.rw-fab{position:fixed;right:22px;width:var(--rw-btn-size);height:var(--rw-btn-size);border-radius:14px;background:var(--rw-bg2);border:1px solid var(--rw-border);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:9500;opacity:0;transform:translateY(16px);transition:opacity .4s var(--rw-ease),transform .4s var(--rw-ease),background .3s,border-color .3s,box-shadow .3s;box-shadow:0 4px 24px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.06);overflow:hidden;-webkit-tap-highlight-color:transparent;box-sizing:border-box}
.rw-fab.visible{opacity:1;transform:translateY(0)}
.rw-fab:hover{border-color:var(--rw-orange)!important;box-shadow:0 6px 32px var(--rw-orange-glow),0 0 0 1px rgba(240,123,28,.25)!important;transform:translateY(-3px) scale(1.06)!important}
.rw-fab svg{width:20px;height:20px;transition:transform .35s var(--rw-ease);flex-shrink:0}
.rw-fab:active{transform:scale(.92)!important;transition-duration:.1s!important}

.rw-ripple{position:absolute;border-radius:14px;background:rgba(240,123,28,.35);transform:scale(0);animation:rwRippleAnim .55s var(--rw-ease) forwards;pointer-events:none}
@keyframes rwRippleAnim{to{transform:scale(4);opacity:0}}

.rw-channel-btn{bottom:22px}.rw-channel-btn svg{color:var(--rw-icon)}.rw-channel-btn:hover svg{color:#fff}.rw-channel-btn:hover{background:var(--rw-orange)!important}
.rw-channel-btn.rw-popup-open{border-color:var(--rw-orange)!important;box-shadow:0 6px 28px var(--rw-orange-glow)!important}

.rw-chat-label{position:fixed;right:calc(22px + var(--rw-btn-size) + 10px);bottom:34px;background:rgba(15,15,18,.88);color:#fff;font-size:11px;font-family:'Noto Sans KR',sans-serif;font-weight:500;letter-spacing:.03em;white-space:nowrap;padding:5px 10px;border-radius:16px;border:1px solid rgba(255,255,255,.08);z-index:9499;opacity:0;transform:translateX(6px);transition:opacity .3s var(--rw-ease),transform .3s var(--rw-ease);pointer-events:none;max-width:calc(100vw - 22px - var(--rw-btn-size) - 80px)}
.rw-chat-label.visible{opacity:1;transform:translateX(0)}
.rw-chat-label.rw-label-hidden{opacity:0;transform:translateX(6px);pointer-events:none}
body.rw-theme-light .rw-chat-label{background:rgba(255,255,255,.95);color:#1A1A1A;border-color:rgba(0,0,0,.12)}
body.rw-theme-light .rw-fab,body.rw-theme-light .rw-theme-toggle{box-shadow:0 4px 24px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.06)}

.rw-popup{position:fixed;right:22px;bottom:80px;display:flex;flex-direction:column;gap:8px;z-index:9490;opacity:0;transform:translateY(10px) scale(.96);pointer-events:none;transition:opacity .25s var(--rw-ease),transform .25s var(--rw-ease)}
.rw-popup.rw-popup-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.rw-popup-item{display:flex;align-items:center;gap:10px;background:var(--rw-bg2);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:10px 16px 10px 10px;cursor:pointer;white-space:nowrap;box-shadow:0 4px 20px rgba(0,0,0,.3);transition:border-color .2s,background .2s;-webkit-tap-highlight-color:transparent}
.rw-popup-item:hover{border-color:var(--rw-orange);background:var(--rw-orange-dim)}
body.rw-theme-light .rw-popup-item{border-color:rgba(0,0,0,.1);box-shadow:0 4px 20px rgba(0,0,0,.1)}
.rw-popup-icon{width:30px;height:30px;border-radius:50%;background:var(--rw-orange-dim);border:1px solid rgba(240,123,28,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rw-popup-icon svg{width:14px;height:14px;color:var(--rw-orange)}
.rw-popup-text{display:flex;flex-direction:column;gap:2px}
.rw-popup-text-main{font-size:13px;font-weight:500;color:var(--rw-icon);font-family:'Noto Sans KR',sans-serif;line-height:1}
.rw-popup-text-sub{font-size:11px;color:var(--rw-dark);font-family:'Noto Sans KR',sans-serif;line-height:1}
body.rw-theme-light .rw-popup-text-main{color:#1A1A1A}

.rw-rocket-btn{bottom:84px;font-size:20px;line-height:1;transition:opacity .4s var(--rw-ease),transform .4s var(--rw-ease),bottom .3s var(--rw-ease),background .3s,border-color .3s,box-shadow .3s}
.rw-rocket-btn.rw-rocket-pushed{bottom:208px}
.rw-rocket-btn:hover{background:var(--rw-orange)!important}
.rw-rocket-btn.launching{animation:rwRocketLaunch .65s ease-in forwards}
@keyframes rwRocketLaunch{0%{transform:translateY(0) scale(1)}40%{transform:translateY(6px) scale(.95)}100%{transform:translateY(-120vh) rotate(12deg) scale(.8);opacity:0}}

.rw-theme-toggle{display:none!important;position:fixed;right:22px;bottom:146px;left:auto;width:var(--rw-btn-size);height:var(--rw-btn-size);border-radius:14px;background:var(--rw-bg2);border:1px solid var(--rw-border);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:9500;opacity:0;transform:translateY(16px);transition:opacity .4s var(--rw-ease),transform .4s var(--rw-ease),background .3s,border-color .3s,box-shadow .3s;box-shadow:0 4px 24px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.06);overflow:hidden;-webkit-tap-highlight-color:transparent;box-sizing:border-box}
.rw-theme-toggle.visible{opacity:1;transform:translateY(0)}
.rw-theme-toggle:hover{border-color:var(--rw-orange)!important;box-shadow:0 6px 32px var(--rw-orange-glow),0 0 0 1px rgba(240,123,28,.25)!important;transform:translateY(-3px) scale(1.06)!important}
.rw-theme-toggle:active{transform:scale(.92)!important;transition-duration:.1s!important}
.rw-theme-toggle svg{width:20px;height:20px;transition:transform .4s var(--rw-ease);color:var(--rw-icon)}
.rw-theme-toggle:hover svg{transform:rotate(25deg)}
.rw-icon-sun{display:none}.rw-icon-moon{display:block}
body.rw-theme-light .rw-icon-sun{display:block}body.rw-theme-light .rw-icon-moon{display:none}

.rw-fab::after,.rw-theme-toggle::after{content:attr(data-tooltip);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%) translateX(6px);background:rgba(15,15,18,.88);color:#fff;font-size:11px;font-family:'Noto Sans KR',sans-serif;font-weight:500;letter-spacing:.03em;white-space:nowrap;padding:5px 10px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.rw-theme-toggle::after{right:calc(100% + 10px);left:auto;transform:translateY(-50%) translateX(6px)}
.rw-fab:hover::after,.rw-theme-toggle:hover::after{opacity:1;transform:translateY(-50%) translateX(0)}
.rw-channel-btn.rw-popup-open::after{opacity:0!important}

#ch-plugin-button{display:none!important}

/* Keep the legacy chatbot FAB as an internal trigger only.
   The visible entry point is the ROTURN global widget popup. */
#rc-fab,
.rc-fab-label,
button#rc-fab,
button.rc-fab {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* ============ 모바일: 하단 정리 ============ */
@media (max-width: 768px) {
  /* 테마 토글, 로켓 — 모바일에서 숨김 (기존 사이트 CTA 바와 충돌) */
  .rw-theme-toggle,
  .rw-rocket-btn { display: none !important; }
  
  /* 채널톡 버튼 — 위로 올림 (기존 CTA 바 높이 ~60px 위) */
  .rw-channel-btn { bottom: 80px !important; }
  /* 라벨 — 모바일에서 숨김 (공간 차지 + 터치 방해) */
  .rw-chat-label { display: none !important; }
  
  /* 팝업도 위로 */
  .rw-popup { bottom: 138px !important; }
  
  /* 커서/트레일 — 모바일 불필요 (이미 CSS에서 커서 숨김, 트레일도) */
  .rw-trail-dot { display: none !important; }
}

/* 기존 사이트 로켓 버튼 숨김 (v5 위젯으로 대체) */
#js-rocket,.rocket-btn,#js-back-top{display:none!important}
#js-theme-toggle,.theme-toggle{display:none!important}

/* ============ 모바일 하단 CTA 바 리디자인 ============ */
@media (max-width: 768px) {
  .mobile-action-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    display: flex !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: rgba(15, 15, 18, 0.85) !important;
    backdrop-filter: blur(20px) saturate(1.6) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.6) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    z-index: 9400 !important;
    height: 56px !important;
    box-shadow: 0 -2px 20px rgba(0, 0, 0, 0.25) !important;
  }

  .mobile-action-bar a {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: 'Noto Sans KR', sans-serif !important;
    letter-spacing: -0.01em !important;
    transition: background 0.2s, color 0.2s !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  .mobile-action-bar a svg {
    flex-shrink: 0 !important;
    opacity: 0.8 !important;
  }

  .mobile-action-bar a:first-child {
    border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .mobile-action-bar .mobile-action-call {
    color: #fff !important;
  }
  .mobile-action-bar .mobile-action-call:active {
    background: rgba(240, 123, 28, 0.15) !important;
  }

  .mobile-action-bar .mobile-action-calc {
    color: #F07B1C !important;
  }
  .mobile-action-bar .mobile-action-calc svg {
    stroke: #F07B1C !important;
    opacity: 1 !important;
  }
  .mobile-action-bar .mobile-action-calc:active {
    background: rgba(240, 123, 28, 0.1) !important;
  }

  /* 라이트모드 */
  body.rw-theme-light .mobile-action-bar {
    background: rgba(255, 255, 255, 0.92) !important;
    border-top-color: rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 -2px 20px rgba(0, 0, 0, 0.06) !important;
  }
  body.rw-theme-light .mobile-action-bar a {
    color: #1A1A1A !important;
  }
  body.rw-theme-light .mobile-action-bar .mobile-action-call {
    color: #1A1A1A !important;
  }
  body.rw-theme-light .mobile-action-bar .mobile-action-calc {
    color: #F07B1C !important;
  }
}
