.vnuti-specialist,
.vnuti-specialist * {
  box-sizing: border-box;
}

#vnuti-specialist-direct,
#vnuti-specialist-direct .vnuti-specialist {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

.vnuti-specialist {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 18px;
  display: grid;
  gap: 16px;
  color: #243128;
  background: #f4f7f5;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.vnuti-specialist h2,
.vnuti-specialist h3,
.vnuti-specialist p {
  margin-top: 0;
}

.vnuti-specialist__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}

.vnuti-card,
.vnuti-service-card {
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e3ece0;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(36, 49, 40, 0.07);
  padding: 12px;
}

.vnuti-title {
  margin: 0 0 10px !important;
  color: #3d6b3e !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
  letter-spacing: 0;
}

.vnuti-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.vnuti-info-item {
  min-width: 0;
  min-height: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(244, 248, 243, 0.88), #fff);
  border: 1px solid #e3ece0;
}

.vnuti-info-item span {
  color: #5f6f63;
  font-size: 10.2px;
  line-height: 1.2;
  font-weight: 780;
}

.vnuti-info-item strong {
  min-width: 0;
  color: #314136;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.vnuti-area-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px;
  border-radius: 8px;
  background: linear-gradient(135deg, #f4f8f3, #fff);
  border: 1px solid #e3ece0;
}

.vnuti-muted {
  margin: 0 0 3px !important;
  color: #6f7c72 !important;
  font-size: 10.4px !important;
  font-weight: 760 !important;
}

.vnuti-area-summary strong {
  display: block;
  color: #314136;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 950;
}

.vnuti-area-summary > span {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(238, 0, 51, 0.075);
  border: 1px solid rgba(238, 0, 51, 0.16);
  color: #ee0033;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.vnuti-zone-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 9px;
}

.vnuti-zone-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 27px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #e3ece0;
  color: #3d6b3e;
  font-size: 11px;
  font-weight: 850;
}

.vnuti-zone-grid span.is-main {
  background: rgba(61, 107, 62, 0.08);
  border-color: rgba(61, 107, 62, 0.2);
}

.vnuti-zone-note {
  margin: 9px 0 0 !important;
  padding: 9px 10px;
  border-radius: 8px;
  background: rgba(244, 248, 243, 0.75);
  border: 1px dashed #dbe8d8;
  color: #6f7c72 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

.vnuti-map-card {
  padding: 0;
  overflow: visible;
  border-radius: 18px;
}

.vnuti-map-box {
  position: relative;
  width: 100%;
  min-height: 520px;
  overflow: hidden;
  background: #eef5ef;
  border-radius: 18px;
  resize: both;
  cursor: grab;
  isolation: isolate;
  touch-action: none;
  --vnuti-live-pan-x: 0px;
  --vnuti-live-pan-y: 0px;
  --vnuti-live-radius-size: 360px;
}

.vnuti-map-box.is-dragging {
  cursor: grabbing;
}

.vnuti-live-pan {
  position: absolute;
  inset: 0;
  z-index: 1;
  transform: translate(var(--vnuti-live-pan-x), var(--vnuti-live-pan-y));
  will-change: transform;
  user-select: none;
}

.vnuti-live-tiles {
  position: absolute;
  inset: -42% -26%;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(3, 1fr);
  opacity: 0.92;
  filter: saturate(0.92) contrast(0.96);
  transform: rotate(-2deg) scale(1.04);
}

.vnuti-live-tiles img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  background: #dbe9e1;
}

.vnuti-live-wash {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.16)), radial-gradient(circle at 50% 42%, transparent 0 30%, rgba(255, 255, 255, 0.13) 62%);
}

