/* Base, angepasst – Icons, vereinfachter Header, Desktop=2 Spalten, Mobile/Tablet hochkant=1 Spalte */
.lw-form { 
  --lw-primary:#b98a58; /* Bronze-Farbe aus dem Logo */
  --lw-secondary:#f5f5f5;
  --lw-text:#222;
  --lw-border:#e5e5e5;
  --lw-bg:#fff;
  --lw-muted:#666;
  --lw-radius:12px;
  --lw-space:14px;
  --lw-space-lg:22px;
  --lw-shadow:0 6px 22px rgba(0,0,0,.08);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, Noto Sans, 'Apple Color Emoji','Segoe UI Emoji';
  color: var(--lw-text);
  background: var(--lw-bg);
  max-width: 880px;
  margin: 20px auto;
  padding: 18px;
  border-radius: var(--lw-radius);
  box-shadow: var(--lw-shadow);
}
.lw-form * { box-sizing: border-box; color: black !important; }

.lw-h1 { margin: 0 0 6px; font-size: 16px; line-height: 1.25; font-weight: 700; }
.lw-sub { margin: 0 0 14px; font-size: 14px; color: var(--lw-muted); }

/* Progress: Text ausgeblendet (nur Balken) */
.lw-progress { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.lw-progress__track { position: relative; flex: 1; height: 8px; background: var(--lw-secondary); border-radius: 999px; overflow: hidden; }
.lw-progress__bar { position: absolute; inset: 0 auto 0 0; width: 0%; background: var(--lw-primary); border-radius: 999px; transition: width .25s ease; }
.lw-progress__text { font-size: 0; line-height: 0; width: 0; height: 0; overflow: hidden; }

/* Karten */
.lw-card { border: 1px solid var(--lw-border); border-radius: 12px; padding: 14px; background: #fff; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; cursor: pointer; display: flex; align-items: center; gap: 12px; }
.lw-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.09); }
.lw-card__title { font-weight: 600; }

/* ICONS */
.lw-icon { width: 28px; height: 28px; display: inline-block; object-fit: contain; flex: 0 0 auto; }
.lw-label--with-icon { display: inline-flex; align-items: center; gap: 8px; }

/* Choice-Grid */
.lw-choice { display: grid; grid-template-columns: repeat(1, minmax(0,1fr)); gap: 12px; }
@media (min-width: 1024px) { .lw-choice { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.lw-choice--tight { grid-template-columns: repeat(1,minmax(0,1fr)); }
@media (min-width: 1024px) { .lw-choice--tight { grid-template-columns: repeat(1, minmax(0,1fr)); } }

.lw-hidden { display: none !important; }

.lw-field { margin-bottom: 20px; text-align: left !important; }
.lw-label { display: inline-block; margin-bottom: 8px; font-size: 14px; font-weight: 600; }
.lw-help { font-size: 12px; color: var(--lw-muted); }

.lw-input {
  width: 100%; border: 1px solid var(--lw-border); border-radius: 10px;
  padding: 5px 10px; font-size: 14px; outline: none;
  transition: border-color .15s ease, box-shadow .15s ease; background:#fff; text-align: center;
}

.lw-select {
  width: 100%; border: 1px solid var(--lw-border); border-radius: 10px;
  padding: 5px 10px; font-size: 14px; outline: none;
  transition: border-color .15s ease, box-shadow .15s ease; background:#fff; text-align: left;
}

.lw-textarea {
  width: 100%; border: 1px solid var(--lw-border); border-radius: 10px;
  padding: 5px 10px; font-size: 14px; outline: none;
  transition: border-color .15s ease, box-shadow .15s ease; background:#fff; text-align: left;
}

.lw-input:focus, .lw-select:focus, .lw-textarea:focus {
  border-color: var(--lw-primary);
  box-shadow: 0 0 0 3px rgba(185,138,88,.18);
}
.lw-textarea { min-height: 110px; resize: vertical; }

.lw-range-row { display: grid; grid-template-columns: 1fr 110px; gap: 10px; align-items: center; }
.lw-range { appearance: none; width: 100%; height: 8px; border-radius: 999px; background: var(--lw-secondary); outline: none; }
.lw-range::-webkit-slider-thumb {
  appearance: none; width: 20px; height: 20px; border-radius: 50%;
  background: var(--lw-primary); cursor: pointer; box-shadow: 0 0 0 3px rgba(185,138,88,.25);
}
.lw-range::-moz-range-thumb {
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--lw-primary); cursor: pointer; border: none;
}

/* Bubble über den Ranges */
.lw-range-wrap { position: relative; }
.lw-range-bubble {
  position: absolute; top: -28px; transform: translateX(-50%);
  padding: 2px 6px; border-radius: 6px; background: var(--lw-primary);
  color: #fff; font-weight: 700; font-size: 12px; pointer-events: none;
}

.lw-grid-2 { display: grid; grid-template-columns: 1fr; column-gap: 50px; row-gap: 25px; }
@media (min-width: 1024px) { .lw-grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); } }

.lw-nav { display: flex; gap: 12px; justify-content: space-between; margin-top: 6px; }

