/* HM Beitragsrechner V8.1 0.4.30: isolated, unified button state protection.
 * Loaded after all V8.1 styles. Only elements inside V8.1 UI are targeted;
 * WordPress/Elementor's global button theme remains untouched.
 * Red/magenta remains permitted ONLY for inline validation/warnings, not controls.
 */

/* A safe fallback for V8.1 controls not yet assigned a dedicated component
   class. WordPress/Elementor's generic :hover/:focus/:active must not win. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button {
  background-image:none!important;
  text-shadow:none!important;
  box-shadow:none!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button:is(:hover,:focus,:active) {
  background-color:#edf6f2!important;
  color:#005e52!important;
  border-color:#c1dbcd!important;
  background-image:none!important;
  text-shadow:none!important;
  box-shadow:none!important;
}

/* Tariff adviser open/close: always a plain green text action, never a
   filled theme button. Do not change label/font-size/functionality. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.text-button,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.text-button:is(:hover,:focus,:active) {
  background-color:transparent!important;
  background-image:none!important;
  color:#005e52!important;
  border:0!important;
  box-shadow:none!important;
  text-shadow:none!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.text-button:hover {
  color:#00a075!important;
}

/* Save, recommend and apply: preserve the explicit action hierarchy. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.button:not(.outline):not(.orange) {
  background:#005e52!important;border:1px solid #005e52!important;color:#fff!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.button:not(.outline):not(.orange):is(:hover,:focus,:active) {
  background:#00a075!important;border-color:#00a075!important;color:#fff!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.button.outline {
  background:#fff!important;border:1px solid #c7dfcf!important;color:#005e52!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.button.outline:is(:hover,:focus,:active) {
  background:#edf6f2!important;border-color:#00a075!important;color:#005e52!important;
}
/* 1.0.41: user-approved primary apply CTA stays ORANGE. The save CTA stays HM green. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.button.orange {
  background:#E86A2A!important;border:1px solid #E86A2A!important;color:#fff!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.button.orange:is(:hover,:focus,:active) {
  background:#CF5620!important;border-color:#CF5620!important;color:#fff!important;
}

/* Two product switches, shared deductible, optional advice answers. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .products button {
  background:#fff!important;border-color:#c5dfce!important;color:#005e52!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .products button:is(:hover,:focus,:active) {
  background:#00a075!important;border-color:#00a075!important;color:#fff!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .products button.on,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .products button.on:is(:hover,:focus,:active) {
  background:#005e52!important;border-color:#005e52!important;color:#fff!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .sbbuttons button {
  background:#fff!important;border-color:#c6dfcf!important;color:#005e52!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .sbbuttons button:is(:hover,:focus,:active) {
  background:#edf6f2!important;border-color:#00a075!important;color:#005e52!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .sbbuttons button.on,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .sbbuttons button.on:is(:hover,:focus,:active) {
  background:#e4f7ea!important;border-color:#00a075!important;color:#005e52!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.qitem {
  background:#fff!important;border-color:#d1e5d8!important;color:#183b30!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.qitem:is(:hover,:focus,:active) {
  background:#edf6f2!important;border-color:#00a075!important;color:#005e52!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.qitem.on,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.qitem.on:is(:hover,:focus,:active) {
  background:#e8f8ef!important;border-color:#00a075!important;color:#005e52!important;
}

/* Three tariff cards: only the original card's lower name panel fills green.
   Hovering over the semantic button must NOT fill the entire card. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .tile button,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .tile button:is(:hover,:focus,:active) {
  background:transparent!important;border:0!important;color:#005e52!important;
}
/* Disabled info addon controls stay passive and white. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.plus,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button.plus:is(:hover,:focus,:active) {
  background:#fff!important;border:1px solid #9ebfac!important;color:#005e52!important;
}

/* Prototype application: navigation and editing remain neutral/green. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app button.hmbr81-app__next,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app button.hmbr81-app__next:is(:hover,:focus,:active){
  background:#005e52!important;border-color:#005e52!important;color:#fff!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app button.hmbr81-app__next:is(:hover,:focus,:active){
  background:#00a075!important;border-color:#00a075!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app button.hmbr81-app__back,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app button.hmbr81-app__back:is(:hover,:focus,:active) {
  background:#edf6f2!important;border-color:#d8e9e0!important;color:#005e52!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app button.hmbr81-app__back:is(:hover,:focus,:active){
  background:#dceee5!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app :is(button.hmbr81-app__add,button.hmbr81-app__remove,button.hmbr81-app__edit),
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app :is(button.hmbr81-app__add,button.hmbr81-app__remove,button.hmbr81-app__edit):is(:hover,:focus,:active) {
  background:#fff!important;color:#005e52!important;border:1px solid #c5dfce!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app :is(button.hmbr81-app__add,button.hmbr81-app__remove,button.hmbr81-app__edit):is(:hover,:focus,:active) {
  background:#edf6f2!important;border-color:#005e52!important;
}
/* V8.1.41: the single final application action stays orange in every stage. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app button.hmbr81-app__final,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app button.hmbr81-app__final:is(:focus,:active) {
  background:#E86A2A!important;border:1px solid #E86A2A!important;color:#fff!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app button.hmbr81-app__final:hover:not(:disabled) {
  background:#CF5620!important;border-color:#CF5620!important;color:#fff!important;
}
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-app__choices :is(label:hover,label:focus-within) span {
  background:#00a075!important;border-color:#00a075!important;color:#fff!important;
}

/* Original V8.1 input step and multi-pet controls are OUTSIDE .hmbr81-visual.
   Protect them independently, without modifying the original price engine. */