.vnuti-live-radius {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 45%;
  width: var(--vnuti-live-radius-size);
  aspect-ratio: 1 / 1;
  border: 2px solid rgba(238, 0, 51, 0.42);
  border-radius: 999px;
  background: rgba(238, 0, 51, 0.13);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.vnuti-live-labels {
  position: absolute;
  z-index: 8;
  left: 50%;
  top: 24px;
  display: grid;
  justify-items: center;
  gap: 8px;
  transform: translateX(-50%);
  pointer-events: none;
}

.vnuti-live-pill {
  max-width: 240px;
  padding: 6px 12px;
  border-radius: 999px;
  color: #245b39;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.15;
  white-space: nowrap;
}

.vnuti-live-pill--shop {
  color: #26352d;
  font-size: 18px;
}

.vnuti-live-pin {
  position: absolute;
  z-index: 9;
  left: 50%;
  top: 50%;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 4px solid #fff;
  border-radius: 999px 999px 999px 0;
  background: #ee0033;
  box-shadow: 0 5px 12px rgba(238, 0, 51, 0.35);
  transform: translate(-50%, -100%) rotate(-45deg);
  text-decoration: none !important;
}

.vnuti-live-pin::after {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #fff;
}

.vnuti-live-area {
  position: absolute;
  z-index: 8;
  padding: 6px 11px;
  border-radius: 999px;
  color: #315740;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14);
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.vnuti-live-resize {
  position: absolute;
  z-index: 20;
  right: 8px;
  bottom: 8px;
  width: 22px;
  height: 22px;
  border-right: 3px solid rgba(40, 121, 77, 0.62);
  border-bottom: 3px solid rgba(40, 121, 77, 0.62);
  pointer-events: none;
}

.vnuti-specialist__packages {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}

.vnuti-service-card {
  padding: 18px;
  border-color: rgba(61, 107, 62, 0.18);
  border-radius: 18px;
  box-shadow: 0 14px 32px rgba(36, 49, 40, 0.08);
}

.vnuti-service-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.vnuti-service-index {
  display: grid;
  justify-items: start;
  gap: 6px;
}

.vnuti-service-number {
  position: relative;
  width: 50px;
  height: 50px;
  border-radius: 17px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, #fff, #f7faf7);
  border: 1px solid #dfe8df;
  box-shadow: 0 8px 16px rgba(36, 49, 40, 0.08);
}

.vnuti-service-number span {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #2f7d41;
  background: #fff;
  border: 1px solid #e1eadf;
  font-size: 17px;
  line-height: 1;
  font-weight: 950;
}

.vnuti-specialist-id {
  width: auto;
  min-width: 86px;
  min-height: 20px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(238, 0, 51, 0.12);
  text-align: center;
  color: #314136;
  font-size: 9.5px;
  line-height: 1.2;
  font-weight: 760;
  white-space: nowrap;
}

.vnuti-specialist-id strong {
  color: #1f6d36;
  font-weight: 950;
}

.vnuti-service-info {
  min-width: 0;
  flex: 1 1 auto;
  text-align: left;
}

.vnuti-service-info h3 {
  display: block;
  margin: 0 0 5px !important;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #314136 !important;
  font-size: 15px !important;
  line-height: 1.22 !important;
  font-weight: 950 !important;
  letter-spacing: 0;
  box-shadow: none;
  overflow-wrap: anywhere;
}

.vnuti-service-info p {
  margin: 0 !important;
  color: #3d6b3e !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 850;
}

.vnuti-price-list {
  display: grid;
  gap: 0;
  padding: 0;
  margin: 18px 0 0;
  list-style: none;
}

.vnuti-price-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 36px;
  padding: 6px 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #edf1ee;
}

.vnuti-price-list span {
  color: #243128;
  font-size: 14px;
  font-weight: 900;
}

.vnuti-price-list strong {
  color: #ee0033;
  font-size: 14px;
  font-weight: 950;
  white-space: nowrap;
}

.vnuti-package-note {
  min-height: 68px;
  margin-top: 16px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 10px;
  align-items: center;
  border: 1px solid #dfe9df;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(244, 248, 243, 0.82), #fff);
}

.vnuti-package-note span {
  grid-row: 1 / 3;
  align-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #dfe9df;
  color: #3d6b3e;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.vnuti-package-note strong {
  justify-self: end;
  color: #243128;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 950;
  text-align: right;
}

.vnuti-package-note small {
  justify-self: end;
  color: #6f7c72;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 760;
  text-align: right;
}

.vnuti-top-actions,
.vnuti-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.vnuti-top-actions {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  padding-top: 92px;
  overflow: visible;
}

.vnuti-bubble-wrap {
  position: relative;
  min-width: 0;
  display: block;
  isolation: isolate;
  overflow: visible;
}

.vnuti-bubble-wrap .vnuti-btn {
  width: 100%;
}

.vnuti-chat-bubble {
  --bubble-accent: #ee0033;
  position: absolute;
  left: 50%;
  bottom: calc(100% + 13px);
  z-index: 20;
  width: clamp(230px, 152%, 342px);
  max-width: min(342px, calc(100vw - 28px));
  min-height: 72px;
  padding: 13px 16px;
  border-radius: 21px;
  color: #26372c;
  background: radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0) 44%), linear-gradient(145deg, rgba(255, 255, 255, 0.99), rgba(246, 250, 245, 0.98));
  border: 1px solid rgba(219, 232, 216, 0.92);
  box-shadow: 0 13px 28px rgba(36, 49, 40, 0.13), 0 5px 11px rgba(36, 49, 40, 0.055), inset 0 1px 0 rgba(255, 255, 255, 0.98);
  opacity: 0;
  visibility: hidden;
  transform: translate3d(-50%, 10px, 0) scale(0.9);
  transform-origin: 50% 100%;
  pointer-events: none;
  user-select: none;
  animation: vnuti-chat-bubble-app-cycle 21s cubic-bezier(0.18, 0.86, 0.2, 1) infinite;
}

.vnuti-chat-bubble--web {
  --bubble-accent: #3d6b3e;
  animation: vnuti-chat-bubble-web-cycle 21s cubic-bezier(0.18, 0.86, 0.2, 1) infinite;
}

.vnuti-chat-bubble::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 13px;
  height: 13px;
  border-radius: 3px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(246, 250, 245, 0.98));
  border-right: 1px solid rgba(219, 232, 216, 0.9);
  border-bottom: 1px solid rgba(219, 232, 216, 0.9);
  transform: translateX(-50%) rotate(45deg);
  box-shadow: 4px 4px 9px rgba(36, 49, 40, 0.035);
}

.vnuti-chat-bubble::after {
  content: "";
  position: absolute;
  left: 17px;
  top: 17px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--bubble-accent);
  opacity: 0.9;
  box-shadow: 12px 0 0 rgba(61, 107, 62, 0.18), 24px 0 0 rgba(61, 107, 62, 0.11);
  animation: vnuti-chat-dot-soft 3s ease-in-out infinite;
}

.vnuti-chat-bubble-text {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  min-height: 46px;
  padding-top: 16px;
  text-align: left;
  font-size: 12.4px;
  line-height: 1.25;
  font-weight: 890;
  white-space: normal;
  overflow: hidden;
}

