/* BNT Floating Contact & Promo V2.7.2 - Thai text + landscape viewport + safe-area QA */
.bnt-fcp-wrap,
.bnt-fcp-wrap *{
  box-sizing:border-box !important;
}

.bnt-fcp-wrap{
  position:fixed !important;
  right:var(--bnt-fcp-right,22px) !important;
  bottom:var(--bnt-fcp-bottom,22px) !important;
  z-index:var(--bnt-fcp-z,999999) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  width:auto !important;
  max-width:calc(100vw - 28px) !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  font-family:inherit !important;
  color:#111827 !important;
  pointer-events:none !important;
  visibility:visible !important;
  opacity:1 !important;
  isolation:isolate !important;
  overflow:visible !important;
}

.bnt-fcp-wrap img,
.bnt-fcp-wrap svg{
  max-width:100% !important;
  height:auto !important;
}

.bnt-fcp-hide-mobile{
  display:block !important;
}

/* Transparent cutout promo image: separated from contact bubble */
.bnt-fcp-promo.bnt-fcp-promo-cutout{
  position:relative !important;
  display:block !important;
  flex:0 0 auto !important;
  align-self:flex-end !important;
  width:min(var(--bnt-fcp-promo-image-width,260px), calc(100vw - 44px)) !important;
  min-width:0 !important;
  max-width:calc(100vw - 44px) !important;
  margin:0 0 var(--bnt-fcp-promo-gap,18px) 0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  pointer-events:auto !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
}

.bnt-fcp-promo.bnt-fcp-promo-cutout::before{
  content:none !important;
  display:none !important;
}

.bnt-fcp-promo.is-js-pending{
  opacity:0 !important;
  visibility:hidden !important;
}

.bnt-fcp-promo.is-hidden{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.bnt-fcp-promo-cutout .bnt-fcp-promo-media{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  line-height:0 !important;
  text-decoration:none !important;
  cursor:pointer !important;
  filter:drop-shadow(0 16px 24px rgba(10,20,60,.20)) !important;
  background:transparent !important;
}

.bnt-fcp-promo-cutout .bnt-fcp-promo-media img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  max-height:min(68vh, calc(100vh - var(--bnt-fcp-bottom,22px) - 110px)) !important;
  max-height:min(68dvh, calc(100dvh - var(--bnt-fcp-bottom,22px) - 110px)) !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
}

.bnt-fcp-promo-close,
.bnt-fcp-panel-close{
  position:absolute !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  padding:0 !important;
  border:1px solid rgba(17,21,105,.10) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.96) !important;
  color:#64748b !important;
  box-shadow:0 8px 20px rgba(10,20,60,.14) !important;
  cursor:pointer !important;
  font-size:0 !important;
  line-height:1 !important;
  z-index:8 !important;
  -webkit-tap-highlight-color:transparent !important;
  touch-action:manipulation !important;
}

.bnt-fcp-promo-close:hover,
.bnt-fcp-promo-close:focus,
.bnt-fcp-panel-close:hover,
.bnt-fcp-panel-close:focus{
  background:#fff !important;
  color:var(--bnt-fcp-accent,#111569) !important;
  outline:none !important;
  transform:scale(1.04) !important;
}

.bnt-fcp-promo-close::before,
.bnt-fcp-promo-close::after,
.bnt-fcp-panel-close::before,
.bnt-fcp-panel-close::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:13px !important;
  height:2px !important;
  border-radius:999px !important;
  background:currentColor !important;
  transform-origin:center !important;
}

.bnt-fcp-promo-close::before,
.bnt-fcp-panel-close::before{
  transform:translate(-50%,-50%) rotate(45deg) !important;
}

.bnt-fcp-promo-close::after,
.bnt-fcp-panel-close::after{
  transform:translate(-50%,-50%) rotate(-45deg) !important;
}

.bnt-fcp-promo-cutout .bnt-fcp-promo-close{
  top:-10px !important;
  right:-10px !important;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  min-height:30px !important;
}

/* Contact bubble */
.bnt-fcp-bubble{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  pointer-events:none !important;
  visibility:visible !important;
  opacity:1 !important;
}

