/**
 * Tour Styling - 戰情室 Driver.js 引導彈窗客製化外觀
 * 配合統一超商企業色、Liquid Glass 擬態與現代字型
 */

.driver-popover {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 36px -4px rgba(15, 23, 42, 0.16), 0 4px 12px -2px rgba(15, 23, 42, 0.06) !important;
  padding: 18px 20px !important;
  max-width: 340px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans TC", sans-serif !important;
  color: #0f172a !important;
  z-index: 1000000000 !important;
}

/* 深色模式適應 */
body.dark-mode .driver-popover {
  background: rgba(30, 41, 59, 0.92) !important;
  border-color: rgba(51, 65, 85, 0.9) !important;
  color: #f8fafc !important;
  box-shadow: 0 20px 40px -4px rgba(0, 0, 0, 0.45) !important;
}

.driver-popover-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #0f172a !important;
  margin-bottom: 8px !important;
}

body.dark-mode .driver-popover-title {
  color: #f1f5f9 !important;
}

.driver-popover-description {
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #475569 !important;
  margin-bottom: 14px !important;
}

body.dark-mode .driver-popover-description {
  color: #94a3b8 !important;
}

.driver-popover-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 12px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
}

body.dark-mode .driver-popover-footer {
  border-top-color: rgba(51, 65, 85, 0.8) !important;
}

.driver-popover-progress-text {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #64748b !important;
}

body.dark-mode .driver-popover-progress-text {
  color: #94a3b8 !important;
}

.driver-popover-navigation-btns {
  display: flex !important;
  gap: 8px !important;
}

/* 上一步 / 下一步 / 完成按鈕 */
.driver-popover-prev-btn,
.driver-popover-next-btn,
.driver-popover-footer button {
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  outline: none !important;
  border: none !important;
  text-shadow: none !important; /* 徹底杜絕官方 driver.css 1px 白陰影造成的字體疊影現象 */
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

.driver-popover-prev-btn {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #cbd5e1 !important;
}

.driver-popover-prev-btn:hover {
  background: #e2e8f0 !important;
  color: #1e293b !important;
}

body.dark-mode .driver-popover-prev-btn {
  background: #334155 !important;
  color: #cbd5e1 !important;
  border-color: #475569 !important;
}

body.dark-mode .driver-popover-prev-btn:hover {
  background: #475569 !important;
  color: #f8fafc !important;
}

.driver-popover-next-btn {
  background: #007350 !important; /* 統一超商品牌綠 */
  color: #ffffff !important;
  box-shadow: 0 2px 6px rgba(0, 115, 80, 0.25) !important;
}

.driver-popover-next-btn:hover {
  background: #005a3e !important;
  box-shadow: 0 4px 10px rgba(0, 115, 80, 0.35) !important;
}

.driver-popover-close-btn {
  color: #94a3b8 !important;
  font-size: 18px !important;
  transition: color 0.15s ease !important;
}

.driver-popover-close-btn:hover {
  color: #0f172a !important;
}

body.dark-mode .driver-popover-close-btn:hover {
  color: #f8fafc !important;
}

/* 導覽專屬特權：在截圖模式下，強制保持「截圖模式按鈕」可見，使 Driver.js 能精確高亮目標 */
body.driver-active.screenshot-mode .search-actions-group,
body.driver-active.screenshot-mode #searchActionsGroup {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.driver-active.screenshot-mode #btnToggleImmersive {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 1000000002 !important;
}

/* 門市資訊卡片在高亮狀態下維持極致清晰與邊角圓潤 */
.driver-active .gm-style-iw-c,
.driver-active .pop-card-wrapper {
  z-index: 1000000003 !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4) !important;
  border-radius: 16px !important;
}

.driver-active .gm-style-iw-d {
  overflow: visible !important;
}

/* 確保 Driver.js 聚光燈框能平滑包圍圓角卡片 */
.driver-active .driver-overlay path {
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* 導覽期間：Uni AI 按鈕保持一般可見度，不提高 z-index，避免在其他步驟穿透遮罩被誤當作 highlight */
body.driver-active #floatingFabGroup,
body.driver-active .floating-fab-group {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.driver-active #btnOpenExpansionAgent {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* 僅當 Uni AI 按鈕真正處於導覽聚光燈選中時（Step 13），才提高層級並給予服貼膠囊外型的光暈 */
.driver-active #btnOpenExpansionAgent.driver-active-element,
.driver-active .floating-pill-fab.driver-active-element {
  position: relative !important;
  z-index: 1000000003 !important;
  outline: 2px solid #007350 !important;
  outline-offset: 3px !important;
  border-radius: 9999px !important;
  box-shadow: 0 0 0 4px rgba(0, 115, 80, 0.25) !important;
}
