@import url("https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@700;900&display=swap");

        :root {
            --primary-color: #4CAF50;
            --secondary-color: #2196F3;
            --accent-color: #FF9800;
            --dark-color: #333;
            --light-color: #f8f9fa;
            --danger-color: #f44336;
            --success-color: #4CAF50;
            
  --size: 160px;     /* общий диаметр */
  --ring: 10px;      /* толщина зелёного кольца */
  --pad: 8px;        /* дополнительный отступ от кольца */
  --duration: 0.8s;    /* длительность «загрузки» */
   --show100: 0.6s; 
}
        
        
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }
        
        body {
            background: linear-gradient(135deg, #0F2027, #2C5364);
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 20px;
        }
        
        .container {
            width: 100%;
            max-width: 500px;
            background: white;
            border-radius: 12px;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
            overflow: hidden;
            margin-top: 30px;
        }
        
        .header {
            background: #00C9A7;
            color: white;
            padding: 20px;
            text-align: center;
        }
        
        .header h1 {
            font-size: 24px;
            margin-bottom: 5px;
        }
        
        .header p {
            font-size: 14px;
            opacity: 0.9;
        }
        
        .content {
            padding: 25px;
        }
/* Регистрируем кастом-свойство для угла */
@property --a { syntax: '<angle>'; inherits: false; initial-value: 0turn; }

/* Центрирование */
.loader-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 240px;
}

