/* tseh/components/SiteFooter.vue */

/* ── Реквизиты ИП (ОГРНИП, ИНН) — длинная строка переносится на узких экранах ── */
.footer-requisites[data-v-57e4d471] { word-break: break-word;
}

/* ── Тёмные страницы (индустриальный стиль #211c18): подвал на светлых цветах ──
   Логотип «Цех Решений», ссылки и копирайт становятся белыми/светло-серыми */
.footer-dark[data-v-57e4d471] {
  --text: rgba(250, 248, 244, 0.92);
  --muted: rgba(250, 248, 244, 0.55);
  --rule: rgba(255, 255, 255, 0.08);
}
.footer-dark .nav-link[data-v-57e4d471]:hover { color: #FFFFFF;
}

/* tseh/components/TurnstileWidget.vue */

.turnstile-widget[data-v-f4290244] {
  margin-bottom: 8px;
  min-height: 65px;
}
.turnstile-widget > div[data-v-f4290244] {
  margin: 0 auto;
}

/* tseh/pages/ChatClientPanel.vue */

.chat-card[data-v-15423617] {
  position: absolute;
  bottom: 68px;
  right: 0;
  width: 360px;
  max-height: 520px;
  background: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.06);
  border: 1px solid rgba(28,26,22,0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  animation: slideUp-15423617 0.25s ease-out;
}
@keyframes slideUp-15423617 {
from { opacity: 0; transform: translateY(12px);
}
to { opacity: 1; transform: translateY(0);
}
}
.chat-header[data-v-15423617] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  background: #A7653C;
  color: white;
  flex-shrink: 0;
}
.chat-header .avatar[data-v-15423617] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.chat-header .name[data-v-15423617] {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
}
.chat-header .status[data-v-15423617] {
  font-size: 11px;
  opacity: 0.85;
  margin-top: 1px;
}
.close-btn[data-v-15423617] {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.15);
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  padding: 0;
}
.close-btn[data-v-15423617]:hover { background: rgba(255,255,255,0.3);
}
.chat-body[data-v-15423617] {
  flex: 1;
  padding: 12px 14px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #F9F8F6;
  min-height: 260px;
  max-height: 340px;
}
.state-msg[data-v-15423617] {
  text-align: center;
  padding: 40px 0;
  font-size: 14px;
  color: #999;
}
.message[data-v-15423617] {
  display: flex;
  flex-direction: column;
  max-width: 88%;
  animation: fadeIn-15423617 0.2s ease;
}
@keyframes fadeIn-15423617 {
from { opacity: 0; transform: translateY(4px);
}
to { opacity: 1; transform: translateY(0);
}
}
.message.agent[data-v-15423617] { align-self: flex-start;
}
.message.user[data-v-15423617] { align-self: flex-end;
}
.msg-content[data-v-15423617] {
  padding: 10px 14px;
  font-size: 13.5px;
  line-height: 1.55;
  color: #1C1A16;
  word-break: break-word;
}
.message.agent .msg-content[data-v-15423617] {
  background: #FFFFFF;
  border: 1px solid rgba(28,26,22,0.06);
  border-radius: 14px 14px 14px 4px;
}
.message.user .msg-content[data-v-15423617] {
  background: rgba(167,101,60,0.1);
  border: 1px solid rgba(167,101,60,0.15);
  border-radius: 14px 14px 4px 14px;
}
.pending-indicator[data-v-15423617] {
  font-size: 11px;
  padding-left: 14px;
  margin-top: 2px;
  opacity: 0.5;
}

/* Files in messages */
.msg-files[data-v-15423617] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 4px;
  padding: 0 14px 4px;
}
.msg-file[data-v-15423617] {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.7);
  border: 1px solid rgba(28,26,22,0.06);
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 12px;
}
.message.user .msg-files[data-v-15423617] { padding-left: 14px;
}
.file-name[data-v-15423617] {
  color: #A7653C;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.file-name[data-v-15423617]:hover { text-decoration: underline;
}

