/* Floating Contact Widget (v2: с переменными) */
.contact-widget{
  position: fixed;
  left: 22px;
  bottom: calc(22px + env(safe-area-inset-bottom));
  z-index: 9999;
  font-family: 'Oswald', sans-serif;

  /* === КАСТОМИЗАЦИЯ === */
  --cw-size: 80px;                 /* РАЗМЕР КНОПКИ (62–92px) */
  --cw-bg: #0a8f3d;                /* ОСНОВНОЙ ЦВЕТ КНОПКИ */
  --cw-fg: #ffffff;                /* Цвет иконки/текста на кнопке */
  --cw-ring: rgba(10,143,61,.35);  /* Цвет пульс-кольца */
  --cw-dot: #7CFC00;               /* Маленькая «онлайн» точка */
  --cw-label-bg: rgba(255,255,255,.95);
  --cw-label-fg: var(--cw-bg);     /* Цвет текста бейджа */
}

.cw-btn{
  position: relative;
  width: var(--cw-size);
  height: var(--cw-size);
  border-radius: 50%;
  background: var(--cw-bg);
  border: none;
  color: var(--cw-fg);
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(0,0,0,.25);
  display: grid;
  place-items: center;
  transition: transform .2s ease, background .2s ease;
}
.cw-btn:hover{ transform: translateY(-1px); }

.cw-icon{
  font-size: calc(var(--cw-size) * 0.38); /* 30px при 80px кнопке */
  transition: transform .35s ease;
}
.cw-btn:hover .cw-icon{ transform: scale(1.08); }

/* Пульсирующее кольцо */
.cw-btn::before{
  content:"";
  position:absolute;
  inset: calc(var(--cw-size) * -0.14);     /* -11px при 80px */
  border-radius:50%;
  border:3px solid var(--cw-ring);
  animation: cw-pulse 2s infinite;
}
@keyframes cw-pulse{
  0%{ transform:scale(1); opacity:1; }
  70%{ transform:scale(1.3); opacity:0; }
  100%{ opacity:0; }
}

/* Онлайн-точка */
.cw-dot{
  position:absolute;
  top: calc(var(--cw-size) * 0.12);
  right: calc(var(--cw-size) * 0.12);
  width: calc(var(--cw-size) * 0.15);      /* 12px */
  height: calc(var(--cw-size) * 0.15);
  border-radius:50%;
  background: var(--cw-dot);
  box-shadow: 0 0 0 3px rgba(255,255,255,.9);
}

/* Бейдж «Свяжитесь с нами» */
.cw-label{
  position:absolute;
  left: calc(var(--cw-size) + 12px);
  white-space:nowrap;
  background: var(--cw-label-bg);
  color: var(--cw-label-fg);
  font-weight:700;
  font-size: 14px;
  line-height:1.15;
  padding:8px 10px;
  border-radius:10px;
  pointer-events:none;
  box-shadow:0 6px 18px rgba(0,0,0,.15);
}
@media (max-width: 768px){
  .cw-label{ display:none; } /* на мобиле бейдж убираем */
}

/* Поп-ап выбора мессенджера */
.cw-popup{
  position:absolute;
  bottom: calc(var(--cw-size) + 12px);
  left: 0;
  background:#fff;
  color:#111;
  min-width: 220px;
  border-radius:14px;
  box-shadow:0 14px 40px rgba(0,0,0,.22);
  padding:10px 8px;
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .2s, transform .2s;
}
.cw-popup.open{ opacity:1; transform:translateY(0); pointer-events:auto; }
.cw-popup::after{
  content:"";
  position:absolute;
  bottom:-8px; left:24px;
  border:8px solid transparent; border-top-color:#fff;
}

/* Пункты поп-апа */
.cw-item{
  display:flex; align-items:center; gap:12px;
  padding:10px 12px; border-radius:10px; text-decoration:none;
  font-weight:600; color:inherit;
}
.cw-item i{ font-size:20px; }
.cw-item:hover{ background:rgba(0,0,0,.05); }

.cw-wa{ color:#128C7E; }
.cw-tg{ color:#229ED9; }

/* Адаптив: уменьшим кнопку чуть на очень узких экранах */
@media (max-width: 380px){
  .contact-widget{ --cw-size: 68px; }
}