.bnt-fcp-main-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:auto !important;
  min-width:132px !important;
  max-width:calc(100vw - 32px) !important;
  height:62px !important;
  padding:0 20px !important;
  border:0 !important;
  border-radius:999px !important;
  background:var(--bnt-fcp-accent,#111569) !important;
  color:#fff !important;
  box-shadow:0 16px 36px rgba(17,21,105,.34) !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  z-index:2 !important;
  overflow:hidden !important;
  -webkit-tap-highlight-color:transparent !important;
  touch-action:manipulation !important;
}

.bnt-fcp-main-btn:hover,
.bnt-fcp-main-btn:focus,
.bnt-fcp-bubble.is-open .bnt-fcp-main-btn{
  background:#0b0f54 !important;
  box-shadow:0 20px 44px rgba(17,21,105,.40) !important;
  outline:none !important;
  transform:translateY(-1px) !important;
}

.bnt-fcp-main-text,
.bnt-fcp-main-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#fff !important;
  pointer-events:none !important;
  line-height:1 !important;
}

.bnt-fcp-main-text{
  font-size:14px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.bnt-fcp-main-icon{
  font-size:22px !important;
  flex:0 0 auto !important;
}

/* Contact panel */
.bnt-fcp-contact-panel{
  display:none !important;
  position:fixed !important;
  right:var(--bnt-fcp-right,22px) !important;
  bottom:calc(var(--bnt-fcp-bottom,22px) + 78px) !important;
  width:min(var(--bnt-fcp-panel-width,360px), calc(100vw - 32px)) !important;
  max-width:calc(100vw - 32px) !important;
  max-height:calc(100vh - max(var(--bnt-fcp-top-clearance,120px), 120px) - var(--bnt-fcp-bottom,22px) - 92px) !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(17,21,105,.12) !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.985) !important;
  box-shadow:0 22px 55px rgba(10,20,60,.22) !important;
  overflow:hidden !important;
  pointer-events:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:none !important;
  z-index:1 !important;
}

@supports (height:100dvh){
  .bnt-fcp-contact-panel{
    max-height:calc(100dvh - max(var(--bnt-fcp-top-clearance,120px), 120px) - var(--bnt-fcp-bottom,22px) - 92px) !important;
  }
}

.bnt-fcp-contact-panel::before{
  content:"" !important;
  position:absolute !important;
  inset:0 0 auto 0 !important;
  height:4px !important;
  background:linear-gradient(90deg,var(--bnt-fcp-accent,#111569),var(--bnt-fcp-secondary,#f5c242)) !important;
  z-index:1 !important;
}

.bnt-fcp-bubble.is-open .bnt-fcp-contact-panel{
  display:flex !important;
  flex-direction:column !important;
  pointer-events:auto !important;
  opacity:1 !important;
  visibility:visible !important;
}

.bnt-fcp-wrap.is-contact-open .bnt-fcp-promo{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.bnt-fcp-panel-close{
  top:14px !important;
  right:14px !important;
  background:#f1f4f9 !important;
}

.bnt-fcp-panel-scroll{
  width:100% !important;
  max-width:100% !important;
  max-height:inherit !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  padding:20px 20px 16px 16px !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(17,21,105,.40) rgba(17,21,105,.06) !important;
  scrollbar-gutter:stable !important;
  -ms-overflow-style:auto !important;
}

.bnt-fcp-panel-scroll::-webkit-scrollbar{
  width:8px !important;
  height:8px !important;
  display:block !important;
}

.bnt-fcp-panel-scroll::-webkit-scrollbar-track{
  background:rgba(17,21,105,.055) !important;
  border-radius:999px !important;
  margin:14px 0 !important;
}

.bnt-fcp-panel-scroll::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, rgba(17,21,105,.46), rgba(17,21,105,.24)) !important;
  border-radius:999px !important;
  border:2px solid rgba(255,255,255,.92) !important;
}

.bnt-fcp-panel-scroll::-webkit-scrollbar-thumb:hover{
  background:rgba(17,21,105,.58) !important;
}

.bnt-fcp-contact-panel::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:22px !important;
  pointer-events:none !important;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.94)) !important;
  z-index:2 !important;
}