.lw-btn {
  appearance: none; border: none;
  background: var(--lw-primary);
  color: #fff; font-weight: 700;
  padding: 12px 16px; border-radius: 10px;
  cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
  box-shadow: 0 6px 16px rgba(185,138,88,.35);
}
.lw-btn:hover { transform: translateY(-1px); opacity: .95; }
.lw-btn[disabled], .lw-btn.is-loading { opacity: .65; cursor: not-allowed; color: black !important; }
.lw-btn--ghost { background: #fff; color: var(--lw-text); border: 1px solid var(--lw-border); box-shadow: none; }
.lw-btn--square { width: 44px; height: 44px; padding: 0; display: inline-grid; place-items: center; }

.lw-steps { position: relative; }
.lw-step { display: none; opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .25s ease, transform .25s ease; }
.lw-step.is-active { display: block; opacity: 1; transform: translateY(0); pointer-events: all; }

.lw-radio { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.lw-check { display: flex; align-items: center; gap: 10px; cursor: pointer; max-width: 100%; }
.lw-radio__control { width: 20px; height: 20px; border-radius: 4px; border: 1px solid var(--lw-border); display: inline-block; background:#fff; }
.lw-check__control { width: 27px; height: 20px; border-radius: 4px; border: 1px solid var(--lw-border); display: inline-block; background:#fff; }

.lw-radio input:checked + .lw-radio__control { background: var(--lw-primary); }
.lw-check input:checked + .lw-check__control { border-color: var(--lw-primary); background: var(--lw-primary); }

.lw-error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; padding: 10px 12px; border-radius: 10px; font-size: 14px; margin-bottom: 14px; }
.lw-field-error { color: #b91c1c; font-size: 12px; margin-top: 6px; }

.lw-success { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; padding: 14px; border-radius: 10px; font-size: 15px; }

.lw-badge { display: none; }

.lw-card-wrap { position: relative; }
.lw-card-wrap input[type="radio"] { position: absolute; inset: 0; opacity: 0; }
.lw-card-wrap input[type="radio"]:checked + label.lw-card {
  border-color: var(--lw-primary);
  box-shadow: 0 8px 26px rgba(185,138,88,.2);
}

/* Accessibility helpers */
.lw-visually-hidden { position: absolute !important; top: -9999px !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.lw-honeypot { position: absolute; left: -99999px; top: -99999px; opacity: 0; }

@media (prefers-reduced-motion: reduce) {
  .lw-step, .lw-progress__bar, .lw-card, .lw-btn { transition: none !important; }
}

.lw-radio input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.lw-check input[type="checkbox"] { position: absolute; opacity: 0; pointer-events: none; }

/* Icon oben, Text darunter */
.lw-label--stacked { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; margin-bottom: 10px; }
.lw-label--stacked .lw-icon { width: 30px; height: 30px; opacity: 0.9; }

/* Range-Zahl mit Einheit */
.lw-input-unit { position: relative; display: flex; align-items: center; gap: 4px; }
.lw-input-unit span { font-size: 14px; color: var(--lw-muted); }

/* Blasen (output) komplett ausblenden */
.lw-range-bubble { display: none !important; }

/* Grid-Ausrichtung */
.lw-range-row { display: grid; grid-template-columns: 1fr 100px; align-items: center; gap: 10px; }

/* Stepper mittig */
.lw-stepper { display: flex; align-items: center; justify-content: center; gap: 8px; }

.lw-check--small { display: inline-flex; align-items: center; margin-right: 10px; font-size: 14px; }
.lw-label--small { font-size: 13px; color: var(--lw-muted); margin-bottom: 4px; display: block; }

.lw-check--inline { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.lw-input--small { width: 70px; font-size: 14px; padding: 0px 0px; }

.lw-parking-count.lw-hidden { display: none; }

/* Parkplätze: Input vor Text */
.lw-check[data-parking-item] { display: flex; align-items: center; gap: 10px; }
.lw-parking-count { width: 55px; text-align: center; font-size: 14px; border-radius: 6px; border: 1px solid var(--lw-border, #ccc); }

.lw-hidden { display: none !important; }

@media (max-width: 600px) {
  .lw-check__control {
    width: 40px;
    height: 20px;
    border-radius: 4px;
    border: 1px solid var(--lw-border);
    display: inline-block;
    background: #fff;
  }
}


@media (max-width: 600px) {
.lw-form * {
  font-size: 0.8rem;
}
	
	
	
	/* Pfeile in number-Inputs ausblenden (Chrome, Edge, Safari) */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Pfeile in number-Inputs ausblenden (Firefox) */
input[type=number] {
  -moz-appearance: textfield;
}


/* ======================================================
   Einheitliches Design für Range-Slider im Bronze-Theme
   ====================================================== */
input[type="range"] {
  -webkit-appearance: none;
  width: 100%;
  height: 6px;
  background: var(--lw-secondary);
  border-radius: 3px;
  outline: none;
  cursor: pointer;
  transition: background-color .2s ease;
}

/* Aktiver Zustand */
input[type="range"]:focus {
  background: var(--lw-border);
}

/* Chrome / Safari Thumb */
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(90deg, var(--lw-primary) 0%, var(--lw-primary-dark) 100%);
  box-shadow: 0 0 0 3px rgba(185,138,88,.25);
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}
input[type="range"]::-webkit-slider-thumb:hover {
  transform: scale(1.05);
  box-shadow: 0 0 0 4px rgba(185,138,88,.35);
}

/* Firefox Thumb */
input[type="range"]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(90deg, var(--lw-primary) 0%, var(--lw-primary-dark) 100%);
  border: none;
  box-shadow: 0 0 0 3px rgba(185,138,88,.25);
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}
input[type="range"]::-moz-range-thumb:hover {
  transform: scale(1.05);
  box-shadow: 0 0 0 4px rgba(185,138,88,.35);
}

/* Firefox Track */
input[type="range"]::-moz-range-track {
  background: var(--lw-secondary);
  height: 6px;
  border-radius: 3px;
}