
:root{
  --sfl-bg:#f6f3ee;
  --sfl-panel:#f7f4ef;
  --sfl-panel-2:#fcfbf8;
  --sfl-line:#ddd5c8;
  --sfl-line-soft:rgba(125,116,103,.12);
  --sfl-text:#35302a;
  --sfl-muted:#746d66;
  --sfl-gold:#b89645;
  --sfl-gold-soft:#d6c08a;
  --sfl-gold-grad:linear-gradient(180deg,#d3bc75 0%,#b69039 100%);
  --sfl-shadow:0 24px 60px rgba(44,38,30,.14);
  --sfl-green:#28c76f;
}

.sfl-widget,
.sfl-widget *{box-sizing:border-box}
.sfl-widget{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:99999;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--sfl-text);
}

.sfl-launcher{
  position:absolute;
  right:10px;
  bottom:86px;
  width:62px;
  height:62px;
  border:1px solid rgba(184,150,69,.22);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,243,233,.94));
  backdrop-filter:blur(10px);
  box-shadow:0 16px 34px rgba(47,41,34,.14), inset 0 1px 0 rgba(255,255,255,.95), inset 0 -10px 16px rgba(184,150,69,.05);
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:.18s transform,.18s box-shadow,.18s background;
  padding:0;
  overflow:hidden;
}
.sfl-launcher::before{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  top:7px;
  height:17px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,0));
  pointer-events:none;
}
.sfl-launcher:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 40px rgba(47,41,34,.16), inset 0 1px 0 rgba(255,255,255,.95), inset 0 -12px 18px rgba(184,150,69,.08);
}
.sfl-icon{width:28px;height:28px;display:block;position:relative;z-index:1}
.sfl-icon svg{
  width:28px;
  height:28px;
  stroke:var(--sfl-gold);
  fill:none;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.8));
}
.sfl-dot{
  position:absolute;
  top:7px;
  right:7px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--sfl-green);
  border:2px solid #fff;
  box-shadow:0 0 0 3px rgba(40,199,111,.12);
  z-index:2;
}

