/* Premium location-specific WhatsApp contact window */
.bsr-lw-widget{--bsr-wa:#25d366;--bsr-wa-dark:#0c8b51;--bsr-deep:#075e54;position:fixed;right:20px;bottom:22px;z-index:99980;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:inherit}
.bsr-lw-launcher{position:relative;display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 16px 8px 8px;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fff;background:linear-gradient(135deg,#0b7c49 0%,#19aa5d 56%,#36db78 100%);box-shadow:0 20px 46px rgba(16,120,61,.38),0 6px 16px rgba(15,23,42,.2);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;isolation:isolate}
.bsr-lw-launcher:hover,.bsr-lw-launcher:focus-visible{transform:translateY(-2px);box-shadow:0 24px 54px rgba(16,120,61,.46),0 8px 18px rgba(15,23,42,.22);filter:saturate(1.06);outline:none}
.bsr-lw-launcher-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;background:rgba(0,0,0,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);flex:0 0 42px}.bsr-lw-launcher-icon svg{width:27px;height:27px;display:block}
.bsr-lw-launcher-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.08;text-align:left}.bsr-lw-launcher-copy strong{font-size:15px;font-weight:900;letter-spacing:.01em}.bsr-lw-launcher-copy small{margin-top:4px;color:rgba(255,255,255,.88);font-size:10px;font-weight:700;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bsr-lw-launcher-pulse{position:absolute;right:7px;top:7px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#25d366;box-shadow:0 0 0 0 rgba(255,255,255,.55);animation:bsrWaPulse 2.2s infinite}@keyframes bsrWaPulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.55)}70%{box-shadow:0 0 0 9px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.bsr-lw-panel{width:min(410px,calc(100vw - 28px));overflow:hidden;border:1px solid rgba(29,170,96,.22);border-radius:26px;background:#fff;box-shadow:0 28px 74px rgba(15,23,42,.3),0 8px 20px rgba(15,23,42,.14);transform-origin:bottom right;animation:bsrWaIn .2s ease both}.bsr-lw-panel[hidden]{display:none!important}@keyframes bsrWaIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.bsr-lw-panel-head{display:flex;align-items:center;gap:12px;padding:18px 18px 16px;color:#fff;background:linear-gradient(135deg,#064d46 0%,#087b61 50%,#10a56d 100%)}
.bsr-lw-avatar{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:16px;color:#25d366;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.18)}.bsr-lw-avatar svg{width:29px;height:29px}.bsr-lw-panel-head>div{min-width:0;display:flex;flex-direction:column;line-height:1.12}.bsr-lw-panel-head strong{font-size:17px;font-weight:900}.bsr-lw-panel-head small{margin-top:5px;color:rgba(255,255,255,.82);font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bsr-lw-close{margin-left:auto;width:38px;height:38px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.14);font-size:26px;line-height:1;cursor:pointer;transition:background .18s ease,transform .18s ease}.bsr-lw-close:hover,.bsr-lw-close:focus-visible{background:rgba(255,255,255,.25);transform:rotate(4deg);outline:none}
.bsr-lw-panel-body{padding:18px;background:linear-gradient(180deg,#f4fbf7 0%,#fff 64%)}
.bsr-lw-bubble{position:relative;padding:18px;border:1px solid #d4e9de;border-radius:18px 18px 18px 6px;color:#18362b;background:#fff;font-size:14px;font-weight:600;line-height:1.65;box-shadow:0 12px 28px rgba(15,23,42,.07)}.bsr-lw-bubble:before{content:"";position:absolute;left:-7px;top:16px;border-right:8px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;filter:drop-shadow(-1px 0 0 #d4e9de)}
.bsr-lw-meta{display:flex;flex-direction:column;gap:8px;margin:16px 0 18px}.bsr-lw-number,.bsr-lw-email{display:inline-flex;align-items:center;color:#075e54;font-size:15px;font-weight:900;text-decoration:none;letter-spacing:.01em}.bsr-lw-email{font-size:14px;font-weight:700;color:#126e52;word-break:break-word}.bsr-lw-number:hover,.bsr-lw-email:hover{text-decoration:underline}
.bsr-lw-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.bsr-lw-actions.has-email{grid-template-columns:minmax(0,1fr) auto}.bsr-lw-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border-radius:14px;font-size:13px;font-weight:900;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.bsr-lw-action:hover{transform:translateY(-1px)}.bsr-lw-action--whatsapp{gap:7px;color:#fff;background:linear-gradient(135deg,#128c4b,#25d366);box-shadow:0 12px 24px rgba(37,211,102,.26)}.bsr-lw-action--whatsapp:hover{color:#fff;box-shadow:0 15px 30px rgba(37,211,102,.35)}.bsr-lw-action--email{min-width:128px;color:#075e54;border:1px solid #c5e3d2;background:#fff}.bsr-lw-action--email:hover{color:#075e54;background:#eefaf3}
.bsr-lw-trust{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 14px;border-top:1px solid #e8f1eb;color:#61736a;background:#fbfdfb;font-size:10px;font-weight:700;letter-spacing:.02em}.bsr-lw-trust span{width:7px;height:7px;border-radius:50%;background:#25d366;box-shadow:0 0 0 4px rgba(37,211,102,.12)}
@media(max-width:782px){.bsr-lw-widget{right:12px;bottom:14px}.bsr-lw-launcher{min-height:54px;padding:6px 13px 6px 6px}.bsr-lw-panel{border-radius:22px}}
@media(max-width:420px){.bsr-lw-widget{left:10px;right:10px;align-items:stretch}.bsr-lw-launcher{align-self:flex-end}.bsr-lw-panel{width:100%}.bsr-lw-actions.has-email{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.bsr-lw-launcher,.bsr-lw-action,.bsr-lw-panel{transition:none;animation:none}.bsr-lw-launcher-pulse{animation:none}}
.bsr-lw-action--call{color:#fff;background:linear-gradient(135deg,#ec4899,#db2777);box-shadow:0 12px 24px rgba(219,39,119,.28)}.bsr-lw-action--call:hover{color:#fff;box-shadow:0 15px 30px rgba(219,39,119,.38)}


/* Separate pink Call Now launcher. The Call Now action inside the WhatsApp panel remains unchanged. */
.bsr-lw-launcher-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;max-width:calc(100vw - 24px)}
.bsr-lw-call-launcher{display:flex;align-items:center;gap:9px;min-height:58px;padding:8px 15px 8px 8px;border:1px solid rgba(255,255,255,.32);border-radius:999px;color:#fff!important;background:linear-gradient(135deg,#f43f8f 0%,#ec4899 48%,#db2777 100%);box-shadow:0 20px 46px rgba(219,39,119,.34),0 6px 16px rgba(15,23,42,.18);text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.bsr-lw-call-launcher:hover,.bsr-lw-call-launcher:focus-visible{color:#fff!important;transform:translateY(-2px);box-shadow:0 24px 54px rgba(219,39,119,.44),0 8px 18px rgba(15,23,42,.21);filter:saturate(1.06);outline:none}
.bsr-lw-call-launcher-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;color:#fff;background:rgba(0,0,0,.13);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);font-size:22px;line-height:1}
.bsr-lw-call-launcher-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;line-height:1.08;text-align:left}.bsr-lw-call-launcher-copy strong{font-size:15px;font-weight:900;letter-spacing:.01em;white-space:nowrap}.bsr-lw-call-launcher-copy small{max-width:145px;margin-top:4px;overflow:hidden;color:rgba(255,255,255,.9);font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:782px){.bsr-lw-launcher-row{gap:8px}.bsr-lw-call-launcher{min-height:54px;padding:6px 12px 6px 6px}.bsr-lw-call-launcher-icon{width:42px;height:42px;flex-basis:42px}}
@media(max-width:520px){.bsr-lw-launcher-row{width:100%;display:grid;grid-template-columns:1fr 1fr}.bsr-lw-call-launcher,.bsr-lw-launcher{width:100%;min-width:0;justify-content:flex-start}.bsr-lw-call-launcher-copy small,.bsr-lw-launcher-copy small{max-width:105px}}
@media(max-width:380px){.bsr-lw-call-launcher,.bsr-lw-launcher{padding-right:8px}.bsr-lw-call-launcher-copy small,.bsr-lw-launcher-copy small{display:none}}


/* ============================================================
   HANOI ESCORTS V2.5 - THEME MATCHED WHATSAPP
   Dark graphite + champagne gold + burgundy/pink accents.
============================================================ */
.bsr-lw-widget{--bsr-prg-dark:#201d27;--bsr-prg-panel:#17151d;--bsr-prg-gold:#e1b94f;--bsr-prg-gold-soft:#f5d978;--bsr-prg-pink:#f23d68;--bsr-prg-burgundy:#6e203b;--bsr-prg-border:#3a3441;}
.bsr-lw-launcher{
  min-height:56px!important;
  border:1px solid rgba(225,185,79,.72)!important;
  background:linear-gradient(135deg,#201d27 0%,#2b2531 55%,#17151d 100%)!important;
  box-shadow:0 18px 42px rgba(17,15,22,.38),0 0 0 1px rgba(225,185,79,.12)!important;
  color:#fff!important;
}
.bsr-lw-launcher:hover,.bsr-lw-launcher:focus-visible{
  border-color:var(--bsr-prg-gold)!important;
  box-shadow:0 22px 52px rgba(17,15,22,.48),0 0 0 3px rgba(225,185,79,.12)!important;
  filter:none!important;
}
.bsr-lw-launcher-icon{
  color:#201d27!important;
  background:linear-gradient(135deg,#f5d978 0%,#e1b94f 58%,#bd8d27 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 6px 16px rgba(225,185,79,.22)!important;
}
.bsr-lw-launcher-icon svg path:first-child{fill:currentColor!important;}
.bsr-lw-launcher-copy strong{color:#fff!important;}
.bsr-lw-launcher-copy small{color:#d8d1dc!important;}
.bsr-lw-launcher-pulse{border-color:#201d27!important;background:var(--bsr-prg-pink)!important;box-shadow:0 0 0 0 rgba(242,61,104,.42)!important;}
@keyframes bsrWaPulse{0%{box-shadow:0 0 0 0 rgba(242,61,104,.44)}70%{box-shadow:0 0 0 9px rgba(242,61,104,0)}100%{box-shadow:0 0 0 0 rgba(242,61,104,0)}}

.bsr-lw-panel{
  border:1px solid rgba(225,185,79,.48)!important;
  background:#fff!important;
  box-shadow:0 30px 78px rgba(17,15,22,.34),0 10px 26px rgba(17,15,22,.16)!important;
}
.bsr-lw-panel-head{
  position:relative;
  color:#fff!important;
  background:linear-gradient(135deg,#17151d 0%,#201d27 55%,#342532 100%)!important;
  border-bottom:2px solid var(--bsr-prg-gold)!important;
}
.bsr-lw-panel-head:after{content:"";position:absolute;left:18px;right:18px;bottom:-2px;height:2px;background:linear-gradient(90deg,var(--bsr-prg-gold),var(--bsr-prg-pink),var(--bsr-prg-gold));opacity:.85;}
.bsr-lw-avatar{
  color:#201d27!important;
  background:linear-gradient(135deg,#f8df94,#e1b94f)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.22)!important;
}
.bsr-lw-close{color:#f8df94!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(225,185,79,.26)!important;}
.bsr-lw-close:hover,.bsr-lw-close:focus-visible{background:rgba(225,185,79,.15)!important;}
.bsr-lw-panel-body{background:linear-gradient(180deg,#fffaf0 0%,#ffffff 68%)!important;}
.bsr-lw-bubble{border-color:#eadba9!important;color:#29232e!important;background:#fff!important;box-shadow:0 12px 28px rgba(32,29,39,.08)!important;}
.bsr-lw-bubble:before{filter:drop-shadow(-1px 0 0 #eadba9)!important;}
.bsr-lw-number{color:#6e203b!important;}
.bsr-lw-email{color:#5d4a17!important;}
.bsr-lw-action{border-radius:12px!important;}
.bsr-lw-action--whatsapp{
  color:#201d27!important;
  border:1px solid #c99728!important;
  background:linear-gradient(135deg,#f7df94 0%,#e1b94f 55%,#c99728 100%)!important;
  box-shadow:0 12px 26px rgba(201,151,40,.26)!important;
}
.bsr-lw-action--whatsapp:hover{color:#17151d!important;box-shadow:0 16px 32px rgba(201,151,40,.36)!important;}
.bsr-lw-action--call{
  color:#fff!important;
  border:1px solid rgba(242,61,104,.52)!important;
  background:linear-gradient(135deg,#7a2440 0%,#5c1b31 100%)!important;
  box-shadow:0 12px 25px rgba(92,27,49,.24)!important;
}
.bsr-lw-action--email{color:#201d27!important;border:1px solid #dac27c!important;background:#fffaf0!important;}
.bsr-lw-action--email:hover{color:#201d27!important;background:#f9ecc6!important;}
.bsr-lw-trust{border-top-color:#ece2c6!important;color:#766b52!important;background:#fffdf7!important;}
.bsr-lw-trust span{background:var(--bsr-prg-gold)!important;box-shadow:0 0 0 4px rgba(225,185,79,.13)!important;}

.bsr-lw-call-launcher{
  min-height:56px!important;
  border:1px solid rgba(242,61,104,.46)!important;
  background:linear-gradient(135deg,#7a2440 0%,#5c1b31 55%,#3f1728 100%)!important;
  box-shadow:0 18px 42px rgba(92,27,49,.28),0 0 0 1px rgba(242,61,104,.08)!important;
}
.bsr-lw-call-launcher:hover,.bsr-lw-call-launcher:focus-visible{box-shadow:0 22px 52px rgba(92,27,49,.38),0 0 0 3px rgba(242,61,104,.10)!important;filter:none!important;}
.bsr-lw-call-launcher-icon{color:#fff!important;background:rgba(225,185,79,.16)!important;border:1px solid rgba(225,185,79,.42)!important;}
.bsr-lw-call-launcher-copy strong{color:#fff!important;}
.bsr-lw-call-launcher-copy small{color:#e7dce2!important;}


/* ============================================================
   HANOI ESCORTS V2.7 — PREMIUM WHATSAPP, SITE-MATCHED PALETTE
   Graphite / champagne-gold / burgundy. No default green UI.
============================================================ */
.bsr-lw-widget{
  --prg-ink:#17151d;
  --prg-charcoal:#201d27;
  --prg-charcoal-2:#2b2531;
  --prg-gold:#e1b94f;
  --prg-gold-light:#f5d978;
  --prg-gold-deep:#b98722;
  --prg-burgundy:#6e203b;
  --prg-pink:#f23d68;
  --prg-cream:#fff9eb;
}

/* Main floating launcher */
.bsr-lw-launcher{
  min-height:58px!important;
  padding:7px 17px 7px 7px!important;
  gap:11px!important;
  overflow:hidden!important;
  border:1px solid rgba(225,185,79,.72)!important;
  border-radius:18px!important;
  color:#fff!important;
  background:
    linear-gradient(110deg,rgba(225,185,79,.08),transparent 34%),
    linear-gradient(135deg,var(--prg-charcoal) 0%,var(--prg-charcoal-2) 55%,var(--prg-ink) 100%)!important;
  box-shadow:0 16px 34px rgba(23,21,29,.34),0 0 0 1px rgba(225,185,79,.08)!important;
}
.bsr-lw-launcher::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,var(--prg-gold-light),var(--prg-gold-deep))!important;
}
.bsr-lw-launcher:hover,.bsr-lw-launcher:focus-visible{
  transform:translateY(-2px)!important;
  border-color:var(--prg-gold-light)!important;
  background:
    linear-gradient(110deg,rgba(225,185,79,.12),transparent 38%),
    linear-gradient(135deg,#28222e 0%,#342a38 55%,#17151d 100%)!important;
  box-shadow:0 21px 45px rgba(23,21,29,.42),0 0 0 3px rgba(225,185,79,.10)!important;
  filter:none!important;
}
.bsr-lw-launcher-icon{
  width:43px!important;
  height:43px!important;
  flex:0 0 43px!important;
  color:var(--prg-ink)!important;
  border:1px solid rgba(255,255,255,.44)!important;
  background:linear-gradient(145deg,var(--prg-gold-light) 0%,var(--prg-gold) 55%,var(--prg-gold-deep) 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.20),0 7px 18px rgba(185,135,34,.24)!important;
}
.bsr-lw-launcher-icon svg{width:27px!important;height:27px!important;}
.bsr-lw-launcher-icon svg path:first-child{fill:currentColor!important;}
.bsr-lw-launcher-icon svg path:last-child{fill:#fff!important;}
.bsr-lw-launcher-copy strong{
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
}
.bsr-lw-launcher-copy small{
  margin-top:5px!important;
  color:#d8cfae!important;
  font-size:10px!important;
  font-weight:750!important;
}
.bsr-lw-launcher-pulse{
  right:8px!important;
  top:8px!important;
  width:8px!important;
  height:8px!important;
  border:1.5px solid #fff!important;
  background:var(--prg-pink)!important;
  box-shadow:0 0 0 0 rgba(242,61,104,.34)!important;
}
@keyframes bsrWaPulse{
  0%{box-shadow:0 0 0 0 rgba(242,61,104,.38)}
  70%{box-shadow:0 0 0 8px rgba(242,61,104,0)}
  100%{box-shadow:0 0 0 0 rgba(242,61,104,0)}
}

/* Popup */
.bsr-lw-panel{
  border:1px solid rgba(225,185,79,.56)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 30px 78px rgba(23,21,29,.34),0 10px 24px rgba(23,21,29,.15)!important;
}
.bsr-lw-panel-head{
  position:relative!important;
  padding:17px 18px 15px!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--prg-ink) 0%,var(--prg-charcoal) 55%,#352432 100%)!important;
  border-bottom:2px solid var(--prg-gold)!important;
}
.bsr-lw-panel-head::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:-2px;
  height:2px;
  background:linear-gradient(90deg,var(--prg-gold),var(--prg-pink),var(--prg-gold));
}
.bsr-lw-avatar{
  color:var(--prg-ink)!important;
  background:linear-gradient(145deg,var(--prg-gold-light),var(--prg-gold))!important;
  box-shadow:0 8px 20px rgba(0,0,0,.22)!important;
}
.bsr-lw-avatar svg path:first-child{fill:currentColor!important;}
.bsr-lw-avatar svg path:last-child{fill:#fff!important;}
.bsr-lw-close{
  color:var(--prg-gold-light)!important;
  border:1px solid rgba(225,185,79,.28)!important;
  background:rgba(255,255,255,.06)!important;
}
.bsr-lw-close:hover,.bsr-lw-close:focus-visible{background:rgba(225,185,79,.13)!important;}
.bsr-lw-panel-body{background:linear-gradient(180deg,var(--prg-cream) 0%,#fff 72%)!important;}
.bsr-lw-bubble{
  color:#2b2630!important;
  border-color:#ead9a6!important;
  background:#fff!important;
  box-shadow:0 12px 28px rgba(32,29,39,.08)!important;
}
.bsr-lw-bubble::before{filter:drop-shadow(-1px 0 0 #ead9a6)!important;}
.bsr-lw-number{color:var(--prg-burgundy)!important;}
.bsr-lw-email{color:#6f5617!important;}

.bsr-lw-action--whatsapp{
  color:var(--prg-ink)!important;
  border:1px solid var(--prg-gold-deep)!important;
  background:linear-gradient(135deg,var(--prg-gold-light) 0%,var(--prg-gold) 58%,#c8942a 100%)!important;
  box-shadow:0 12px 26px rgba(185,135,34,.25)!important;
}
.bsr-lw-action--whatsapp:hover{color:#111!important;box-shadow:0 16px 32px rgba(185,135,34,.34)!important;}
.bsr-lw-action--call{
  color:#fff!important;
  border:1px solid rgba(242,61,104,.44)!important;
  background:linear-gradient(135deg,#7a2440 0%,#5c1b31 100%)!important;
  box-shadow:0 12px 25px rgba(92,27,49,.23)!important;
}
.bsr-lw-action--email{
  color:var(--prg-charcoal)!important;
  border:1px solid #dbc47f!important;
  background:#fffaf0!important;
}
.bsr-lw-action--email:hover{color:var(--prg-charcoal)!important;background:#f8ebc4!important;}
.bsr-lw-trust{
  color:#74684b!important;
  border-top-color:#eadfbe!important;
  background:#fffdf7!important;
}
.bsr-lw-trust span{
  background:var(--prg-gold)!important;
  box-shadow:0 0 0 4px rgba(225,185,79,.13)!important;
}

/* Separate call launcher matches the site's burgundy secondary accent. */
.bsr-lw-call-launcher{
  border:1px solid rgba(225,185,79,.32)!important;
  background:linear-gradient(135deg,#6e203b 0%,#51182d 58%,#35121f 100%)!important;
  box-shadow:0 16px 34px rgba(81,24,45,.26)!important;
}
.bsr-lw-call-launcher-icon{
  color:var(--prg-gold-light)!important;
  border:1px solid rgba(225,185,79,.38)!important;
  background:rgba(225,185,79,.09)!important;
}

@media(max-width:782px){
  .bsr-lw-widget{right:12px;bottom:14px;}
  .bsr-lw-launcher{min-height:54px!important;border-radius:16px!important;padding:6px 13px 6px 6px!important;}
  .bsr-lw-launcher-icon{width:41px!important;height:41px!important;flex-basis:41px!important;}
}
@media(max-width:520px){
  .bsr-lw-launcher-row{width:auto!important;display:flex!important;grid-template-columns:none!important;}
  .bsr-lw-launcher{width:auto!important;min-width:164px!important;justify-content:flex-start!important;}
  .bsr-lw-call-launcher{display:none!important;}
}
