body,
section,
.anfrage-wrapper,
.anfrage-form,
.preisvorschau {
  overflow: visible !important;
}


section .anfrage-wrapper{
  padding: 10%;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

form {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

.form-field{
  width: calc(50% - 1rem);
}
.form-input, input{
  width: 100%;
  border-radius: 0px;
  border: 0px solid transparent;
  border-bottom: 1px solid #50596c;
  font-weight: 200;
  color: #50596c;
  font-size: 0.9rem;
  padding: .25rem .4rem;
}

.form-field.form-spacer, .form-field.packet-radio-group{
  width: 100%;
}

.form-field.packet-radio-group .form-data{
  width: 100%;
  display: flex; 
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2rem;
}


.form-field.packet-radio-group .form-data .radio-wrapper {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.packet-radio-group .radio {
  position: relative;
  width: calc(50% - 1rem);
}

.packet-radio-group .form-icon {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.packet-radio-group .radio label {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  height: 100%;
  padding: 1.2rem;
  border: 2px solid #BED8E9;
  border-radius: 1rem;
  background: #fff;
  cursor: pointer;
  transition: 0.2s ease;
  color: var(--color-text);
}

.packet-radio-group .radio label:hover {
  border-color: #BED8E9;
  background: #F0F6FA;
  transform: translateY(-2px);
}

.packet-radio-group .radio .form-radio:has(input[type="radio"]:checked) {
  border-color: #BED8E9;
  background: #F0F6FA;
  box-shadow: 0 8px 20px rgba(80, 89, 108, 0.10);
}

.packet-radio-group .radio input[type="radio"]:focus-visible + label {
  outline: 2px solid #BED8E9;
  outline-offset: 3px;
}

.packet-radio-group .paket-titel {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-text);
}

.packet-radio-group .paket-beschreibung {
  display: block;
  font-size: 0.85rem;
  line-height: 1.45;
  color: var(--color-text-muted);
  font-weight: 300;
}


.field-individuell {
    display: none;
}

.field-individuell.is-visible {
  display: block;
}


.anfrage-wrapper h3{
  font-size: 1.2rem;
  margin-bottom: 0;
}

.form-spacer p{
  margin: 0;
}

.form-spacer{
  border-bottom: 2px solid #CA5C4D;
}

.form-spacer {
  margin-top: 2rem;
  margin-bottom: 0;
}

.form-spacer:first-of-type {
  margin-top: 0;
}



.anfrage-form{
  width: 70%;
  border: 2px solid #BED8E9; 
  border-radius: 2rem; 
  padding: 3%;  
}

.preisvorschau{
  position: sticky;
  width: 28%; 
  top: 3rem;
  align-self: flex-start;
  
  border: 2px solid #BED8E9; 
  border-radius: 2rem; 
  padding: 3%; 
}

.preisvorschau h3{
  margin-bottom: 1rem;

}

.preisvorschau-hinweis{
  font-size: 0.8rem;
  margin-bottom: 0;
    margin-top: 0.5rem;
}

.anmerkungen {
  width: 100%;
}

button.btn{
    background-color: #CA5C4D;
    color: #FAF7F7;
    border-radius: 40px;
    padding: 0.4em 1.7em 0.7em 1.7em;
    font-family: "lust-stencil", serif;
    font-weight: 300;
    font-style: normal;
    font-size: 0.7rem;
    border: 0;
    margin-right: 5px;
    margin-top: 10px;
}



.price-row.total{
  display: flex;
  justify-content: space-between;
}

/* Tablet */
@media (max-width: 1200px) {
  section .anfrage-wrapper {
    padding: 6%;
    gap: 2rem;
  }

  .anfrage-form {
    width: 64%;
    padding: 4%;
  }

  .form-field.packet-radio-group .form-data{
    gap: 1rem;
  }
    .packet-radio-group .radio {
    width: calc(50% - 0.5rem);
  }

  .preisvorschau {
    width: 32%;
    top: 2rem;
    padding: 1.25rem;
  }


}

/* Mobile */
@media (max-width: 900px) {
  section .anfrage-wrapper {
    padding: 6%;
    display: block;
  }

  .anfrage-form,
  .preisvorschau {
    width: 100%;
  }

  .anfrage-form {
    padding: 1.25rem;
  }

  .preisvorschau {
    position: static;
    top: auto;
    margin-top: 1.5rem;
    padding: 1.25rem;
  }

  form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .form-field,
  .form-field.form-spacer,
  .form-field.packet-radio-group,
  .anmerkungen {
    width: 100%;
  }

  .form-field.packet-radio-group .form-data,
  .form-field.packet-radio-group .form-data .radio-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .packet-radio-group .radio {
    width: 100%;
  }

  .packet-radio-group .radio label {
    padding: 1rem;
  }

  .form-input,
  input,
  textarea,
  select {
    font-size: 1rem;
  }

  button.btn {
    width: 100%;
    margin-right: 0;
    padding: 0.4em 1.7em 0.7em 1.7em
  }
}

/* Kleine Smartphones */
@media (max-width: 600px) {
  section .anfrage-wrapper {
    padding: 1.25rem;
  }

  .anfrage-form,
  .preisvorschau {
    border-radius: 1.25rem;
  }

  .anfrage-wrapper h3,
  .preisvorschau h3 {
    font-size: 1.05rem;
  }

  .packet-radio-group .paket-titel {
    font-size: 0.95rem;
  }

  .packet-radio-group .paket-beschreibung,
  .preisvorschau-hinweis {
    font-size: 0.8rem;
  }
}