/* Ladies Health — виджет связи. Плавающая кнопка справа-внизу (над корзиной). */
.lhw-root { --lhw-ink: #5C0100; --lhw-accent: #F46600; --lhw-bottom: 96px; --lhw-right: 24px; --lhw-size: 64px; }

.lhw-fab {
  position: fixed; right: var(--lhw-right); bottom: var(--lhw-bottom); z-index: 99998;
  width: var(--lhw-size) !important; height: var(--lhw-size) !important; border-radius: 50% !important;
  border: 2px solid #fff !important; cursor: pointer; padding: 0 !important; margin: 0 !important;
  -webkit-appearance: none; appearance: none; outline: none;
  background: var(--lhw-ink) !important; color: #fff !important;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 20px rgba(0,0,0,.28), 0 0 0 1px rgba(0,0,0,.06); transition: transform .15s ease;
}
.lhw-fab:hover, .lhw-fab:focus, .lhw-fab:active {
  background: var(--lhw-ink) !important; color: #fff !important; transform: scale(1.05);
  box-shadow: 0 8px 24px rgba(0,0,0,.34), 0 0 0 1px rgba(0,0,0,.06);
}
.lhw-fab svg { width: 46% !important; height: 46% !important; display: block; }
.lhw-fab svg path { stroke: #fff; }

.lhw-panel {
  position: fixed; right: 18px; bottom: calc(var(--lhw-bottom) + 70px); z-index: 99999;
  width: min(320px, calc(100vw - 36px)); max-height: 70vh; overflow: auto;
  background: #fff; border-radius: 16px; box-shadow: 0 14px 40px rgba(0,0,0,.25);
  font-family: inherit; color: #222; display: none;
}
.lhw-panel.lhw-open { display: block; animation: lhw-in .14s ease; }
@keyframes lhw-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.lhw-head {
  background: var(--lhw-ink); color: #fff; padding: 14px 16px; border-radius: 16px 16px 0 0;
  font-weight: 700; font-size: 15px; display: flex; align-items: center; justify-content: space-between;
}
.lhw-head button { background: transparent; border: none; color: #fff; cursor: pointer; font-size: 20px; line-height: 1; padding: 0; opacity: .85; }

.lhw-body { padding: 12px; }

.lhw-consent { font-size: 12.5px; color: #555; line-height: 1.4; padding: 4px 4px 10px; display: flex; gap: 8px; align-items: flex-start; }
.lhw-consent input { margin-top: 2px; flex: 0 0 auto; }
.lhw-consent a { color: var(--lhw-accent); }

.lhw-list { display: flex; flex-direction: column; gap: 6px; }
.lhw-list.lhw-disabled { opacity: .45; pointer-events: none; }

.lhw-item {
  display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 11px;
  text-decoration: none; color: #222; font-size: 14.5px; font-weight: 600; cursor: pointer;
  border: 1px solid #eee; background: #fff; transition: background .12s ease;
}
.lhw-item:hover { background: #faf6f5; }
.lhw-ico { width: 34px; height: 34px; border-radius: 9px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; color: #fff; }
.lhw-ico svg { width: 18px; height: 18px; }

.lhw-hint { font-size: 11.5px; color: #999; text-align: center; padding: 8px 4px 2px; }

/* ── Кнопка «назад» в шапке чата ── */
.lhw-head .lhw-back { background: transparent; border: none; color: #fff; cursor: pointer; font-size: 26px; line-height: 1; padding: 0 6px 0 0; opacity: .9; }

/* ── Экран чата ── */
.lhw-body.lhw-chat { padding: 0; display: flex; flex-direction: column; height: min(62vh, 440px); }

/* форма знакомства */
.lhw-chatform { padding: 16px 14px; display: flex; flex-direction: column; gap: 10px; }
.lhw-chatintro { font-size: 13px; color: #555; line-height: 1.4; margin-bottom: 2px; }
.lhw-input { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #ddd; border-radius: 10px; font-size: 14px; font-family: inherit; outline: none; }
.lhw-input:focus { border-color: var(--lhw-ink); }
.lhw-btn { width: 100%; padding: 11px; border: none; border-radius: 10px; background: var(--lhw-ink); color: #fff; font-size: 14.5px; font-weight: 700; cursor: pointer; }
.lhw-btn:disabled { opacity: .6; cursor: default; }
.lhw-fieldhint { font-size: 11.5px; color: #888; line-height: 1.35; margin: -4px 2px 2px; }
.lhw-cherr { color: #b00020; font-size: 12.5px; min-height: 14px; }

/* лента сообщений */
.lhw-msgs { flex: 1; overflow-y: auto; padding: 12px; display: flex; flex-direction: column; gap: 8px; background: #faf7f6; }
.lhw-m { max-width: 82%; padding: 8px 11px; border-radius: 13px; font-size: 14px; line-height: 1.38; word-wrap: break-word; }
.lhw-m-me { align-self: flex-end; background: var(--lhw-ink); color: #fff; border-bottom-right-radius: 4px; }
.lhw-m-op { align-self: flex-start; background: #fff; color: #222; border: 1px solid #ececec; border-bottom-left-radius: 4px; }
.lhw-mtext { white-space: pre-wrap; }
.lhw-mimg { max-width: 180px; max-height: 180px; border-radius: 9px; display: block; margin-top: 4px; }
.lhw-mfile { color: inherit; text-decoration: underline; font-size: 13px; }
.lhw-m-me .lhw-mfile { color: #fff; }

/* выбранный файл */
.lhw-filechip { font-size: 12px; color: #555; padding: 6px 12px; cursor: pointer; border-top: 1px solid #eee; }

/* панель ввода */
.lhw-bar { display: flex; align-items: flex-end; gap: 6px; padding: 8px; border-top: 1px solid #eee; background: #fff; }
.lhw-attach, .lhw-send { flex: 0 0 auto; width: 38px; height: 38px; border: none; border-radius: 10px; cursor: pointer; font-size: 17px; display: flex; align-items: center; justify-content: center; }
.lhw-attach { background: #f0ecec; color: #6b5b5b; }
.lhw-send { background: var(--lhw-ink); color: #fff; }
.lhw-ta { flex: 1; resize: none; max-height: 80px; padding: 9px 11px; border: 1px solid #ddd; border-radius: 10px; font-size: 14px; font-family: inherit; outline: none; line-height: 1.35; }
.lhw-ta:focus { border-color: var(--lhw-ink); }
