/* V8.1 v1.0.14: Compact, HanseMerkur-reference application ONLY.
 * The original contribution calculator, Elementor layout and save-offer forms
 * are deliberately out of scope. Small labels are always above their fields.
 */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app {
  color:#222222!important;font-size:0.94rem!important;line-height:1.45!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app__card {
  background:#fff!important;border:1px solid #e0e8e3!important;
  border-radius:7px!important;padding:clamp(13px,2.3vw,21px)!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__formgrid {
  row-gap:10px!important;column-gap:14px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field.hmbr81-float-field {
  display:flex!important;flex-direction:column!important;gap:3px!important;
  min-width:0!important;margin:0!important;padding:0!important;position:relative!important;
}
/* Explicit labels above the form, including focused and prefilled states. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field > .hmbr81-app__field-label,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field.hmbr81-float-field > .hmbr81-app__field-label,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field.hmbr81-is-floated > .hmbr81-app__field-label,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field.hmbr81-float-field:focus-within > .hmbr81-app__field-label {
  display:block!important;position:static!important;top:auto!important;left:auto!important;
  transform:none!important;transition:none!important;max-width:none!important;
  padding:0!important;margin:0 0 2px!important;line-height:1.35!important;
  font-size:.78rem!important;font-weight:400!important;letter-spacing:0!important;
  color:#222222!important;background:transparent!important;pointer-events:auto!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field > input,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field > select,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field.hmbr81-float-field > input,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field.hmbr81-float-field > select {
  display:block!important;width:100%!important;min-height:43px!important;height:43px!important;
  padding:8px 48px 8px 12px!important;margin:0!important;
  font:400 .94rem/1.35 "Bricolage Grotesque",Arial,sans-serif!important;
  color:#222222!important;background-color:#fff!important;
  border:1px solid #c9d6d0!important;border-radius:4px!important;
  box-shadow:none!important;outline:0!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field > input:focus,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field > select:focus {
  border-color:#005e52!important;outline:2px solid rgba(0,94,82,.2)!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field > input::placeholder {
  color:#858b88!important;font-weight:400!important;opacity:1!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field select:invalid {
  color:#858b88!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__field-counter {
  top:40px!important;right:55px!important;color:#555!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__hint-wrap > button.hmbr81-field-info {
  top:27px!important;right:5px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__hint-wrap:has(select) > button.hmbr81-field-info {
  right:44px!important;top:27px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__title {
  font-size:1.35rem!important;margin-bottom:6px!important;color:#005e52!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__intro {
  font-size:.84rem!important;margin:0 0 12px!important;color:#555!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app :is(.hmbr81-app__person,.hmbr81-app__payment) {
  margin-bottom:12px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app :is(.hmbr81-app__person,.hmbr81-app__contract,.hmbr81-app__payment) h4 {
  color:#005e52!important;font-size:1.11rem!important;margin:0 0 12px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__choice {
  margin:12px 0 8px!important;gap:6px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__choice legend {
  font-size:.81rem!important;color:#222!important;font-weight:450!important;margin:0 0 7px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__choices {
  gap:9px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__choices label span {
  font-size:.86rem!important;font-weight:500!important;min-height:40px!important;
  padding:9px 12px!important;border-radius:4px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__health {
  border-top:1px solid #dce5df!important;margin-top:18px!important;padding-top:14px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__health h4 {
  font-size:1.15rem!important;color:#005e52!important;margin:0 0 10px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__health .hmbr81-app__health-question {
  font-size:.93rem!important;line-height:1.5!important;margin:0 0 9px!important;color:#222!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__health-conditions {
  font-size:.86rem!important;color:#222!important;line-height:1.43!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__health-conditions p {
  margin:6px 0!important;font-size:.86rem!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__health-conditions ul {
  margin:3px 0 13px!important;padding-left:21px!important;font-size:.84rem!important;line-height:1.48!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__health-conditions li {
  padding-left:2px!important;margin:4px 0!important;
}
/* Native HTML details and original choices keep their keyboard and arrow behavior. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed {
  max-width:900px!important;margin:0 auto!important;text-align:center!important;
  padding:36px clamp(16px,4vw,40px)!important;border:0!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed-check {
  margin:0 auto 17px!important;width:68px;height:68px;border:3px solid #009f79!important;
  border-radius:50%;color:#009f79!important;font-size:41px!important;
  line-height:60px!important;text-align:center!important;font-weight:500!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed-title {
  margin:0 0 18px!important;font-size:1.42rem!important;font-weight:700!important;
  color:#005e52!important;line-height:1.3!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed-message,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed > p {
  max-width:760px;margin:10px auto!important;font-size:.94rem!important;line-height:1.55!important;color:#222!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed .hmbr81-app__confirmed-ref {
  font-size:.78rem!important;color:#555!important;margin:14px auto!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed-tariff {
  max-width:670px!important;margin:27px auto 18px!important;
  padding:17px 20px!important;border-radius:3px!important;background:#edf6f2!important;
  display:flex!important;justify-content:space-between!important;gap:14px!important;text-align:left!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed-tariff > div {
  display:flex;flex-direction:column;gap:5px;min-width:0;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed-tariff strong {
  font-weight:700!important;color:#222!important;font-size:1rem!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed-tariff span {
  font-size:.82rem!important;color:#555!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__pdf-button {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:11px 17px!important;min-height:45px!important;border:1px solid #005e52!important;
  border-radius:4px!important;background:#005e52!important;color:#fff!important;
  font-weight:650!important;font-size:.88rem!important;cursor:pointer!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__pdf-button:hover {
  background:#007b66!important;color:#fff!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed-docs {
  max-width:670px!important;margin:34px auto 12px!important;text-align:left!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed-docs h4 {
  font-size:1.07rem!important;color:#005e52!important;margin:0 0 12px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed-docs ul {
  padding:0!important;margin:0!important;list-style:none!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed-docs li {
  margin:8px 0!important;font-size:.9rem!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed-docs a {
  color:#005e52!important;font-weight:600!important;text-decoration:none!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed-docs a:hover {
  text-decoration:underline!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed .hmbr81-app__confirmed-footnote {
  font-size:.75rem!important;color:#555!important;margin-top:25px!important;
}
@media(max-width:620px){
  body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed-tariff{
    flex-direction:column!important;text-align:left!important;
  }
  body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__confirmed{padding:21px 12px!important;}
}

/* V8.1 v1.0.16: one consistent vertical rhythm in the application form.
 * Older v81-acceptance.css adds 17px margin-top to text fields/wrappers,
 * whereas choices get their own margin. Both compound with grid row-gap.
 * Scope strictly to application grids, never the original calculator.
 */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__formgrid {
  row-gap:14px!important;column-gap:14px!important;align-items:start!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__formgrid > :is(.hmbr81-app__field,.hmbr81-app__hint-wrap,.hmbr81-app__choice),
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__formgrid > .hmbr81-app__field.hmbr81-float-field,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__formgrid > .hmbr81-app__hint-wrap > :is(.hmbr81-app__field,.hmbr81-app__choice) {
  margin:0!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__formgrid .hmbr81-app__choice {
  margin:0!important;padding:0!important;border:0!important;min-width:0!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__formgrid .hmbr81-app__choice legend {
  margin:0 0 6px!important;padding:0!important;font-size:.78rem!important;
  font-weight:400!important;line-height:1.35!important;color:#222222!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__formgrid .hmbr81-app__choices {
  margin:0!important;gap:9px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__formgrid .hmbr81-app__error:empty {display:none!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-app__formgrid .hmbr81-app__hint-wrap {
  padding:0!important;min-width:0!important;
}
/* Text fields and choice groups use the same 14px gap; errors can grow as needed. */
