/* HM BR V8.1 0.4.23: scoped HanseMerkur-inspired floating form labels. */
:is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field,
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field {position:relative!important;display:block!important;min-width:0!important;margin:4px 0 8px!important;}
/* HTML hidden is authoritative, including the original cat-only holding field. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field[hidden],
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field[hidden] {display:none!important;}
:is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field > label,
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field > .hmbr81-app__field-label {
  position:absolute!important;top:15px!important;left:14px!important;z-index:2!important;
  display:block!important;width:auto!important;max-width:calc(100% - 63px)!important;
  padding:0 3px!important;margin:0!important;background:transparent!important;
  color:#456b5b!important;font:500 .94rem/1.3 "Bricolage Grotesque",Arial,sans-serif!important;
  pointer-events:none!important;transform:translateY(0);transition:top .14s ease,font-size .14s ease,color .14s ease;
}
:is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field.hmbr81-is-floated > label,
:is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field:focus-within > label,
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field.hmbr81-is-floated > .hmbr81-app__field-label,
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field:focus-within > .hmbr81-app__field-label {
  top:-9px!important;font-size:.77rem!important;background:#fff!important;color:#005e52!important;font-weight:650!important;
}
:is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field > input,
:is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field > select,
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field > input,
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field > select {
  display:block!important;width:100%!important;min-height:54px!important;
  padding:14px 43px 10px 16px!important;color:#173f33!important;background:#f7faf8!important;
  border:1px solid #cbded3!important;border-radius:5px!important;outline:0!important;
  box-shadow:none!important;font:400 1rem/1.4 "Bricolage Grotesque",Arial,sans-serif!important;box-sizing:border-box!important;
}
:is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field > input:focus,
:is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field > select:focus,
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field > input:focus,
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field > select:focus {
  background:#fff!important;border:1px solid #005e52!important;outline:1px solid rgba(0,94,82,.24)!important;
  outline-offset:0!important;box-shadow:none!important;
}
:is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field:not(.hmbr81-is-floated):not(:focus-within) > input::placeholder,
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field:not(.hmbr81-is-floated):not(:focus-within) > input::placeholder{color:transparent!important;}
:is(.hmbr81-original,.hmbr81-v81-result-host) .hm-of-calculator-content .hm-of-form > .hmbr81-float-field:not(.hmbr81-is-floated) > select:invalid,
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field:not(.hmbr81-is-floated) > select:invalid {color:transparent!important;}
/* 0.4.28: 16px visible info badge in a transparent 36px accessible hit area.
   Strong isolation from Elementor/WordPress button backgrounds and pseudo-icons. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) button.hmbr81-field-info{
  position:absolute!important;right:7px!important;top:9px!important;z-index:4!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;flex:0 0 36px!important;
  width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;
  max-width:36px!important;max-height:36px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  color:#005e52!important;background:transparent!important;background-image:none!important;
  box-shadow:none!important;text-shadow:none!important;
  appearance:none!important;-webkit-appearance:none!important;
  font:400 12px/1 Arial,sans-serif!important;letter-spacing:0!important;text-transform:none!important;
  cursor:pointer!important;transform:none!important;transition:none!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) button.hmbr81-field-info:hover,
body :is(.hmbr81-original,.hmbr81-v81-result-host) button.hmbr81-field-info:active,
body :is(.hmbr81-original,.hmbr81-v81-result-host) button.hmbr81-field-info:focus{
  background:transparent!important;background-image:none!important;color:#005e52!important;
  border:0!important;box-shadow:none!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) button.hmbr81-field-info:focus-visible{
  outline:2px solid #005e52!important;outline-offset:0!important;border-radius:5px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) button.hmbr81-field-info::before,
body :is(.hmbr81-original,.hmbr81-v81-result-host) button.hmbr81-field-info::after{
  content:none!important;display:none!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) button.hmbr81-field-info .hmbr81-field-info__glyph{
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex:none!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;
  padding:0!important;margin:0!important;
  border:0!important;border-radius:50%!important;box-shadow:none!important;
  color:#fff!important;background:#005e52!important;
  font:700 10px/1 Arial,sans-serif!important;letter-spacing:0!important;text-transform:none!important;
  pointer-events:none!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) button.hmbr81-field-info:hover .hmbr81-field-info__glyph{
  background:#00a075!important;
}
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__hint-wrap{position:relative!important;min-width:0!important;}
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__hint-wrap--full{grid-column:1/-1!important;}
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__hint-wrap .hmbr81-float-field{width:100%!important;}
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__hint-wrap button.hmbr81-field-info{top:11px!important;right:7px!important;}
:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app .hmbr81-float-field > .hmbr81-app__error{
  display:block!important;padding-top:5px!important;min-height:0!important;
}
.hmbr81-help-dialog{
  position:fixed;inset:0;max-width:min(490px,calc(100vw - 30px));width:100%;
  max-height:min(75vh,600px);overflow:auto;box-sizing:border-box;
  margin:auto;padding:25px 28px 23px;border:1px solid #d7e8de;border-radius:14px;
  background:#fff;color:#23473b;box-shadow:0 20px 65px rgba(0,42,31,.18);z-index:2147483000;
  font:400 .96rem/1.65 "Bricolage Grotesque",Arial,sans-serif;
}
.hmbr81-help-dialog::backdrop{background:rgba(0,38,30,.28);}
.hmbr81-help-dialog h3{margin:0 36px 11px 0!important;color:#005e52!important;font:750 1.15rem/1.4 "Bricolage Grotesque",Arial,sans-serif!important;}
.hmbr81-help-dialog p{margin:0!important;color:#344b42!important;font:400 .94rem/1.65 "Bricolage Grotesque",Arial,sans-serif!important;}
/* 0.4.28: The modal offers ONE visible close control: a plain green cross.
   Explicit resets prevent site-wide red/orange Elementor button styling. */
