/* Mobile-first polish (generic). Без вмешательства в разметку HEADER. */

/* брейки и типографика */
:root{
  --bp-360: 360px; --bp-390: 390px; --bp-430: 430px;
  --bp-600: 600px; --bp-768: 768px; --bp-1024: 1024px;
  --fz-body: clamp(14px, 1.7vw, 16px);
  --fz-h1: clamp(22px, 4.5vw, 34px);
  --fz-h2: clamp(18px, 3.4vw, 28px);
  --fz-h3: clamp(16px, 2.6vw, 22px);
}

html{scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:clip; max-width:100%;}
*,*::before,*::after{box-sizing:border-box}
body{font-size:var(--fz-body); line-height:1.45; overflow-x:clip;}
img,video,canvas,svg{max-width:100%; height:auto; display:block}

/* Тач-цели по умолчанию */
button,[type="button"],[type="submit"],[role="button"],.btn{
  min-height:44px; padding:10px 14px;
}

/* Безопасные поля по краям на узких экранах */
@media (max-width: 430px){
  .section,.container,[data-container]{ padding-inline:16px; }
}

/* Заголовки */
h1{font-size:var(--fz-h1)} h2{font-size:var(--fz-h2)} h3{font-size:var(--fz-h3)}

/* Сетки по месту */
.grid,[data-grid]{ display:grid; gap:clamp(10px,2.5vw,20px); }
@media (min-width:600px){ .grid.cols-2,[data-grid~="2"]{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .grid.cols-3,[data-grid~="3"]{ grid-template-columns:repeat(3,1fr); } }

/* Формы */
input,select,textarea{
  min-height:44px; border-radius:12px; border:1px solid var(--line, #e5e7eb);
  padding:10px 12px; background:var(--surface-2, #fff);
  font-size:max(16px, 1rem); line-height:1.4;
}
label{ font-size:clamp(12px,2.4vw,14px); opacity:.88; }

[data-lead-status]{
  margin-top:8px;
  font-size:max(15px, .95rem);
  color:var(--muted, #6b7280);
}
[data-lead-status][data-state="error"]{ color:#ef4444; }
[data-lead-status][data-state="success"]{ color:#16a34a; }

/* Карточки */
.card,[data-card]{ border-radius:14px; overflow:hidden; }

/* Фикс «вылетаний» */
body > * { max-width:100%; }
[style*="100vw"]{ width:100%; }
iframe{ max-width:100%; }



.trust-ticker{ position:relative; }
.trust-ticker .ticker-track{ display:flex; flex-wrap:wrap; gap:10px; }
.trust-ticker .ticker-track[aria-hidden="true"]{ display:none; } 
.trust-ticker .trust-pill{ flex:0 0 auto; }

@media (max-width:1024px){
.trust-ticker{ position:relative; overflow:hidden; height: var(--ticker-h, auto); }
.trust-ticker .ticker-track{
position:absolute; top:0; left:0;
display:flex; flex-wrap:nowrap; gap:10px; align-items:center;
will-change:transform;
}
.trust-ticker .ticker-track{
animation: trust-ticker-move var(--ticker-dur, 24s) linear infinite;
}
.trust-ticker .ticker-track[aria-hidden="true"]{
position:absolute; top:0; left:0;
display:flex;
animation: trust-ticker-move-dup var(--ticker-dur, 24s) linear infinite;
}
.trust-ticker:hover .ticker-track,
.trust-ticker:focus-within .ticker-track{ animation-play-state:paused; }

/* необязательная лёгкая маска по краям (если фон светлый — можно убрать псевдоэлементы) */
.trust-ticker::before, .trust-ticker::after{
content:""; position:absolute; top:0; bottom:0; width:16px; pointer-events:none;
background:linear-gradient(to right, rgba(255,255,255,0.9), rgba(255,255,255,0));
}
.trust-ticker::before{ left:0; transform:scaleX(-1); }
.trust-ticker::after{ right:0; }

@keyframes trust-ticker-move{
from{ transform:translateX(0); }
to { transform:translateX(calc(-1 * var(--ticker-w, 0px))); }
}
@keyframes trust-ticker-move-dup{
from{ transform:translateX(var(--ticker-w, 0px)); }
to { transform:translateX(0); }
}
}

/* Уважение к prefers-reduced-motion */
@media (prefers-reduced-motion:reduce){
.trust-ticker .ticker-track{ animation:none !important; }
}


#finder-overlay{ display:none; }
@media (max-width:1024px){
#finder-overlay{
display:block; position:fixed; inset:0;
background:rgba(0,0,0,.48);
opacity:0; pointer-events:none; transition:opacity .2s ease;
z-index:980;
}
#finder-overlay.is-open{ opacity:1; pointer-events:auto; 
}
}

/* Trust strip: убрать прозрачный прямоугольник справа */
.trust-strip,
.trust-strip .inner,
.trust-ticker{
  position: relative;
  overflow: hidden;        /* ничего не выползает за контейнер */
}

/* Если где-то добавлялся fade у бегущей строки — отключаем его */
.trust-ticker::before,
.trust-ticker::after,
.trust-strip::before,
.trust-strip::after{
  content: none;           /* убираем правый/левый градиент-плашки */
}
/* Desktop: выключаем бегущую строку, делаем статичный ряд */
@media (min-width:1025px){
  .trust-ticker{
    overflow: visible;
    height: auto;            /* больше не фиксируем высоту */
  }
  .trust-ticker .ticker-track{
    position: static;
    display: inline-flex;    /* показываем одну дорожку как обычный ряд */
    gap: 10px;
    animation: none !important;
    transform: none !important;
  }
  .trust-ticker .ticker-track.is-dup{
    display: none;           /* дубликат дорожки не нужен на ПК */
  }
}