.vnuti-chat-bubble-text span {
  position: absolute;
  left: 0;
  right: 0;
  top: 16px;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  opacity: 0;
  transform: translate3d(0, 7px, 0) scale(0.985);
  overflow-wrap: break-word;
  animation: vnuti-chat-message-step 21s ease-in-out infinite;
}

.vnuti-chat-bubble--app .vnuti-chat-bubble-text span:nth-child(1) { animation-delay: 0s; }
.vnuti-chat-bubble--app .vnuti-chat-bubble-text span:nth-child(2) { animation-delay: 3s; }
.vnuti-chat-bubble--app .vnuti-chat-bubble-text span:nth-child(3) { animation-delay: 6s; }
.vnuti-chat-bubble--web .vnuti-chat-bubble-text span:nth-child(1) { animation-delay: 9s; }
.vnuti-chat-bubble--web .vnuti-chat-bubble-text span:nth-child(2) { animation-delay: 12s; }
.vnuti-chat-bubble--web .vnuti-chat-bubble-text span:nth-child(3) { animation-delay: 15s; }
.vnuti-chat-bubble--web .vnuti-chat-bubble-text span:nth-child(4) { animation-delay: 18s; }

.vnuti-btn {
  --btn-icon-size: 18px;
  --btn-icon-gap: 10px;
  position: relative;
  isolation: isolate;
  min-width: 0;
  min-height: 40px;
  display: grid;
  grid-template-columns: calc(var(--btn-icon-size) + var(--btn-icon-gap)) minmax(0, 1fr);
  align-items: center;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: #fff !important;
  text-decoration: none !important;
  text-align: center;
  font-size: 12.2px;
  line-height: 1.15;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1), background 0.22s ease, border-color 0.22s ease;
  transform: translate3d(0, 0, 0);
}

.vnuti-btn svg {
  width: var(--btn-icon-size) !important;
  height: var(--btn-icon-size) !important;
  min-width: var(--btn-icon-size) !important;
  min-height: var(--btn-icon-size) !important;
  max-width: var(--btn-icon-size) !important;
  max-height: var(--btn-icon-size) !important;
  display: block !important;
  grid-column: 1;
  justify-self: start;
  fill: currentColor;
}

.vnuti-btn span {
  grid-column: 2;
  display: block;
  width: 100%;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
}

.vnuti-btn:hover {
  transform: translateY(-1px) translate3d(0, 0, 0);
}

.vnuti-btn:active {
  transform: translateY(0) scale(0.994) translate3d(0, 0, 0);
}

.vnuti-btn--app {
  overflow: hidden;
  background: linear-gradient(135deg, #f10b38 0%, #ee0033 54%, #db002f 100%);
  box-shadow: 0 7px 16px rgba(168, 0, 36, 0.115), inset 0 1px 0 rgba(255, 255, 255, 0.24);
  animation: vnuti-premium-breathe 4.45s cubic-bezier(0.36, 0, 0.18, 1) infinite;
}

.vnuti-btn--app::before {
  content: "";
  position: absolute;
  top: -18%;
  bottom: -18%;
  left: -72%;
  width: 46%;
  border-radius: 999px;
  background: linear-gradient(105deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.16) 39%, rgba(255, 255, 255, 0.62) 50%, rgba(255, 255, 255, 0.16) 61%, rgba(255, 255, 255, 0) 100%);
  opacity: 0;
  pointer-events: none;
  z-index: 1;
  transform: translate3d(0, 0, 0) skewX(-18deg);
  animation: vnuti-premium-sheen 4.45s linear infinite;
}

.vnuti-btn--app::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0) 42%);
  pointer-events: none;
  z-index: 1;
}

.vnuti-btn--app svg,
.vnuti-btn--app span {
  position: relative;
  z-index: 2;
}

.vnuti-btn--web {
  background: linear-gradient(135deg, #4d9a66, #166834);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.vnuti-btn--zalo,
.vnuti-btn--facebook,
.vnuti-btn--sms {
  overflow: hidden;
  -webkit-backdrop-filter: blur(14px) saturate(1.12);
  backdrop-filter: blur(14px) saturate(1.12);
  box-shadow: none !important;
}

.vnuti-btn--zalo::before,
.vnuti-btn--facebook::before,
.vnuti-btn--sms::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0) 42%), linear-gradient(180deg, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.1) 58%, rgba(255, 255, 255, 0.18));
  opacity: 0.72;
  pointer-events: none;
  z-index: -1;
}

.vnuti-btn--zalo {
  color: #0068ff !important;
  border-color: rgba(0, 104, 255, 0.16);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.74), rgba(238, 247, 255, 0.48));
}

.vnuti-btn--facebook {
  color: #0084ff !important;
  border-color: rgba(0, 132, 255, 0.16);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(238, 244, 255, 0.5));
}

.vnuti-btn--telegram {
  background: linear-gradient(180deg, #3fb7ee, #1682c2);
}

.vnuti-btn--sms {
  color: #3d6b3e !important;
  border-color: rgba(61, 107, 62, 0.16);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(244, 248, 243, 0.52));
  box-shadow: none;
}

@keyframes vnuti-premium-breathe {
  0%, 100% { transform: scale(1) translate3d(0, 0, 0); }
  36% { transform: scale(1.022) translate3d(0, 0, 0); }
  62% { transform: scale(1.004) translate3d(0, 0, 0); }
}

