Загрузка данных
<style>
.nb-repair-steps,
.nb-repair-steps * {
box-sizing: border-box;
}
.nb-repair-steps {
--blue: #2563eb;
--blue-light: #eaf3ff;
--dark: #111827;
--text: #667085;
--line: #bcd4fa;
width: 100%;
margin: 0;
padding: 22px 0 28px;
font-family: inherit;
}
/* Сетка из пяти этапов */
.nb-repair-steps__grid {
position: relative;
width: 100%;
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: clamp(12px, 2vw, 34px);
}
/* Общая соединительная линия */
.nb-repair-steps__grid::before {
content: "";
position: absolute;
top: 36px;
left: 10%;
right: 10%;
height: 2px;
background: var(--line);
}
/* Отдельный этап */
.nb-repair-steps__item {
position: relative;
z-index: 1;
min-width: 0;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
/* Контейнер иконки */
.nb-repair-steps__icon {
position: relative;
width: 72px;
height: 72px;
margin: 0 0 18px;
display: flex;
align-items: center;
justify-content: center;
flex: 0 0 auto;
overflow: hidden;
background: #ffffff;
border: 2px solid var(--blue);
border-radius: 0;
box-shadow: 0 0 0 7px #ffffff;
transition:
transform 0.28s ease,
background-color 0.28s ease,
box-shadow 0.28s ease;
}
/* Основная иконка этапа */
.nb-repair-steps__main-icon {
position: absolute;
z-index: 3;
top: 50%;
left: 50%;
display: block;
width: 42px;
height: 42px;
object-fit: contain;
transform: translate(-50%, -50%);
transition:
transform 0.34s ease,
opacity 0.34s ease;
}
/* Котёнок */
.nb-repair-steps__cat {
position: absolute;
z-index: 2;
left: 50%;
bottom: -34px;
display: block;
width: 35px;
height: 35px;
object-fit: contain;
opacity: 0;
transform: translateX(-50%) scale(0.76) rotate(-4deg);
transition:
bottom 0.38s ease,
opacity 0.25s ease,
transform 0.38s ease;
}
/* Разные направления появления котят */
.nb-repair-steps__item:nth-child(2) .nb-repair-steps__cat {
transform: translateX(-50%) scale(0.76) rotate(5deg);
}
.nb-repair-steps__item:nth-child(3) .nb-repair-steps__cat {
transform: translateX(-50%) scale(0.76) rotate(-7deg);
}
.nb-repair-steps__item:nth-child(4) .nb-repair-steps__cat {
transform: translateX(-50%) scale(0.76) rotate(6deg);
}
.nb-repair-steps__item:nth-child(5) .nb-repair-steps__cat {
transform: translateX(-50%) scale(0.76) rotate(-3deg);
}
/* Номер этапа */
.nb-repair-steps__number {
position: absolute;
z-index: 5;
top: -7px;
right: -7px;
width: 25px;
height: 25px;
display: flex;
align-items: center;
justify-content: center;
color: #ffffff;
background: var(--blue);
border: 3px solid #ffffff;
border-radius: 0;
font-size: 10px;
font-weight: 800;
line-height: 1;
}
/* Заголовок */
.nb-repair-steps__title {
width: 100%;
margin: 0 0 10px;
color: var(--dark);
font-size: clamp(18px, 1.55vw, 25px);
font-weight: 700;
line-height: 1.2;
text-align: center;
overflow-wrap: break-word;
}
/* Описание */
.nb-repair-steps__text {
width: 100%;
margin: 0;
color: var(--text);
font-size: clamp(13px, 1vw, 16px);
font-weight: 400;
line-height: 1.45;
text-align: center;
overflow-wrap: break-word;
}
/* Наведение на карточку */
.nb-repair-steps__item:hover .nb-repair-steps__icon {
background: var(--blue-light);
transform: translateY(-3px);
box-shadow:
0 0 0 7px #ffffff,
4px 5px 0 rgba(37, 99, 235, 0.14);
}
/* Основная иконка поднимается */
.nb-repair-steps__item:hover .nb-repair-steps__main-icon {
transform: translate(-50%, -72%);
}
/* Котёнок выглядывает */
.nb-repair-steps__item:hover .nb-repair-steps__cat {
bottom: 3px;
opacity: 1;
transform: translateX(-50%) scale(1) rotate(0deg);
}
/* Планшет */
@media (max-width: 900px) {
.nb-repair-steps__grid {
gap: 14px;
}
.nb-repair-steps__grid::before {
top: 32px;
}
.nb-repair-steps__icon {
width: 64px;
height: 64px;
margin-bottom: 16px;
}
.nb-repair-steps__main-icon {
width: 36px;
height: 36px;
}
.nb-repair-steps__cat {
bottom: -30px;
width: 31px;
height: 31px;
}
.nb-repair-steps__item:hover .nb-repair-steps__cat {
bottom: 3px;
}
.nb-repair-steps__title {
font-size: 18px;
}
.nb-repair-steps__text {
font-size: 13px;
}
}
/* Мобильная версия */
@media (max-width: 600px) {
.nb-repair-steps {
padding: 14px 0 22px;
}
.nb-repair-steps__grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 10px;
}
/* Скрываем «Выводы» и «Согласование» */
.nb-repair-steps__item:nth-child(3),
.nb-repair-steps__item:nth-child(4) {
display: none;
}
.nb-repair-steps__grid::before {
top: 28px;
left: 16.66%;
right: 16.66%;
}
.nb-repair-steps__icon {
width: 56px;
height: 56px;
margin-bottom: 14px;
box-shadow: 0 0 0 5px #ffffff;
}
.nb-repair-steps__item:hover .nb-repair-steps__icon {
box-shadow:
0 0 0 5px #ffffff,
3px 4px 0 rgba(37, 99, 235, 0.14);
}
.nb-repair-steps__main-icon {
width: 32px;
height: 32px;
}
.nb-repair-steps__cat {
bottom: -26px;
width: 27px;
height: 27px;
}
.nb-repair-steps__item:hover .nb-repair-steps__main-icon {
transform: translate(-50%, -69%);
}
.nb-repair-steps__item:hover .nb-repair-steps__cat {
bottom: 2px;
}
.nb-repair-steps__number {
top: -6px;
right: -6px;
width: 22px;
height: 22px;
font-size: 9px;
}
.nb-repair-steps__title {
margin-bottom: 7px;
font-size: 15px;
line-height: 1.2;
}
.nb-repair-steps__text {
font-size: 11px;
line-height: 1.35;
}
}
/* Очень узкие телефоны */
@media (max-width: 360px) {
.nb-repair-steps__grid {
gap: 6px;
}
.nb-repair-steps__icon {
width: 50px;
height: 50px;
}
.nb-repair-steps__grid::before {
top: 25px;
}
.nb-repair-steps__main-icon {
width: 28px;
height: 28px;
}
.nb-repair-steps__cat {
bottom: -23px;
width: 24px;
height: 24px;
}
.nb-repair-steps__item:hover .nb-repair-steps__cat {
bottom: 2px;
}
.nb-repair-steps__title {
font-size: 13px;
}
.nb-repair-steps__text {
font-size: 10px;
}
}
/* Нажатие на сенсорных устройствах */
@media (hover: none) {
.nb-repair-steps__item:active .nb-repair-steps__icon {
background: var(--blue-light);
transform: translateY(-3px);
}
.nb-repair-steps__item:active .nb-repair-steps__main-icon {
transform: translate(-50%, -72%);
}
.nb-repair-steps__item:active .nb-repair-steps__cat {
bottom: 3px;
opacity: 1;
transform: translateX(-50%) scale(1) rotate(0deg);
}
}
/* Убираем анимацию для пользователей, отключивших её */
@media (prefers-reduced-motion: reduce) {
.nb-repair-steps__icon,
.nb-repair-steps__main-icon,
.nb-repair-steps__cat {
transition: none;
}
}
</style>
<section class="nb-repair-steps">
<div class="nb-repair-steps__grid">
<!-- Этап 01: Прием -->
<article class="nb-repair-steps__item">
<span class="nb-repair-steps__icon">
<span class="nb-repair-steps__number">01</span>
<!-- Котёнок №1 -->
<img
class="nb-repair-steps__cat"
src="http://notebook1local.local/wp-content/uploads/2026/07/Interface-Essential-Map-Streamline-Pixel-1.svg"
alt=""
aria-hidden="true">
<!-- Основная иконка -->
<img
class="nb-repair-steps__main-icon"
src="http://notebook1local.local/wp-content/uploads/2026/07/Interface-Essential-Loading-0-Percent-Streamline-Pixel.svg"
alt=""
aria-hidden="true">
</span>
<h3 class="nb-repair-steps__title">
Прием ноутбука
</h3>
<p class="nb-repair-steps__text">
Вы передаете ноутбук мастеру и описываете неисправность
</p>
</article>
<!-- Этап 02: Диагностика -->
<article class="nb-repair-steps__item">
<span class="nb-repair-steps__icon">
<span class="nb-repair-steps__number">02</span>
<!-- Котёнок №2 -->
<img
class="nb-repair-steps__cat"
src="http://notebook1local.local/wp-content/uploads/2026/07/Interface-Essential-Zoom-In-Page-Streamline-Pixel.svg"
alt=""
aria-hidden="true">
<!-- Основная иконка -->
<img
class="nb-repair-steps__main-icon"
src="http://notebook1local.local/wp-content/uploads/2026/07/Interface-Essential-Loading-20-Percent-Streamline-Pixel.svg"
alt=""
aria-hidden="true">
</span>
<h3 class="nb-repair-steps__title">
Диагностика
</h3>
<p class="nb-repair-steps__text">
Проводим комплексное тестирование всех систем и компонентов
</p>
</article>
<!-- Этап 03: Выводы -->
<article class="nb-repair-steps__item">
<span class="nb-repair-steps__icon">
<span class="nb-repair-steps__number">03</span>
<!-- Котёнок №3 -->
<img
class="nb-repair-steps__cat"
src="http://notebook1local.local/wp-content/uploads/2026/07/Hand-Like-Streamline-Pixel-1.svg"
alt=""
aria-hidden="true">
<!-- Основная иконка -->
<img
class="nb-repair-steps__main-icon"
src="http://notebook1local.local/wp-content/uploads/2026/07/Interface-Essential-Loading-50-Percent-Streamline-Pixel.svg"
alt=""
aria-hidden="true">
</span>
<h3 class="nb-repair-steps__title">
Выводы
</h3>
<p class="nb-repair-steps__text">
Определяем причину неисправности и возможные варианты решения
</p>
</article>
<!-- Этап 04: Согласование -->
<article class="nb-repair-steps__item">
<span class="nb-repair-steps__icon">
<span class="nb-repair-steps__number">04</span>
<!-- Котёнок №4 -->
<img
class="nb-repair-steps__cat"
src="http://notebook1local.local/wp-content/uploads/2026/07/Interface-Essential-Loading-Circle-2-Streamline-Pixel-1.svg"
alt=""
aria-hidden="true">
<!-- Основная иконка -->
<img
class="nb-repair-steps__main-icon"
src="http://notebook1local.local/wp-content/uploads/2026/07/Interface-Essential-Loading-80-Percent-Streamline-Pixel.svg"
alt=""
aria-hidden="true">
</span>
<h3 class="nb-repair-steps__title">
Согласование
</h3>
<p class="nb-repair-steps__text">
Сообщаем стоимость и сроки ремонта, согласовываем с вами работы
</p>
</article>
<!-- Этап 05: Ремонт -->
<article class="nb-repair-steps__item">
<span class="nb-repair-steps__icon">
<span class="nb-repair-steps__number">05</span>
<!-- Котёнок №5 -->
<img
class="nb-repair-steps__cat"
src="http://notebook1local.local/wp-content/uploads/2026/07/Interface-Essential-Hammer-2-Streamline-Pixel-1.svg"
alt=""
aria-hidden="true">
<!-- Основная иконка -->
<img
class="nb-repair-steps__main-icon"
src="http://notebook1local.local/wp-content/uploads/2026/07/Interface-Essential-Loading-100-Percent-Streamline-Pixel.svg"
alt=""
aria-hidden="true">
</span>
<h3 class="nb-repair-steps__title">
Ремонт
</h3>
<p class="nb-repair-steps__text">
Приступаем к ремонту после вашего согласия
</p>
</article>
</div>
</section>