body dialog.hmbr81-help-dialog button.hmbr81-help-close{
  position:absolute!important;right:11px!important;top:9px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;
  width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;
  max-width:32px!important;max-height:32px!important;
  padding:0!important;margin:0!important;
  border:0!important;border-radius:5px!important;
  color:#005e52!important;background:transparent!important;background-image:none!important;
  box-shadow:none!important;text-shadow:none!important;
  appearance:none!important;-webkit-appearance:none!important;
  font:400 16px/1 Arial,sans-serif!important;line-height:1!important;
  text-transform:none!important;letter-spacing:0!important;
  cursor:pointer!important;transform:none!important;transition:background-color .15s ease!important;
}
body dialog.hmbr81-help-dialog button.hmbr81-help-close:hover,
body dialog.hmbr81-help-dialog button.hmbr81-help-close:active,
body dialog.hmbr81-help-dialog button.hmbr81-help-close:focus{
  background:transparent!important;background-image:none!important;
  border:0!important;color:#005e52!important;box-shadow:none!important;
}
body dialog.hmbr81-help-dialog button.hmbr81-help-close:focus-visible{
  outline:2px solid #005e52!important;outline-offset:1px!important;
}
body dialog.hmbr81-help-dialog button.hmbr81-help-close::before,
body dialog.hmbr81-help-dialog button.hmbr81-help-close::after{
  content:none!important;display:none!important;
}
body dialog.hmbr81-help-dialog button.hmbr81-help-close svg{
  display:block!important;flex:0 0 18px!important;
  width:18px!important;height:18px!important;
  max-width:18px!important;max-height:18px!important;
  stroke:#005e52!important;stroke-width:2!important;fill:none!important;
  pointer-events:none!important;
}
@media(max-width:560px){
  .hmbr81-help-dialog{padding:20px 18px}
  body :is(.hmbr81-original,.hmbr81-v81-result-host) button.hmbr81-field-info{right:5px!important;}
}

/* 0.4.29: reserve a separate zone for the native select/calendar control.
   The glyph remains 16px; the invisible accessible hit target remains 36px. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-age-info-field > button.hmbr81-field-info,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__hint-wrap--iconfield > button.hmbr81-field-info{
  right:45px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-age-info-field > select,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__hint-wrap--iconfield .hmbr81-float-field > select,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__hint-wrap--iconfield .hmbr81-float-field > input[type="date"]{
  padding-right:87px!important;
}
/* Outline the actual visible symbol, not an oversized 36px focus rectangle. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) button.hmbr81-field-info:focus-visible{
  outline:0!important;outline-offset:0!important;border-radius:0!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) button.hmbr81-field-info:focus-visible .hmbr81-field-info__glyph{
  outline:2px solid #005e52!important;outline-offset:2px!important;
}

:is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-float-field select option{color:#173f33!important;}
