/* Общие правила элементов управления коммерческих страниц. */
:root{--control-radius:18px;--control-height:56px}
.btn,.btn-max,.btn-orange,.button,.reg__btn{border-radius:var(--control-radius);min-height:var(--control-height);font-family:TildaSans,Arial,sans-serif;font-weight:700;line-height:1.3;text-align:center}
a:focus-visible,button:focus-visible,[role="button"]:focus-visible{outline:3px solid #174b8c;outline-offset:5px}
.slider__dots{gap:0;margin-top:18px}
.slider__dots button{width:44px;height:44px;min-width:44px;padding:0;background:transparent;border:0;display:grid;place-items:center}
.slider__dots button::before{content:'';width:10px;height:10px;border-radius:50%;background:#00000040}
.slider__dots button[aria-current="true"]{background:transparent}
.slider__dots button[aria-current="true"]::before{background:var(--red,#ec343a)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.button-blue{background:#0064c8;color:#fff449}.button-blue:hover{background:#0053aa}
.contact-actions .messenger--vk{background:#0066df}
.hero__media>picture{display:block;max-width:100%}

/* Отзывы: ограничиваем ширину слайдов и переносим точки на отдельную строку. */
.slider__viewport,.slider__track{min-width:0}
.slider__track img{min-width:0;max-width:100%;height:auto;object-fit:contain}
@media(max-width:639px){
  .reviews .slider{width:100%;max-width:100%;box-sizing:border-box;grid-template-columns:44px minmax(0,1fr) 44px;gap:16px 10px;padding:0 16px}
  .reviews .slider__viewport{grid-column:1/-1;grid-row:1;width:100%;min-width:0;border-radius:12px}
  .reviews .slider__arrow{grid-row:2;width:44px;height:44px}
  .reviews .slider__arrow_prev{grid-column:1}
  .reviews .slider__arrow_next{grid-column:3}
  .reviews .slider__dots{grid-column:1/-1;grid-row:3;display:flex;flex-wrap:nowrap;justify-content:center;gap:0;margin:0;min-width:0;max-width:100%}
  .reviews .slider__dots button{flex:1 1 0;width:32px;min-width:0;max-width:44px;height:44px}
}