body .hmbr81-original .hmbr81-species-buttons button.hmbr81-species-button:is(:hover,:focus,:active):not(:disabled){
  background:var(--hmbr81-species-hover-bg,#00a075)!important;
  border-color:var(--hmbr81-species-hover-bg,#00a075)!important;
  color:var(--hmbr81-species-hover-text,#fff)!important;
}
body .hmbr81-original .hmbr81-species-buttons button.hmbr81-species-button.is-active:is(:hover,:focus,:active):not(:disabled){
  background:var(--hmbr81-species-active-bg,#00a075)!important;
  border-color:var(--hmbr81-species-active-bg,#00a075)!important;
  color:var(--hmbr81-species-active-text,#fff)!important;
}
body .hmbr81-original :is(button.hmbr81-pet-collection__choose,button.hmbr81-pet-collection__remove,button.hmbr81-pet-add__button,button.hmbr81-edit-animal,button.hmbr81-batch-row,button.hmbr81-batch-remove):is(:hover,:focus,:active){
  background:#edf6f2!important;border-color:#c1dbcd!important;color:#005e52!important;box-shadow:none!important;
}
body .hmbr81-original .hmbr81-pet-collection__item :is(button.hmbr81-pet-collection__choose,button.hmbr81-pet-collection__remove):is(:hover,:focus,:active) {
  border-color:transparent!important;
}
body .hmbr81-original .hmbr81-batch-row.is-selected:is(:hover,:focus,:active){
  background:#edf6f2!important;border-color:#005e52!important;color:#005e52!important;
}
/* Batch summary may render in the external Elementor results host. */
body .hmbr81-v81-result-host :is(button.hmbr81-batch-row,button.hmbr81-batch-remove):is(:hover,:focus,:active){
  background:#edf6f2!important;border-color:#005e52!important;color:#005e52!important;box-shadow:none!important;
}
body .hmbr81-original .hm-of-calculator-content button.hmbr81-original-next:is(:hover,:focus,:active){
  background:#00a075!important;border-color:#00a075!important;color:#fff!important;box-shadow:none!important;
}

/* Retain a usable keyboard focus indicator. Background never turns red. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual button:focus-visible,
body .hmbr81-original :is(button.hmbr81-species-button,button.hmbr81-pet-collection__choose,button.hmbr81-pet-collection__remove,button.hmbr81-pet-add__button,button.hmbr81-original-next):focus-visible{
  outline:2px solid #005e52!important;outline-offset:2px!important;
}
/* Explicitly preserve the X-only info dialog style established in 0.4.28. */
body dialog.hmbr81-help-dialog button.hmbr81-help-close:is(:hover,:focus,:active){
  background:transparent!important;background-image:none!important;border:0!important;color:#005e52!important;box-shadow:none!important;
}

/* V8.1.84: live result host may be outside .hmbr81-original. The approved
   pale-mint Tierdaten button must never inherit Elementor's pink/red style. */
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-step2-toolbar button.hmbr81-edit-animal,
body .hmbr81-visual .hmbr81-step2-toolbar button.hmbr81-edit-animal,
body :is(.hmbr81-original,.hmbr81-v81-result-host) .hmbr81-visual .hmbr81-step2-toolbar button.hmbr81-edit-animal:is(:hover,:focus,:active),
body .hmbr81-visual .hmbr81-step2-toolbar button.hmbr81-edit-animal:is(:hover,:focus,:active){
  background:#edf6f2!important;background-image:none!important;
  color:#005e52!important;-webkit-text-fill-color:#005e52!important;
  border:1px solid #c8dfd2!important;border-radius:6px!important;
  padding:8px 12px!important;text-decoration:none!important;
  font:700 .88rem/1.4 'Bricolage Grotesque',Arial,sans-serif!important;
  box-shadow:none!important;text-transform:none!important;
}
body .hmbr81-visual .hmbr81-step2-toolbar button.hmbr81-edit-animal:hover,
body .hmbr81-visual .hmbr81-step2-toolbar button.hmbr81-edit-animal:focus-visible{
  background:#dff2e7!important;border-color:#00a075!important;
}
body .hmbr81-visual .hmbr81-step2-toolbar button.hmbr81-edit-animal:focus-visible{
  outline:2px solid #005e52!important;outline-offset:2px!important;
}