.sfl-panel{
  position:absolute;
  right:0;
  bottom:0;
  width:min(388px,calc(100vw - 28px));
  height:486px;
  max-height:calc(100vh - 36px);
  background:linear-gradient(180deg,var(--sfl-panel-2),var(--sfl-panel));
  border:1px solid rgba(125,116,103,.14);
  border-radius:30px;
  box-shadow:var(--sfl-shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.sfl-header{
  padding:18px 18px 10px;
  background:transparent;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.sfl-head-copy{min-width:0}
.sfl-kicker{display:none}
.sfl-header strong{
  display:inline-block;
  font-size:15px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-.01em;
  color:#2f2a24;
  background:#f6ebad;
  border-radius:8px;
  padding:2px 7px;
}
.sfl-close{
  border:1px solid rgba(122,115,108,.14);
  background:rgba(255,255,255,.82);
  width:42px;
  height:42px;
  border-radius:999px;
  font-size:21px;
  line-height:1;
  color:#3f3932;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(47,41,34,.06);
}

.sfl-notice{
  margin:0 18px 12px;
  padding:16px 18px;
  border:2px dashed rgba(191,168,125,.36);
  border-radius:22px;
  background:rgba(255,255,255,.36);
  font-size:13px;
  line-height:1.5;
  color:#5f5851;
}

.sfl-body{
  padding:0 18px 8px;
  overflow:auto;
  flex:1;
}
.sfl-first-form{display:grid;gap:8px}
.sfl-form-card{
  background:rgba(255,255,255,.62);
  border:1px solid rgba(122,115,108,.09);
  border-radius:24px;
  padding:11px 12px 10px;
  box-shadow:0 8px 20px rgba(47,41,34,.04);
}
.sfl-first-form label{
  display:block;
  margin-bottom:6px;
  font-size:12px;
  line-height:1.2;
  font-weight:600;
  color:#484138;
}
.sfl-first-form label:last-child{margin-bottom:0}
.sfl-first-form span{
  margin-left:4px;
  font-weight:400;
  color:#8a837a;
  font-size:11px;
}
.sfl-first-form input,
.sfl-first-form textarea,
.sfl-reply-form input{
  width:100%;
  margin-top:4px;
  border:1px solid rgba(122,115,108,.12);
  background:rgba(255,255,255,.88);
  border-radius:16px;
  padding:10px 13px;
  font:inherit;
  font-size:14px;
  line-height:1.3;
  outline:none;
  color:#2f2a25;
  box-shadow:none;
  text-transform:none !important;
}
.sfl-first-form textarea{resize:none;min-height:74px}
.sfl-first-form input::placeholder,
.sfl-first-form textarea::placeholder,
.sfl-reply-form input::placeholder{color:#9b948b;text-transform:none !important}
.sfl-first-form input:focus,
.sfl-first-form textarea:focus,
.sfl-reply-form input:focus{
  border-color:rgba(185,151,66,.48);
  box-shadow:0 0 0 3px rgba(185,151,66,.10);
}
.sfl-first-submit{
  justify-self:end;
  border:0;
  border-radius:999px;
  background:var(--sfl-gold-grad);
  color:#fff;
  font-weight:600;
  font-size:14px;
  padding:10px 18px;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(120,90,18,.14);
}

.sfl-messages{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:100%;
  padding:4px 1px 10px;
}
.sfl-bubble{
  max-width:82%;
  padding:11px 13px;
  border-radius:18px;
  line-height:1.42;
  font-size:14px;
  white-space:pre-wrap;
  box-shadow:0 6px 18px rgba(47,41,34,.05);
}
.sfl-bubble.visitor{
  align-self:flex-end;
  background:linear-gradient(180deg,#c9ad63,#ae8931);
  color:#fff;
  border-bottom-right-radius:7px;
}
.sfl-bubble.admin{
  align-self:flex-start;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(122,115,108,.14);
  color:#2e2a25;
  border-bottom-left-radius:7px;
}
.sfl-time{display:block;margin-top:6px;font-size:10px;opacity:.65}

.sfl-reply-form{
  margin:0 18px 10px;
  padding:9px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(122,115,108,.10);
  border-radius:22px;
  display:flex;
  gap:8px;
}
.sfl-reply-form[hidden]{display:none!important}
.sfl-reply-form input{
  margin:0;
  border-radius:15px;
  background:rgba(255,255,255,.9);
  font-size:14px;
  padding:10px 13px;
}
.sfl-reply-form button{
  min-width:52px;
  width:52px;
  height:48px;
  border:0;
  border-radius:15px;
  background:var(--sfl-gold-grad);
  color:#fff;
  font-size:19px;
  cursor:pointer;
  display:grid;
  place-items:center;
  box-shadow:0 8px 18px rgba(120,90,18,.16);
}

.sfl-languages{
  padding:0 18px 12px;
  text-align:center;
  color:#7c756e;
  font-size:12px;
  line-height:1.35;
}

.sfl-error{
  background:#fff1ee;
  color:#8f2d25;
  border:1px solid #ffd0ca;
  padding:10px 11px;
  border-radius:14px;
  font-size:13px;
  margin-bottom:8px;
}

@media(max-width:480px){
  .sfl-widget{
    right:10px;
    bottom:14px;
  }
  .sfl-launcher{
    right:8px;
    bottom:90px;
    width:58px;
    height:58px;
    border-radius:19px;
  }
  .sfl-panel{
    width:min(360px,calc(100vw - 18px));
    height:min(470px,72vh);
    max-height:min(470px,72vh);
    bottom:0;
    right:-2px;
    border-radius:28px;
  }
  .sfl-header{
    padding:16px 16px 9px;
  }
  .sfl-header strong{font-size:14px}
  .sfl-close{
    width:40px;
    height:40px;
    font-size:20px;
  }
  .sfl-notice{
    margin:0 16px 10px;
    padding:15px 16px;
    font-size:13px;
    border-radius:20px;
  }
  .sfl-body{padding:0 16px 8px}
  .sfl-form-card{padding:10px 11px 10px;border-radius:22px}
  .sfl-first-form{gap:7px}
  .sfl-first-form label{font-size:12px;margin-bottom:5px}
  .sfl-first-form input,
  .sfl-first-form textarea,
  .sfl-reply-form input{font-size:14px;padding:9px 12px;border-radius:15px}
  .sfl-first-form textarea{min-height:70px}
  .sfl-first-submit{padding:9px 16px;font-size:14px}
  .sfl-reply-form{margin:0 16px 9px;padding:8px;border-radius:20px}
  .sfl-reply-form button{min-width:50px;width:50px;height:46px;border-radius:14px}
  .sfl-languages{padding:0 16px 11px;font-size:11.5px}
}

/* v1.8 launcher: elegant pill so it does not look like two stacked circles */
#sflWidget .sfl-launcher {
  width: 112px !important;
  height: 46px !important;
  border-radius: 999px !important;
  right: 2px !important;
  bottom: 84px !important;
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(184,150,69,.35) !important;
  box-shadow: 0 12px 28px rgba(47,41,34,.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
#sflWidget .sfl-launcher::after {
  content: "Chat";
  font-size: 14px;
  font-weight: 600;
  color: #4a4035;
}
#sflWidget .sfl-launcher::before { display:none !important; }
#sflWidget .sfl-icon { width:22px !important; height:22px !important; }
#sflWidget .sfl-icon svg { width:22px !important; height:22px !important; stroke:#b89645 !important; }

/* v1.8 strong form rounding/compact fix */
#sflWidget .sfl-first-form input,
#sflWidget .sfl-first-form textarea,
#sflWidget .sfl-reply-form input {
  border-radius: 999px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(122,115,108,.14) !important;
  box-shadow: none !important;
  text-transform: none !important;
}
#sflWidget .sfl-first-form textarea {
  border-radius: 24px !important;
  min-height: 72px !important;
}
#sflWidget .sfl-form-card {
  border-radius: 28px !important;
  padding: 10px 12px !important;
}
#sflWidget .sfl-first-form label { margin-bottom: 5px !important; }
#sflWidget .sfl-first-submit {
  border-radius: 999px !important;
  padding: 10px 22px !important;
  min-height: 42px !important;
}
#sflWidget .sfl-panel { border-radius: 30px !important; }
#sflWidget .sfl-notice { border-radius: 24px !important; }

@media(max-width:480px){
  #sflWidget .sfl-launcher {
    width:96px !important;
    height:42px !important;
    right:0 !important;
    bottom:84px !important;
  }
  #sflWidget .sfl-launcher::after { font-size:13px; }
}


