/* V8.1.54: responsive QA corrections; no change to pricing, route, form or rendering logic. */
body :is(.hmbr81-original,.hmbr81-v81-result-host),
body :is(.hmbr81-original,.hmbr81-v81-result-host) :is(.hmbr81-visual,.hmbr81-app,.hmbr81-hero-frame,.hmbr81-progress,.hmbr81-app__formgrid,.hmbr81-performance){min-width:0;max-width:100%;box-sizing:border-box;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) :is(.hmbr81-visual,.hmbr81-app) :is(input,textarea,select,button){max-width:100%;min-width:0;box-sizing:border-box;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) :is(.hmbr81-visual,.hmbr81-app) :is(p,li,h2,h3,h4,small,label,legend,summary){overflow-wrap:break-word;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual :is(.stage,.advisor,.details,.dental,.addons,.addon,.routes,.route,.qgrid,.sb,.sbbuttons,.tiles,.tile,.total,.summary,.summary-row,.formgrid,.field){min-width:0;max-width:100%;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual :is(.tile-name,.price-meta,.feature,.addon-lines,.addon-lines>div,.route,.routes p,.summary-row,.sbbuttons button,.products button){overflow-wrap:anywhere;white-space:normal;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .sbbuttons{grid-template-columns:repeat(3,minmax(0,1fr));}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .tiles{grid-template-columns:repeat(3,minmax(0,1fr));}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .tile button{min-width:0;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .amount{max-width:100%;font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual :is(.dental-header,.addon-bottom,.total,.flex-head,.bar){flex-wrap:wrap;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .dental-check{white-space:normal;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-progress__label{overflow-wrap:anywhere!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-progress__jump{min-width:0!important;max-width:100%!important;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-age-original .hm-tef__age-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-performance__tablewrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app :is(.hmbr81-app__field,.hmbr81-app__formgrid,.hmbr81-app__formgrid>div,.hmbr81-app__choices,.hmbr81-app__nav,.hmbr81-app__legal-block){min-width:0;max-width:100%;}
/* Container units in rem let tiles reflow specifically when enlarged text exhausts available space.
   At normal mobile font size, the three existing tariff prices stay side by side. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual{container-type:inline-size;container-name:hmbr81-reflow;}
@container hmbr81-reflow (max-width: 17rem){
 .hmbr81-visual .tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))!important;gap:.55rem!important;}
 .hmbr81-visual .sbbuttons{grid-template-columns:repeat(auto-fit,minmax(min(100%,6rem),1fr))!important;}
 .hmbr81-visual .products{grid-template-columns:minmax(0,1fr)!important;}
 .hmbr81-visual .hmbr81-performance__table thead tr,.hmbr81-visual .hmbr81-performance__table tbody tr{grid-template-columns:repeat(auto-fit,minmax(min(100%,6rem),1fr))!important;}
 .hmbr81-visual .hmbr81-app__nav{flex-wrap:wrap!important;}
}
/* Accessible zoom: no font-size reductions via a non-user controlled breakpoint. */
@media(max-width:540px){
 body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual :is(.routes,.formgrid,.qgrid){grid-template-columns:minmax(0,1fr)!important;}
 body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-progress > ol{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 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) .hmbr81-visual .sbbuttons button{padding-inline:3px;}
}
@media(max-width:360px){
 body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-progress > ol{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .tile-name{font-size:inherit;}
}


/* V8.1.81: uniform native checkbox controls based on the SEPA checkbox.
   Only the new V8.1 calculator and its OWN callback choice are affected.
   The performance comparison control is an intentional role=switch and is excluded.
   Radio buttons, backend settings and external contact forms remain unchanged. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual input[type="checkbox"]:not([role="switch"]),
body .hmbr81-contact-overlay .hmbr81-contact-callback input[type="checkbox"] {
  -webkit-appearance:checkbox!important;
  appearance:auto!important;
  box-sizing:border-box!important;
  display:inline-block!important;
  width:18px!important;height:18px!important;
  min-width:18px!important;min-height:18px!important;
  max-width:18px!important;max-height:18px!important;
  flex:0 0 18px!important;
  margin:3px 0 0!important;padding:0!important;
  border:revert!important;border-radius:revert!important;
  background:revert!important;box-shadow:none!important;
  accent-color:#00a075!important;
  cursor:pointer!important;vertical-align:middle!important;
}
/* Remove the previous large, custom tickmark on legal consents. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual input[type="checkbox"]:not([role="switch"]):checked::after,
body .hmbr81-contact-overlay .hmbr81-contact-callback input[type="checkbox"]:checked::after {
  content:none!important;display:none!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual input[type="checkbox"]:not([role="switch"]):focus-visible,
body .hmbr81-contact-overlay .hmbr81-contact-callback input[type="checkbox"]:focus-visible {
  outline:3px solid #005e52!important;outline-offset:3px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual input[type="checkbox"]:not([role="switch"]):disabled {
  opacity:.55!important;cursor:not-allowed!important;
}
/* Keep checkbox and its text aligned on wide and narrow screens. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__legal-section--hm .hmbr81-app__check {
  grid-template-columns:21px minmax(0,1fr)!important;
  gap:8px 12px!important;
}
@media(max-width:600px){
  body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-app__legal-section--hm .hmbr81-app__check {
    grid-template-columns:21px minmax(0,1fr)!important;
    gap:8px 10px!important;
  }
}

/* V8.1.85 | iPad/tablet native date input - layout only.
 * The date picker remains a native input[type=date]. Its value, min date,
 * submit validation and calendar interaction are untouched.
 * On touch tablets put the information control in the label row, away from
 * the browser-native date-picking affordance. This also fixes iOS Safari's
 * horizontally centred date text and inconsistent native control height.
 */
@media screen and (hover: none) and (pointer: coarse) and (min-width: 600px) {
  body :is(.hmbr81-original,.hmbr81-v81-result-host) #hm-angebotsfinder.hm-of .hm-of-calculator-content form.hm-of-form > .hmbr81-start-field.hmbr81-float-field {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 40px!important;
    grid-template-rows:auto minmax(54px,auto) auto!important;
    align-items:center!important;
    gap:6px 6px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  body :is(.hmbr81-original,.hmbr81-v81-result-host) #hm-angebotsfinder.hm-of .hm-of-calculator-content form.hm-of-form > .hmbr81-start-field.hmbr81-float-field > label {
    grid-column:1!important;
    grid-row:1!important;
    position:static!important;
    top:auto!important;
    left:auto!important;
    transform:none!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 3px!important;
    background:transparent!important;
    color:#005e52!important;
    font:650 1rem/1.3 "Bricolage Grotesque",Arial,sans-serif!important;
    pointer-events:auto!important;
  }
  body :is(.hmbr81-original,.hmbr81-v81-result-host) #hm-angebotsfinder.hm-of .hm-of-calculator-content form.hm-of-form > .hmbr81-start-field.hmbr81-float-field > input[type="date"] {
    grid-column:1/-1!important;
    grid-row:2!important;
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:54px!important;
    min-height:54px!important;
    margin:0!important;
    padding:11px 16px!important;
    box-sizing:border-box!important;
    text-align:left!important;
    font:400 1rem/1.35 "Bricolage Grotesque",Arial,sans-serif!important;
    color:#173f33!important;
  }
  body :is(.hmbr81-original,.hmbr81-v81-result-host) #hm-angebotsfinder.hm-of .hm-of-calculator-content form.hm-of-form > .hmbr81-start-field.hmbr81-float-field > input[type="date"]::-webkit-date-and-time-value {
    text-align:left!important;
    width:100%!important;
    min-width:0!important;
  }
  body :is(.hmbr81-original,.hmbr81-v81-result-host) #hm-angebotsfinder.hm-of .hm-of-calculator-content form.hm-of-form > .hmbr81-start-field.hmbr81-float-field > input[type="date"]::-webkit-datetime-edit {
    text-align:left!important;
    padding:0!important;
  }
  body :is(.hmbr81-original,.hmbr81-v81-result-host) #hm-angebotsfinder.hm-of .hm-of-calculator-content form.hm-of-form > .hmbr81-start-field.hmbr81-float-field > button.hmbr81-field-info {
    grid-column:2!important;
    grid-row:1!important;
    position:static!important;
    justify-self:end!important;
    align-self:center!important;
    top:auto!important;
    right:auto!important;
    width:36px!important;
    height:36px!important;
  }
  body :is(.hmbr81-original,.hmbr81-v81-result-host) #hm-angebotsfinder.hm-of .hm-of-calculator-content form.hm-of-form > .hmbr81-start-field.hmbr81-float-field > .hmbr81-start-error {
    grid-column:1/-1!important;
    grid-row:3!important;
  }
}