/* Typing indicator */
.typing-indicator-wrapper[data-v-15423617] {
  padding: 0;
}
.typing-indicator[data-v-15423617] {
  display: flex;
  align-items: center;
  gap: 4px;
  background: #FFFFFF;
  border: 1px solid rgba(28,26,22,0.06);
  border-radius: 14px 14px 14px 4px;
  padding: 12px 16px;
}
.dot[data-v-15423617] {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #A7653C;
  opacity: 0.3;
  animation: typingBounce-15423617 1.4s ease-in-out infinite;
}
.dot[data-v-15423617]:nth-child(1) { animation-delay: 0s;
}
.dot[data-v-15423617]:nth-child(2) { animation-delay: 0.2s;
}
.dot[data-v-15423617]:nth-child(3) { animation-delay: 0.4s;
}
@keyframes typingBounce-15423617 {
0%, 60%, 100% { transform: translateY(0); opacity: 0.3;
}
30% { transform: translateY(-6px); opacity: 0.8;
}
}
.inline-code[data-v-15423617] {
  background: rgba(167,101,60,0.08);
  padding: 1px 5px;
  border-radius: 4px;
  font-size: 12px;
  font-family: 'SF Mono', 'Fira Code', monospace;
}

/* Welcome + suggestions */
.welcome-state[data-v-15423617] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.suggestions[data-v-15423617] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
}
.suggestion-btn[data-v-15423617] {
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
  transition: all 0.2s;
  font-family: 'Inter', sans-serif;
  background: #FFFFFF;
  color: #1C1A16;
  border: 1px solid rgba(28,26,22,0.1);
  width: 100%;
}
.suggestion-btn[data-v-15423617]:hover {
  border-color: #A7653C;
  background: rgba(167,101,60,0.06);
}

/* Quick actions */
.quick-actions[data-v-15423617] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
}
.action-btn[data-v-15423617] {
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
  transition: all 0.2s;
  font-family: 'Inter', sans-serif;
  background: #A7653C;
  color: white;
  border: none;
  width: 100%;
}
.action-btn[data-v-15423617]:hover { background: #8F5530;
}
.action-btn.secondary[data-v-15423617] {
  background: #FFFFFF;
  color: #1C1A16;
  border: 1px solid rgba(28,26,22,0.1);
}
.action-btn.secondary[data-v-15423617]:hover {
  border-color: #A7653C;
  background: rgba(167,101,60,0.06);
}

/* Booking form */
.booking-card[data-v-15423617] {
  background: #FFFFFF;
  border: 1px solid rgba(167,101,60,0.15);
  border-radius: 14px;
  padding: 14px;
  margin-top: 6px;
}
.form-title[data-v-15423617] {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #A7653C;
  line-height: 1.4;
}
.widget-input[data-v-15423617] {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid rgba(28,26,22,0.1);
  border-radius: 10px;
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  background: #FFFFFF;
  outline: none;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.widget-input[data-v-15423617]:focus { border-color: #A7653C;
}
.widget-btn[data-v-15423617] {
  width: 100%;
  padding: 10px 16px;
  border-radius: 10px;
  border: none;
  background: #A7653C;
  color: white;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
  font-family: 'Inter', sans-serif;
}
.widget-btn[data-v-15423617]:hover { background: #8F5530;
}
.widget-btn[data-v-15423617]:disabled { opacity: 0.6; cursor: not-allowed;
}
.form-success[data-v-15423617] {
  font-size: 12px;
  color: #A7653C;
  text-align: center;
  padding: 8px 0;
}

/* Footer */
.chat-footer[data-v-15423617] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  background: #FFFFFF;
  border-top: 1px solid rgba(28,26,22,0.06);
  flex-shrink: 0;
}
.attach-btn[data-v-15423617] {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: #F5F4F2;
  color: #888;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
  padding: 0;
}
.attach-btn[data-v-15423617]:hover {
  background: #E8E6E3;
  color: #A7653C;
}
.attach-btn[data-v-15423617]:disabled { opacity: 0.3; cursor: not-allowed;
}
.hidden-file-input[data-v-15423617] { display: none;
}
.chat-input[data-v-15423617] {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid rgba(28,26,22,0.1);
  border-radius: 20px;
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  outline: none;
  background: #F5F4F2;
  transition: border-color 0.2s;
}
.chat-input[data-v-15423617]:focus {
  border-color: #A7653C;
  background: #FFFFFF;
}
.send-btn[data-v-15423617] {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: none;
  background: #A7653C;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  flex-shrink: 0;
  padding: 0;
}
.send-btn[data-v-15423617]:hover { background: #8F5530;
}
.send-btn[data-v-15423617]:disabled { opacity: 0.4; cursor: not-allowed;
}

/* Upload progress */
.upload-progress[data-v-15423617] {
  padding: 8px 16px;
  background: #F5F4F2;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #888;
}
.upload-bar[data-v-15423617] {
  height: 3px;
  background: #A7653C;
  border-radius: 2px;
  transition: width 0.3s ease;
  flex-shrink: 0;
}
.upload-text[data-v-15423617] { white-space: nowrap;
}