@keyframes vnuti-premium-sheen {
  0%, 9% { transform: translate3d(-210%, 0, 0) skewX(-18deg); opacity: 0; }
  14% { transform: translate3d(-120%, 0, 0) skewX(-18deg); opacity: 0.18; }
  26% { transform: translate3d(65%, 0, 0) skewX(-18deg); opacity: 0.55; }
  39% { transform: translate3d(285%, 0, 0) skewX(-18deg); opacity: 0.44; }
  50%, 100% { transform: translate3d(520%, 0, 0) skewX(-18deg); opacity: 0; }
}

@keyframes vnuti-chat-bubble-app-cycle {
  0% { opacity: 0; visibility: hidden; transform: translate3d(-50%, 10px, 0) scale(0.92); }
  1.4%, 40.8% { opacity: 1; visibility: visible; }
  3.2% { transform: translate3d(-50%, -5px, 0) scale(1.035, 0.955); }
  6.2% { transform: translate3d(-50%, 2px, 0) scale(0.985, 1.025); }
  9.2%, 40.8% { transform: translate3d(-50%, 0, 0) scale(1); }
  42.85%, 100% { opacity: 0; visibility: hidden; transform: translate3d(-50%, 8px, 0) scale(0.96); }
}

@keyframes vnuti-chat-bubble-web-cycle {
  0%, 42.1% { opacity: 0; visibility: hidden; transform: translate3d(-50%, 10px, 0) scale(0.92); }
  43.5%, 97.8% { opacity: 1; visibility: visible; }
  45.3% { transform: translate3d(-50%, -5px, 0) scale(1.035, 0.955); }
  48.3% { transform: translate3d(-50%, 2px, 0) scale(0.985, 1.025); }
  51.3%, 97.8% { transform: translate3d(-50%, 0, 0) scale(1); }
  99.1%, 100% { opacity: 0; visibility: hidden; transform: translate3d(-50%, 8px, 0) scale(0.96); }
}

@keyframes vnuti-chat-dot-soft {
  0%, 100% { opacity: 0.58; transform: scale(0.92); }
  12%, 24% { opacity: 0.96; transform: scale(1.08); }
  40% { opacity: 0.72; transform: scale(0.98); }
}

@keyframes vnuti-chat-message-step {
  0% { opacity: 0; transform: translate3d(0, 7px, 0) scale(0.985); }
  1.9%, 12.45% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
  14.25%, 100% { opacity: 0; transform: translate3d(0, -7px, 0) scale(0.985); }
}