/* v1.9 final overrides: compact rounded form + elegant Chat pill launcher */
#sflWidget .sfl-launcher{
  width:112px !important;
  height:46px !important;
  border-radius:999px !important;
  right:2px !important;
  bottom:84px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(184,150,69,.35) !important;
  box-shadow:0 12px 28px rgba(47,41,34,.12), inset 0 1px 0 rgba(255,255,255,.9) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  overflow:hidden !important;
}
#sflWidget .sfl-launcher::before{display:none !important;}
#sflWidget .sfl-launcher::after{
  content:"Chat";
  font-size:14px;
  font-weight:600;
  color:#4a4035;
  line-height:1;
}
#sflWidget .sfl-icon,
#sflWidget .sfl-icon svg{
  width:22px !important;
  height:22px !important;
}
#sflWidget .sfl-icon svg{stroke:#b89645 !important;}
#sflWidget .sfl-form-card{
  border-radius:28px !important;
  padding:10px 12px !important;
  background:rgba(255,255,255,.72) !important;
}
#sflWidget .sfl-first-form{gap:7px !important;}
#sflWidget .sfl-first-form label{
  margin-bottom:5px !important;
  font-size:12px !important;
}
#sflWidget .sfl-first-form input,
#sflWidget .sfl-first-form textarea,
#sflWidget .sfl-reply-form input{
  border-radius:999px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(122,115,108,.14) !important;
  box-shadow:none !important;
  text-transform:none !important;
  padding:9px 12px !important;
  font-size:14px !important;
}
#sflWidget .sfl-first-form textarea{
  border-radius:24px !important;
  min-height:72px !important;
  padding-top:11px !important;
}
#sflWidget .sfl-first-submit{
  border-radius:999px !important;
  padding:10px 22px !important;
  min-height:42px !important;
}
#sflWidget .sfl-panel{border-radius:30px !important;}
#sflWidget .sfl-notice{border-radius:24px !important;}
#sflWidget .sfl-reply-form button{
  border-radius:50% !important;
  width:48px !important;
  min-width:48px !important;
  height:44px !important;
}
@media(max-width:480px){
  #sflWidget .sfl-launcher{
    width:96px !important;
    height:42px !important;
    right:0 !important;
    bottom:84px !important;
  }
  #sflWidget .sfl-launcher::after{font-size:13px !important;}
}
