/* Real Estate Quick Chat */
#reqc-chat-root, #reqc-chat-root * { box-sizing:border-box; }
#reqc-chat-root { --reqc-brand:#138f83; font-family:Arial,Helvetica,sans-serif; z-index:999999; }
.reqc-launcher { position:fixed; right:22px; bottom:22px; z-index:999999; border:0; border-radius:999px; background:var(--reqc-brand); color:#fff; padding:14px 19px; display:flex; align-items:center; gap:9px; box-shadow:0 5px 20px rgba(0,0,0,.22); font-size:15px; font-weight:600; cursor:pointer; }
.reqc-launcher-icon { font-size:20px; line-height:1; }
.reqc-panel { position:fixed; right:22px; bottom:84px; width:min(450px,calc(100vw - 28px)); height:min(680px,calc(100dvh - 110px)); min-height:410px; background:#f7f7f7; border:1px solid #e0e0e0; border-radius:13px 13px 5px 5px; box-shadow:0 8px 35px rgba(0,0,0,.25); overflow:hidden; z-index:1000000; display:none; flex-direction:column; }
.reqc-panel.is-open { display:flex; }
.reqc-header { height:86px; flex:0 0 86px; background:var(--reqc-brand); display:flex; align-items:center; gap:13px; padding:12px 18px; color:#fff; }
.reqc-avatar { width:56px; height:56px; border-radius:50%; overflow:hidden; background:rgba(255,255,255,.25); border:2px solid rgba(255,255,255,.55); display:flex; align-items:center; justify-content:center; flex:0 0 56px; color:#fff; font-weight:700; }
.reqc-avatar img { width:100%; height:100%; object-fit:cover; }
.reqc-agent { min-width:0; flex:1; }
.reqc-agent strong { display:block; font-size:21px; line-height:1.25; font-weight:500; color:#fff; }
.reqc-agent small { display:block; margin-top:4px; font-size:11px; color:#fff; opacity:.92; }
.reqc-online-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#a9f1bc; margin-right:4px; }
.reqc-close { border:0; background:transparent; color:#fff; font-size:34px; line-height:1; padding:0 0 3px 8px; cursor:pointer; }
.reqc-chat-body { flex:1; overflow:auto; padding:20px 22px 16px; background-color:#f7f7f7; background-image:radial-gradient(circle at 15% 20%,rgba(19,143,131,.045) 0 2px,transparent 3px),radial-gradient(circle at 75% 55%,rgba(19,143,131,.04) 0 3px,transparent 4px); background-size:34px 34px,45px 45px; }
.reqc-messages { display:flex; flex-direction:column; align-items:flex-start; gap:11px; margin-bottom:22px; }
.reqc-message { background:#fff; color:#606060; border-radius:18px; padding:12px 16px; max-width:95%; font-size:16px; line-height:1.35; box-shadow:0 1px 2px rgba(0,0,0,.025); overflow-wrap:anywhere; white-space:pre-wrap; }
.reqc-message.user { align-self:flex-end; background:var(--reqc-brand); color:#fff; border-bottom-right-radius:5px; }
.reqc-quick-replies,.reqc-choice-row { display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px 10px; padding-bottom:10px; }
.reqc-quick-replies button,.reqc-choice-row button { appearance:none; border:2px solid var(--reqc-brand); border-radius:999px; background:#fff; color:#111; padding:8px 17px; font-size:16px; line-height:1.25; cursor:pointer; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.reqc-quick-replies button:hover,.reqc-choice-row button:hover { background:var(--reqc-brand); color:#fff; }
.reqc-step { margin:0 0 12px; }
.reqc-step[hidden],.reqc-quick-replies[hidden],.reqc-lead-form[hidden] { display:none!important; }
.reqc-step p { background:#fff; border-radius:18px; padding:12px 16px; margin:0 0 12px; max-width:95%; color:#606060; font-size:16px; line-height:1.35; }
.reqc-choice-row { padding-bottom:2px; }
.reqc-config-options { gap:12px 10px; }
.reqc-inline-input { display:flex; align-items:center; gap:8px; }
.reqc-inline-input input { min-width:0; flex:1; height:48px; border:1px solid #999; border-radius:6px; background:#fff; padding:8px 10px; font:inherit; font-size:15px; color:#222; }
.reqc-inline-input button { border:0; border-radius:50%; width:51px; height:51px; flex:0 0 51px; background:var(--reqc-brand); color:#fff; font-size:15px; font-weight:600; cursor:pointer; }
.reqc-time-note,.reqc-phone-help { display:block; margin:7px 0 0; color:#777; font-size:11px; }
.reqc-field-error { background:transparent!important; padding:0!important; margin:5px 0!important; color:#b42318!important; font-size:12px!important; }
.reqc-lead-form { margin:8px 0 14px; background:#fff; padding:15px; border-radius:12px; box-shadow:0 1px 4px rgba(0,0,0,.07); }
.reqc-lead-form p { margin:0 0 12px; color:#555; font-size:15px; line-height:1.4; }
.reqc-lead-form label { display:block; font-size:13px; font-weight:600; margin:10px 0 5px; color:#333; }
.reqc-lead-form label span { color:#c62828; }
.reqc-lead-form input,.reqc-lead-form select { display:block; width:100%; max-width:100%; min-height:42px; border:1px solid #d1d5db; border-radius:6px; padding:9px 10px; font:inherit; font-size:14px; color:#222; background:#fff; }
.reqc-phone-row { display:flex; align-items:stretch; gap:7px; }
.reqc-phone-row #reqc-dial-code { display:flex; align-items:center; justify-content:center; min-width:54px; border:1px solid #d1d5db; border-radius:6px; padding:7px; background:#f6f6f6; color:#333; font-size:14px; }
.reqc-phone-row input { flex:1; min-width:0; }
.reqc-submit { display:block; width:100%; border:0; border-radius:7px; margin-top:13px; padding:12px; background:var(--reqc-brand); color:#fff; font-size:15px; font-weight:600; cursor:pointer; }
.reqc-submit:disabled { opacity:.65; cursor:wait; }
.reqc-form-status { font-size:13px!important; margin:8px 0 0!important; }
.reqc-footer { flex:0 0 auto; padding:9px 12px; text-align:center; background:#fff; border-top:1px solid #ececec; color:#777; font-size:10px; line-height:1.4; }
@media(max-width:600px) {
 .reqc-launcher { right:14px; bottom:14px; padding:12px 15px; font-size:14px; }
 .reqc-panel { right:0; bottom:0; width:100vw; height:min(86dvh,760px); min-height:390px; border-radius:15px 15px 0 0; }
 .reqc-header { height:76px; flex-basis:76px; padding:10px 15px; }
 .reqc-avatar { width:50px; height:50px; flex-basis:50px; }
 .reqc-agent strong { font-size:19px; }
 .reqc-chat-body { padding:17px 16px 14px; }
 .reqc-message,.reqc-step p { font-size:15px; }
 .reqc-quick-replies,.reqc-choice-row { gap:10px 8px; }
 .reqc-quick-replies button,.reqc-choice-row button { font-size:14px; padding:8px 13px; }
}


/* v1.2 responsive polish + WhatsApp-inspired doodle wallpaper */
#reqc-chat-root .reqc-panel {
  width: min(440px, calc(100vw - 32px));
  height: min(690px, calc(100dvh - 105px));
  min-height: 420px;
  right: 18px;
  bottom: 82px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
}
#reqc-chat-root .reqc-chat-body {
  background-color: #efeae2;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23b9b1a5' stroke-opacity='.23' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 26l8-8 8 8-8 8zM100 19c8-7 17 3 10 10l-10 10-10-10c-7-7 2-17 10-10zM143 52l12 3-3 12-12-3zM25 91c5-8 15-4 14 4l-2 12-11-4zM78 75l18 2-2 18-18-2zM120 112c0-8 12-8 12 0v12h-12zM41 145c9-8 19 2 11 10l-8 8-8-8c-4-4-1-8 5-10zM148 151l12-8 7 12-12 8z'/%3E%3Cpath d='M54 42l8-4 8 4-3 9-8 2zM115 75l8-7 7 8-8 8zM15 125l12-3 5 9-12 5zM86 139l8-7 8 7-8 7zM153 20l8 8-8 8-8-8z'/%3E%3Ccircle cx='68' cy='115' r='8'/%3E%3Cpath d='M64 115h8M68 111v8M105 151l5-5 5 5-5 5zM34 60c6-7 14 1 7 8l-7 7-7-7c-7-7 1-15 7-8z'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 180px 180px;
}
#reqc-chat-root .reqc-header {
  min-width: 0;
}
#reqc-chat-root .reqc-agent strong {
  overflow: hidden;
  text-overflow: ellipsis;
}
#reqc-chat-root .reqc-chat-body {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
#reqc-chat-root .reqc-quick-replies button,
#reqc-chat-root .reqc-choice-row button {
  max-width: 100%;
  overflow-wrap: anywhere;
}
#reqc-chat-root .reqc-inline-input input {
  min-width: 0;
  max-width: 100%;
}
@media (max-width: 600px) {
  #reqc-chat-root .reqc-panel {
    inset: 0;
    width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    min-height: 0;
    border: 0;
    border-radius: 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  #reqc-chat-root .reqc-header {
    flex-basis: calc(76px + env(safe-area-inset-top, 0px));
    height: calc(76px + env(safe-area-inset-top, 0px));
    padding-top: calc(10px + env(safe-area-inset-top, 0px));
  }
  #reqc-chat-root .reqc-chat-body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 15px 14px 18px;
  }
  #reqc-chat-root .reqc-message,
  #reqc-chat-root .reqc-step p {
    max-width: 92%;
    font-size: 15px;
  }
  #reqc-chat-root .reqc-quick-replies {
    display: flex;
    gap: 9px;
  }
  #reqc-chat-root .reqc-quick-replies button,
  #reqc-chat-root .reqc-choice-row button {
    font-size: 14px;
    padding: 9px 13px;
  }
  #reqc-chat-root .reqc-footer {
    padding-bottom: calc(9px + env(safe-area-inset-bottom, 0px));
  }
  #reqc-chat-root .reqc-launcher {
    right: 14px;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  }
}
@media (max-width: 360px) {
  #reqc-chat-root .reqc-header { gap: 9px; padding-left: 12px; padding-right: 12px; }
  #reqc-chat-root .reqc-avatar { width: 44px; height: 44px; flex-basis: 44px; }
  #reqc-chat-root .reqc-agent strong { font-size: 17px; }
  #reqc-chat-root .reqc-quick-replies button,
  #reqc-chat-root .reqc-choice-row button { font-size: 13px; padding: 8px 10px; }
}


/* v1.3.0 premium compact widget sizing and brand-consistent hover states */
#reqc-chat-root .reqc-panel {
  width: min(360px, calc(100vw - 36px));
  height: min(560px, calc(100dvh - 100px));
  min-height: 390px;
  right: 18px;
  bottom: 78px;
  border-radius: 16px;
  box-shadow: 0 16px 44px rgba(25, 40, 38, .20), 0 3px 10px rgba(25, 40, 38, .08);
  border: 1px solid rgba(24, 75, 70, .13);
}
#reqc-chat-root .reqc-header {
  height: 70px;
  flex-basis: 70px;
  padding: 10px 13px;
  gap: 10px;
}
#reqc-chat-root .reqc-avatar {
  width: 44px;
  height: 44px;
  flex-basis: 44px;
}
#reqc-chat-root .reqc-agent strong {
  font-size: 17px;
  letter-spacing: -.2px;
}
#reqc-chat-root .reqc-agent small {
  font-size: 10px;
}
#reqc-chat-root .reqc-close {
  font-size: 27px;
  padding-left: 5px;
}
#reqc-chat-root .reqc-close:hover,
#reqc-chat-root .reqc-close:focus-visible {
  color: #d7fffa;
  background: rgba(0, 0, 0, .10);
  border-radius: 999px;
}
#reqc-chat-root .reqc-chat-body {
  padding: 16px 15px 13px;
}
#reqc-chat-root .reqc-messages {
  gap: 9px;
  margin-bottom: 17px;
}
#reqc-chat-root .reqc-message,
#reqc-chat-root .reqc-step p {
  font-size: 14px;
  line-height: 1.4;
  padding: 10px 12px;
  border-radius: 15px;
}
#reqc-chat-root .reqc-quick-replies {
  gap: 8px;
  padding-bottom: 8px;
}
#reqc-chat-root .reqc-quick-replies button,
#reqc-chat-root .reqc-choice-row button {
  font-size: 13px;
  font-weight: 600;
  padding: 8px 12px;
  border-width: 1px;
  border-radius: 999px;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
