/* Contact launcher: one quiet "Chat with us" pill (luxury-hotel pattern) that opens a small card
   with Live chat (LivingSol), WhatsApp and Messenger. The LivingSol button itself stays hidden
   until its panel is open (see /assets/contact-dock.js). */
/* Montserrat 500 (SIL OFL) for the card title; same files as the Tesori header. */
@font-face {
  font-family: "Montserrat Nav";
  src: url(/assets/fonts/montserrat-vietnamese-500.woff2) format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: "Montserrat Nav";
  src: url(/assets/fonts/montserrat-latin-ext-500.woff2) format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Montserrat Nav";
  src: url(/assets/fonts/montserrat-latin-500.woff2) format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.sol-chat {
  --sc-ink: #373635;
  --sc-text: rgba(55, 54, 53, .72);
  --sc-surface: rgba(250, 247, 244, .92);
  --sc-line: rgba(55, 54, 53, .12);
  --sc-edge: 20px;
  position: fixed;
  right: var(--sc-edge);
  bottom: var(--sc-edge);
  z-index: 2147483000;
  font-family: Montserrat, system-ui, sans-serif;
  color: var(--sc-ink);
}
.sol-chat[data-livechat-open="true"] { display: none; }

.sol-chat__launcher {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 44px;
  padding: 0 22px 0 18px;
  border: 1px solid rgba(255, 255, 255, .6);
  border-radius: 999px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .52));
  -webkit-backdrop-filter: blur(18px) saturate(180%);
  backdrop-filter: blur(18px) saturate(180%);
  color: var(--sc-ink);
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .14em;
  text-transform: uppercase;
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, .9),
    inset 0 -1px 3px rgba(0, 0, 0, .06),
    0 10px 28px rgba(20, 16, 12, .18),
    0 2px 6px rgba(20, 16, 12, .10);
  cursor: pointer;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
/* specular sheen across the top half */
.sol-chat__launcher::before {
  content: "";
  position: absolute;
  inset: 1px 10px 50% 10px;
  border-radius: 999px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, .75), rgba(255, 255, 255, 0));
  pointer-events: none;
}
.sol-chat__launcher span { position: relative; }
.sol-chat__logo { position: relative; width: 16px; height: 16px; margin-right: 9px; flex: none; }
.sol-chat__launcher:hover { transform: translateY(-1px); box-shadow: inset 0 1px 1px rgba(255, 255, 255, .95), inset 0 -1px 3px rgba(0, 0, 0, .06), 0 14px 32px rgba(20, 16, 12, .22), 0 3px 8px rgba(20, 16, 12, .12); }
.sol-chat__launcher:active { transform: scale(.98); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .sol-chat__launcher { background: rgba(250, 247, 244, .95); }
}

.sol-chat__panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);
  width: 300px;
  padding: 22px 8px 8px;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 16px;
  background: var(--sc-surface);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  backdrop-filter: blur(20px) saturate(160%);
  box-shadow: 0 24px 60px rgba(20, 16, 12, .22), 0 4px 12px rgba(20, 16, 12, .08);
  transform-origin: bottom right;
  animation: sol-chat-in .18s ease-out;
}
.sol-chat__panel[hidden] { display: none; }
@keyframes sol-chat-in { from { opacity: 0; transform: translateY(6px) scale(.98); } to { opacity: 1; transform: none; } }

.sol-chat__title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 16px 6px !important;
  font-family: "Montserrat Nav", Montserrat, sans-serif;
  font-size: 17px !important;
  font-weight: 500;
  line-height: 1.3 !important;
  letter-spacing: .01em;
  color: var(--sc-ink);
}
.sol-chat__title .sol-chat__logo { width: 20px; height: 20px; margin: 0; }
.sol-chat__sub { margin: 0 16px 14px !important; font-size: 13px !important; line-height: 1.5 !important; color: var(--sc-text); }

.sol-chat__list { list-style: none; margin: 0 !important; padding: 0; border-top: 1px solid var(--sc-line); }
.sol-chat__list li { margin: 0 !important; border-bottom: 1px solid var(--sc-line); }
.sol-chat__list li:last-child { border-bottom: 0; }
.sol-chat__list li[hidden] { display: none; }
.sol-chat__item {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 60px;
  margin: 0 !important;
  padding: 10px 12px 10px 16px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--sc-ink) !important;
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
  text-decoration: none !important;
  font-family: inherit;
  font-weight: 400;
  line-height: 1.3;
  box-shadow: none;
  cursor: pointer;
  transition: background-color .15s ease;
}
.sol-chat__item:hover { background: rgba(55, 54, 53, .05); }
.sol-chat__item svg { width: 22px; height: 22px; flex: none; color: var(--sc-ink); }
.sol-chat__item span { flex: 1; display: grid; gap: 3px; line-height: 1.3; }
.sol-chat__item strong { font-family: "Montserrat Nav", Montserrat, sans-serif; font-size: 14px; font-weight: 500 !important; letter-spacing: .01em; line-height: 1.3; }
.sol-chat__item small { font-size: 12px; font-weight: 400 !important; line-height: 1.3; color: var(--sc-text); }
.sol-chat__item .sol-chat__chev { width: 16px; height: 16px; opacity: .45; }

.sol-chat :focus-visible { outline: 2px solid #b4232a; outline-offset: 2px; }

@media (max-width: 849px) {
  .sol-chat { --sc-edge: 16px; }
  .sol-chat__panel { width: min(320px, calc(100vw - 32px)); }
}
@media (prefers-reduced-motion: reduce) {
  .sol-chat__panel { animation: none; }
  .sol-chat__launcher { transition: none; }
}