.vnuti-specialist-empty {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 24px;
  border-radius: 8px;
  background: #eef5ef;
  color: #314136;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

@media (max-width: 760px) {
  .vnuti-specialist {
    padding: 10px;
  }

  .vnuti-top-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .vnuti-specialist__top {
    grid-template-columns: 1fr;
  }

  .vnuti-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vnuti-service-number {
    width: 44px;
    height: 44px;
    border-radius: 16px;
  }

  .vnuti-specialist__packages {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .vnuti-map-box {
    min-height: 0;
    aspect-ratio: 4 / 3;
    resize: none;
  }

  .vnuti-live-labels {
    top: 16px;
  }

  .vnuti-live-pill {
    font-size: 13px;
  }

  .vnuti-live-pill--shop {
    font-size: 16px;
  }

  .vnuti-live-area {
    font-size: 13px;
    padding: 5px 9px;
  }

  .vnuti-service-card {
    border-radius: 16px;
    padding: 15px;
  }

  .vnuti-btn {
    min-height: 44px;
    font-size: 11.6px;
  }

  .vnuti-service-info h3 {
    font-size: 14px !important;
  }
}

@media (max-width: 390px) {
  .vnuti-info-grid {
    gap: 6px;
  }

  .vnuti-info-item {
    padding: 7px 6px;
  }

  .vnuti-service-card {
    padding: 12px;
  }

  .vnuti-area-summary {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Sapo themes often ship broad SVG/link rules. Keep VNUTI controls locked. */
#vnuti-specialist-direct .vnuti-top-actions,
#vnuti-specialist-direct .vnuti-specialist .vnuti-top-actions,
.vnuti-specialist .vnuti-top-actions,
#vnuti-specialist-direct .vnuti-actions,
#vnuti-specialist-direct .vnuti-specialist .vnuti-actions,
.vnuti-specialist .vnuti-actions,
#vnuti-specialist-direct .vnuti-btn,
.vnuti-specialist .vnuti-btn,
#vnuti-specialist-direct .vnuti-btn *,
.vnuti-specialist .vnuti-btn *,
#vnuti-specialist-direct .vnuti-chat-bubble,
#vnuti-specialist-direct .vnuti-specialist .vnuti-chat-bubble,
.vnuti-specialist .vnuti-chat-bubble,
#vnuti-specialist-direct .vnuti-chat-bubble * {
  box-sizing: border-box !important;
}

#vnuti-specialist-direct .vnuti-top-actions,
.vnuti-specialist .vnuti-top-actions {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 8px !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding-top: 92px !important;
  overflow: visible !important;
}

#vnuti-specialist-direct .vnuti-actions,
.vnuti-specialist .vnuti-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

#vnuti-specialist-direct .vnuti-bubble-wrap,
.vnuti-specialist .vnuti-bubble-wrap {
  position: relative !important;
  display: block !important;
  min-width: 0 !important;
  overflow: visible !important;
}

#vnuti-specialist-direct .vnuti-btn,
.vnuti-specialist .vnuti-btn {
  --btn-icon-size: 18px !important;
  --btn-icon-gap: 10px !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 10px !important;
  border-radius: 12px !important;
  text-align: center !important;
  text-decoration: none !important;
  font-size: 12.2px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

#vnuti-specialist-direct .vnuti-btn svg,
.vnuti-specialist .vnuti-btn svg {
  display: block !important;
  grid-column: 1 !important;
  justify-self: start !important;
  align-self: center !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  fill: currentColor !important;
  transform: none !important;
}

#vnuti-specialist-direct .vnuti-btn span,
.vnuti-specialist .vnuti-btn span {
  display: block !important;
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  text-align: center !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.15 !important;
}

#vnuti-specialist-direct .vnuti-chat-bubble,
.vnuti-specialist .vnuti-chat-bubble {
  left: 50% !important;
  bottom: calc(100% + 13px) !important;
  width: clamp(210px, 142%, 320px) !important;
  min-height: 64px !important;
  max-width: min(320px, calc(100vw - 28px)) !important;
  padding: 13px 16px !important;
  border-radius: 21px !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) !important;
  animation: none !important;
  pointer-events: none !important;
}

#vnuti-specialist-direct .vnuti-chat-bubble::after,
.vnuti-specialist .vnuti-chat-bubble::after {
  animation: none !important;
}

#vnuti-specialist-direct .vnuti-chat-bubble-text,
.vnuti-specialist .vnuti-chat-bubble-text {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 38px !important;
  padding: 14px 0 0 !important;
  overflow: visible !important;
  font-size: 12.4px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

#vnuti-specialist-direct .vnuti-chat-bubble-text span,
.vnuti-specialist .vnuti-chat-bubble-text span {
  position: static !important;
  display: block !important;
  inset: auto !important;
  width: 100% !important;
  border-radius: 0 !important;
  background: transparent !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
  pointer-events: none !important;
  z-index: auto !important;
}

@media (max-width: 760px) {
  #vnuti-specialist-direct .vnuti-specialist,
  .vnuti-specialist {
    padding-bottom: 82px !important;
  }

  #vnuti-specialist-direct .vnuti-top-actions,
  .vnuti-specialist .vnuti-top-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding-top: 82px !important;
  }

  #vnuti-specialist-direct .vnuti-btn,
  .vnuti-specialist .vnuti-btn {
    height: 44px !important;
    min-height: 44px !important;
    font-size: 11.6px !important;
  }

  #vnuti-specialist-direct .vnuti-chat-bubble,
  .vnuti-specialist .vnuti-chat-bubble {
    width: min(172px, calc(50vw - 18px)) !important;
    min-height: 58px !important;
    padding: 11px 12px !important;
    border-radius: 18px !important;
  }

  #vnuti-specialist-direct .vnuti-chat-bubble-text,
  .vnuti-specialist .vnuti-chat-bubble-text {
    min-height: 34px !important;
    padding-top: 13px !important;
    font-size: 10.8px !important;
    line-height: 1.22 !important;
  }
}

/* VNUTI visual sync with the Sapo price sample. Kept last to beat theme CSS. */
#vnuti-specialist-direct .vnuti-specialist,
.vnuti-specialist {
  --vnuti-green: #3d6b3e;
  --vnuti-green-2: #007a3b;
  --vnuti-green-deep: #205c36;
  --vnuti-red: #ee0033;
  --vnuti-red-dark: #d6002e;
  --vnuti-text: #243128;
  --vnuti-muted: #6f7c72;
  --vnuti-line: #dbe8d8;
  --vnuti-shadow: 0 10px 26px rgba(28, 37, 31, 0.072);
  color: var(--vnuti-text) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(61, 107, 62, 0.055), transparent 30%),
    linear-gradient(180deg, #f8faf9 0%, #f7f8fa 46%, #f2f5f3 100%) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

#vnuti-specialist-direct .vnuti-card,
#vnuti-specialist-direct .vnuti-service-card,
.vnuti-specialist .vnuti-card,
.vnuti-specialist .vnuti-service-card {
  border-radius: 18px !important;
  border-color: #eef1ee !important;
  box-shadow: var(--vnuti-shadow) !important;
}

#vnuti-specialist-direct .vnuti-title,
.vnuti-specialist .vnuti-title {
  color: var(--vnuti-green) !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
}

#vnuti-specialist-direct .vnuti-info-item,
#vnuti-specialist-direct .vnuti-area-summary,
#vnuti-specialist-direct .vnuti-package-note,
.vnuti-specialist .vnuti-info-item,
.vnuti-specialist .vnuti-area-summary,
.vnuti-specialist .vnuti-package-note {
  border-color: #e3ece0 !important;
  background: linear-gradient(135deg, rgba(244, 248, 243, 0.84), #fff) !important;
  border-radius: 14px !important;
}

#vnuti-specialist-direct .vnuti-specialist__packages,
.vnuti-specialist .vnuti-specialist__packages {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)) !important;
  gap: 10px !important;
}

#vnuti-specialist-direct .vnuti-service-card,
.vnuti-specialist .vnuti-service-card {
  padding: 16px !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease !important;
}

#vnuti-specialist-direct .vnuti-service-card:hover,
.vnuti-specialist .vnuti-service-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(35, 83, 46, 0.11) !important;
  border-color: #cfe4c9 !important;
}

#vnuti-specialist-direct .vnuti-service-head,
.vnuti-specialist .vnuti-service-head {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 11px !important;
  min-height: 62px !important;
  align-items: start !important;
}

#vnuti-specialist-direct .vnuti-service-index,
.vnuti-specialist .vnuti-service-index {
  width: 68px !important;
  min-width: 68px !important;
  align-items: center !important;
  justify-items: center !important;
}

#vnuti-specialist-direct .vnuti-service-number,
.vnuti-specialist .vnuti-service-number {
  width: 42px !important;
  height: 42px !important;
  border-radius: 15px !important;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(145deg, rgba(61, 107, 62, 0.26), rgba(219, 232, 216, 0.66) 54%, rgba(238, 0, 51, 0.22)) border-box !important;
  border: 1px solid transparent !important;
}

#vnuti-specialist-direct .vnuti-service-number span,
.vnuti-specialist .vnuti-service-number span {
  color: #2f7d41 !important;
}

#vnuti-specialist-direct .vnuti-specialist-id,
.vnuti-specialist .vnuti-specialist-id {
  min-width: 76px !important;
  min-height: 20px !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid rgba(238, 0, 51, 0.12) !important;
}

#vnuti-specialist-direct .vnuti-service-info h3,
.vnuti-specialist .vnuti-service-info h3 {
  color: #314136 !important;
  font-size: 15px !important;
  line-height: 1.22 !important;
  font-weight: 950 !important;
}

#vnuti-specialist-direct .vnuti-service-info p,
.vnuti-specialist .vnuti-service-info p {
  color: var(--vnuti-green) !important;
  font-size: 13px !important;
  line-height: 1.42 !important;
  font-weight: 850 !important;
}

#vnuti-specialist-direct .vnuti-price-list span,
.vnuti-specialist .vnuti-price-list span {
  color: var(--vnuti-text) !important;
}

#vnuti-specialist-direct .vnuti-price-list strong,
.vnuti-specialist .vnuti-price-list strong {
  color: var(--vnuti-red) !important;
  font-weight: 950 !important;
}

#vnuti-specialist-direct .vnuti-top-actions,
.vnuti-specialist .vnuti-top-actions {
  gap: 10px !important;
  padding-top: 96px !important;
  padding-bottom: 13px !important;
}

#vnuti-specialist-direct .vnuti-actions,
.vnuti-specialist .vnuti-actions {
  gap: 8px !important;
}

#vnuti-specialist-direct .vnuti-btn,
.vnuti-specialist .vnuti-btn {
  --btn-icon-size: 20px !important;
  --btn-icon-gap: 9px !important;
  grid-template-columns: 29px minmax(0, 1fr) !important;
  min-height: 48px !important;
  height: 48px !important;
  border-radius: 13px !important;
  font-size: 12.2px !important;
  font-weight: 900 !important;
  transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1), background 0.22s ease, border-color 0.22s ease !important;
}

#vnuti-specialist-direct .vnuti-btn svg,
.vnuti-specialist .vnuti-btn svg {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
}

#vnuti-specialist-direct .vnuti-btn .vnuti-app-icon,
.vnuti-specialist .vnuti-btn .vnuti-app-icon {
  width: 21px !important;
  height: 21px !important;
  min-width: 21px !important;
  min-height: 21px !important;
  max-width: 21px !important;
  max-height: 21px !important;
}

#vnuti-specialist-direct .vnuti-btn--app,
.vnuti-specialist .vnuti-btn--app {
  background: linear-gradient(135deg, #f10b38 0%, var(--vnuti-red) 54%, #db002f 100%) !important;
  box-shadow: 0 7px 16px rgba(168, 0, 36, 0.115), inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
  animation: vnuti-premium-breathe 4.45s cubic-bezier(0.36, 0, 0.18, 1) infinite !important;
}

#vnuti-specialist-direct .vnuti-btn--app::before,
.vnuti-specialist .vnuti-btn--app::before {
  animation: vnuti-premium-sheen 4.45s linear infinite !important;
}

#vnuti-specialist-direct .vnuti-btn--web,
.vnuti-specialist .vnuti-btn--web {
  color: #fff !important;
  background: linear-gradient(135deg, #2f8750 0%, #276f3f 52%, var(--vnuti-green-deep) 100%) !important;
  box-shadow: 0 7px 16px rgba(23, 102, 51, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

#vnuti-specialist-direct .vnuti-btn--web::before,
.vnuti-specialist .vnuti-btn--web::before {
  content: "" !important;
  position: absolute !important;
  inset: 1px !important;
  border-radius: inherit !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0) 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 46%) !important;
  opacity: 0.72 !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

#vnuti-specialist-direct .vnuti-btn--web::after,
.vnuti-specialist .vnuti-btn--web::after {
  content: "" !important;
  position: absolute !important;
  top: -68% !important;
  left: -46% !important;
  width: 46% !important;
  height: 236% !important;
  border-radius: 999px !important;
  background: linear-gradient(105deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0)) !important;
  opacity: 0.18 !important;
  transform: translate3d(-80%, 0, 0) rotate(16deg) !important;
  pointer-events: none !important;
  z-index: 1 !important;
  transition: transform 0.62s cubic-bezier(0.18, 0.72, 0.18, 1), opacity 0.22s ease !important;
}

#vnuti-specialist-direct .vnuti-btn--web:hover::after,
.vnuti-specialist .vnuti-btn--web:hover::after {
  opacity: 0.34 !important;
  transform: translate3d(286%, 0, 0) rotate(16deg) !important;
}

#vnuti-specialist-direct .vnuti-btn--zalo,
.vnuti-specialist .vnuti-btn--zalo {
  color: #0068ff !important;
  border-color: rgba(0, 104, 255, 0.16) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.74), rgba(238, 247, 255, 0.48)) padding-box,
    linear-gradient(135deg, rgba(0, 104, 255, 0.24), rgba(255, 255, 255, 0.72), rgba(0, 104, 255, 0.10)) border-box !important;
}

#vnuti-specialist-direct .vnuti-btn--facebook,
.vnuti-specialist .vnuti-btn--facebook {
  color: #0084ff !important;
  border-color: rgba(0, 132, 255, 0.16) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(238, 244, 255, 0.50)) padding-box,
    linear-gradient(135deg, rgba(0, 132, 255, 0.23), rgba(255, 255, 255, 0.74), rgba(0, 132, 255, 0.10)) border-box !important;
}

