/* Highlighted Titel */
.highlight-red {
  position: relative;
  display: inline;
  font-family: "Lora", serif;
  font-style: italic;
  font-optical-sizing: auto;
  font-weight: 400;
}
.highlight-red::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.1em; /* sehr nah am Text */
  width: 100%;
  height: 0.3em;
  background: #e7b1b1; /* leicht entsättigtes Rot */
  opacity:0.4;
  z-index: -1;
  border-radius: 4px;
}

/* Trust Banner */
.td-trust-banner {
  background: linear-gradient(
    180deg,
    rgba(216, 81, 81, 0.10) 0%,
    rgba(216, 81, 81, 0.04) 100%
  );
  border-top: 1px solid rgba(216, 81, 81, 0.15);
  border-bottom: 1px solid rgba(216, 81, 81, 0.10);
}

.td-trust-inner {
  font-size: 0.95rem;
}

.td-divider {
  width: 1px;
  height: 18px;
  background: rgba(31, 41, 55, 0.15);
}

.td-icon-primary {
  color: #d85151;
  font-size: 20px;
}

.td-icon-accent {
  color: #f5b301;
  font-size: 20px;
}


/* Shake Button */
.btn-shake:hover i {
  animation: shake 0.4s ease;
}

@keyframes shake {
  0% { transform: translateX(0); }
  20% { transform: translateX(-3px); }
  40% { transform: translateX(3px); }
  60% { transform: translateX(-2px); }
  80% { transform: translateX(2px); }
  100% { transform: translateX(0); }
}

/* Offerten Form */
  .offerten-footer {
    text-align: center;
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom:40px;
    margin-top:10px;
}

.offerten-footer span {
    display: inline-block;
    padding: 5px 15px;
    font-weight:bold;
    border-radius: 5px;
    font-size: 1rem;
}

.offerten-header i {
    margin-left: 8px;
    color: #333;
}

.offerten-generator{
  border: 3px solid black;
  background-color:#f9f9f9;
  border-radius:20px;
  padding:20px 30px 20px 30px;
  max-width:900px;
  margin-top:25px;  
}
.offerten-generator .progress{
  height: 20px;
  width: 250px;
  position: relative;
}

.square-option-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px; 
}
  .square-option {
    display: inline-block;
    border: 2px solid #ccc;
    cursor: pointer;
    border-radius: 8px;
    font-weight: bold;
    transition: 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 150px;
    height: 80px;
    padding: 10px;
    box-sizing: border-box;

  }

  .offerten-terms {
    display: none;
    max-width: 500px;
    text-align: left;
    margin-right: auto;
}

  @media (max-width: 768px) {
    .square-option {
    width: 140px;
    height: 70px;
    }
    .square-option-container {
    gap:5px;
    justify-content: center;
    }
    .offerten-generator{
      padding:20px 15px 20px 15px;
      text-align: center;
    }
    .offerten-generator .progress{
      width: 150px;
    }
    .offerten-steps div{
      display:block !important;
      margin-bottom:3px !important;
    }
    .offerten-steps span{
      font-size:0.75rem !important;
    }
    .offerten-terms {
      margin-left:auto;
    }
  }

  .square-option:hover {
    border-color: #666;
  }

  .square-option input {
    display: none;
  }

  .square-option.selected {
    background-color: #ff4343;
    color: white;
    border-color: #ff4343;
  }