/* HM V8.1 0.4.38 – explicit user acceptance corrections, scoped to the TEST plugin.
   This is loaded last. It does not touch the original calculator, price engine,
   legacy shortcodes, WordPress global styles, or other HM forms. */

/* Insurer-like centered, single-column application form. Avoid the previous
   two-column desktop form and wide framed card. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app {
  width:100%!important;max-width:900px!important;margin-inline:auto!important;
  font:400 1rem/1.45 "Bricolage Grotesque",Arial,sans-serif!important;color:#193e34!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app__card {
  border:0!important;border-radius:0!important;background:#fff!important;
  padding:12px clamp(10px,2vw,20px)!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__formgrid {
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__formgrid > :is(.hmbr81-app__field,.hmbr81-app__hint-wrap) {
  grid-column:1/-1!important;margin-top:17px!important;min-width:0!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__formgrid > .hmbr81-app__hint-wrap > .hmbr81-app__field {
  margin:0!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__formgrid > .hmbr81-app__field.hmbr81-float-field {
  margin-top:17px!important;
}
/* Label at full 1rem, ABOVE the border, not sitting on its stroke.
   Space is reserved in the form grid so captions never collide. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field.hmbr81-is-floated > label,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field:focus-within > label,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field.hmbr81-is-floated > .hmbr81-app__field-label,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field:focus-within > .hmbr81-app__field-label {
  top:-23px!important;left:12px!important;
  padding:0 3px!important;margin:0!important;background:#fff!important;
  font:650 1rem/1.25 "Bricolage Grotesque",Arial,sans-serif!important;color:#005e52!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) #hm-angebotsfinder.hm-of .hm-of-calculator-content form.hm-of-form > .hmbr81-float-field {
  margin-top:22px!important;margin-bottom:6px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field > :is(input,select),
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field > :is(input,select) {
  min-height:56px!important;font:400 1rem/1.4 "Bricolage Grotesque",Arial,sans-serif!important;
  border-radius:5px!important;
}
/* Three explicit states: empty mint, filled white with hairline, active white
   with a thicker green border. Native browser autofill must not tint blue. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field:not(.hmbr81-has-value):not(:focus-within) > :is(input,select),
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field:not(.hmbr81-has-value):not(:focus-within) > :is(input,select) {
  background:#edf6f2!important;border:1px solid #cbded3!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field.hmbr81-has-value:not(:focus-within) > :is(input,select),
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field.hmbr81-has-value:not(:focus-within) > :is(input,select) {
  background:#fff!important;border:1px solid #cbded3!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field:focus-within > :is(input,select),
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field:focus-within > :is(input,select) {
  background:#fff!important;border:2px solid #005e52!important;outline:0!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) :is(.hmbr81-app__field input,.hmbr81-app__field select,.hm-of-form input,.hm-of-form select):-webkit-autofill,
body :is(.hmbr81-original,.hmbr81-v81-result-host) :is(.hmbr81-app__field input,.hmbr81-app__field select,.hm-of-form input,.hm-of-form select):-webkit-autofill:focus {
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;
  box-shadow:0 0 0 1000px #fff inset!important;
  -webkit-text-fill-color:#173f33!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app input[name="chip"]::placeholder,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app input[name="phone"]::placeholder {
  color:#678176!important;opacity:1!important;font:400 1rem/1.4 "Bricolage Grotesque",Arial,sans-serif!important;
}
/* The visible info glyph and numeric counter stay beside the field text. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__field-counter {
  top:19px!important;font:600 1rem/1 "Bricolage Grotesque",Arial,sans-serif!important;
}
/* Explicitly preserve native hidden for cat-only holding fields. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-form .hmbr81-float-field[hidden],
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field[hidden] {display:none!important;}
/* Larger, right-aligned tariff navigation with the separate dark arrow zone. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) #hm-angebotsfinder.hm-of .hm-of-calculator-content form.hm-of-form > .hm-of-action > button.hm-of-submit.hmbr81-original-next {
  min-width:320px!important;min-height:60px!important;max-width:100%!important;
  font:750 1rem/1.35 "Bricolage Grotesque",Arial,sans-serif!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) #hm-angebotsfinder.hm-of .hm-of-calculator-content form.hm-of-form > .hm-of-action > button.hm-of-submit.hmbr81-original-next::after {
  min-height:60px!important;width:55px!important;flex-basis:55px!important;
}
/* Tight holder selection and white prior-insurance area. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__holder-accordion > summary {min-height:56px!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__holder-options {padding:2px!important;margin-top:3px!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__holder-accordion .hmbr81-app__choices label span {
  min-height:38px!important;padding:6px 12px!important;font-size:1rem!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__conditional,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__prior-entry {
  background:#fff!important;border-color:#dbeae1!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__conditional {padding:12px 15px!important;margin:11px 0!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__prior-entry {padding:9px 12px!important;margin:8px 0!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__health {margin-top:15px!important;padding-top:13px!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__health :is(p,li,ul) {font-size:1rem!important;line-height:1.5!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__health li {margin:2px 0!important;}
/* Compact insurer-like payment information, not a decorative card. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__payment {margin-top:16px!important;padding-top:15px!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__payment-amount {
  display:flex;justify-content:space-between;gap:10px;align-items:baseline;
  padding:8px 0;border-bottom:1px solid #e0ebe4;font-size:1rem;line-height:1.45;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__payment-amount strong {font-weight:700;color:#005e52;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__payment-amount span {text-align:right;color:#193e34;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__bank-info--payment {margin-top:6px!important;padding:0!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__bank-info--payment > div {padding:3px 0!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__mandate {
  border:0!important;border-radius:0!important;background:#fff!important;
  padding:8px 0!important;margin:11px 0 5px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__mandate h5 {margin:0 0 7px!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__mandate p {font-size:1rem!important;line-height:1.48!important;margin:6px 0!important;}
/* Summary grouped exactly by step. Small pencil jumps to original field. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__review {
  background:#fff!important;border:0!important;border-bottom:1px solid #dcebe2!important;
  border-radius:0!important;margin:0!important;overflow:visible!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__review > summary {
  background:#fff!important;color:#005e52!important;
  padding:13px 4px!important;font:750 1rem/1.4 "Bricolage Grotesque",Arial,sans-serif!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__review-inside {padding:0 4px 9px!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__review dl {margin:0!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__review dl > .hmbr81-app__review-row {
  padding:8px 0!important;border-bottom:1px solid #f1f5f2!important;
  font-size:1rem!important;line-height:1.35!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__review-row dt,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__review-row dd {font:400 1rem/1.35 "Bricolage Grotesque",Arial,sans-serif!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__row-edit {min-width:32px!important;min-height:32px!important;}
/* Compact legal confirmations with orange recommendation only for WhatsApp. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__legal-section {margin-top:15px!important;padding-top:12px!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__legal-block {padding:7px 0!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__legal-block :is(p,label,li),
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__check {font-size:1rem!important;line-height:1.45!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__recommended {color:#e86a2a!important;font-weight:750!important;}
body dialog.hmbr81-help-dialog,body dialog.hmbr81-help-dialog p {font:400 1rem/1.5 "Bricolage Grotesque",Arial,sans-serif!important;}
@media(max-width:620px){
  body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app__card {padding:10px 5px!important;}
  body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__payment-amount {display:block;}
  body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__payment-amount span {display:block;text-align:left;margin-top:4px;}
  body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__formgrid {grid-template-columns:minmax(0,1fr)!important;}
  body :is(.hmbr81-original,.hmbr81-v81-result-host) #hm-angebotsfinder.hm-of .hm-of-calculator-content form.hm-of-form > .hm-of-action > button.hm-of-submit.hmbr81-original-next {min-width:min(320px,100%)!important;}
}

/* Keep short yes/no and gender choices side by side on mobile, as in the
   HanseMerkur reference. Only the four Tierhalter options remain stacked. */
@media(max-width:620px){
 body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__hint-wrap--choice:not(.hmbr81-app__hint-wrap--holder) .hmbr81-app__choices,
 body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__formgrid > .hmbr81-app__choice .hmbr81-app__choices {
   grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
 }
}