#vnuti-specialist-direct .vnuti-btn--telegram,
.vnuti-specialist .vnuti-btn--telegram {
  color: #169bd7 !important;
  border-color: rgba(34, 158, 217, 0.16) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(235, 247, 253, 0.52)) padding-box,
    linear-gradient(135deg, rgba(34, 158, 217, 0.24), rgba(255, 255, 255, 0.74), rgba(34, 158, 217, 0.10)) border-box !important;
}

#vnuti-specialist-direct .vnuti-btn--sms,
.vnuti-specialist .vnuti-btn--sms {
  color: var(--vnuti-green) !important;
  border-color: rgba(61, 107, 62, 0.16) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(244, 248, 243, 0.52)) padding-box,
    linear-gradient(135deg, rgba(61, 107, 62, 0.22), rgba(255, 255, 255, 0.74), rgba(61, 107, 62, 0.09)) border-box !important;
}

#vnuti-specialist-direct .vnuti-btn:hover,
.vnuti-specialist .vnuti-btn:hover {
  transform: translateY(-1px) translate3d(0, 0, 0) !important;
}

#vnuti-specialist-direct .vnuti-chat-bubble,
.vnuti-specialist .vnuti-chat-bubble {
  width: clamp(230px, 152%, 342px) !important;
  min-height: 58px !important;
  max-width: min(342px, calc(100vw - 28px)) !important;
  padding: 12px 16px !important;
  border-radius: 20px !important;
  color: #26372c !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.99), rgba(247, 251, 247, 0.98)) !important;
  border: 1px solid rgba(219, 232, 216, 0.92) !important;
  box-shadow: 0 14px 30px rgba(36, 49, 40, 0.12), 0 5px 12px rgba(36, 49, 40, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.98) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) !important;
  animation: none !important;
}

