@import url('https://fonts.googleapis.com/css2?family=Saira+Condensed:wght@400;500;600;700&display=swap');

.lm-wrap {
  font-family: 'Saira Condensed', 'Arial Narrow', sans-serif;
  max-width: 740px;
  margin: 0 auto;
  font-size: 16px;
  color: #1a1a2e;
}

.lm-wrap * {
  box-sizing: border-box !important;
  text-align: left !important;
  direction: ltr !important;
}

.lm-subtitle {
  font-family: 'Saira Condensed', 'Arial Narrow', sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #4a5568 !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

.lm-divider {
  height: 2px !important;
  background: linear-gradient(90deg, #1a3a5c 0%, #e8f0f7 100%) !important;
  margin: 0 0 24px 0 !important;
  border: none !important;
  padding: 0 !important;
}

.lm-section {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 20px !important;
  margin: 0 0 16px 0 !important;
}

.lm-section-title {
  font-family: 'Saira Condensed', 'Arial Narrow', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #94a3b8 !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.lm-row {
  display: flex !important;
  gap: 14px !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  align-items: flex-start !important;
}

.lm-field {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  min-width: 0 !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.lm-field label {
  font-family: 'Saira Condensed', 'Arial Narrow', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  display: block !important;
  float: none !important;
  width: auto !important;
}

.lm-field label .req { color: #dc2626 !important; }

.lm-field input,
.lm-field select,
.lm-field textarea {
  font-family: 'Saira Condensed', 'Arial Narrow', sans-serif !important;
  font-size: 16px !important;
  color: #1a1a2e !important;
  background: #fff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  padding: 9px 12px !important;
  outline: none !important;
  width: 100% !important;
  height: 42px !important;
  line-height: 1 !important;
  margin: 0 !important;
  display: block !important;
  float: none !important;
  vertical-align: top !important;
}

.lm-field textarea {
  height: auto !important;
  min-height: 100px !important;
  line-height: 1.5 !important;
}

.lm-field input:focus,
.lm-field select:focus {
  border-color: #1a3a5c !important;
  box-shadow: 0 0 0 3px rgba(26,58,92,0.08) !important;
}

.lm-field input.error,
.lm-field select.error {
  border-color: #dc2626 !important;
}

.lm-time-row {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 42px !important;
}

.lm-time-row select {
  font-family: 'Saira Condensed', 'Arial Narrow', sans-serif !important;
  font-size: 16px !important;
  color: #1a1a2e !important;
  background: #fff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  height: 42px !important;
  flex: 1 !important;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 6px !important;
  line-height: 1 !important;
}

.lm-time-sep {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 42px !important;
}

.lm-phone-row {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 42px !important;
}

.lm-phone-row select {
  font-family: 'Saira Condensed', 'Arial Narrow', sans-serif !important;
  font-size: 14px !important;
  background: #fff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  color: #1a1a2e !important;
  height: 42px !important;
  width: 110px !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 6px !important;
  line-height: 1 !important;
}

.lm-phone-row input {
  font-family: 'Saira Condensed', 'Arial Narrow', sans-serif !important;
  font-size: 16px !important;
  background: #fff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  padding: 9px 12px !important;
  color: #1a1a2e !important;
  height: 42px !important;
  flex: 1 !important;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.lm-checkbox-group {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.lm-checkbox-label {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-family: 'Saira Condensed', 'Arial Narrow', sans-serif !important;
  font-size: 15px !important;
  color: #334155 !important;
  cursor: pointer !important;
  background: #fff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  padding: 8px 14px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  user-select: none !important;
}

.lm-checkbox-label:hover {
  border-color: #1a3a5c !important;
  background: #f0f5fb !important;
}

.lm-checkbox-label input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: #1a3a5c !important;
  flex-shrink: 0 !important;
}

.lm-checkbox-label input[type="checkbox"]:checked + span {
  color: #1a3a5c !important;
  font-weight: 600 !important;
}

textarea.lm-notes { resize: vertical !important; }
.lm-honeypot { display: none !important; position: absolute !important; left: -9999px !important; }

.lm-submit {
  font-family: 'Saira Condensed', 'Arial Narrow', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: #1a3a5c !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 12px 32px !important;
  margin: 8px 0 0 0 !important;
  cursor: pointer !important;
  display: inline-block !important;
  height: auto !important;
  line-height: 1.2 !important;
  width: auto !important;
  float: none !important;
}

.lm-submit:hover { background: #0f2540 !important; }
.lm-submit:disabled { background: #94a3b8 !important; cursor: not-allowed !important; }

.lm-msg {
  margin: 16px 0 0 0 !important;
  padding: 14px 16px !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-family: 'Saira Condensed', 'Arial Narrow', sans-serif !important;
  display: none;
}
.lm-msg.success { background: #ecfdf5 !important; border: 1px solid #6ee7b7 !important; color: #065f46 !important; }
.lm-msg.error   { background: #fef2f2 !important; border: 1px solid #fca5a5 !important; color: #991b1b !important; }

@media (max-width: 560px) {
  .lm-row { flex-direction: column !important; }
  .lm-checkbox-group { flex-direction: column !important; }
}

/* ID-Selektor schlägt alle Theme-Klassen-Selektoren */
#lm-wrap .lm-field label {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

#lm-wrap .lm-field input,
#lm-wrap .lm-field select,
#lm-wrap .lm-field textarea,
#lm-wrap .lm-phone-row input,
#lm-wrap .lm-phone-row select,
#lm-wrap .lm-time-row input {
  margin-top: -12px !important;
  margin-bottom: 0 !important;
  padding-top: 9px !important;
  padding-bottom: 9px !important;
  vertical-align: top !important;
}
