/* Reseefy Resources Chat v1.0.5 */
.rsseo-chat-root,.rsseo-chat-root *{box-sizing:border-box}
.rsseo-chat-root{
  position:fixed;
  right:24px;
  bottom:22px;
  z-index:999999;
  font-family:Arial,Helvetica,sans-serif
}

.rsseo-chat-launcher{
  position:relative;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #111!important;
  border-radius:50%!important;
  background:#000!important;
  color:#fff!important;
  box-shadow:0 18px 42px rgba(0,0,0,.20)!important;
  cursor:pointer!important;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease!important
}
.rsseo-chat-launcher:hover{
  transform:translateY(-2px);
  background:#1b1b1b!important;
  box-shadow:0 22px 48px rgba(0,0,0,.24)!important
}
.rsseo-chat-launcher:active{transform:translateY(0) scale(.97)}
.rsseo-chat-launcher-icon{
  width:25px;
  height:25px;
  display:grid;
  place-items:center
}
.rsseo-chat-launcher-icon svg,
.rsseo-chat-compose button svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round
}
.rsseo-chat-unread{
  position:absolute;
  right:-4px;
  top:-5px;
  min-width:21px;
  height:21px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:999px;
  background:#e11d48;
  color:#fff;
  font-size:10px;
  font-weight:800;
  line-height:1
}

.rsseo-chat-panel{
  position:absolute;
  right:0;
  bottom:72px;
  width:min(390px,calc(100vw - 30px));
  height:min(610px,calc(100vh - 110px));
  overflow:hidden;
  border:1px solid #dedede;
  border-radius:24px;
  background:#fff;
  box-shadow:0 28px 80px rgba(0,0,0,.24);
  transform-origin:calc(100% - 28px) 100%;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(12px) scale(.97);
  transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1),visibility 0s linear .22s;
}
to{opacity:1;transform:translateY(0) scale(1)}
}
to{opacity:0;transform:translateY(10px) scale(.97)}
}


.rsseo-chat-panel[hidden]{
  display:none!important;
}
.rsseo-chat-panel.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
  transition-delay:0s;
}

.rsseo-chat-head{
  min-height:142px;
  padding:25px 24px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  background:#000;
  color:#fff
}
.rsseo-chat-kicker{
  display:block;
  margin-bottom:8px;
  color:#a7a7a7;
  font-size:9px;
  font-weight:800;
  letter-spacing:.15em
}
.rsseo-chat-head h2{
  margin:0;
  color:#fff!important;
  font:700 23px/1.12 Arial,Helvetica,sans-serif!important;
  letter-spacing:-.03em
}
.rsseo-chat-head p{
  margin:8px 0 0;
  color:#bdbdbd!important;
  font:400 12px/1.4 Arial,Helvetica,sans-serif!important
}

