/* Liegeplatz-Anfrage – 3-Schritt-Wizard */

.convertforms.fs-liegeplatz-form {
  --fs-lp-radius: 10px;
  --fs-lp-gap: 1rem;
  --fs-lp-border: var(--fs-hairline, #d9d7cc);
}

.convertforms.fs-liegeplatz-form .cf-control-group.cf-step-2,
.convertforms.fs-liegeplatz-form .cf-control-group.cf-step-3,
.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__actions {
  display: none;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__nav-host {
  display: none !important;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__intro {
  display: block;
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  margin: 0 0 1.25rem;
}

.convertforms.fs-liegeplatz-form.is-step-2 .cf-control-group.cf-step-1,
.convertforms.fs-liegeplatz-form.is-step-3 .cf-control-group.cf-step-1 {
  display: none;
}

.convertforms.fs-liegeplatz-form.is-step-2 .cf-control-group.cf-step-2,
.convertforms.fs-liegeplatz-form.is-step-3 .cf-control-group.cf-step-3 {
  display: block;
}

/* Progress */
.convertforms.fs-liegeplatz-form .fs-liegeplatz-progress {
  margin: 0;
  padding: 1.1rem 1.15rem 1rem;
  background: var(--fs-cream, #f1f0e8);
  border: 1px solid var(--fs-lp-border);
  border-radius: var(--fs-lp-radius);
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-progress__bar {
  height: 5px;
  margin: 0 0 1rem;
  border-radius: 999px;
  background: rgba(40, 54, 75, 0.1); /* legacy-edge-fallback */
  background: rgb(40 54 75 / 10%);
  overflow: hidden;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-progress__fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--fs-gold, #cebd88);
  transition: width 0.35s ease;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-steps__item {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  min-width: 0;
  font-family: var(--fs-font-body);
  color: rgba(40, 54, 75, 0.5); /* legacy-edge-fallback */
  color: rgb(40 54 75 / 50%);
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-steps__num {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  background: rgba(40, 54, 75, 0.1); /* legacy-edge-fallback */
  background: rgb(40 54 75 / 10%);
  color: var(--fs-navy, #28364b);
  font-weight: 700;
  font-size: 0.82rem;
  line-height: 1;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-steps__copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-steps__copy strong {
  font-size: 0.92rem;
  font-weight: 600;
  color: inherit;
  line-height: 1.25;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-steps__copy em {
  font-style: normal;
  font-size: 0.8rem;
  color: rgba(40, 54, 75, 0.55); /* legacy-edge-fallback */
  color: rgb(40 54 75 / 55%);
  line-height: 1.3;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-steps__item.is-active,
.convertforms.fs-liegeplatz-form .fs-liegeplatz-steps__item.is-done {
  color: var(--fs-navy, #28364b);
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-steps__item.is-active .fs-liegeplatz-steps__num,
.convertforms.fs-liegeplatz-form .fs-liegeplatz-steps__item.is-done .fs-liegeplatz-steps__num {
  background: var(--fs-gold, #cebd88);
  color: var(--fs-navy, #28364b);
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-progress__status {
  margin: 0.85rem 0 0;
  font-size: 0.84rem;
  color: var(--fs-lp-muted);
}

/* Summary / Price panels */
.convertforms.fs-liegeplatz-form .fs-liegeplatz-summary,
.convertforms.fs-liegeplatz-form .fs-liegeplatz-price,
.convertforms.fs-liegeplatz-form .fs-liegeplatz-review {
  display: none;
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 0 var(--fs-lp-gap);
  padding: 1.05rem 1.15rem;
  background: var(--fs-cream, #f1f0e8);
  border: 1px solid var(--fs-lp-border);
  border-radius: var(--fs-lp-radius);
}

.convertforms.fs-liegeplatz-form.is-step-2 .fs-liegeplatz-summary,
.convertforms.fs-liegeplatz-form.is-step-2 .fs-liegeplatz-price {
  display: block;
}

.convertforms.fs-liegeplatz-form.is-step-3 .fs-liegeplatz-review {
  display: block;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-review__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 1rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(40, 54, 75, 0.1); /* legacy-edge-fallback */
  border-bottom: 1px solid rgb(40 54 75 / 10%);
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-review__head strong {
  font-family: var(--fs-font-display);
  font-size: 1.2rem;
  color: var(--fs-navy, #28364b);
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-review__head span {
  font-size: 0.86rem;
  color: var(--fs-lp-muted);
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-review__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.5rem;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-review__price .fs-liegeplatz-price__amount {
  margin-top: 0.1rem;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-review .fs-liegeplatz-summary__note {
  margin-top: 0.95rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(40, 54, 75, 0.1); /* legacy-edge-fallback */
  border-top: 1px solid rgb(40 54 75 / 10%);
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-summary__grid,
.convertforms.fs-liegeplatz-form .fs-liegeplatz-price__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.5rem;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-summary__label {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--fs-lp-muted);
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-summary__value {
  display: block;
  font-family: var(--fs-font-display);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--fs-navy, #28364b);
  line-height: 1.25;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-summary__sub,
.convertforms.fs-liegeplatz-form .fs-liegeplatz-summary__note {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.86rem;
  color: var(--fs-lp-muted);
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-price__amount {
  display: block;
  font-family: var(--fs-font-display);
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--fs-navy, #28364b);
  line-height: 1.2;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-price .fs-liegeplatz-summary__note {
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(40, 54, 75, 0.1); /* legacy-edge-fallback */
  border-top: 1px solid rgb(40 54 75 / 10%);
}

/* Option cards */
.convertforms.fs-liegeplatz-form .fs-lager-options {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}

.convertforms.fs-liegeplatz-form .fs-lager-options > .cf-label {
  margin-bottom: 0.85rem;
  font-family: var(--fs-font-display);
  font-size: 1.15rem;
}

.convertforms.fs-liegeplatz-form .fs-lager-options .cf-list {
  display: grid;
  gap: 0.85rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.convertforms.fs-liegeplatz-form .fs-lager-option {
  position: relative;
  display: grid;
  gap: 0.55rem;
  width: 100%;
  box-sizing: border-box;
  padding: 1.1rem 1.2rem 1.1rem 3rem;
  border: 1px solid var(--fs-lp-border);
  border-radius: var(--fs-lp-radius);
  background: var(--fs-white, #fff);
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, opacity 0.2s ease;
}

.convertforms.fs-liegeplatz-form .fs-lager-option:hover:not(.is-disabled) {
  border-color: var(--fs-gold, #cebd88);
  box-shadow: 0 10px 24px rgba(40, 54, 75, 0.08); /* legacy-edge-fallback */
  box-shadow: 0 10px 24px rgb(40 54 75 / 8%);
}

.convertforms.fs-liegeplatz-form .fs-lager-option.is-selected:not(.is-disabled) {
  border-color: var(--fs-gold, #cebd88);
  background: #fbfaf5;
  box-shadow: 0 0 0 1px var(--fs-gold, #cebd88);
}

.convertforms.fs-liegeplatz-form .fs-lager-option.is-disabled {
  opacity: 0.45;
  background: #eceae2;
  cursor: not-allowed;
  box-shadow: none;
}

.convertforms.fs-liegeplatz-form .fs-lager-option .cf-radio-group,
.convertforms.fs-liegeplatz-form .fs-lager-option .cf-choice {
  position: absolute;
  top: 1.2rem;
  left: 1.05rem;
  margin: 0;
  padding: 0;
  width: auto;
}

.convertforms.fs-liegeplatz-form .fs-lager-option input[type='radio'] {
  margin: 0;
  width: auto;
  min-width: 1.05rem;
  accent-color: var(--fs-navy, #28364b);
}

.convertforms.fs-liegeplatz-form .fs-lager-option label.cf-label,
.convertforms.fs-liegeplatz-form .fs-lager-option .cf-label {
  display: none !important;
}

.convertforms.fs-liegeplatz-form .fs-lager-option__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem 1.25rem;
}

.convertforms.fs-liegeplatz-form .fs-lager-option__title {
  flex: 1 1 12rem;
  font-family: var(--fs-font-display);
  font-size: 1.12rem;
  font-weight: 600;
  color: var(--fs-navy, #28364b);
  line-height: 1.3;
}

.convertforms.fs-liegeplatz-form .fs-lager-option__pricing {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.15rem;
  text-align: right;
  min-width: 8.5rem;
}

.convertforms.fs-liegeplatz-form .fs-lager-option__price {
  font-family: var(--fs-font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--fs-navy, #28364b);
  line-height: 1.15;
  white-space: nowrap;
}

.convertforms.fs-liegeplatz-form .fs-lager-option__rate {
  font-size: 0.8rem;
  color: var(--fs-lp-muted);
  white-space: nowrap;
}

.convertforms.fs-liegeplatz-form .fs-lager-option__text {
  font-size: 0.92rem;
  line-height: 1.5;
  color: rgba(40, 54, 75, 0.82); /* legacy-edge-fallback */
  color: rgb(40 54 75 / 82%);
}

.convertforms.fs-liegeplatz-form .fs-lager-option__hint {
  margin-top: 0.15rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: #8a7340;
}

/* Actions – immer in einer Reihe, nie gestapelt (Desktop) */
.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__actions {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  display: none;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
  margin: 1.5rem 0 0;
  padding-top: 0.25rem;
}

.convertforms.fs-liegeplatz-form.is-step-1 .fs-liegeplatz-wizard__actions,
.convertforms.fs-liegeplatz-form.is-step-2 .fs-liegeplatz-wizard__actions,
.convertforms.fs-liegeplatz-form.is-step-3 .fs-liegeplatz-wizard__actions {
  display: flex !important;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__back.is-hidden,
.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__next.is-hidden,
.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__back[hidden],
.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__next[hidden] {
  display: none !important;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__actions .button,
.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__actions button {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 8.5rem;
  max-width: none !important;
  margin: 0 !important;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__back {
  background: transparent !important;
  color: var(--fs-navy, #28364b) !important;
  border: 1px solid var(--fs-lp-border) !important;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__back:hover{
  background: var(--fs-cream, #f1f0e8) !important;
  color: var(--fs-navy, #28364b) !important;
}
.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__back:focus-visible{
  background: var(--fs-cream, #f1f0e8) !important;
  color: var(--fs-navy, #28364b) !important;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__next {
  background: var(--fs-navy, #28364b) !important;
  color: var(--fs-gold, #cebd88) !important;
  border: 0 !important;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__next:hover{
  background: var(--fs-gold, #cebd88) !important;
  color: var(--fs-navy, #28364b) !important;
}
.convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__next:focus-visible{
  background: var(--fs-gold, #cebd88) !important;
  color: var(--fs-navy, #28364b) !important;
}

.convertforms.fs-liegeplatz-form .fs-liegeplatz-error {
  margin-top: 0.4rem;
  font-size: 0.88rem;
  color: #a52828;
}

/* Hafen-Karten */
.convertforms.fs-liegeplatz-form .fs-hafen-options {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}

.convertforms.fs-liegeplatz-form .fs-hafen-options .cf-control-input,
.convertforms.fs-liegeplatz-form .cf-control-group[data-name='hafen'] .cf-control-input,
.convertforms.fs-liegeplatz-form .cf-control-group[data-type='radio'].fs-hafen-options .cf-control-input {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.convertforms.fs-liegeplatz-form .fs-hafen-options > .cf-label {
  margin-bottom: 0.85rem;
  font-family: var(--fs-font-display);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--fs-navy, #28364b);
}

.convertforms.fs-liegeplatz-form .fs-hafen-options__grid,
.convertforms.fs-liegeplatz-form .fs-hafen-options .cf-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.convertforms.fs-liegeplatz-form .fs-hafen-options .cf-list > li,
.convertforms.fs-liegeplatz-form .fs-hafen-options .cf-list > .cf-list-item {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.convertforms.fs-liegeplatz-form .fs-hafen-options__grid > .fs-hafen-option,
.convertforms.fs-liegeplatz-form .fs-hafen-options .cf-list > .fs-hafen-option {
  width: 100%;
}

.convertforms.fs-liegeplatz-form .fs-hafen-option {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  box-sizing: border-box;
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: 1px solid var(--fs-lp-border, #d9d7cc);
  border-radius: var(--fs-lp-radius, 10px);
  background: var(--fs-white, #fff);
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.convertforms.fs-liegeplatz-form .fs-hafen-option:hover {
  border-color: var(--fs-gold, #cebd88);
  box-shadow: 0 12px 28px rgba(40, 54, 75, 0.1); /* legacy-edge-fallback */
  box-shadow: 0 12px 28px rgb(40 54 75 / 10%);
}

.convertforms.fs-liegeplatz-form .fs-hafen-option.is-selected {
  border-color: var(--fs-gold, #cebd88);
  box-shadow: 0 0 0 1px var(--fs-gold, #cebd88);
  background: #fbfaf5;
}

.convertforms.fs-liegeplatz-form .fs-hafen-option__radio,
.convertforms.fs-liegeplatz-form .fs-hafen-option .cf-radio-group,
.convertforms.fs-liegeplatz-form .fs-hafen-option .cf-choice {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 3;
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  width: 1.1rem;
  height: 1.1rem;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
}

.convertforms.fs-liegeplatz-form .fs-hafen-option input[type='radio'] {
  margin: 0 !important;
  width: 1.1rem !important;
  height: 1.1rem !important;
  min-width: 1.1rem !important;
  accent-color: var(--fs-navy, #28364b);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.92); /* legacy-edge-fallback */
  box-shadow: 0 0 0 2px rgb(255 255 255 / 92%);
}

.convertforms.fs-liegeplatz-form .fs-hafen-option label.cf-label,
.convertforms.fs-liegeplatz-form .fs-hafen-option .cf-label,
.convertforms.fs-liegeplatz-form .fs-hafen-option .cf-choice label {
  display: none !important;
}

.convertforms.fs-liegeplatz-form .fs-hafen-option__media {
  flex: 0 0 auto;
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 0;
  padding-bottom: 62.5%; /* 16:10 Legacy-Edge */
  aspect-ratio: 16 / 10;
  background: var(--fs-cream, #f1f0e8);
  line-height: 0;
  border: 0;
  border-radius: 9px 9px 0 0; /* legacy-edge-fallback: calc */
  border-radius: calc(var(--fs-lp-radius, 10px) - 1px) calc(var(--fs-lp-radius, 10px) - 1px) 0 0;
}

@supports (aspect-ratio: 16 / 10) {
  .convertforms.fs-liegeplatz-form .fs-hafen-option__media {
    height: auto;
    padding-bottom: 0;
  }
}

.convertforms.fs-liegeplatz-form .fs-hafen-option__media img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

.convertforms.fs-liegeplatz-form .fs-hafen-option.is-selected .fs-hafen-option__media::after {
  content: '';
  position: absolute;
  top: auto; /* legacy-edge-fallback */
  right: 0; /* legacy-edge-fallback */
  bottom: 0; /* legacy-edge-fallback */
  left: 0; /* legacy-edge-fallback */
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  inset: auto 0 0;
  height: 3px;
  background: var(--fs-gold, #cebd88);
}

.convertforms.fs-liegeplatz-form .fs-hafen-option__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.4rem;
  padding: 1.05rem 1.15rem 1.2rem;
}

.convertforms.fs-liegeplatz-form .fs-hafen-option__title {
  font-family: var(--fs-font-display);
  font-size: 1.12rem;
  font-weight: 600;
  color: var(--fs-navy, #28364b);
  line-height: 1.25;
}

.convertforms.fs-liegeplatz-form .fs-hafen-option__subtitle {
  font-size: 0.88rem;
  color: rgba(40, 54, 75, 0.68); /* legacy-edge-fallback */
  color: rgb(40 54 75 / 68%);
  line-height: 1.35;
}

.convertforms.fs-liegeplatz-form .fs-hafen-option__facts {
  margin: 0.45rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.32rem;
}

.convertforms.fs-liegeplatz-form .fs-hafen-option__facts li {
  position: relative;
  padding-left: 1rem;
  font-size: 0.88rem;
  line-height: 1.4;
  color: rgba(40, 54, 75, 0.82); /* legacy-edge-fallback */
  color: rgb(40 54 75 / 82%);
}

.convertforms.fs-liegeplatz-form .fs-hafen-option__facts li::before {
  content: '';
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 999px;
  background: var(--fs-gold, #cebd88);
}

@media (max-width: 720px) {
  .convertforms.fs-liegeplatz-form .fs-hafen-options__grid,
  .convertforms.fs-liegeplatz-form .fs-hafen-options .cf-list {
    grid-template-columns: 1fr;
  }
}

.convertforms.fs-liegeplatz-form .cf-control-group.has-error .cf-input,
.convertforms.fs-liegeplatz-form .cf-control-group.has-error textarea {
  border-color: #a52828;
}

@media (max-width: 720px) {
  .convertforms.fs-liegeplatz-form .fs-liegeplatz-steps {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }

  .convertforms.fs-liegeplatz-form .fs-liegeplatz-summary__grid,
  .convertforms.fs-liegeplatz-form .fs-liegeplatz-price__grid,
  .convertforms.fs-liegeplatz-form .fs-liegeplatz-review__grid {
    grid-template-columns: 1fr;
  }

  .convertforms.fs-liegeplatz-form .fs-lager-option__head {
    flex-direction: column;
  }

  .convertforms.fs-liegeplatz-form .fs-lager-option__pricing {
    align-items: flex-start;
    text-align: left;
  }

  .convertforms.fs-liegeplatz-form .fs-liegeplatz-wizard__actions {
    flex-wrap: wrap;
  }
}
