/* V58 · cierres geométricamente centrados y chat móvil como tarjeta flotante */

/*
 * Se dibuja la X con dos barras, no con un carácter tipográfico ni con un SVG
 * cuyo peso visual pueda quedar desplazado. Así queda centrada de forma exacta
 * en botones circulares y cuadrados.
 */
.modal-close,
.chat-v23-tools-close,
.chat-v23-room-back,
.gtic-date-close {
  padding:0!important;
  overflow:hidden!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:-9999px!important;
}

.chat-v23-tools-close,
.chat-v23-room-back,
.gtic-date-close {
  position:relative!important;
}

.modal-close::before,
.modal-close::after,
.chat-v23-tools-close::before,
.chat-v23-tools-close::after,
.chat-v23-room-back::before,
.chat-v23-room-back::after,
.gtic-date-close::before,
.gtic-date-close::after {
  content:""!important;
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  display:block!important;
  width:16px!important;
  height:2px!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:currentColor!important;
  -webkit-mask:none!important;
  mask:none!important;
  transform-origin:center!important;
  pointer-events:none!important;
}

.modal-close::before,
.chat-v23-tools-close::before,
.chat-v23-room-back::before,
.gtic-date-close::before {
  transform:translate(-50%,-50%) rotate(45deg)!important;
}

.modal-close::after,
.chat-v23-tools-close::after,
.chat-v23-room-back::after,
.gtic-date-close::after {
  transform:translate(-50%,-50%) rotate(-45deg)!important;
}

/* La X del cierre principal es ligeramente más amplia para conservar legibilidad. */
.modal-close::before,
.modal-close::after,
.chat-v23-room-back::before,
.chat-v23-room-back::after {
  width:17px!important;
  height:2.2px!important;
}

@media (max-width:760px) {
  html.gtic-chat-dialog-open,
  body.gtic-chat-dialog-open {
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }

  /*
   * El contenedor sigue la altura real del visual viewport para no perder el
   * cuadro de envío al aparecer el teclado, pero deja aire alrededor de la
   * conversación para que se perciba como una tarjeta superpuesta.
   */
  .chat-v23-workspace.is-show {
    position:fixed!important;
    top:var(--gtic-chat-viewport-top,0px)!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    z-index:2147483400!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
    width:100vw!important;
    max-width:none!important;
    height:var(--gtic-chat-viewport-height,100dvh)!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:max(9px,env(safe-area-inset-top,0px)) 9px max(9px,env(safe-area-inset-bottom,0px))!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    background:rgba(7,20,31,.58)!important;
    -webkit-backdrop-filter:blur(6px)!important;
    backdrop-filter:blur(6px)!important;
  }

  .chat-v23-mobile-dialog-backdrop {
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    background:transparent!important;
  }

  .chat-v23-workspace.is-show .chat-v23-sidebar {
    display:none!important;
  }

  .chat-v23-workspace.is-show .chat-v23-room {
    position:relative!important;
    inset:auto!important;
    z-index:1!important;
    flex:1 1 auto!important;
    align-self:stretch!important;
    width:min(100%,720px)!important;
    max-width:720px!important;
    height:auto!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    border:1px solid rgba(255,255,255,.72)!important;
    border-radius:24px!important;
    box-shadow:0 24px 75px rgba(0,0,0,.38),0 0 0 1px rgba(12,40,57,.08)!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    background:#eef3f0!important;
  }

  .chat-v23-workspace.is-show .chat-v23-room-head {
    flex:0 0 auto!important;
    padding-top:max(9px,env(safe-area-inset-top,0px))!important;
  }

  .chat-v23-workspace.is-show .chat-v23-messages {
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  .chat-v23-workspace.is-show .chat-v23-compose,
  .chat-v23-workspace.is-show .chat-v23-readonly {
    position:relative!important;
    flex:0 0 auto!important;
    min-height:0!important;
    margin:0!important;
    padding-bottom:max(8px,env(safe-area-inset-bottom,0px))!important;
    box-sizing:border-box!important;
  }

  .chat-v23-room-back {
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    border-radius:50%!important;
  }
}

@media (max-width:430px) {
  .chat-v23-workspace.is-show {
    padding:max(6px,env(safe-area-inset-top,0px)) 6px max(6px,env(safe-area-inset-bottom,0px))!important;
  }

  .chat-v23-workspace.is-show .chat-v23-room {
    border-radius:20px!important;
  }
}
