.offer {
  background: #fff;
  width: 95%;
  border: 1px solid #ddd;
  border-radius: 15px;
  padding: 15px;
  margin-bottom: 15px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  cursor: pointer;
}

.offer:hover {
  transform: translateY(-5px) scale(1.02); 
  box-shadow: 0 6px 15px rgba(0,0,0,0.2);
}

.toggle-elements.btn-icon {
  width: 42px;
  height: 42px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(33,37,41,0.08);
  background-color: #ffffff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
  color: #495057;
}

.toggle-elements.btn-icon i {
  font-size: 1.05rem;
  transition: transform 0.30s ease, color 0.15s ease;
  line-height: 1;
}

.toggle-elements.btn-icon:hover {
  transform: translateY(-3px);
  border-color: #0d6efd;
  box-shadow: 0 6px 18px rgba(13,110,253,0.12);
  color: #0d6efd;
  background-color: rgba(13,110,253,0.04);
}

.toggle-elements.btn-icon:focus {
  outline: none;
  box-shadow: 0 0 0 0.25rem rgba(13,110,253,0.15);
}

.toggle-elements.btn-icon[aria-expanded="true"] {
  border-color: #0d6efd;
  background-color: rgba(13,110,253,0.06);
  color: #0d6efd;
  transform: translateY(-1px);
}
.toggle-elements.btn-icon[aria-expanded="true"] i {
  transform: rotate(180deg);
  color: #0d6efd;
}

.offer-elements {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.35s ease, opacity 0.25s ease;
  cursor: pointer;
}
.offer-elements.show {
  max-height: 500px;
  opacity: 1;
  overflow-y: auto;
}

.kit-element {
  font-size: 0.95rem;
  color: #212529;
  width: 95%;
  margin-left: 2.5%;
}

.kit-element:hover{
  transform: translateY(-3%) scale(1.05);
}

.kit-element .text-muted {
  font-size: 0.88rem;
}