/* Message limit */
.limit-counter[data-v-15423617] {
  font-size: 11px;
  opacity: 0.85;
  margin-top: 1px;
}
.limit-block[data-v-15423617] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 6px;
}
.limit-msg[data-v-15423617] {
  padding: 10px 14px;
  font-size: 13px;
  line-height: 1.5;
  color: #92400E;
  background: #FEF3C7;
  border: 1px solid #FDE68A;
  border-radius: 12px;
  font-weight: 600;
}
.limit-hint[data-v-15423617] {
  font-size: 12px;
  color: #666;
  margin: 0;
  line-height: 1.45;
}
.limit-block .action-btn[data-v-15423617] {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

/* Mobile */
@media (max-width: 979px) {
.chat-card[data-v-15423617] {
    width: 320px;
    max-height: 480px;
    right: 0;
    bottom: 64px;
}
.chat-body[data-v-15423617] {
    max-height: 300px;
    min-height: 220px;
}
}

/* tseh/pages/ChatWidget.vue */

.chat-widget[data-v-ea1b614e] {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-family: 'Inter', system-ui, sans-serif;
}
.chat-toggle[data-v-ea1b614e] {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: none;
  background: #A7653C;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(167,101,60,0.35);
  transition: all 0.3s ease;
  position: relative;
  z-index: 2;
}
.chat-toggle[data-v-ea1b614e]:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 28px rgba(167,101,60,0.45);
}
.chat-toggle .icon[data-v-ea1b614e] {
  font-size: 26px;
  line-height: 1;
}
.chat-toggle .icon-close[data-v-ea1b614e] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.notification-dot[data-v-ea1b614e] {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #EF4444;
  border: 2px solid #A7653C;
  animation: pulse-ea1b614e 2s infinite;
}
.notification-dot.blink[data-v-ea1b614e] {
  animation: blinkPulse-ea1b614e 0.6s ease 3;
}
.notification-badge[data-v-ea1b614e] {
  position: absolute;
  top: -2px;
  right: -2px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 9px;
  background: #EF4444;
  border: 2px solid #A7653C;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: pulse-ea1b614e 2s infinite;
}
.notification-badge.blink[data-v-ea1b614e] {
  animation: blinkPulse-ea1b614e 0.6s ease 3;
}
@keyframes pulse-ea1b614e {
0%, 100% { opacity: 1;
}
50% { opacity: 0.5;
}
}
@keyframes blinkPulse-ea1b614e {
0% { opacity: 1; transform: scale(1);
}
50% { opacity: 0.2; transform: scale(1.4);
}
100% { opacity: 1; transform: scale(1);
}
}

/* Loading card */
.loading-card[data-v-ea1b614e] {
  position: absolute;
  bottom: 68px;
  right: 0;
  width: 220px;
  background: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.12);
  border: 1px solid rgba(28,26,22,0.08);
  animation: slideUp-ea1b614e 0.25s ease-out;
  padding: 40px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.loading-inner[data-v-ea1b614e] {
  text-align: center;
}
.loading-spinner[data-v-ea1b614e] {
  width: 32px;
  height: 32px;
  border: 3px solid rgba(167,101,60,0.15);
  border-top-color: #A7653C;
  border-radius: 50%;
  animation: spin-ea1b614e 0.8s linear infinite;
  margin: 0 auto 12px;
}
@keyframes spin-ea1b614e {
to { transform: rotate(360deg);
}
}
.loading-text[data-v-ea1b614e] {
  font-size: 13px;
  color: #666;
  margin: 0;
}
@keyframes slideUp-ea1b614e {
from { opacity: 0; transform: translateY(12px);
}
to { opacity: 1; transform: translateY(0);
}
}

/* Мобильные и планшеты: <1024px — там же живёт липкая CTA-панель
   (components/StickyMobileCta.vue), и в ней под кнопку агента зарезервировано
   место: 40 px + 5 px зазора. Ставим виджет РОВНО в этот слот — по правому краю
   с отступом 5 px и по центру панели, чтобы кнопка «Заказать лэндинг» стояла
   в 5 px от агента, а не заезжала под него (06.10.2026, по запросу владельца). */
@media (max-width: 1023px) {
.chat-widget[data-v-ea1b614e] {
    bottom: calc(13px + env(safe-area-inset-bottom, 0px));
    right: 5px;
}
.chat-toggle[data-v-ea1b614e] {
    width: 40px;
    height: 40px;
}
.chat-toggle .icon[data-v-ea1b614e] {
    font-size: 18px;
}
}