#reqc-chat-root .reqc-quick-replies button:hover,
#reqc-chat-root .reqc-quick-replies button:focus-visible,
#reqc-chat-root .reqc-choice-row button:hover,
#reqc-chat-root .reqc-choice-row button:focus-visible {
  background: #08796f;
  border-color: #08796f;
  color: #fff;
  outline: none;
}
#reqc-chat-root .reqc-quick-replies button:active,
#reqc-chat-root .reqc-choice-row button:active {
  transform: translateY(1px);
}
#reqc-chat-root .reqc-inline-input input {
  height: 42px;
  font-size: 13px;
}
#reqc-chat-root .reqc-inline-input button {
  width: 44px;
  height: 44px;
  flex-basis: 44px;
  font-size: 13px;
}
#reqc-chat-root .reqc-lead-form {
  padding: 12px;
  border-radius: 12px;
}
#reqc-chat-root .reqc-lead-form p {
  font-size: 13px;
}
#reqc-chat-root .reqc-lead-form label {
  font-size: 12px;
  margin-top: 8px;
}
#reqc-chat-root .reqc-lead-form input,
#reqc-chat-root .reqc-lead-form select {
  min-height: 38px;
  font-size: 13px;
}
#reqc-chat-root .reqc-submit {
  padding: 10px;
  font-size: 13px;
}
#reqc-chat-root .reqc-footer {
  padding: 8px 10px;
  font-size: 9px;
}
#reqc-chat-root .reqc-launcher {
  padding: 12px 16px;
  font-size: 13px;
  box-shadow: 0 8px 24px rgba(14, 86, 79, .24);
}
#reqc-chat-root .reqc-launcher:hover,
#reqc-chat-root .reqc-launcher:focus-visible {
  background: #08796f;
  color: #fff;
  outline: 2px solid rgba(19, 143, 131, .20);
  outline-offset: 2px;
}
@media (max-width: 600px) {
  #reqc-chat-root .reqc-panel {
    inset: auto 10px 10px auto;
    width: min(380px, calc(100vw - 20px));
    height: min(620px, calc(100dvh - 24px));
    max-height: calc(100dvh - 24px);
    min-height: 370px;
    border-radius: 16px;
    padding-bottom: 0;
  }
  #reqc-chat-root .reqc-header {
    height: 66px;
    flex-basis: 66px;
    padding: 9px 12px;
  }
  #reqc-chat-root .reqc-avatar {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }
  #reqc-chat-root .reqc-agent strong {
    font-size: 16px;
  }
  #reqc-chat-root .reqc-chat-body {
    padding: 13px 12px 12px;
  }
  #reqc-chat-root .reqc-quick-replies button,
  #reqc-chat-root .reqc-choice-row button {
    font-size: 12px;
    padding: 8px 10px;
  }
}
@media (max-width: 380px) {
  #reqc-chat-root .reqc-panel {
    inset: auto 6px 6px auto;
    width: calc(100vw - 12px);
    height: min(600px, calc(100dvh - 12px));
    max-height: calc(100dvh - 12px);
  }
}


