/* 기본 (데스크탑) */
.g-fab-wrap { position: fixed; right: 24px; bottom: 32px; z-index: 9000; display: flex; flex-direction: column; align-items: stretch; gap: 8px; width: 190px; }
.g-fab-mobile-trigger { display: none; align-items: center; justify-content: center; gap: 10px; width: 44px; height: 44px; padding: 0; border: none; background: transparent; color: #ff601e; box-shadow: none; font-size: 15px; font-weight: 700; cursor: pointer; }
.g-fab-menu { display: flex; flex-direction: column; gap: 8px; }
.g-fab-item { display: flex; align-items: center; gap: 10px; height: 50px; padding: 0 22px; border-radius: 28px; text-decoration: none; white-space: nowrap; font-size: 15px; font-weight: 700; background: #fff; color: #1f2937; border: 1.5px solid #d1d5db; box-shadow: 0 2px 8px rgba(0,0,0,0.10); transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; }
.g-fab-item:hover { background: #ff601e; color: #fff; border-color: #ff601e; box-shadow: 0 4px 16px rgba(255,96,30,0.35); }
.g-fab-item:hover .g-fab-ico { stroke: #fff; }
.g-fab-ico { width: 18px; height: 18px; flex-shrink: 0; stroke: #4b5563; transition: stroke 0.2s; }
.g-fab-mobile-trigger .g-fab-ico { width: 36px; height: 36px; color: #ff601e; stroke: none; filter: drop-shadow(0 3px 8px rgba(255,96,30,0.28)); transition: transform 0.16s ease, filter 0.16s ease; }
.g-fab-mobile-text { display: none; }
.g-fab-label-short { display: none; }

/* 태블릿 (769px ~ 1100px): 버튼 축소 + 텍스트 단축 */
@media (min-width: 769px) and (max-width: 1100px) {
  .g-fab-wrap { right: 16px; bottom: 24px; width: auto; }
  .g-fab-item { height: 42px; padding: 0 16px; font-size: 13px; gap: 8px; }
  .g-fab-ico { width: 16px; height: 16px; }
  .g-fab-label-full { display: none; }
  .g-fab-label-short { display: inline; }
}

/* 모바일 (768px 이하): 트리거 버튼 + 팝업 메뉴 */
@media (max-width: 768px) {
  .g-fab-wrap { right: 14px; bottom: 18px; width: auto; align-items: flex-end; gap: 6px; }
  .g-fab-mobile-trigger { display: inline-flex; }
  .g-fab-mobile-trigger:hover .g-fab-ico { filter: drop-shadow(0 4px 10px rgba(255,96,30,0.32)); }
  .g-fab-menu { position: absolute; right: 0; bottom: 50px; min-width: 130px; gap: 6px; opacity: 0; pointer-events: none; transform: translateY(8px) scale(0.98); transition: opacity 0.18s ease, transform 0.18s ease; }
  .g-fab-wrap.is-open .g-fab-menu { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
  .g-fab-item { height: 40px; gap: 8px; padding: 0 13px; border-radius: 22px; font-size: 13px; background: rgba(255,255,255,0.98); box-shadow: 0 6px 18px rgba(15,23,42,0.14); }
  .g-fab-item .g-fab-ico { width: 16px; height: 16px; }
  .g-fab-label-full { display: none; }
  .g-fab-label-short { display: inline; }
}