#vnuti-specialist-direct .vnuti-chat-bubble--web,
.vnuti-specialist .vnuti-chat-bubble--web {
  display: none !important;
}

#vnuti-specialist-direct .vnuti-chat-bubble::after,
.vnuti-specialist .vnuti-chat-bubble::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 15px !important;
  top: 13px !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: #ee0033 !important;
  opacity: 0.84 !important;
  box-shadow: 10px 0 0 rgba(61, 107, 62, 0.18), 20px 0 0 rgba(61, 107, 62, 0.11) !important;
  animation: vnuti-chat-dot-soft 3s ease-in-out infinite !important;
  pointer-events: none !important;
}

#vnuti-specialist-direct .vnuti-chat-bubble-text,
.vnuti-specialist .vnuti-chat-bubble-text {
  min-height: 34px !important;
  padding: 0 !important;
  font-size: 12.4px !important;
  line-height: 1.28 !important;
  font-weight: 890 !important;
}

@keyframes vnuti-bubble-app-simple {
  0%, 4%, 48%, 100% {
    opacity: 0;
    visibility: hidden;
    transform: translate3d(-50%, 8px, 0) scale(0.96);
  }

  8%, 42% {
    opacity: 1;
    visibility: visible;
    transform: translate3d(-50%, 0, 0) scale(1);
  }
}

@keyframes vnuti-bubble-web-simple {
  0%, 48%, 100% {
    opacity: 0;
    visibility: hidden;
    transform: translate3d(-50%, 8px, 0) scale(0.96);
  }

  54%, 92% {
    opacity: 1;
    visibility: visible;
    transform: translate3d(-50%, 0, 0) scale(1);
  }
}

@media (max-width: 760px) {
  #vnuti-specialist-direct .vnuti-specialist,
  .vnuti-specialist {
    padding: 12px !important;
    padding-bottom: 82px !important;
  }

  #vnuti-specialist-direct .vnuti-top-actions,
  .vnuti-specialist .vnuti-top-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-top: 72px !important;
  }

  #vnuti-specialist-direct .vnuti-btn,
  .vnuti-specialist .vnuti-btn {
    min-height: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    font-size: 11.6px !important;
  }

  #vnuti-specialist-direct .vnuti-chat-bubble,
  .vnuti-specialist .vnuti-chat-bubble {
    width: min(238px, calc(100vw - 42px)) !important;
    min-height: 52px !important;
    padding: 10px 14px !important;
    border-radius: 18px !important;
  }

  #vnuti-specialist-direct .vnuti-chat-bubble-text,
  .vnuti-specialist .vnuti-chat-bubble-text {
    min-height: 30px !important;
    padding: 0 !important;
    font-size: 11.2px !important;
    line-height: 1.24 !important;
  }

  #vnuti-specialist-direct .vnuti-service-head,
  .vnuti-specialist .vnuti-service-head {
    grid-template-columns: 68px minmax(0, 1fr) !important;
  }
}