/* Внешний круг */
.circle {
  position: relative;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Зелёное кольцо */
.progress {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  -webkit-mask: radial-gradient(farthest-side,
              transparent calc(100% - var(--ring) - .5px),
              #000 calc(100% - var(--ring) - .5px));
  mask: radial-gradient(farthest-side,
              transparent calc(100% - var(--ring) - .5px),
              #000 calc(100% - var(--ring) - .5px));
  background: conic-gradient(#35c759 var(--a), transparent 0);
  animation: fill var(--duration) linear forwards; /* congo */
}
@keyframes fill { to { --a: 1turn; } }

/* Цифры процентов — центрируем поверх круга */ 
.counter{
  position: absolute;          /* поверх, не влияет на раскладку круга */
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;     /* точное центрирование */
  gap: 0;
  color: #1b1f24;
  animation: fadeOut .15s forwards;
  animation-delay: calc(var(--duration) + var(--show100)); /* подержать 100 */
}
@keyframes fadeOut { to { opacity: 0; visibility: hidden; } }

/* единый шрифт/метрики */
.counter, .counter *{
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-weight: 900;
  font-size: 32px;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: 0;
}

/* «окошки» одометров */
.digit{ width: .65em; height: 1.2em; overflow: hidden; }
.strip{ display: flex; flex-direction: column; }
.strip > span{
  height: 1.2em; display:flex; align-items:center; justify-content:center;
}

/* единицы/десятки бегут 0→…→9 и останавливаются на добавленной «0» */
.ones .strip::after,
.tens .strip::after{
  content: "0";
  display:flex; align-items:center; justify-content:center; height:1.2em;
}
/* Десятки: бегут 0 → 1 → … → 9 → 10 */
/* Десятки: 1 цикл за всё время (0→10) */
.tens .strip {
  animation: rollLatch var(--duration) steps(10,end) 1 forwards;
}

/* Единицы: сразу фиксируем "0" */
.ones .strip {
  transform: translateY(-12em); /* показываем последний элемент "0" */
}


@keyframes rollLatch{
  from{ transform: translateY(0); }
  to  { transform: translateY(-12em); }   /* 10 шагов = 10 строк = 12em */
}

/* показываем сотни = «1», но БЕЗ влияния на центр до момента показа */
.counter::before{
  content: "1";
  display: inline-block;
  width: 0;                   /* не занимает места до показа */
  overflow: hidden;
  opacity: 1;                 /* видимость регулируем шириной */
  /* в момент окончания бега процентов сразу даём ширину одной цифры */
  animation: revealHundreds var(--show100) steps(1,start) forwards;
  animation-delay: var(--duration);
}
@keyframes revealHundreds{
  to{ width: .65em; }         /* ширина одной «колонки» цифры */
}

/* маленький отступ перед % */
.counter .pct{ margin-left: .06em; }

/* стрелка — после окна с 100 */
.inner-clip .arrow{
  width: 100%; height: 100%; object-fit: contain;
  opacity: 0; transform: scale(.92);
   animation: showArrow .5s forwards, bounceArrow 2s ease-in-out infinite;
  animation-delay: calc(var(--duration) + var(--show100)), calc(var(--duration) + var(--show100));
}
@keyframes showArrow{ to{ opacity:1; transform:scale(1); } }
@keyframes bounceArrow {
  0%   { transform: translateY(0) scale(1); }
  50%  { transform: translateY(-5%) scale(1); } /* WEDE */
  100% { transform: translateY(0) scale(1); }
}


/* Маска для стрелки (появится после окна с «100») */
/* Маска для стрелки */
.inner-clip {
  position: absolute;
  inset: calc(var(--ring) + var(--pad));
  border-radius: 50%;
  overflow: hidden;
  z-index: 1;
}

/* Стрелка с появлением и качанием */
.inner-clip .arrow {
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  transform: scale(.92);
  /* две анимации: появление + бесконечное качание */
  animation: showArrow .5s forwards, bounceArrow 2s ease-in-out infinite;
  /* задержка у обеих одинаковая: пока идёт прогресс и проценты */
  animation-delay: calc(var(--duration) + var(--show100)),
                   calc(var(--duration) + var(--show100));
}

/* Плавное появление стрелки */
@keyframes showArrow {
  to {
    opacity: 1;
    transform: scale(1); /* ewdgfwef */
  }
}

/* Бесконечное качание вверх-вниз */
@keyframes bounceArrow {
  0%   { transform: translateY(0) scale(1); }
  50%  { transform: translateY(-5%) scale(1); }
  100% { transform: translateY(0) scale(1); }
}
        
        .offer-details h3 {
            color: var(--dark-color);
            margin-bottom: 10px;
            display: flex;
            align-items: center;
        }
        
        .offer-details ul {
            list-style: none;
            margin-left: 5px;
        }
        
        .offer-details li {
            margin-bottom: 8px;
            display: flex;
            align-items: flex-start;
        }
        
        .offer-details li strong {
            min-width: 140px;
            display: inline-block;
            color: var(--dark-color);
        }
        
        .form-group {
            margin-bottom: 20px;
        }
        
        .form-group label {
            display: block;
            margin-bottom: 8px;
            font-weight: 600;
            color: var(--dark-color);
        }
        
     .phone-input-container {
  display: flex;
  align-items: center;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
  transition: border-color .3s, box-shadow .3s;
}
.phone-input-container:focus-within {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 4px rgba(76,175,80,.15); /* rebwq */
}

/* Левый блок с флагом */
.phone-prefix{
  display:flex; align-items:center; gap:6px;
  padding:12px 16px;
  background:#f9f9f9;
  font-weight:600; color:#333;
  border-right:1px solid #e0e0e0;
}

/* Сам input — растягиваем и убираем внутренние рамки/контур */
.phone-input{
  flex: 1;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  padding: 12px 15px;
  font-size: 18px;                      /* можно 16–20px по вкусу */
  line-height: 1.2;
  width: 100%;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: textfield;

  /* ВЫРАВНИВАНИЕ И РАВНОМЕРНОСТЬ */
  text-align: center;                   /* центрируем цифры */
  font-family: "Roboto Mono", ui-monospace, Menlo, Consolas, monospace;
  font-variant-numeric: tabular-nums;   /* одинаковая ширина цифр */
  font-feature-settings: "tnum" 1;
  letter-spacing: .06em;                /* лёгкий трекинг для равномерности */
}

/* Плейсхолдер — растянуть визуально по полю */
.phone-input::placeholder{
  color: #9aa0a6;
  letter-spacing: .35em;                /* XXXXXXXXX «рассыпится» по ширине */
  opacity: .9;
}
        .form-group input {
            width: 100%;
            padding: 12px 15px;
            border: 1px solid #ddd;
            border-radius: 6px;
            font-size: 16px;
            transition: border 0.3s;
        }
        
        .form-group input:focus {
            border-color: var(--secondary-color);
            outline: none;
            box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.2);
        }
        .phone-prefix{
  display:flex;                /* добавили */
  align-items:center;          /* добавили */
  gap:6px;                     /* добавили: расстояние между флагом и 8801 */
  padding:12px 15px;
  background:#f0f0f0;
  font-weight:600;
  color:#555;
  font-size: 20px;
}

.flag-icon{
  width:28px;                  /* можно 16–24px по вкусу */
  height:auto;
  display:block;               /* чтобы без лишних «пустых» отступов */
  border-radius:0px;           /* опционально, можно убрать */
}


        .btn {
            background: #0088A9;
            color: white;
            border: none;
            padding: 14px 20px; /* eerrrr */
            width: 100%;
            border-radius: 6px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: background 0.3s;
        }
        
        .btn:hover {
            background: #3d8b40;
        }
        
        .btn:disabled {
            background: #cccccc;
            cursor: not-allowed;
        }
        
        .message {
            padding: 12px 15px;
            border-radius: 6px;
            margin-bottom: 20px;
            display: none;
        }
        
        .error {
            background: #ffebee;
            color: var(--danger-color);
            border-left: 4px solid var(--danger-color);
            display: block;
        }
        
        .success {
            background: #e8f5e9;
            color: var(--success-color);
            border-left: 4px solid var(--success-color);
            display: block;
        }
        
        .info {
            background: #e3f2fd;
            color: var(--secondary-color);
            border-left: 4px solid var(--secondary-color);
            display: block;
        }
        
        .loader {
            display: none;
            text-align: center;
            margin: 15px 0; /* core */
        }
        
        .loader div {
            width: 12px;
            height: 12px;
            background: var(--primary-color);
            border-radius: 50%;
            display: inline-block;
            margin: 0 3px;
            animation: bounce 1.4s infinite ease-in-out both;
        }
        
        .loader div:nth-child(1) { animation-delay: -0.32s; }
        .loader div:nth-child(2) { animation-delay: -0.16s; }
        
        @keyframes bounce {
            0%, 80%, 100% { transform: scale(0); }
            40% { transform: scale(1); }
        }
        
        .instructions {
            background: #1B262C;
            border-radius: 8px;
            padding: 15px;
            margin-top: 25px;
            border-left: 4px solid var(--accent-color);
        }
        
        .instructions h3 {
            color: var(--white-color);
            margin-bottom: 10px;
            display: flex;
            align-items: center;
        }
        /* ver */
        .instructions ol {
            margin-left: 20px;
        }
        
        .instructions li {
            margin-bottom: 8px;
            color: white;
        }
        
        .language-selector {
            display: none
        }
        
        .language-selector select {
            padding: 8px 12px;
            border-radius: 4px;
            border: 1px solid #ddd;
        }
        
        footer {
            margin-top: 30px;
            text-align: center;
            color: #666;
            font-size: 14px;
        }
        
        @media (max-width: 576px) {
            .container {
                border-radius: 8px;
            }
            
            .header {
                padding: 15px;
            }
            
            .content {
                padding: 20px;
            }
        }
  .webt-icon {
    width: 150px;
    height: 150px;
    margin: 0 auto 10px;
    position: relative;
}
.icon-progress {
    width: 100%;
    height: 100%;
    position: relative;
}
.icon-progress__bg {
    stroke-width: 12px;
    stroke: var(--progress-bg);
    fill: transparent;
}
.webt-icon .progress_arrow {
    width: 60%;
    height: auto;
    opacity: 0;
    transition: all 1s;
    animation: bounceUpDown 2s ease-in-out infinite;
}
@keyframes bounceUpDown {
    0% {
        transform: translateY(0%);
    }
    50% {
        transform: translateY(-5%);
    }
    100% {
        transform: translateY(0%);
    }
}
.webt-icon__value {
    color: var(--proggress-text);
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: absolute;
    font-size: 32px;
    font-weight: 600;
    top: 0;
    left: 0;
}
.meter-1 {
    stroke-dasharray: 800;
    stroke-dashoffset: 0;
    stroke: var(--progress-filled);
    stroke-width: 12px;
    fill: transparent;
    animation: progress-1 4s ease-out;
}
@keyframes progress-1 {
    from {
        stroke-dashoffset: 800;
    }
    to {
        stroke-dashoffset: 0;
    }
}
hide-footer{
    color:var(background) ;
     opacity: 0.1; /* от 0 (полностью прозрачно) до 1 (полностью видно) */
     margin-top: 30px;
            text-align: center;
            color: #666;
            font-size: 12px;
}