.bnt-fcp-panel-head{
  min-width:0 !important;
  padding-right:48px !important;
}

.bnt-fcp-panel-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:26px !important;
  padding:5px 11px !important;
  border-radius:999px !important;
  background:#eef4ff !important;
  color:var(--bnt-fcp-accent,#111569) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  border:1px solid rgba(17,21,105,.10) !important;
}

.bnt-fcp-panel-head h3{
  margin:10px 0 7px !important;
  color:var(--bnt-fcp-accent,#111569) !important;
  font-size:20px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  overflow-wrap:anywhere !important;
}

.bnt-fcp-panel-head p{
  margin:0 0 14px !important;
  color:#536278 !important;
  font-size:13px !important;
  line-height:1.6 !important;
  overflow-wrap:anywhere !important;
}

.bnt-fcp-qr-row{
  display:grid !important;
  grid-template-columns:104px minmax(0,1fr) !important;
  align-items:center !important;
  gap:13px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:10px !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,#f8fbff,#fff) !important;
  border:1px solid rgba(17,21,105,.08) !important;
}

.bnt-fcp-qr-box{
  width:104px !important;
  height:104px !important;
  min-width:104px !important;
  min-height:104px !important;
  max-width:104px !important;
  max-height:104px !important;
  border-radius:14px !important;
  background:#fff !important;
  border:1px solid rgba(17,21,105,.10) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

.bnt-fcp-qr-box img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  padding:5px !important;
  margin:0 !important;
  background:#fff !important;
}

.bnt-fcp-qr-caption{
  min-width:0 !important;
  color:#334155 !important;
  font-size:12px !important;
  line-height:1.5 !important;
  font-weight:800 !important;
  overflow-wrap:anywhere !important;
  white-space:normal !important;
}

.bnt-fcp-action-list{
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
  margin-top:13px !important;
  width:100% !important;
}

.bnt-fcp-contact-action{
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  width:100% !important;
  max-width:100% !important;
  min-height:52px !important;
  padding:10px 12px !important;
  border-radius:15px !important;
  background:#fff !important;
  color:var(--bnt-fcp-accent,#111569) !important;
  text-decoration:none !important;
  border:1px solid rgba(17,21,105,.10) !important;
  box-shadow:0 8px 20px rgba(10,20,60,.08) !important;
  pointer-events:auto !important;
  overflow:hidden !important;
}

.bnt-fcp-contact-action:hover,
.bnt-fcp-contact-action:focus{
  transform:translateY(-1px) !important;
  box-shadow:0 12px 26px rgba(10,20,60,.13) !important;
  border-color:rgba(17,21,105,.20) !important;
  background:#fbfdff !important;
  outline:none !important;
}

.bnt-fcp-action-icon{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  flex:0 0 34px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#eef4ff !important;
  color:var(--bnt-fcp-accent,#111569) !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
}

.bnt-fcp-contact-action.is-line .bnt-fcp-action-icon{
  background:var(--bnt-fcp-line,#06c755) !important;
  color:#fff !important;
  font-size:10px !important;
}

.bnt-fcp-contact-action.is-phone .bnt-fcp-action-icon{
  background:var(--bnt-fcp-secondary,#f5c242) !important;
  color:#111827 !important;
}

.bnt-fcp-action-copy{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  max-width:100% !important;
  line-height:1.25 !important;
  overflow:hidden !important;
}

.bnt-fcp-action-copy strong,
.bnt-fcp-action-copy small{
  display:block !important;
  max-width:100% !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  white-space:normal !important;
}

.bnt-fcp-action-copy strong{
  color:inherit !important;
  font-size:14px !important;
  font-weight:900 !important;
}

.bnt-fcp-action-copy small{
  margin-top:3px !important;
  color:#8090a6 !important;
  font-size:11px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
}

.bnt-fcp-panel-note{
  margin-top:10px !important;
  color:#8b98aa !important;
  font-size:11px !important;
  line-height:1.45 !important;
  overflow-wrap:anywhere !important;
}

@media (max-width:782px){
  .bnt-fcp-hide-mobile{
    display:none !important;
  }

  .bnt-fcp-wrap{
    right:max(var(--bnt-fcp-mobile-right,12px), env(safe-area-inset-right)) !important;
    bottom:calc(var(--bnt-fcp-mobile-bottom,84px) + env(safe-area-inset-bottom)) !important;
    max-width:calc(100vw - 24px) !important;
  }

  .bnt-fcp-promo.bnt-fcp-promo-cutout{
    width:min(var(--bnt-fcp-promo-image-width-mobile,200px), calc(100vw - 32px)) !important;
    max-width:calc(100vw - 32px) !important;
    margin-right:0 !important;
  }

  .bnt-fcp-promo-cutout .bnt-fcp-promo-media img{
    max-height:min(54vh, calc(100vh - var(--bnt-fcp-mobile-bottom,84px) - 100px)) !important;
    max-height:min(54svh, calc(100svh - var(--bnt-fcp-mobile-bottom,84px) - 100px)) !important;
  }

  .bnt-fcp-main-btn{
    min-width:122px !important;
    height:56px !important;
    padding:0 16px !important;
  }

  .bnt-fcp-main-text{
    display:inline-flex !important;
    font-size:13.5px !important;
  }

  .bnt-fcp-main-icon{
    font-size:21px !important;
  }

  .bnt-fcp-bubble.is-open .bnt-fcp-contact-panel{
    left:12px !important;
    right:12px !important;
    bottom:calc(var(--bnt-fcp-mobile-bottom,84px) + 68px + env(safe-area-inset-bottom)) !important;
    width:auto !important;
    max-width:calc(100vw - 24px) !important;
    max-height:calc(100vh - max(var(--bnt-fcp-mobile-top-clearance,190px), 190px) - var(--bnt-fcp-mobile-bottom,84px) - 90px - env(safe-area-inset-bottom)) !important;
    border-radius:18px !important;
  }

  @supports (height:100svh){
    .bnt-fcp-bubble.is-open .bnt-fcp-contact-panel{
      max-height:calc(100svh - max(var(--bnt-fcp-mobile-top-clearance,190px), 190px) - var(--bnt-fcp-mobile-bottom,84px) - 90px - env(safe-area-inset-bottom)) !important;
    }
  }

  .bnt-fcp-panel-scroll{
    padding:18px 18px 14px 14px !important;
  }

  .bnt-fcp-panel-head h3{
    font-size:18px !important;
  }

  .bnt-fcp-panel-head p{
    font-size:12.5px !important;
    line-height:1.55 !important;
  }
}

@media (max-width:480px){
  .bnt-fcp-wrap{
    right:12px !important;
    left:auto !important;
    bottom:calc(var(--bnt-fcp-mobile-bottom,84px) + env(safe-area-inset-bottom)) !important;
    max-width:calc(100vw - 24px) !important;
  }

  .bnt-fcp-promo.bnt-fcp-promo-cutout{
    width:min(var(--bnt-fcp-promo-image-width-mobile,200px), calc(100vw - 28px)) !important;
    max-width:calc(100vw - 28px) !important;
  }

  .bnt-fcp-promo-cutout .bnt-fcp-promo-close{
    top:-9px !important;
    right:-9px !important;
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
  }

  .bnt-fcp-promo-close::before,
  .bnt-fcp-promo-close::after,
  .bnt-fcp-panel-close::before,
  .bnt-fcp-panel-close::after{
    width:12px !important;
  }

  .bnt-fcp-bubble.is-open .bnt-fcp-contact-panel{
    left:12px !important;
    right:12px !important;
    max-width:calc(100vw - 24px) !important;
    bottom:calc(var(--bnt-fcp-mobile-bottom,84px) + 66px + env(safe-area-inset-bottom)) !important;
    max-height:calc(100vh - max(var(--bnt-fcp-mobile-top-clearance,190px), 190px) - var(--bnt-fcp-mobile-bottom,84px) - 88px - env(safe-area-inset-bottom)) !important;
  }

  @supports (height:100svh){
    .bnt-fcp-bubble.is-open .bnt-fcp-contact-panel{
      max-height:calc(100svh - max(var(--bnt-fcp-mobile-top-clearance,190px), 190px) - var(--bnt-fcp-mobile-bottom,84px) - 88px - env(safe-area-inset-bottom)) !important;
    }
  }

  .bnt-fcp-panel-close{
    top:12px !important;
    right:12px !important;
  }

  .bnt-fcp-panel-scroll{
    padding:18px 16px 14px 14px !important;
  }

  .bnt-fcp-panel-scroll::-webkit-scrollbar{
    width:6px !important;
  }

  .bnt-fcp-panel-scroll::-webkit-scrollbar-track{
    margin:12px 0 !important;
  }

  .bnt-fcp-panel-scroll::-webkit-scrollbar-thumb{
    border-width:1px !important;
  }

  .bnt-fcp-panel-head{
    padding-right:46px !important;
  }

  .bnt-fcp-qr-row{
    grid-template-columns:86px minmax(0,1fr) !important;
    gap:10px !important;
    padding:9px !important;
    border-radius:15px !important;
  }

  .bnt-fcp-qr-box{
    width:86px !important;
    height:86px !important;
    min-width:86px !important;
    min-height:86px !important;
    max-width:86px !important;
    max-height:86px !important;
    border-radius:12px !important;
  }

  .bnt-fcp-qr-caption{
    font-size:11.5px !important;
  }

  .bnt-fcp-contact-action{
    min-height:50px !important;
    gap:9px !important;
    padding:10px 10px !important;
    border-radius:14px !important;
  }

  .bnt-fcp-action-icon{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    flex-basis:32px !important;
  }
}

@media (max-width:360px){
  .bnt-fcp-wrap{
    right:10px !important;
    max-width:calc(100vw - 20px) !important;
  }

  .bnt-fcp-main-btn{
    min-width:112px !important;
    height:54px !important;
    padding:0 14px !important;
    gap:7px !important;
  }

  .bnt-fcp-main-text{
    font-size:13px !important;
  }

  .bnt-fcp-bubble.is-open .bnt-fcp-contact-panel{
    left:10px !important;
    right:10px !important;
    max-width:calc(100vw - 20px) !important;
  }

  .bnt-fcp-qr-row{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    text-align:center !important;
  }

  .bnt-fcp-qr-caption{
    text-align:center !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .bnt-fcp-promo,
  .bnt-fcp-promo-close,
  .bnt-fcp-panel-close,
  .bnt-fcp-contact-action,
  .bnt-fcp-main-btn{
    transition:none !important;
  }
}

/* BNT Floating Contact & Promo V2.7 - Promo minimize/reopen toggle */
.bnt-fcp-promo.bnt-fcp-promo-cutout.is-minimized,
.bnt-fcp-promo.bnt-fcp-promo-cutout.is-hidden{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.bnt-fcp-promo-hide{
  position:absolute !important;
  top:-11px !important;
  right:-10px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  width:auto !important;
  min-width:54px !important;
  max-width:120px !important;
  height:30px !important;
  min-height:30px !important;
  padding:0 11px !important;
  border:1px solid rgba(17,21,105,.10) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.97) !important;
  color:#475569 !important;
  box-shadow:0 8px 20px rgba(10,20,60,.14) !important;
  cursor:pointer !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  text-align:center !important;
  text-decoration:none !important;
  z-index:12 !important;
  pointer-events:auto !important;
  -webkit-tap-highlight-color:transparent !important;
  touch-action:manipulation !important;
}

.bnt-fcp-promo-hide:hover,
.bnt-fcp-promo-hide:focus{
  background:#fff !important;
  color:var(--bnt-fcp-accent,#111569) !important;
  outline:none !important;
  transform:translateY(-1px) !important;
}

.bnt-fcp-promo-hide-text{
  display:block !important;
  max-width:86px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  line-height:1 !important;
}

.bnt-fcp-promo-mini{
  position:relative !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  width:auto !important;
  min-width:92px !important;
  max-width:calc(100vw - 44px) !important;
  height:40px !important;
  min-height:40px !important;
  margin:0 0 var(--bnt-fcp-promo-gap,18px) 0 !important;
  padding:0 13px !important;
  border:1px solid rgba(17,21,105,.13) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.98) !important;
  color:var(--bnt-fcp-accent,#111569) !important;
  box-shadow:0 12px 26px rgba(10,20,60,.16) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-decoration:none !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  z-index:3 !important;
  overflow:hidden !important;
  -webkit-tap-highlight-color:transparent !important;
  touch-action:manipulation !important;
}

.bnt-fcp-promo-mini.is-visible{
  display:inline-flex !important;
  opacity:1 !important;
  visibility:visible !important;
}

.bnt-fcp-promo-mini:hover,
.bnt-fcp-promo-mini:focus{
  transform:translateY(-1px) !important;
  box-shadow:0 16px 32px rgba(10,20,60,.20) !important;
  outline:none !important;
}

.bnt-fcp-promo-mini-icon,
.bnt-fcp-promo-mini-text{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
  pointer-events:none !important;
  line-height:1 !important;
}

.bnt-fcp-promo-mini-icon{
  width:22px !important;
  height:22px !important;
  flex:0 0 22px !important;
  border-radius:999px !important;
  background:rgba(245,194,66,.22) !important;
  font-size:14px !important;
}

.bnt-fcp-promo-mini-text{
  max-width:78px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.bnt-fcp-wrap.is-contact-open .bnt-fcp-promo-mini{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

@media (max-width:480px){
  .bnt-fcp-promo-hide{
    top:-10px !important;
    right:-8px !important;
    min-width:50px !important;
    height:28px !important;
    min-height:28px !important;
    padding:0 10px !important;
    font-size:11.5px !important;
  }

  .bnt-fcp-promo-mini{
    min-width:84px !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 12px !important;
    font-size:11.5px !important;
  }

  .bnt-fcp-promo-mini-icon{
    width:20px !important;
    height:20px !important;
    flex-basis:20px !important;
    font-size:13px !important;
  }
}


/* ===== V2.7 Final QA safety overrides ===== */

.bnt-fcp-promo-cutout .bnt-fcp-promo-media,
.bnt-fcp-promo-cutout .bnt-fcp-promo-media img{
  margin-left:auto !important;
  margin-right:0 !important;
}

.bnt-fcp-promo-hide{
  max-width:min(128px, calc(100vw - 44px)) !important;
}

.bnt-fcp-contact-panel{
  min-height:0 !important;
}

.bnt-fcp-panel-scroll{
  min-height:0 !important;
  height:auto !important;
}

.bnt-fcp-panel-close{
  font-family:Arial, sans-serif !important;
  line-height:0 !important;
}

.bnt-fcp-qr-row,
.bnt-fcp-contact-action,
.bnt-fcp-panel-note,
.bnt-fcp-panel-head{
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

.bnt-fcp-contact-action:focus-visible,
.bnt-fcp-main-btn:focus-visible,
.bnt-fcp-panel-close:focus-visible,
.bnt-fcp-promo-hide:focus-visible,
.bnt-fcp-promo-mini:focus-visible{
  outline:3px solid rgba(245,194,66,.55) !important;
  outline-offset:3px !important;
}

@media (max-width:782px){
  .bnt-fcp-bubble.is-open .bnt-fcp-contact-panel{
    top:max(var(--bnt-fcp-mobile-top-clearance,190px), calc(env(safe-area-inset-top) + 12px)) !important;
    bottom:calc(var(--bnt-fcp-mobile-bottom,84px) + 68px + env(safe-area-inset-bottom)) !important;
    max-height:none !important;
    height:auto !important;
  }

  .bnt-fcp-bubble.is-open .bnt-fcp-contact-panel .bnt-fcp-panel-scroll{
    max-height:none !important;
    height:100% !important;
  }

  .bnt-fcp-promo-hide{
    right:0 !important;
  }
}

@media (max-width:360px){
  .bnt-fcp-action-copy strong{
    font-size:13px !important;
  }
  .bnt-fcp-action-copy small{
    font-size:10.5px !important;
  }
}


/* ===== V2.7.1 Thai glyph safety =====
   Thai lower vowels/marks (เช่น "ู" ใน "ดูโปร") can be clipped when a
   one-line label uses line-height:1 together with overflow:hidden.
   Keep enough vertical line box inside the fixed-height pill. */
.bnt-fcp-promo-mini{
  line-height:1.4 !important;
}

.bnt-fcp-promo-mini-text{
  line-height:1.45 !important;
  padding-top:2px !important;
  padding-bottom:3px !important;
}

.bnt-fcp-promo-hide-text{
  line-height:1.45 !important;
  padding-top:2px !important;
  padding-bottom:2px !important;
}


/* ===== V2.7.2 cross-platform hardening =====
   - protect Thai marks in the main bubble label
   - keep promo controls inside the viewport
   - respect iOS safe areas horizontally
   - give short landscape screens a usable full-height contact sheet */
.bnt-fcp-main-text{
  line-height:1.4 !important;
  padding-top:2px !important;
  padding-bottom:3px !important;
  max-width:min(220px, calc(100vw - 92px)) !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.bnt-fcp-promo-hide{
  right:0 !important;
}

@media (max-width:782px){
  .bnt-fcp-bubble.is-open .bnt-fcp-contact-panel{
    left:max(12px, env(safe-area-inset-left)) !important;
    right:max(12px, env(safe-area-inset-right)) !important;
  }
}

@media (max-width:480px){
  .bnt-fcp-wrap{
    right:max(12px, env(safe-area-inset-right)) !important;
  }
}

@media (max-width:360px){
  .bnt-fcp-wrap{
    right:max(10px, env(safe-area-inset-right)) !important;
  }
  .bnt-fcp-bubble.is-open .bnt-fcp-contact-panel{
    left:max(10px, env(safe-area-inset-left)) !important;
    right:max(10px, env(safe-area-inset-right)) !important;
  }
}

/* Short viewport / landscape mode.
   The normal panel intentionally leaves room above and above the bubble.
   On short landscape screens that can leave almost no usable panel height,
   so the open panel temporarily becomes a sheet and the underlying bubble
   is hidden until the panel is closed. */
@media (max-height:520px){
  .bnt-fcp-bubble.is-open .bnt-fcp-main-btn{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .bnt-fcp-bubble.is-open .bnt-fcp-contact-panel{
    top:max(calc(env(safe-area-inset-top) + 8px), min(var(--bnt-fcp-top-clearance,120px), 30vh)) !important;
    bottom:max(calc(env(safe-area-inset-bottom) + 8px), 8px) !important;
    max-height:none !important;
    height:auto !important;
  }

  .bnt-fcp-bubble.is-open .bnt-fcp-contact-panel .bnt-fcp-panel-scroll{
    height:100% !important;
    max-height:none !important;
  }
}

@media (max-width:782px) and (max-height:520px){
  .bnt-fcp-bubble.is-open .bnt-fcp-contact-panel{
    top:max(calc(env(safe-area-inset-top) + 8px), min(var(--bnt-fcp-mobile-top-clearance,190px), 35vh)) !important;
    bottom:max(calc(env(safe-area-inset-bottom) + 8px), 8px) !important;
  }
}

@supports (height:100svh){
  @media (max-height:520px){
    .bnt-fcp-bubble.is-open .bnt-fcp-contact-panel{
      top:max(calc(env(safe-area-inset-top) + 8px), min(var(--bnt-fcp-top-clearance,120px), 30svh)) !important;
    }
  }
  @media (max-width:782px) and (max-height:520px){
    .bnt-fcp-bubble.is-open .bnt-fcp-contact-panel{
      top:max(calc(env(safe-area-inset-top) + 8px), min(var(--bnt-fcp-mobile-top-clearance,190px), 35svh)) !important;
    }
  }
}
