:root{
    --brand-primary: #1E3A8A; /* доверие */
    --brand-accent:  #D32F2F; /* Актион-акцент */
    --brand-soft:    #F3F6FF;
    --brand-text:    #111827;
}

.badge-accent { 
    background: var(--brand-accent); 
}

#list-products-column {
    outline: solid 2px var(--brand-primary);
    padding: 3px;
    border-radius: 8px;
}

#hero-free-consult {
    background-color: var(--brand-accent);
    outline: solid 1px var(--brand-primary);
    color: var(--brand-soft);
    transition: 0.5s ease-in-out;
}

#hero-free-consult:hover {
    transform: scale(1.03);
    outline: solid 2px var(--brand-primary);
    transition: transform ease-in-out;
}

.hero-tasks li {
    margin-bottom: 5px;
}

.hero-tasks li:hover {
    border-radius: 3px;
    outline: solid 2px var(--brand-text);
    box-shadow: rgb(38, 57, 77) 0px 20px 30px -10px;
}

.carousel-inner {
    border-radius: 8px;
    box-shadow: rgb(38, 57, 77) 0px 20px 30px -10px;
}

.home-carousel-image {
    max-height: 350px;
    object-fit: cover;
}

#section-about-company {
    padding: 8px;
}

#section-about-company .container {
    background-color: var(--brand-soft);
    outline: solid 2px var(--brand-primary);
    border-radius: 8px;
}

.slide-caption{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  padding: .75rem 1rem;
  color: #fff;

  background: rgba(0,0,0,.45);  /* полупрозрачный фон через rgba [web:1] */
  backdrop-filter: blur(2px);   /* опционально */
  overflow-wrap: break-word;  /* предпочтительнее, чем word-wrap [web:22] */
  word-break: normal;
}

.carousel-item { position: relative; }

/* состояние "по умолчанию" (неактивный слайд) */
.carousel-item .slide-caption{
  transform: translateY(100%);
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease;
}

/* когда слайд активен — подпись выезжает снизу */
.carousel-item.active .slide-caption{
  transform: translateY(0);
  opacity: 1;
}

/* на время движения слайда можно скрыть подпись уходящего,
   чтобы не было "двойных" подписей */
.carousel-item.carousel-item-start .slide-caption,
.carousel-item.carousel-item-end .slide-caption{
  opacity: 0;
}