/* Exact top button/bubble behavior from the Sapo price sample. */
#vnuti-specialist-direct .vnuti-btn--app::before,
.vnuti-specialist .vnuti-btn--app::before {
  content: "" !important;
  position: absolute !important;
  top: -18% !important;
  bottom: -18% !important;
  left: -72% !important;
  width: 46% !important;
  border-radius: 999px !important;
  background: linear-gradient(105deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 18%, rgba(255,255,255,.16) 39%, rgba(255,255,255,.62) 50%, rgba(255,255,255,.16) 61%, rgba(255,255,255,0) 82%, rgba(255,255,255,0) 100%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: 1 !important;
  transform: translate3d(0,0,0) skewX(-18deg) !important;
  animation: vnuti-premium-sheen 4.45s linear infinite !important;
}

#vnuti-specialist-direct .vnuti-btn--app::after,
.vnuti-specialist .vnuti-btn--app::after {
  content: "" !important;
  position: absolute !important;
  inset: 1px !important;
  border-radius: inherit !important;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 42%) !important;
  opacity: .62 !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

#vnuti-specialist-direct .vnuti-chat-bubble,
.vnuti-specialist .vnuti-chat-bubble {
  display: block !important;
  width: clamp(230px, 152%, 342px) !important;
  min-height: 72px !important;
  max-width: min(342px, calc(100vw - 28px)) !important;
  padding: 13px 16px !important;
  border-radius: 21px !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.98), rgba(255,255,255,0) 44%),
    linear-gradient(145deg, rgba(255,255,255,.99), rgba(246,250,245,.98)) !important;
  border: 1px solid rgba(219,232,216,.92) !important;
  box-shadow: 0 13px 28px rgba(36,49,40,.13), 0 5px 11px rgba(36,49,40,.055), inset 0 1px 0 rgba(255,255,255,.98) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translate3d(-50%, 10px, 0) scale(.9) !important;
  animation: vnuti-chat-bubble-app-cycle 21s cubic-bezier(.18,.86,.2,1) infinite !important;
}

#vnuti-specialist-direct .vnuti-chat-bubble--web,
.vnuti-specialist .vnuti-chat-bubble--web {
  display: block !important;
  animation: vnuti-chat-bubble-web-cycle 21s cubic-bezier(.18,.86,.2,1) infinite !important;
}

#vnuti-specialist-direct .vnuti-chat-bubble-text,
.vnuti-specialist .vnuti-chat-bubble-text {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 46px !important;
  padding-top: 16px !important;
  overflow: hidden !important;
  text-align: left !important;
  font-size: 12.4px !important;
  line-height: 1.25 !important;
  font-weight: 890 !important;
}

#vnuti-specialist-direct .vnuti-chat-bubble-text span,
.vnuti-specialist .vnuti-chat-bubble-text span {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 16px !important;
  bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: auto !important;
  opacity: 0 !important;
  visibility: visible !important;
  transform: translate3d(0, 7px, 0) scale(.985) !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  animation: vnuti-chat-message-step 21s ease-in-out infinite !important;
}

#vnuti-specialist-direct .vnuti-chat-bubble--app .vnuti-chat-bubble-text span:nth-child(1),
.vnuti-specialist .vnuti-chat-bubble--app .vnuti-chat-bubble-text span:nth-child(1) { animation-delay: 0s !important; }
#vnuti-specialist-direct .vnuti-chat-bubble--app .vnuti-chat-bubble-text span:nth-child(2),
.vnuti-specialist .vnuti-chat-bubble--app .vnuti-chat-bubble-text span:nth-child(2) { animation-delay: 3s !important; }
#vnuti-specialist-direct .vnuti-chat-bubble--app .vnuti-chat-bubble-text span:nth-child(3),
.vnuti-specialist .vnuti-chat-bubble--app .vnuti-chat-bubble-text span:nth-child(3) { animation-delay: 6s !important; }
#vnuti-specialist-direct .vnuti-chat-bubble--web .vnuti-chat-bubble-text span:nth-child(1),
.vnuti-specialist .vnuti-chat-bubble--web .vnuti-chat-bubble-text span:nth-child(1) { animation-delay: 9s !important; }
#vnuti-specialist-direct .vnuti-chat-bubble--web .vnuti-chat-bubble-text span:nth-child(2),
.vnuti-specialist .vnuti-chat-bubble--web .vnuti-chat-bubble-text span:nth-child(2) { animation-delay: 12s !important; }
#vnuti-specialist-direct .vnuti-chat-bubble--web .vnuti-chat-bubble-text span:nth-child(3),
.vnuti-specialist .vnuti-chat-bubble--web .vnuti-chat-bubble-text span:nth-child(3) { animation-delay: 15s !important; }
#vnuti-specialist-direct .vnuti-chat-bubble--web .vnuti-chat-bubble-text span:nth-child(4),
.vnuti-specialist .vnuti-chat-bubble--web .vnuti-chat-bubble-text span:nth-child(4) { animation-delay: 18s !important; }