.rsseo-chat-close{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #333!important;
  border-radius:50%!important;
  background:#111!important;
  color:#fff!important;
  font:400 26px/1 Arial,Helvetica,sans-serif!important;
  cursor:pointer!important;
  box-shadow:none!important;
  transition:background .18s ease,transform .18s ease!important
}
.rsseo-chat-close:hover{background:#242424!important;transform:rotate(2deg)}
.rsseo-chat-close:focus{outline:2px solid #666!important;outline-offset:2px!important}

.rsseo-chat-body{
  height:calc(100% - 142px - 92px);
  overflow:auto;
  padding:20px 20px 18px;
  background:#f7f7f6
}
.rsseo-chat-welcome{display:flex;align-items:flex-start;gap:11px;margin-bottom:15px}
.rsseo-chat-avatar{
  width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;
  border-radius:50%;background:#000;color:#fff;font-size:13px;font-weight:800
}
.rsseo-chat-welcome strong{display:block;color:#111;font-size:13px}
.rsseo-chat-welcome p{margin:4px 0 0;color:#666;font-size:12px;line-height:1.45}
.rsseo-chat-quick{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px 45px}
.rsseo-chat-quick button{
  min-height:31px;padding:0 10px;border:1px solid #ddd!important;border-radius:999px!important;
  background:#fff!important;color:#111!important;font:600 10px/1 Arial,Helvetica,sans-serif!important;cursor:pointer
}

.rsseo-chat-thread{display:grid;gap:10px}
.rsseo-chat-msg{max-width:85%;display:grid;gap:3px}
.rsseo-chat-msg>span{color:#888;font-size:9px;font-weight:700}
.rsseo-chat-msg>div{padding:10px 12px;border-radius:14px;font-size:12px;line-height:1.45}
.rsseo-chat-msg.is-admin{justify-self:start}
.rsseo-chat-msg.is-admin>div{border:1px solid #e4e4e4;background:#fff;color:#111}
.rsseo-chat-msg.is-visitor{justify-self:end}
.rsseo-chat-msg.is-visitor>span{text-align:right}
.rsseo-chat-msg.is-visitor>div{background:#000;color:#fff}

.rsseo-chat-form{
  min-height:92px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  border-top:1px solid #e5e5e5;
  background:#fff
}
.rsseo-chat-compose{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 50px;
  align-items:center;
  gap:9px
}
.rsseo-chat-compose button{
  width:50px;
  height:50px;
  min-width:50px;
  min-height:50px;
  margin:0!important;
  padding:14px;
  display:grid!important;
  place-items:center!important;
  align-self:center;
  border:0!important;
  border-radius:14px!important;
  background:#000!important;
  color:#fff!important;
  cursor:pointer
}
.rsseo-chat-compose button:disabled{opacity:.55;cursor:wait}
@media(max-width:600px){
  .rsseo-chat-root{right:14px;bottom:14px}
  .rsseo-chat-launcher{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important}
  .rsseo-chat-panel{right:0;bottom:66px;width:calc(100vw - 28px);height:min(650px,calc(100vh - 94px))}
}

.rsseo-chat-close::before,
.rsseo-chat-close::after{
  content:none!important;
}
.rsseo-chat-close{
  position:relative!important;
  text-align:center!important;
  line-height:1!important;
  -webkit-tap-highlight-color:transparent!important;
  touch-action:manipulation!important;
}
.rsseo-chat-launcher{
  -webkit-tap-highlight-color:transparent!important;
  touch-action:manipulation!important;
}


.rsseo-chat-compose textarea:focus{
  border-color:#bcbcbc!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(0,0,0,.035)!important;
}
@media(max-width:600px){
  .rsseo-chat-form{
    min-height:86px;
    padding:10px 12px;
  }
  .rsseo-chat-body{
    height:calc(100% - 142px - 86px);
    padding:18px 16px 16px;
  }
  .rsseo-chat-compose{
    grid-template-columns:minmax(0,1fr) 48px;
    gap:8px;
  }
  .rsseo-chat-compose textarea{
  width:100%;
  min-width:0;
  min-height:50px;
  max-height:140px;
  margin:0!important;
  padding:15px 16px;
  display:block;
  overflow-y:hidden!important;
  border:1px solid #d8d8d8!important;
  border-radius:16px!important;
  background:#f8f8f8!important;
  color:#1b1b1b!important;
  font-family:"Myriad Pro","Myriad",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.42!important;
  letter-spacing:0!important;
  resize:none!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)!important;
  outline:none!important;
  scrollbar-width:none!important;
}
@media(max-width:380px){
  .rsseo-chat-form{
    padding:9px 10px;
  }
  .rsseo-chat-compose{
    grid-template-columns:minmax(0,1fr) 46px;
  }
  .rsseo-chat-compose button{
    width:46px;
    height:46px;
    min-width:46px;
    min-height:46px;
    padding:12px;
  }
}

.rsseo-chat-form{
  height:auto!important;
}
.rsseo-chat-compose{
  align-items:end!important;
}
.rsseo-chat-compose textarea::-webkit-scrollbar{
  display:none!important;
}


/* =========================================================
   v1.0.11 — FINAL CLIENT COMPOSER OVERRIDES
   Force the same premium auto-growing field on every device.
   ========================================================= */
.rsseo-chat-form{
  min-height:84px!important;
  height:auto!important;
  padding:12px 14px!important;
  display:flex!important;
  align-items:center!important;
}
.rsseo-chat-compose{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 50px!important;
  align-items:end!important;
  gap:9px!important;
}
.rsseo-chat-compose textarea{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:50px!important;
  min-height:50px!important;
  max-height:150px!important;
  margin:0!important;
  padding:14px 16px!important;
  display:block!important;
  overflow-y:hidden!important;
  overflow-x:hidden!important;
  border:1px solid #d9d9d9!important;
  border-radius:16px!important;
  background:#f8f8f8!important;
  color:#202020!important;
  font-family:"Myriad Pro","Myriad",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  resize:none!important;
  box-shadow:none!important;
  outline:none!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.rsseo-chat-compose textarea::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
.rsseo-chat-compose textarea:focus{
  background:#fff!important;
  border-color:#bcbcbc!important;
  box-shadow:0 0 0 3px rgba(0,0,0,.035)!important;
}
.rsseo-chat-compose button{
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  min-height:50px!important;
  margin:0!important;
  padding:14px!important;
  align-self:end!important;
  border-radius:14px!important;
}
@media(max-width:600px){
  .rsseo-chat-form{
    min-height:82px!important;
    padding:10px 12px!important;
  }
  .rsseo-chat-compose{
    grid-template-columns:minmax(0,1fr) 48px!important;
    gap:8px!important;
  }
  .rsseo-chat-compose textarea{
    height:48px!important;
    min-height:48px!important;
    max-height:140px!important;
    padding:13px 14px!important;
    font-size:14px!important;
  }
  .rsseo-chat-compose button{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    padding:13px!important;
  }
}


/* v1.0.12 — dedicated client textarea, protected from theme/Elementor overrides */
.rsseo-chat-root .rsseo-chat-form .rsseo-chat-compose .rsseo-chat-input{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  max-height:150px!important;
  margin:0!important;
  padding:14px 16px!important;
  overflow-y:hidden!important;
  overflow-x:hidden!important;
  resize:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  border:1px solid #d9d9d9!important;
  border-radius:16px!important;
  background:#f8f8f8!important;
  color:#202020!important;
  font-family:"Myriad Pro","Myriad",Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.45!important;
  box-shadow:none!important;
  scrollbar-width:none!important;
}
.rsseo-chat-root .rsseo-chat-form .rsseo-chat-compose .rsseo-chat-input::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
.rsseo-chat-root .rsseo-chat-form .rsseo-chat-compose .rsseo-chat-input::-webkit-resizer{
  display:none!important;
}


/* =========================================================
   v1.0.19 — CHAT MOBILE PLEINEMENT VISIBLE
   - Le popup tient entièrement dans le viewport mobile.
   - Le bouton flottant descend hors écran pendant l'ouverture.
   - Le textarea reste à 16px pour empêcher le zoom iOS.
   ========================================================= */
@media (max-width:700px){

  .rsseo-chat-root{
    right:12px!important;
    bottom:calc(12px + env(safe-area-inset-bottom, 0px))!important;
  }

  /* Le lanceur disparaît vers le bas lorsque le chat est ouvert,
     afin de libérer toute la hauteur utile. */
  .rsseo-chat-root.is-open .rsseo-chat-launcher{
    transform:translateY(calc(90px + env(safe-area-inset-bottom, 0px)))!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  .rsseo-chat-launcher{
    transition:
      transform .24s cubic-bezier(.2,.8,.2,1),
      opacity .18s ease,
      background .2s ease,
      box-shadow .2s ease!important;
  }

  /* Le panneau est fixé au viewport, et non plus positionné
     relativement au bouton flottant. */
  .rsseo-chat-panel{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:max(12px, env(safe-area-inset-top, 0px))!important;
    bottom:max(12px, env(safe-area-inset-bottom, 0px))!important;

    width:auto!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;

    margin:0!important;
    border-radius:22px!important;

    transform-origin:50% 100%!important;
    overflow:hidden!important;
  }

  .rsseo-chat-panel.is-visible{
    display:flex!important;
    flex-direction:column!important;
  }

  .rsseo-chat-head{
    flex:0 0 auto!important;
    min-height:0!important;
    padding:20px 18px 18px!important;
  }

  .rsseo-chat-head h2{
    font-size:21px!important;
    line-height:1.08!important;
  }

  .rsseo-chat-head p{
    margin-top:6px!important;
    font-size:12px!important;
  }

  .rsseo-chat-close{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
  }

  .rsseo-chat-body{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:18px 16px!important;
  }

  .rsseo-chat-form{
    flex:0 0 auto!important;
    min-height:0!important;
    height:auto!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px))!important;
  }

  .rsseo-chat-compose{
    grid-template-columns:minmax(0,1fr) 50px!important;
    align-items:end!important;
    gap:8px!important;
  }

  /* 16px minimum : Safari iOS ne zoome plus au focus. */
  .rsseo-chat-root .rsseo-chat-form .rsseo-chat-compose .rsseo-chat-input,
  .rsseo-chat-compose textarea{
    min-height:50px!important;
    max-height:126px!important;
    padding:13px 15px!important;
    font-size:16px!important;
    line-height:1.35!important;
    border-radius:16px!important;
  }

  .rsseo-chat-compose button{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    border-radius:15px!important;
  }

  .rsseo-chat-quick{
    margin-left:45px!important;
    gap:7px!important;
  }
}

/* Très petits mobiles : maximise encore l'espace utile. */
@media (max-width:390px){

  .rsseo-chat-panel{
    left:8px!important;
    right:8px!important;
    top:max(8px, env(safe-area-inset-top, 0px))!important;
    bottom:max(8px, env(safe-area-inset-bottom, 0px))!important;
    border-radius:20px!important;
  }

  .rsseo-chat-head{
    padding:17px 15px 15px!important;
  }

  .rsseo-chat-head h2{
    font-size:19px!important;
  }

  .rsseo-chat-body{
    padding:15px 13px!important;
  }

  .rsseo-chat-form{
    padding:9px 10px calc(9px + env(safe-area-inset-bottom, 0px))!important;
  }

  .rsseo-chat-root .rsseo-chat-form .rsseo-chat-compose .rsseo-chat-input,
  .rsseo-chat-compose textarea{
    font-size:16px!important;
  }
}


/* v1.0.21 — aucune pastille rouge par défaut */
.rsseo-chat-unread[hidden],
.rsseo-chat-unread:empty,
.rsseo-chat-unread[data-count="0"]{
  display:none!important
}


/* v1.0.39 — la pastille n'existe visuellement que pour un compteur > 0 */
.rsseo-chat-unread[hidden],
.rsseo-chat-unread:empty,
.rsseo-chat-unread[data-count="0"],
.rsseo-chat-unread:not([data-count]){
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
.rsseo-chat-unread[data-count]:not([data-count="0"]){
  visibility:visible;
}
