/* 우측 플로팅 상담 메뉴 */
.gfloat{
  position:fixed;
  top:50%;
  right:18px;
  z-index:180;
  width:84px;
  overflow:hidden;
  border-radius:12px;
  box-shadow:0 10px 26px rgba(25,38,55,.22);
  transform:translateY(-50%);
  font-family:"Noto Sans KR","Malgun Gothic",Arial,sans-serif;
}
.gfloat *{box-sizing:border-box}
.gfloat__item{
  display:flex;
  min-height:94px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:10px 5px;
  text-align:center;
  text-decoration:none;
  transition:filter .18s ease,transform .18s ease;
}
.gfloat__item:hover{
  filter:brightness(1.04);
}
.gfloat__item:active{
  transform:scale(.98);
}
.gfloat__item--apply{
  background:#13a8e8;
  color:#fff;
}
.gfloat__item--kakao{
  background:#ffe000;
  color:#443b00;
}
.gfloat__item--phone{
  background:#0753a5;
  color:#fff;
}
.gfloat__icon{
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  font-size:25px;
  font-weight:900;
  line-height:1;
}
.gfloat__icon img{
  display:block;
  width:34px;
  height:34px;
  object-fit:contain;
}
.gfloat__item strong{
  font-size:11px;
  line-height:1.25;
  word-break:keep-all;
}
.gfloat-mobile{
  display:none;
}
@media(max-width:1024px){
  .gfloat{
    right:10px;
    width:78px;
  }
  .gfloat__item{
    min-height:86px;
  }
}
@media(max-width:720px){
  .gfloat{
    display:none;
  }
  .gfloat-mobile{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:220;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    min-height:62px;
    border-top:1px solid #e5e8ec;
    background:#fff;
    box-shadow:0 -8px 24px rgba(25,38,55,.15);
    font-family:"Noto Sans KR","Malgun Gothic",Arial,sans-serif;
  }
  .gfloat-mobile a{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    color:#333;
    text-decoration:none;
  }
  .gfloat-mobile a:first-child{
    background:#13a8e8;
    color:#fff;
  }
  .gfloat-mobile span{
    font-size:20px;
    font-weight:900;
    line-height:1;
  }
  .gfloat-mobile strong{
    font-size:11px;
  }
  body{
    padding-bottom:62px;
  }
}


/* =========================================================
   모바일 하단 빠른 메뉴 v2
   - 기존 화면 전체 고정바 제거
   - 둥근 플로팅 패널형 5개 메뉴
   ========================================================= */

@media(max-width:720px){
  .gfloat{
    display:none!important;
  }

  .gfloat-mobile{
    position:fixed!important;
    right:12px!important;
    bottom:calc(12px + env(safe-area-inset-bottom))!important;
    left:12px!important;
    z-index:220!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    width:auto!important;
    min-height:74px!important;
    padding:8px 6px!important;
    overflow:hidden!important;
    border:1px solid #e1e6ec!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 10px 28px rgba(20,34,52,.18)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    font-family:
      Pretendard,
      "Noto Sans KR",
      "Malgun Gothic",
      sans-serif!important;
  }

  .gfloat-mobile__item,
  .gfloat-mobile a{
    display:flex!important;
    min-width:0!important;
    min-height:58px!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    padding:4px 2px!important;
    border-radius:16px!important;
    background:transparent!important;
    color:#273447!important;
    text-align:center!important;
    text-decoration:none!important;
    -webkit-tap-highlight-color:transparent!important;
    transition:
      background .16s ease,
      transform .16s ease!important;
  }

  .gfloat-mobile__item:active{
    background:#f1f5f9!important;
    transform:scale(.96)!important;
  }

  .gfloat-mobile__icon{
    display:grid!important;
    width:27px!important;
    height:27px!important;
    place-items:center!important;
    color:#263c5e!important;
    font-size:0!important;
    line-height:1!important;
  }

  .gfloat-mobile__icon svg{
    display:block!important;
    width:25px!important;
    height:25px!important;
    overflow:visible!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }

  .gfloat-mobile__item--kakao .gfloat-mobile__icon{
    color:#242424!important;
  }

  .gfloat-mobile__item--kakao .gfloat-mobile__icon svg{
    fill:#ffe500!important;
    stroke:#242424!important;
    stroke-width:1.4!important;
  }

  .gfloat-mobile strong{
    overflow:hidden!important;
    max-width:100%!important;
    color:inherit!important;
    font-size:10.5px!important;
    font-weight:750!important;
    line-height:1.2!important;
    letter-spacing:-.03em!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  /* 기존 바 높이만큼 과도하게 비우지 않고 플로팅 패널만 고려 */
  body{
    padding-bottom:calc(96px + env(safe-area-inset-bottom))!important;
  }
}

@media(max-width:390px){
  .gfloat-mobile{
    right:7px!important;
    bottom:calc(8px + env(safe-area-inset-bottom))!important;
    left:7px!important;
    min-height:70px!important;
    padding:6px 3px!important;
    border-radius:21px!important;
  }

  .gfloat-mobile__item,
  .gfloat-mobile a{
    min-height:56px!important;
    gap:4px!important;
  }

  .gfloat-mobile__icon{
    width:24px!important;
    height:24px!important;
  }

  .gfloat-mobile__icon svg{
    width:23px!important;
    height:23px!important;
  }

  .gfloat-mobile strong{
    font-size:9.5px!important;
  }
}
