/* ==========================================================================
   FORM TEMPLATE - CLEAN, COMPACT & RESPONSIVE
   ========================================================================== */

:root {
  --input-bg: #f9f9f9;
  --input-border: #e0e0e0;
  --input-hover: #f5f5f5;
  --text-color: #333333;
}

/* 1. Spacing & Layout */
.LiveField__container {
  margin-bottom: 10px !important;
  padding-bottom: 0px !important;
}

.LiveField__header {
  margin-bottom: 10px !important;
  padding-bottom: 0px !important;
}

.public-DraftStyleDefault-block {
  margin-bottom: 0px !important;
  line-height: 1.2 !important;
}

.LiveField__answer {
  margin-top: 10px !important;
}

.Paperform__Container,
div[data-paperform-id] {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* 2. Standard Input Fields */
.LiveField__input, 
input.LiveField__input, 
textarea.LiveField__input {
  background-color: var(--input-bg) !important;
  border: 1px solid var(--input-border) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
}

/* 3. Address Fields (Fixed Spacing) */
.LiveField--address .LiveField__answer {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important; /* Creates clean spacing between rows and columns */
}

/* Forces the individual address blocks to align and size correctly */
.LiveField--address [class*="subfield"],
.LiveField--address .AddressInput__subfield,
.LiveField--address div[class*="AddressInput__"] {
  margin-bottom: 8px !important; /* Adds vertical breathing room */
}

/* Styles the actual input blocks */
.AddressInput__input,
.AddressInput__line1,
.AddressInput__line2,
.AddressInput__city,
.AddressInput__state,
.AddressInput__zip,
.AddressInput__country select,
.AddressInput__subfield input,
.LiveField--address input,
.LiveField--address select {
  background-color: var(--input-bg) !important;
  border: 1px solid var(--input-border) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important; /* Matches your standard inputs exactly */
  color: var(--text-color) !important;
  box-sizing: border-box !important;
}

/* Adds slight margin below the inner sub-labels like Straße, Stadt */
.LiveField--address label,
.LiveField--address .AddressInput__label {
  margin-bottom: 6px !important;
  display: block !important;
}


/* 4. Date & Time Fields */
.PaperDateInput__input, 
.PaperTime__input {
  background-color: var(--input-bg) !important;
  border: 1px solid var(--input-border) !important;
  border-radius: 8px !important;
  padding: 10px 4px !important;
  text-align: center !important;
  width: 60px !important;
}

.BtnV2--raised, 
.PaperTime__button {
  width: auto !important;
  min-width: 60px !important;
  padding: 0 15px !important;
  margin: 0 !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--input-border) !important;
  border-radius: 8px !important;
  background-color: var(--input-bg) !important;
  color: var(--text-color) !important;
  box-shadow: none !important;
}

/* 5. Privacy / Choice Buttons */
.LiveField--choices .Choices__choice, 
.LiveField--choices .Choices__choice[aria-checked="true"], 
.LiveField--choices .Choices__choice:active, 
.LiveField--choices .Choices__choice:focus {
  width: auto !important;
  max-width: fit-content !important;
  display: inline-flex !important;
  padding: 10px 20px !important;
  margin-top: 8px !important;
  border: 1px solid var(--input-border) !important;
  border-radius: 8px !important;
  background-color: var(--input-bg) !important;
  color: var(--text-color) !important;
  box-shadow: none !important;
  transition: none !important;
  outline: none !important;
}

/* 6. Submit Button */
.submit {
  margin-top: 20px !important;
  text-align: left !important;
}

.submit .btn-primary {
  padding: 12px 30px !important;
  border-radius: 8px !important;
  border: none !important;
  cursor: pointer !important;
  display: inline-block !important;
  width: auto !important;
  font-weight: 600 !important;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
}

.submit .btn-primary:hover {
  opacity: 0.9 !important;
  transform: translateY(-1px) !important;
}

/* 7. Global Hover Effects */
/* 7. Global Hover Effects */
.LiveField__input:hover, 
.BtnV2--raised:hover, 
.PaperTime__button:hover, 
.Choices__choice:hover,
.AddressInput__input:hover,
.AddressInput__subfield input:hover,
.AddressInput__country select:hover,
.LiveField--address input:hover,
.LiveField--address select:hover {
  background-color: var(--input-hover) !important;
  border-color: #cccccc !important;
  cursor: pointer !important;
}