/* v1.5.0: close control alignment and consistent dark-teal brand hover */
#reqc-chat-root .reqc-header {
  display: flex;
  align-items: center;
  min-height: 70px;
  overflow: hidden;
}
#reqc-chat-root .reqc-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  min-width: 38px;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 25px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  box-shadow: none;
  transform: none;
}
#reqc-chat-root .reqc-close:hover,
#reqc-chat-root .reqc-close:focus,
#reqc-chat-root .reqc-close:focus-visible,
#reqc-chat-root .reqc-close:active {
  background: #08796f !important;
  color: #fff !important;
  border-color: #08796f !important;
  outline: 0;
  box-shadow: none;
  transform: none;
}
#reqc-chat-root .reqc-launcher,
#reqc-chat-root .reqc-inline-input button,
#reqc-chat-root .reqc-submit {
  background-color: var(--reqc-brand, #138f83);
  border-color: var(--reqc-brand, #138f83);
  color: #fff;
}
#reqc-chat-root .reqc-launcher:hover,
#reqc-chat-root .reqc-launcher:focus,
#reqc-chat-root .reqc-launcher:focus-visible,
#reqc-chat-root .reqc-launcher:active,
#reqc-chat-root .reqc-inline-input button:hover,
#reqc-chat-root .reqc-inline-input button:focus,
#reqc-chat-root .reqc-inline-input button:focus-visible,
#reqc-chat-root .reqc-inline-input button:active,
#reqc-chat-root .reqc-submit:hover,
#reqc-chat-root .reqc-submit:focus,
#reqc-chat-root .reqc-submit:focus-visible,
#reqc-chat-root .reqc-submit:active {
  background-color: #08796f !important;
  border-color: #08796f !important;
  color: #fff !important;
  outline: none;
  box-shadow: none;
}
#reqc-chat-root .reqc-quick-replies button,
#reqc-chat-root .reqc-choice-row button {
  accent-color: var(--reqc-brand, #138f83);
}
#reqc-chat-root .reqc-quick-replies button:hover,
#reqc-chat-root .reqc-quick-replies button:focus,
#reqc-chat-root .reqc-quick-replies button:focus-visible,
#reqc-chat-root .reqc-choice-row button:hover,
#reqc-chat-root .reqc-choice-row button:focus,
#reqc-chat-root .reqc-choice-row button:focus-visible {
  background: #08796f !important;
  border-color: #08796f !important;
  color: #fff !important;
  outline: none;
  box-shadow: 0 3px 8px rgba(8, 121, 111, .16);
}
#reqc-chat-root .reqc-phone-row #reqc-dial-code {
  color: #08796f;
  border-color: rgba(19, 143, 131, .28);
}
@media (min-width: 601px) {
  #reqc-chat-root .reqc-header {
    padding-right: 12px;
  }
  #reqc-chat-root .reqc-close {
    align-self: center;
  }
}
@media (max-width: 600px) {
  #reqc-chat-root .reqc-header {
    min-height: 66px;
    height: 66px;
    flex-basis: 66px;
    padding: 9px 12px;
  }
  #reqc-chat-root .reqc-close {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
    min-width: 36px;
    font-size: 23px;
  }
}
