.hm-of{--hm-green:#00A075;--hm-dark-green:#005E52;--hm-orange:#EB5B25;--hm-orange-light:#FFF3EC;--hm-border:#DEE4E1;--hm-text:#222;box-sizing:border-box;color:var(--hm-text);font-family:inherit}
.hm-of *{box-sizing:border-box}
.hm-of-title{margin:0 0 .45rem;color:var(--hm-green)}
.hm-of-intro{margin:0 0 .9rem}
.hm-of-intro p{margin:0;line-height:1.5}
.hm-of-form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(10rem,.7fr) auto;gap:.85rem;align-items:end;padding:1rem;border:1px solid var(--hm-border);border-radius:.75rem;background:#fff}
.hm-of[data-tierart="Katze"] .hm-of-form{grid-template-columns:minmax(0,1.35fr) minmax(9rem,.62fr) minmax(10rem,.7fr) auto}
.hm-of-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.hm-of-field label{font-weight:700;color:var(--hm-dark-green)}
.hm-of-field input,.hm-of-field select{width:100%;min-height:3rem;padding:.68rem .78rem;border:1px solid #C9D8D3;border-radius:.55rem;background:#fff;color:var(--hm-text);font:inherit;line-height:1.2;outline:none}
.hm-of-field input:focus,.hm-of-field select:focus{border-color:var(--hm-green);box-shadow:0 0 0 3px rgba(0,160,117,.12)}
.hm-of-submit{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.72rem 1.2rem;border:1px solid var(--hm-orange);border-radius:1rem;background:var(--hm-orange);color:#fff;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}
.hm-of-submit:hover{filter:brightness(.97)}
.hm-of-submit:disabled{opacity:.62;cursor:wait}
.hm-of-note{margin:.55rem .1rem 0;font-size:.86em;line-height:1.4;color:#555}
.hm-of-status{margin:.85rem 0 0;padding:.72rem .85rem;border-radius:.55rem;background:#F1F8F5;color:var(--hm-dark-green);font-weight:600}
.hm-of-result{margin-top:1.25rem}
/* beta116: no reserved margin when the calculator has no result yet. */
.hm-of-result:empty{margin-top:0}
.hm-of-fallback{margin-top:1rem;padding:1rem;border:1px solid #F2C3AF;border-radius:.7rem;background:#FFF8F4}
.hm-of-fallback--static{margin-top:0}
.hm-of-fallback p{margin:0 0 .75rem;color:#4f3429}
.hm-of-fallback-button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.72rem 1.1rem;border:2px solid var(--hm-orange)!important;border-radius:1rem!important;background:var(--hm-orange)!important;color:#fff!important;text-decoration:none!important;font-weight:700;line-height:1.15}
.hm-of-fallback-button:hover,.hm-of-fallback-button:focus{background:#D94E1D!important;color:#fff!important;text-decoration:none!important}
.hm-of-offer-head{margin:0 0 1rem}
.hm-of-offer-kicker{margin:0;color:var(--hm-green)}
.hm-of-offer-summary{display:flex;flex-wrap:wrap;gap:.55rem 1.35rem;margin-top:.45rem;color:#444}.hm-of-offer-summary strong{color:var(--hm-text);font-weight:600}
.hm-of-tariff-section+.hm-of-tariff-section{margin-top:2rem}.hm-of-section-title{margin:0 0 .8rem;font-weight:600;color:var(--hm-dark-green)}.hm-of-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}
.hm-of-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:1.45rem 1.25rem 1.2rem;border:1px solid var(--hm-border);border-radius:.75rem;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.035)}
.hm-of-card--recommended{border:2px solid var(--hm-orange);padding:calc(1.45rem - 1px) calc(1.25rem - 1px) calc(1.2rem - 1px)}
.hm-of-badge{position:absolute;left:1rem;top:-.85rem;padding:.4rem .78rem;border-radius:999px;background:var(--hm-orange);color:#fff;font-size:.86rem;font-weight:700;line-height:1}
.hm-of-card-header{min-height:4.7rem;padding:.05rem 0 .75rem}
.hm-of-tariff-name{font-size:1.25em;font-weight:700;line-height:1.15;color:var(--hm-text)}
.hm-of-product-name{margin-top:.38rem;line-height:1.25;color:var(--hm-text)}
.hm-of-price-group{margin-top:.25rem}
.hm-of-price-group+.hm-of-price-group{margin-top:.8rem;padding-top:.8rem;border-top:1px solid #DADFDDE6}
.hm-of-group-title{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.58rem .75rem;border-radius:.4rem;background:#EFF8F5;color:var(--hm-dark-green);font-weight:700;line-height:1.1}
.hm-of-price-group--without-zahn .hm-of-group-title,.hm-of-price-group--details .hm-of-group-title{background:#F4F5F6}
.hm-of-price-group--details>summary{list-style:none;cursor:pointer;position:relative;padding-right:2.4rem}
.hm-of-price-group--details>summary::-webkit-details-marker{display:none}
.hm-of-chevron{position:absolute;right:.85rem;top:50%;width:.55rem;height:.55rem;border-right:2px solid var(--hm-dark-green);border-bottom:2px solid var(--hm-dark-green);transform:translateY(-65%) rotate(45deg);transition:transform .15s ease}
.hm-of-price-group--details[open] .hm-of-chevron{transform:translateY(-35%) rotate(225deg)}
.hm-of-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;min-height:3.05em;padding:.55rem .75rem;border-bottom:1px solid #ECEFED;line-height:1.15}
.hm-of-price-row:last-child{border-bottom:0}
.hm-of-price-row--recommended{position:relative;background:var(--hm-orange-light);border-radius:.38rem;border-bottom-color:transparent}
.hm-of-price-row--recommended:before{content:"";position:absolute;left:0;top:0;bottom:0;width:.22rem;border-radius:.38rem 0 0 .38rem;background:var(--hm-orange)}
.hm-of-price{text-align:right;white-space:nowrap;color:var(--hm-dark-green)}
.hm-of-price strong{font-size:1.08em}
.hm-of-price span{color:var(--hm-text)}
.hm-of-price-row--unavailable{color:#777}
.hm-of-price-row--unavailable .hm-of-price{color:#777}
.hm-of-zahn-note{margin-top:.8rem;padding:.65rem .75rem;border-radius:.4rem;background:#F4F5F6;font-size:.94em;line-height:1.3}
.hm-of-checkout{display:block;width:100%;margin-top:auto;padding:.88rem 1rem;border:2px solid var(--hm-orange)!important;border-radius:1rem!important;background:#fff!important;color:var(--hm-orange)!important;text-decoration:none!important;text-align:center;font-weight:700;line-height:1.15}
.hm-of-checkout:hover,.hm-of-checkout:focus{background:#FFF7F2!important;color:var(--hm-orange)!important;text-decoration:none!important}
.hm-of-checkout--recommended{background:var(--hm-orange)!important;color:#fff!important}
.hm-of-checkout--recommended:hover,.hm-of-checkout--recommended:focus{background:#D94E1D!important;color:#fff!important}
.hm-of-offer-footnote{margin:.8rem .1rem 0;font-size:.82em;line-height:1.4;color:#666}
@media (max-width:1024px){.hm-of-form,.hm-of[data-tierart="Katze"] .hm-of-form{grid-template-columns:1fr 1fr}.hm-of-field--breed{grid-column:1/-1}.hm-of-action{align-self:end}}
@media (max-width:980px){.hm-of-card-grid{grid-template-columns:1fr;gap:1.25rem}.hm-of-card-grid--kv .hm-of-card--kv_premium_plus{order:1}.hm-of-card-grid--kv .hm-of-card--kv_premium{order:2}.hm-of-card-grid--kv .hm-of-card--kv_komfort{order:3}.hm-of-card-header{min-height:auto}}
@media (max-width:640px){.hm-of-form,.hm-of[data-tierart="Katze"] .hm-of-form{grid-template-columns:1fr}.hm-of-field--breed{grid-column:auto}.hm-of-submit{width:100%}.hm-of-card{padding:1.3rem 1rem 1rem}.hm-of-card--recommended{padding:calc(1.3rem - 1px) calc(1rem - 1px) calc(1rem - 1px)}.hm-of-price-row{padding:.55rem .55rem}}

/* beta37: product cards first; product-specific performance stays fully collapsed until requested. */
.hm-of-product-journey{margin-top:0}
.hm-of-product-journey+.hm-of-product-journey{margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--hm-border)}
.hm-of-product-performance{margin-top:1rem}
.hm-of-performance-toggle{margin:0;border:1px solid #D7E2DE;border-radius:.75rem;background:#fff;overflow:hidden}
.hm-of-performance-toggle>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem 1.1rem;background:linear-gradient(90deg,#EFF8F5,#F7FBFA);color:var(--hm-dark-green)}
.hm-of-performance-toggle>summary::-webkit-details-marker{display:none}
.hm-of-performance-summary-copy{display:flex;flex-direction:column;gap:.18rem;min-width:0}
.hm-of-performance-summary-title{font-family:"Bricolage Grotesque",Arial,sans-serif;font-size:1.12rem;line-height:1.25;font-weight:700}
.hm-of-performance-summary-subline{font-size:.9rem;line-height:1.25;font-weight:500;color:#4F6C64}
.hm-of-performance-summary-chevron{width:.62rem;height:.62rem;border-right:2px solid var(--hm-dark-green);border-bottom:2px solid var(--hm-dark-green);transform:rotate(45deg);transition:transform .15s ease;margin-right:.2rem}
.hm-of-performance-toggle[open]>summary .hm-of-performance-summary-chevron{transform:rotate(225deg)}
.hm-of-performance-body{padding:1rem 1rem 1.1rem}
.hm-lu--offerfinder-details .hm-lu-head-price-slot{display:none!important}
.hm-of-conversion-strip{margin-top:1rem;padding:1rem;border:1px solid #D7E2DE;border-radius:.7rem;background:#FAFCFB}
.hm-of-conversion-copy{margin-bottom:.8rem}
.hm-of-conversion-title{font-family:"Bricolage Grotesque",Arial,sans-serif;font-size:1.1rem;line-height:1.2;font-weight:700;color:var(--hm-dark-green)}
.hm-of-conversion-text{margin-top:.18rem;font-size:.92rem;line-height:1.35;color:#555}
.hm-of-conversion-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.hm-of-conversion-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.16rem;min-height:4rem;padding:.72rem .65rem;border:2px solid var(--hm-orange)!important;border-radius:1rem!important;background:#fff!important;color:var(--hm-orange)!important;text-align:center;text-decoration:none!important;line-height:1.15}
.hm-of-conversion-button:hover,.hm-of-conversion-button:focus{background:#FFF7F2!important;color:var(--hm-orange)!important;text-decoration:none!important}
.hm-of-conversion-button--recommended{background:var(--hm-orange)!important;color:#fff!important}
.hm-of-conversion-button--recommended:hover,.hm-of-conversion-button--recommended:focus{background:#D94E1D!important;color:#fff!important}
.hm-of-conversion-badge{font-size:.72rem;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.02em}
.hm-of-conversion-tariff{font-size:1rem;font-weight:700}
.hm-of-conversion-action{font-size:.86rem;font-weight:600}
@media (max-width:700px){.hm-of-product-journey+.hm-of-product-journey{margin-top:2.25rem;padding-top:2rem}.hm-of-performance-body{padding:.8rem}.hm-of-conversion-actions{grid-template-columns:1fr}.hm-of-conversion-button{min-height:3.5rem}}

/* beta38: clarify that SB and dental choice is made in the HanseMerkur calculator. */
.hm-of-calculator-choice-note{margin:.8rem .1rem 0;font-size:.9rem;line-height:1.4;color:#555}
.hm-of-calculator-choice-note strong{color:var(--hm-text)}

/* beta43: saved-offer block directly after the final performance comparison. */
.hm-of-save-cta{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.35fr);gap:1.35rem;align-items:stretch;margin:1.5rem 0 0;padding:1rem;border:1px solid #CFE7DE;border-radius:1rem;background:linear-gradient(115deg,#F1FAF6 0%,#F7FCFA 68%,#E9F7F1 100%);overflow:hidden}
.hm-of-save-media{min-width:0;border-radius:.8rem;overflow:hidden;background:#EEF7F3}
.hm-of-save-media img{display:block;width:100%;height:100%;min-height:190px;object-fit:cover}
.hm-of-save-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.65rem;min-width:0;padding:.35rem .45rem .35rem 0}
.hm-of-save-copy h3{margin:0;color:var(--hm-dark-green);font-weight:600}
.hm-of-save-copy p{margin:0;max-width:64rem;line-height:1.5;color:#3F4A47}
.hm-of-save-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;margin-top:.15rem;padding:.75rem 1.15rem;border:2px solid var(--hm-dark-green)!important;border-radius:1rem!important;background:var(--hm-dark-green)!important;color:#fff!important;font:inherit;font-weight:700;cursor:pointer;text-decoration:none!important}
.hm-of-save-button:hover,.hm-of-save-button:focus{border-color:var(--hm-green)!important;background:var(--hm-green)!important;color:#fff!important}
.hm-of-save-panel{margin:1rem 0 0;padding:1rem;border:1px solid #D7E2DE;border-radius:.85rem;background:#fff}
.hm-of-save-panel[hidden]{display:none!important}
.hm-of-post-result[hidden]{display:none!important}
@media (max-width:760px){.hm-of-save-cta{grid-template-columns:1fr}.hm-of-save-media img{min-height:180px;max-height:260px}.hm-of-save-copy{padding:.1rem}.hm-of-save-button{width:100%}}

/* beta43: post-calculation funnel. */
.hm-of-funnel-section{margin-top:2rem;padding:1.25rem;border:1px solid #D7E2DE;border-radius:1rem;background:#fff}
.hm-of-funnel-title{margin:0 0 .45rem;font-weight:600;color:var(--hm-dark-green)}
.hm-of-funnel-intro{margin:0 0 1rem;line-height:1.5;color:#4B5652}

.hm-of-addon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.hm-of-addon-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;padding:1rem;border:1px solid #DCE8E4;border-radius:.85rem;background:linear-gradient(135deg,#FBFEFD,#F1F9F6)}
.hm-of-addon-icon{display:flex;align-items:center;justify-content:center;width:2.65rem;height:2.65rem;border-radius:999px;background:#E5F6F0;color:var(--hm-dark-green);font-size:1.5rem;font-weight:700}
.hm-of-addon-card h4{margin:0 0 .35rem;color:var(--hm-dark-green);font-size:1.05rem;font-weight:700}
.hm-of-addon-card p{margin:0 0 .65rem;line-height:1.45;color:#4B5652}
.hm-of-addon-meta{display:flex;flex-direction:column;gap:.2rem}
.hm-of-addon-meta strong{color:var(--hm-dark-green);font-size:1.06rem}
.hm-of-addon-meta span{font-size:.9rem;line-height:1.35;color:#58645F}
.hm-of-addon-note{margin:.85rem 0 0;font-size:.88rem;line-height:1.4;color:#626B68}

.hm-of-service{background:linear-gradient(135deg,#F4FBF8 0%,#FFFFFF 100%)}
.hm-of-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.hm-of-service-card{padding:1rem;border:1px solid #D7E9E3;border-radius:.85rem;background:#fff}
.hm-of-service-icon{display:flex;align-items:center;justify-content:center;width:2.8rem;height:2.8rem;margin-bottom:.65rem;border-radius:999px;background:#E5F6F0;color:var(--hm-green);font-size:1.35rem;font-weight:700}
.hm-of-service-card h4{margin:0 0 .35rem;color:var(--hm-dark-green);font-size:1.02rem;font-weight:700;line-height:1.3}
.hm-of-service-card p{margin:0;line-height:1.45;color:#4B5652}

.hm-of-faq{padding-bottom:.8rem}
.hm-of-faq-list{border-top:1px solid #CFE3DC}
.hm-of-faq-item{margin:0;border-bottom:1px solid #CFE3DC;background:#fff}
.hm-of-faq-item>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem .15rem;color:var(--hm-text);font-weight:700;line-height:1.35}
.hm-of-faq-item>summary::-webkit-details-marker{display:none}
.hm-of-faq-chevron{width:.58rem;height:.58rem;margin-right:.2rem;border-right:2px solid var(--hm-dark-green);border-bottom:2px solid var(--hm-dark-green);transform:rotate(45deg);transition:transform .15s ease}
.hm-of-faq-item[open] .hm-of-faq-chevron{transform:rotate(225deg)}
.hm-of-faq-answer{padding:0 1.8rem .95rem .15rem}
.hm-of-faq-answer p{margin:0;line-height:1.55;color:#4B5652}

.hm-of-callback{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:1.35rem;align-items:start;background:#FAFCFB}
.hm-of-callback-copy{display:flex;gap:.85rem;align-items:flex-start}
.hm-of-callback-icon{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:999px;background:#E5F6F0;color:var(--hm-green);font-size:1.45rem}
.hm-of-callback-copy .hm-of-funnel-title{margin-top:.15rem}
.hm-of-callback-copy p{margin:.35rem 0 0;line-height:1.5;color:#4B5652}
.hm-of-callback-form{min-width:0}
.hm-of-callback .ff-btn-submit,.hm-of-callback button[type="submit"]{border-color:var(--hm-dark-green)!important;background:var(--hm-dark-green)!important;color:#fff!important;border-radius:1rem!important}
.hm-of-callback .ff-btn-submit:hover,.hm-of-callback .ff-btn-submit:focus,.hm-of-callback button[type="submit"]:hover,.hm-of-callback button[type="submit"]:focus{border-color:var(--hm-green)!important;background:var(--hm-green)!important;color:#fff!important}

.hm-of-offer-footnote{margin:1.25rem .1rem 0;font-size:.82em;line-height:1.4;color:#666}
.hm-of-customer-info{margin-top:1.35rem;padding-top:1rem;border-top:1px solid #D7E2DE}
.hm-of-customer-info h3{margin:0 0 .35rem;color:var(--hm-dark-green);font-weight:600}
.hm-of-customer-info-intro{margin:0 0 .65rem;color:#5B6662;font-size:.92rem}
.hm-of-customer-info-groups{border-top:1px solid #D7E2DE}
.hm-of-customer-info-group{border-bottom:1px solid #D7E2DE}
.hm-of-customer-info-group summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.72rem .2rem;cursor:pointer;list-style:none;color:#26312E;font-weight:600}
.hm-of-customer-info-group summary::-webkit-details-marker{display:none}
.hm-of-customer-info-chevron{width:.58rem;height:.58rem;margin-right:.2rem;border-right:2px solid var(--hm-dark-green);border-bottom:2px solid var(--hm-dark-green);transform:rotate(45deg);transition:transform .15s ease}
.hm-of-customer-info-group[open] .hm-of-customer-info-chevron{transform:rotate(225deg)}
.hm-of-customer-info-list{display:flex;flex-direction:column;gap:.45rem;padding:0 .2rem .85rem}
.hm-of-customer-info-list a{color:var(--hm-dark-green)!important;text-decoration:underline!important;text-underline-offset:.18em;font-weight:600;font-size:.92rem}
.hm-of-customer-info-list a:hover,.hm-of-customer-info-list a:focus{color:var(--hm-green)!important}

@media (max-width:900px){.hm-of-service-grid{grid-template-columns:1fr}.hm-of-callback{grid-template-columns:1fr}}
@media (max-width:700px){.hm-of-addon-grid{grid-template-columns:1fr}.hm-of-funnel-section{padding:1rem}}

/* beta42.4: plugin-owned virtual Saved-Offer return page. */
.hm-of-return-page{width:100%;padding:2rem 1.25rem 3rem}
.hm-of-return-shell{width:100%;max-width:1280px;margin:0 auto}
@media (max-width:640px){.hm-of-return-page{padding:1.25rem .8rem 2rem}}

/* beta47: visual alignment with the HM WordPress design system. */
.hm-of{
  width:100%;
  max-width:1480px;
  margin-left:auto;
  margin-right:auto;
  padding-left:32px;
  padding-right:32px;
  font-family:"Bricolage Grotesque",Arial,sans-serif;
}
.hm-of button,.hm-of input,.hm-of select,.hm-of textarea,.hm-of a,.hm-of summary{
  font-family:"Bricolage Grotesque",Arial,sans-serif;
}

/* Calculator is a dedicated, softly mint-tinted decision card. */
.hm-of-calculator-card{
  padding:1.6rem;
  border:1px solid #CFE7DE;
  border-radius:1rem;
  background:#F3FBF8;
}
.hm-of-calculator-card .hm-of-form{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.hm-of-calculator-card .hm-of-intro{margin-bottom:1.1rem}
.hm-of-calculator-card .hm-of-note{margin-top:.8rem;margin-bottom:0}
.hm-of-submit:hover,.hm-of-submit:focus{
  border-color:#D94E1D;
  background:#D94E1D;
  color:#fff;
  filter:none;
}

/* Clear separation between data entry and the calculated result. */
.hm-of-result{margin-top:3rem}

/* OP Premium plus receives only the orange frame, not the recommendation treatment. */
.hm-of-card--op-premium-plus{
  border:2px solid var(--hm-orange);
  padding:calc(1.45rem - 1px) calc(1.25rem - 1px) calc(1.2rem - 1px);
}

/* Keep the lower dental control / notice on one visual baseline across each three-card row. */
.hm-of-card-variants{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-height:0;
}
.hm-of-card-variants>.hm-of-price-group--details,
.hm-of-card-variants>.hm-of-zahn-note{
  margin-top:auto;
}
.hm-of-card-variants>.hm-of-price-group--details{
  padding-top:.8rem;
  border-top:1px solid #DADFDDE6;
}
.hm-of-card-variants>.hm-of-zahn-note{
  min-height:3.05rem;
  display:flex;
  align-items:center;
}
.hm-of-card-variants+.hm-of-checkout{margin-top:.85rem}

/* The virtual saved-offer page uses the same page width as the normal finder. */
.hm-of-return-page{padding-left:0;padding-right:0}
.hm-of-return-shell{max-width:1480px}

@media (max-width:1024px){
  .hm-of{padding-left:24px;padding-right:24px}
  .hm-of-result{margin-top:2.5rem}
}
@media (max-width:640px){
  .hm-of{padding-left:16px;padding-right:16px}
  .hm-of-calculator-card{padding:1.2rem}
  .hm-of-result{margin-top:2rem}
  .hm-of-card--op-premium-plus{padding:calc(1.3rem - 1px) calc(1rem - 1px) calc(1rem - 1px)}
  .hm-of-card-variants>.hm-of-price-group--details,
  .hm-of-card-variants>.hm-of-zahn-note{margin-top:.8rem}
}

/* beta48: unify normal finder and Saved-Offer return presentation. */
.hm-of-title,
.hm-of-offer-kicker{
  margin:0;
  color:var(--hm-green)!important;
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:3rem!important;
  line-height:1.08!important;
  font-weight:600!important;
  letter-spacing:normal!important;
}
.hm-of-title{margin-bottom:.45rem}
.hm-of-section-title{
  margin:0 0 .8rem;
  color:var(--hm-green)!important;
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:2.25rem!important;
  line-height:1.15!important;
  font-weight:500!important;
  letter-spacing:normal!important;
}
.hm-of-offer-summary{
  font-size:1rem;
  line-height:1.45;
}

/* Saved-Offer page: visual breathing room below the site header and the agreed hero image. */
.hm-of-return-page{
  padding-top:2.25rem;
  padding-bottom:3rem;
}
.hm-of-return-hero{
  width:100%;
  margin:0 0 1.5rem;
  border-radius:1rem;
  overflow:hidden;
  background:#F3FBF8;
}
.hm-of-return-hero img{
  display:block;
  width:100%;
  aspect-ratio:3/1;
  object-fit:cover;
  object-position:center;
}
.hm-of-return-notice{
  margin:0 0 .55rem;
  color:#4B5652;
  font-size:.95rem;
  line-height:1.45;
}

/* Service-Card is a visible, tangible HM service advantage, not only a text bullet. */
.hm-of-servicecard-detail{
  display:grid;
  grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);
  gap:1.25rem;
  align-items:center;
  margin-top:1.15rem;
  padding:1rem;
  border:1px solid #D7E9E3;
  border-radius:.9rem;
  background:#fff;
}
.hm-of-servicecard-visual{
  min-width:0;
}
.hm-of-servicecard-visual img{
  display:block;
  width:100%;
  max-width:500px;
  height:auto;
  border-radius:.85rem;
}
.hm-of-servicecard-copy h4{
  margin:0 0 .7rem;
  color:var(--hm-dark-green);
  font-size:1.25rem;
  line-height:1.25;
  font-weight:600;
}
.hm-of-servicecard-copy ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:.55rem;
}
.hm-of-servicecard-copy li{
  position:relative;
  padding-left:1.55rem;
  line-height:1.45;
  color:#3F4A47;
}
.hm-of-servicecard-copy li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--hm-green);
  font-weight:800;
}
.hm-of-customer-info--admin-empty a{
  color:var(--hm-dark-green)!important;
  font-weight:600;
  text-decoration:underline!important;
}

@media (max-width:1024px){
  .hm-of-title,.hm-of-offer-kicker{font-size:2.625rem!important}
  .hm-of-section-title{font-size:2rem!important}
  .hm-of-return-page{padding-top:2rem}
}
@media (max-width:760px){
  .hm-of-servicecard-detail{grid-template-columns:1fr}
  .hm-of-servicecard-visual img{max-width:100%}
}
@media (max-width:640px){
  .hm-of-title,.hm-of-offer-kicker{font-size:2rem!important;line-height:1.12!important}
  .hm-of-section-title{font-size:1.75rem!important;line-height:1.18!important}
  .hm-of-return-page{padding-top:1.25rem;padding-bottom:2rem}
  .hm-of-return-hero{margin-bottom:1.15rem;border-radius:.8rem}
  .hm-of-return-hero img{aspect-ratio:4/3;object-position:68% center}
}

/* beta49: HM landing-page visual parity + sticky Saved-Offer header. */
.hm-of{
  --hm-sand:#F8F1EA;
  --hm-sand-border:#E9DDD2;
  --hm-soft:#FBF8F5;
}

/* The virtual return route uses the same visible site header as the normal HM pages.
   beta63: keep that header permanently attached to the viewport. The return route
   is plugin-owned and must not depend on Elementor's sticky scroll boundary. */
body.hm-offer-return-page .elementor-location-header{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:0!important;
  z-index:9999!important;
  width:100%!important;
  transform:none!important;
  visibility:visible!important;
  opacity:1!important;
}
body.admin-bar.hm-offer-return-page .elementor-location-header{top:32px!important}
@media (max-width:782px){body.admin-bar.hm-offer-return-page .elementor-location-header{top:46px!important}}

/* Landing-page hierarchy: dark typography, green as an accent, orange for conversion. */
.hm-of-title,
.hm-of-offer-kicker,
.hm-of-section-title,
.hm-of-funnel-title,
.hm-of-save-copy h3,
.hm-of-customer-info h3{
  color:var(--hm-text)!important;
}
.hm-of-funnel-title{
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:1.75rem!important;
  line-height:1.2!important;
  font-weight:600!important;
  letter-spacing:normal!important;
}
.hm-of-customer-info h3{
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:1.45rem!important;
  line-height:1.2!important;
}

/* Calculator and orientation areas use the warm HM landing-page surface. */
.hm-of-calculator-card{
  border-color:var(--hm-sand-border);
  background:var(--hm-sand);
}
.hm-of-performance-toggle{border-color:#E3DDD7}
.hm-of-performance-toggle>summary{
  background:var(--hm-sand);
  color:var(--hm-text);
}
.hm-of-performance-summary-subline{color:#625E59}
.hm-of-conversion-strip{
  border-color:#E3DDD7;
  background:var(--hm-soft);
}
.hm-of-conversion-title{color:var(--hm-text)}

/* Saved-offer CTA is secondary: white/green outline instead of a competing fill. */
.hm-of-save-cta{
  border-color:var(--hm-sand-border);
  background:var(--hm-sand);
}
.hm-of-save-button{
  border-color:var(--hm-dark-green)!important;
  background:#fff!important;
  color:var(--hm-dark-green)!important;
}
.hm-of-save-button:hover,.hm-of-save-button:focus{
  border-color:var(--hm-green)!important;
  background:#F4FAF8!important;
  color:var(--hm-dark-green)!important;
}

/* Post-offer sections follow the landing-page card language. */
.hm-of-funnel-section{border-color:#E7E1DB}
.hm-of-addon-card{
  border-color:var(--hm-sand-border);
  background:var(--hm-sand);
}
.hm-of-addon-card h4,
.hm-of-addon-meta strong{color:var(--hm-text)}
.hm-of-addon-icon{
  background:#fff;
  color:var(--hm-green);
  border:1px solid #DDE9E4;
}
.hm-of-service{
  border-color:var(--hm-sand-border);
  background:var(--hm-sand);
}
.hm-of-service-card{
  border-color:#E9E1DA;
  background:#fff;
}
.hm-of-service-card h4{color:var(--hm-text)}
.hm-of-servicecard-detail{
  border-color:#E9E1DA;
  background:#fff;
}
.hm-of-servicecard-copy h4{color:var(--hm-text)}
.hm-of-faq{background:#fff}
.hm-of-callback{
  border-color:var(--hm-sand-border);
  background:var(--hm-sand);
}
.hm-of-callback .ff-btn-submit,
.hm-of-callback button[type="submit"]{
  border:2px solid var(--hm-dark-green)!important;
  background:#fff!important;
  color:var(--hm-dark-green)!important;
}
.hm-of-callback .ff-btn-submit:hover,
.hm-of-callback .ff-btn-submit:focus,
.hm-of-callback button[type="submit"]:hover,
.hm-of-callback button[type="submit"]:focus{
  border-color:var(--hm-green)!important;
  background:#F4FAF8!important;
  color:var(--hm-dark-green)!important;
}

/* Return route: a true HM hero rather than a narrow technical banner. */
.hm-of-return-page{
  padding-top:1.5rem;
  padding-bottom:3.5rem;
  overflow-x:hidden;
}
.hm-of-return-hero{
  position:relative;
  display:flex;
  align-items:center;
  min-height:clamp(470px,38vw,590px);
  margin:0 0 3rem;
  border:0;
  border-radius:1rem;
  overflow:hidden;
  background:var(--hm-sand);
}
.hm-of-return-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.95) 27%,rgba(255,255,255,.78) 45%,rgba(255,255,255,.08) 67%,rgba(255,255,255,0) 100%);
}
.hm-of-return-hero-media{
  position:absolute;
  inset:0;
  z-index:0;
}
.hm-of-return-hero-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.hm-of-return-hero-copy{
  position:relative;
  z-index:2;
  width:min(56%,760px);
  padding:clamp(2.2rem,5vw,5rem);
}
.hm-of-return-eyebrow{
  margin:0 0 .75rem;
  color:var(--hm-dark-green);
  font-size:1rem;
  line-height:1.25;
  font-weight:700;
}
.hm-of-return-hero-copy h1{
  margin:0;
  max-width:720px;
  color:var(--hm-text);
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:clamp(2.5rem,3.45vw,3.25rem);
  line-height:1.06;
  font-weight:600;
  letter-spacing:normal;
}
.hm-of-return-hero-copy p{
  margin:1.15rem 0 0;
  max-width:660px;
  color:#3E4542;
  font-size:1.08rem;
  line-height:1.55;
}
.hm-of-return-trust{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:1.35rem;
}
.hm-of-return-trust span{
  display:inline-flex;
  align-items:center;
  min-height:2.25rem;
  padding:.45rem .78rem;
  border:1px solid #D7E7E1;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:var(--hm-dark-green);
  font-size:.9rem;
  line-height:1.2;
  font-weight:700;
}
.hm-of-return-hero + .hm-of-offer{margin-top:0}

@media (max-width:1024px){
  .hm-of-funnel-title{font-size:1.625rem!important}
  .hm-of-return-page{padding-top:1.25rem}
  .hm-of-return-hero{min-height:470px;margin-bottom:2.5rem}
  .hm-of-return-hero-copy{width:60%;padding:2.5rem}
  .hm-of-return-hero-copy h1{font-size:2.625rem}
}

@media (max-width:760px){
  .hm-of-funnel-title{font-size:1.5rem!important}
  .hm-of-return-page{padding-top:1rem;padding-bottom:2.5rem}
  .hm-of-return-hero{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-height:0;
    margin-bottom:2rem;
    border-radius:.9rem;
    background:var(--hm-sand);
  }
  .hm-of-return-hero::after{display:none}
  .hm-of-return-hero-copy{
    order:1;
    width:100%;
    padding:1.6rem 1.35rem 1.4rem;
  }
  .hm-of-return-hero-copy h1{
    font-size:2.05rem;
    line-height:1.1;
  }
  .hm-of-return-hero-copy p{font-size:1rem}
  .hm-of-return-trust{gap:.45rem;margin-top:1rem}
  .hm-of-return-trust span{font-size:.82rem}
  .hm-of-return-hero-media{
    position:relative;
    order:2;
    height:clamp(240px,76vw,340px);
  }
  .hm-of-return-hero-media img{
    object-position:70% center;
  }
}

@media (max-width:640px){
  .hm-of-return-page{padding-top:.8rem}
  .hm-of-return-shell{padding-left:16px;padding-right:16px}
  .hm-of-return-shell.hm-of{padding-left:0;padding-right:0}
}


/* beta50: approved HM visual system, section rhythm, real HM assets and conversion summaries. */
.hm-of{
  --hm-section-gap:4.5rem;
  --hm-mint:#EEF8F5;
  --hm-mint-strong:#E3F4EE;
  --hm-line:#D6E5DF;
}

/* Core result hierarchy stays HM green with medium weight. */
.hm-of-offer-kicker,
.hm-of-section-title{
  color:var(--hm-green)!important;
  font-weight:500!important;
}
.hm-of-offer-summary{
  gap:.45rem 1.65rem;
  margin-top:.7rem;
  color:#303633;
  font-size:1.25rem!important;
  line-height:1.4;
}
.hm-of-offer-summary strong{font-weight:600!important;color:var(--hm-text)!important}

/* Performance accordions remain green/mint rather than sand/orange. */
.hm-of-performance-toggle{border-color:var(--hm-line)!important;background:#fff!important}
.hm-of-performance-toggle>summary{
  background:#F2F9F7!important;
  color:var(--hm-dark-green)!important;
}
.hm-of-performance-summary-title{
  color:var(--hm-dark-green)!important;
  font-weight:500!important;
}
.hm-of-performance-summary-subline{color:#50655E!important}

/* A clear 72/56/40 section rhythm; section wrappers themselves are not cards. */
.hm-of-funnel-section,
.hm-of-platform,
.hm-of-customer-info{
  margin-top:var(--hm-section-gap)!important;
}
.hm-of-funnel-section{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.hm-of-funnel-title,
.hm-of-customer-info h3{
  margin:0 0 .65rem!important;
  color:var(--hm-green)!important;
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:1.6rem!important;
  line-height:1.2!important;
  font-weight:500!important;
  letter-spacing:normal!important;
}
.hm-of-funnel-intro{margin:0 0 1.4rem!important;color:#333E3A!important}

/* Additional protection: only the two individual modules are cards. */
.hm-of-addons{background:transparent!important}
.hm-of-addon-grid{gap:1.25rem}
.hm-of-addon-card{
  grid-template-columns:5rem minmax(0,1fr)!important;
  gap:1rem!important;
  padding:1.35rem!important;
  border:1px solid var(--hm-line)!important;
  border-radius:1rem!important;
  background:#fff!important;
}
.hm-of-addon-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:5rem!important;
  height:5rem!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.hm-of-addon-icon img{display:block;width:100%;height:100%;object-fit:contain}
.hm-of-addon-card h4{
  margin:0 0 .4rem!important;
  color:var(--hm-text)!important;
  font-size:1.4rem!important;
  line-height:1.2!important;
  font-weight:600!important;
}
.hm-of-addon-card p{margin:0 0 .75rem!important;color:#3D4743!important}
.hm-of-addon-meta strong{color:var(--hm-text)!important;font-size:1.1rem!important}
.hm-of-addon-meta span{font-size:1rem!important;color:#4C5954!important}
.hm-of-addon-note{margin:1rem 0 0!important;font-size:.96rem!important;color:#4F5955!important}

/* Service: three mint benefit cards; Service-Card imagery/copy below has no card shell. */
.hm-of-service{background:transparent!important}
.hm-of-service-grid{gap:1.25rem!important;margin-top:1.5rem!important}
.hm-of-service-card{
  padding:1.35rem!important;
  border:0!important;
  border-radius:1rem!important;
  background:var(--hm-mint)!important;
}
.hm-of-service-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:3.5rem!important;
  height:3.5rem!important;
  margin:0 0 .75rem!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.hm-of-service-icon img{display:block;width:100%;height:100%;object-fit:contain}
.hm-of-service-card h4{
  margin:0 0 .4rem!important;
  color:var(--hm-text)!important;
  font-size:1.15rem!important;
  line-height:1.3!important;
  font-weight:600!important;
}
.hm-of-service-card p{margin:0!important;color:#3F4A46!important;line-height:1.5!important}
.hm-of-servicecard-detail{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)!important;
  gap:2rem!important;
  align-items:center!important;
  margin-top:2rem!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.hm-of-servicecard-visual{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:1rem!important;
}
.hm-of-servicecard-visual img{
  display:block!important;
  width:100%!important;
  max-width:760px!important;
  height:auto!important;
  border-radius:.8rem!important;
}
.hm-of-servicecard-copy h4{
  margin:0 0 .9rem!important;
  color:var(--hm-text)!important;
  font-size:1.4rem!important;
  line-height:1.25!important;
  font-weight:600!important;
}
.hm-of-servicecard-copy li{font-size:1rem!important;color:#34403B!important}

/* HM platform trust band between service and FAQ. */
.hm-of-platform{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:3.5rem;
  align-items:start;
  padding:2.75rem 2rem;
  background:#F1F8F5;
}
.hm-of-platform h3{
  margin:0;
  color:var(--hm-text);
  font-family:"Bricolage Grotesque",Arial,sans-serif;
  font-size:clamp(2rem,3vw,2.75rem);
  line-height:1.12;
  font-weight:500;
}
.hm-of-platform-heading>p,
.hm-of-platform-copy p{
  margin:1.1rem 0 0;
  color:#28312E;
  font-size:1.05rem;
  line-height:1.55;
}
.hm-of-platform-copy p:first-child{margin-top:0}

/* FAQ is deliberately not wrapped in a large card. */
.hm-of-faq{padding:0!important;border:0!important;background:transparent!important}
.hm-of-faq-list{margin-top:1.15rem!important;border-top:1px solid #CFE3DC!important}
.hm-of-faq-item{background:transparent!important}
.hm-of-faq-item>summary{padding:1.05rem .15rem!important;font-size:1.05rem!important;font-weight:600!important}

/* Callback mirrors the landing page: free two-column section, not a card. */
.hm-of-callback{
  display:grid!important;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)!important;
  gap:3rem!important;
  align-items:start!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.hm-of-callback-copy{display:block!important}
.hm-of-callback-copy p{margin:.8rem 0 0!important;color:#2E3834!important;font-size:1.05rem!important;line-height:1.55!important}
.hm-of-callback-form{min-width:0}
.hm-of-callback .ff-btn-submit,
.hm-of-callback button[type="submit"]{
  border:2px solid var(--hm-dark-green)!important;
  background:#fff!important;
  color:var(--hm-dark-green)!important;
  border-radius:1rem!important;
}
.hm-of-callback--admin-empty{grid-template-columns:1fr!important}
.hm-of-callback--admin-empty a{color:var(--hm-dark-green)!important;font-weight:600!important;text-decoration:underline!important}

/* Downloads: landing-page-style heading + expandable product groups. */
.hm-of-customer-info{
  padding-top:0!important;
  border-top:0!important;
}
.hm-of-customer-info-intro{margin:0 0 1rem!important;color:#4B5652!important;font-size:1rem!important}
.hm-of-customer-info-groups{border-top:1px solid var(--hm-line)!important}
.hm-of-customer-info-group{border-bottom:1px solid var(--hm-line)!important}
.hm-of-customer-info-group summary{
  padding:1rem .15rem!important;
  color:var(--hm-text)!important;
  font-size:1.05rem!important;
  font-weight:600!important;
}
.hm-of-customer-info-list{gap:.65rem!important;padding:0 .15rem 1rem!important}
.hm-of-customer-info-list a{font-size:1rem!important;color:var(--hm-dark-green)!important}

/* Stronger tariff summaries after each performance overview. */
.hm-of-conversion-strip{
  margin-top:1.5rem!important;
  padding:1.25rem!important;
  border:1px solid #E2E5E3!important;
  border-radius:1rem!important;
  background:#FBFAF8!important;
}
.hm-of-conversion-copy{margin-bottom:1.1rem!important}
.hm-of-conversion-title{
  color:var(--hm-text)!important;
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:1.25rem!important;
  line-height:1.2!important;
  font-weight:600!important;
}
.hm-of-conversion-text{margin-top:.3rem!important;font-size:1rem!important;color:#4A5450!important}
.hm-of-conversion-actions{gap:1rem!important}
.hm-of-conversion-button{
  min-height:7.25rem!important;
  padding:1.1rem 1rem!important;
  gap:.2rem!important;
  border:2px solid var(--hm-orange)!important;
  border-radius:1rem!important;
  background:#fff!important;
  color:var(--hm-orange)!important;
}
.hm-of-conversion-badge{font-size:.74rem!important;font-weight:700!important;text-transform:uppercase!important}
.hm-of-conversion-tariff{font-size:1.15rem!important;font-weight:700!important}
.hm-of-conversion-product{font-size:.85rem!important;font-weight:500!important;opacity:.9}
.hm-of-conversion-action{margin-top:.18rem!important;font-size:.95rem!important;font-weight:600!important}
.hm-of-conversion-button--recommended{background:var(--hm-orange)!important;color:#fff!important}

/* Return hero: exact HM homepage photo, green medium headline and responsive crops. */
.hm-of-return-hero-copy h1{
  color:var(--hm-green)!important;
  font-weight:500!important;
}
.hm-of-return-eyebrow{
  max-width:760px;
  color:var(--hm-dark-green)!important;
  font-weight:500!important;
}
.hm-of-return-hero-media img{object-position:66% center!important}

/* Tablet portrait uses the same HM photo in a 1200x1500-style 4:5 hero crop. */
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .hm-of-return-hero{
    aspect-ratio:4/5!important;
    min-height:0!important;
    align-items:flex-start!important;
    margin-bottom:3.5rem!important;
  }
  .hm-of-return-hero::after{
    background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 25%,rgba(255,255,255,.58) 44%,rgba(255,255,255,.08) 63%,rgba(255,255,255,0) 100%)!important;
  }
  .hm-of-return-hero-copy{
    width:82%!important;
    padding:3rem 2.75rem!important;
  }
  .hm-of-return-hero-copy h1{font-size:3rem!important;line-height:1.08!important}
  .hm-of-return-hero-media img{object-position:68% center!important}
  .hm-of-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .hm-of-service-card:last-child{grid-column:1/-1}
  .hm-of-servicecard-detail{grid-template-columns:1fr!important}
  .hm-of-platform{grid-template-columns:1fr!important;gap:1.2rem!important}
  .hm-of-callback{grid-template-columns:1fr!important;gap:1.75rem!important}
}

@media (max-width:1024px){
  .hm-of{--hm-section-gap:3.5rem}
  .hm-of-offer-summary{font-size:1.25rem!important}
}

@media (max-width:760px){
  .hm-of{--hm-section-gap:2.5rem}
  .hm-of-offer-summary{font-size:1.125rem!important;gap:.35rem 1rem!important}
  .hm-of-funnel-title,.hm-of-customer-info h3{font-size:1.6rem!important}
  .hm-of-addon-card{grid-template-columns:4.25rem minmax(0,1fr)!important;padding:1.1rem!important}
  .hm-of-addon-icon{width:4.25rem!important;height:4.25rem!important}
  .hm-of-addon-card h4{font-size:1.25rem!important}
  .hm-of-service-grid{grid-template-columns:1fr!important}
  .hm-of-servicecard-detail{grid-template-columns:1fr!important;gap:1.5rem!important}
  .hm-of-platform{grid-template-columns:1fr!important;gap:1rem!important;padding:2rem 1.1rem!important}
  .hm-of-platform h3{font-size:2rem!important}
  .hm-of-callback{grid-template-columns:1fr!important;gap:1.5rem!important}
  .hm-of-conversion-actions{grid-template-columns:1fr!important}
  .hm-of-conversion-button{min-height:5.5rem!important}
  .hm-of-return-hero-copy h1{color:var(--hm-green)!important;font-weight:500!important}
  .hm-of-return-hero-media{height:auto!important;aspect-ratio:4/3!important}
  .hm-of-return-hero-media img{object-position:66% center!important}
}

/* beta51: restore approved return hero, strengthen Saved Offer and use HM Angebotspreise-style conversion cards. */

/* Return hero: approved dog+cat HM photo, edge-to-edge inside the page width, no card shell. */
.hm-of-return-hero{
  border-radius:0!important;
  background:#fff!important;
  overflow:hidden!important;
}
.hm-of-return-hero-copy h1{
  color:var(--hm-green)!important;
  font-weight:700!important;
}
.hm-of-return-trust span{
  gap:.42rem!important;
}
.hm-of-return-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:1rem;
  height:1rem;
  border-radius:50%;
  background:var(--hm-green);
  color:#fff;
  font-size:.7rem;
  line-height:1;
  font-weight:800;
}
.hm-of-return-hero-media img{
  object-position:center center!important;
}

/* Saved Offer is a primary conversion lever: full-width image, generous spacing, clear benefits. */
.hm-of-save-cta{
  display:block!important;
  margin:var(--hm-section-gap,4.5rem) 0 0!important;
  padding:0!important;
  border:1px solid #DDE5E1!important;
  border-radius:1rem!important;
  background:var(--hm-sand)!important;
  overflow:hidden!important;
}
.hm-of-save-media{
  width:100%!important;
  min-width:0!important;
  aspect-ratio:3.25/1!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#EEF7F3!important;
}
.hm-of-save-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center 46%!important;
}
.hm-of-save-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:1rem!important;
  padding:2.1rem 2.4rem 2.35rem!important;
}
.hm-of-save-copy h3{
  margin:0!important;
  max-width:60rem!important;
  color:var(--hm-text)!important;
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:clamp(1.85rem,2.3vw,2.35rem)!important;
  line-height:1.15!important;
  font-weight:700!important;
}
.hm-of-save-lead{
  margin:0!important;
  max-width:70rem!important;
  color:#34403B!important;
  font-size:1.05rem!important;
  line-height:1.55!important;
}
.hm-of-save-benefits{
  display:grid!important;
  gap:.65rem!important;
  margin:.1rem 0 .2rem!important;
  padding:0!important;
  list-style:none!important;
}
.hm-of-save-benefits li{
  position:relative!important;
  margin:0!important;
  padding-left:1.7rem!important;
  color:#26332F!important;
  font-size:1rem!important;
  line-height:1.45!important;
}
.hm-of-save-benefits li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--hm-green);
  font-weight:800;
}
.hm-of-save-button{
  min-height:3.15rem!important;
  margin-top:.3rem!important;
  padding:.8rem 1.35rem!important;
  border:2px solid #005E52!important;
  border-radius:1rem!important;
  background:#005E52!important;
  color:#fff!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.hm-of-save-button:hover,.hm-of-save-button:focus{
  border-color:#00A075!important;
  background:#00A075!important;
  color:#fff!important;
}

/* Post-performance tariff summary: visual language copied from HM Angebotspreise cards. */
.hm-of-conversion-strip{
  margin-top:1.35rem!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.hm-of-conversion-copy{margin-bottom:1rem!important}
.hm-of-conversion-title{
  color:var(--hm-text)!important;
  font-size:1.25rem!important;
  font-weight:700!important;
}
.hm-of-conversion-text{font-size:1rem!important;color:#4D5854!important}
.hm-of-conversion-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:1.25rem!important;
  align-items:stretch!important;
}
.hm-of-conversion-button{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  min-height:100%!important;
  padding:1rem!important;
  gap:0!important;
  border:1px solid var(--hm-border)!important;
  border-radius:.75rem!important;
  background:#fff!important;
  color:var(--hm-text)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.025)!important;
  text-align:left!important;
  text-decoration:none!important;
}
.hm-of-conversion-button:hover,.hm-of-conversion-button:focus{
  background:#fff!important;
  color:var(--hm-text)!important;
  border-color:#C8D7D2!important;
  text-decoration:none!important;
  transform:none!important;
}
.hm-of-conversion-button--recommended{
  border:2px solid var(--hm-orange)!important;
  background:linear-gradient(180deg,#fff 0%,#fffaf7 100%)!important;
  color:var(--hm-text)!important;
}
.hm-of-conversion-badge{
  position:absolute!important;
  left:1.05rem!important;
  top:-1.12rem!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:.38rem!important;
  padding:.38rem .85rem!important;
  border-radius:999px!important;
  background:var(--hm-orange)!important;
  color:#fff!important;
  font-size:.95rem!important;
  line-height:1!important;
  font-weight:700!important;
  text-transform:none!important;
}
.hm-of-conversion-head{
  display:flex!important;
  gap:.8rem!important;
  align-items:flex-start!important;
  min-height:5.35rem!important;
  margin-bottom:.75rem!important;
}
.hm-of-conversion-animal{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 3.35rem!important;
  width:3.35rem!important;
  height:3.35rem!important;
  overflow:hidden!important;
  border-radius:50%!important;
  background:#E8F7EF!important;
}
.hm-of-conversion-animal img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important}
.hm-of-conversion-head-copy{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  line-height:1.18!important;
}
.hm-of-conversion-head-copy strong{
  color:#171717!important;
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:1.28rem!important;
  line-height:1.1!important;
  font-weight:700!important;
}
.hm-of-conversion-head-copy span{color:#242424!important;font-size:.96rem!important}
.hm-of-conversion-variant{
  display:flex!important;
  align-items:center!important;
  gap:.45rem!important;
  min-height:2rem!important;
  padding:.35rem .65rem!important;
  border-radius:.4rem!important;
  background:#EAF6F2!important;
  color:var(--hm-dark-green)!important;
  font-weight:700!important;
}
.hm-of-summary-tooth{display:block!important;flex:0 0 1.15rem!important;width:1.15rem!important;height:1.15rem!important;color:var(--hm-dark-green)!important}
.hm-of-conversion-price{
  display:block!important;
  margin-top:.65rem!important;
  color:#111!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.hm-of-conversion-price strong{color:var(--hm-dark-green)!important;font-size:1.65rem!important;line-height:1!important}
.hm-of-conversion-price span{color:#111!important;font-size:1rem!important}
.hm-of-conversion-sb{
  display:block!important;
  margin:.28rem 0 .85rem!important;
  color:#303030!important;
  font-size:.92rem!important;
  text-align:center!important;
}
.hm-of-conversion-action{
  display:block!important;
  width:100%!important;
  margin-top:auto!important;
  padding:13px 17px!important;
  border:1px solid var(--hm-orange)!important;
  border-radius:1rem!important;
  background:#fff!important;
  color:var(--hm-orange)!important;
  text-align:center!important;
  font-size:1.05rem!important;
  font-weight:600!important;
  line-height:1.4!important;
}
.hm-of-conversion-button:hover .hm-of-conversion-action,.hm-of-conversion-button:focus .hm-of-conversion-action{background:#FFF7F2!important;color:var(--hm-orange)!important}
.hm-of-conversion-button--recommended .hm-of-conversion-action{background:var(--hm-orange)!important;color:#fff!important}
.hm-of-conversion-button--recommended:hover .hm-of-conversion-action,.hm-of-conversion-button--recommended:focus .hm-of-conversion-action{background:#D94E1D!important;color:#fff!important}

/* Service-Card must support the copy, not dominate it. */
.hm-of-servicecard-detail{
  grid-template-columns:minmax(260px,420px) minmax(0,1fr)!important;
  gap:2.5rem!important;
  align-items:start!important;
}
.hm-of-servicecard-visual{
  width:100%!important;
  max-width:420px!important;
  gap:.85rem!important;
}
.hm-of-servicecard-visual img{
  width:100%!important;
  max-width:420px!important;
  height:auto!important;
}

@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .hm-of-return-hero{border-radius:0!important}
  .hm-of-return-hero-media img{object-position:76% center!important}
  .hm-of-return-hero-copy h1{font-weight:700!important}
}

@media (max-width:980px){
  .hm-of-conversion-actions{grid-template-columns:1fr!important;gap:1.1rem!important}
  .hm-of-conversion-button--recommended{order:-1}
}

@media (max-width:760px){
  .hm-of-save-media{aspect-ratio:16/8!important}
  .hm-of-save-copy{padding:1.5rem 1.2rem 1.7rem!important}
  .hm-of-save-copy h3{font-size:1.75rem!important}
  .hm-of-save-button{width:100%!important}
  .hm-of-return-hero{border-radius:0!important}
  .hm-of-return-hero-copy h1{font-weight:700!important}
  .hm-of-servicecard-detail{grid-template-columns:1fr!important}
  .hm-of-servicecard-visual{max-width:360px!important}
}

/* beta52: price parity in post-performance cards, unified headings, split calculator, full-width return hero. */

/* One heading system for all regular funnel sections. Hero and Saved Offer keep their intentionally stronger hierarchy. */
.hm-of-section-title,
.hm-of-funnel-title,
.hm-of-customer-info h3,
.hm-of-platform h3{
  margin-top:0!important;
  color:var(--hm-green)!important;
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:1.6rem!important;
  line-height:1.25!important;
  font-weight:500!important;
}
.hm-of-title{
  color:var(--hm-green)!important;
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:clamp(2rem,2.7vw,2.55rem)!important;
  line-height:1.12!important;
  font-weight:500!important;
}
.hm-of-offer-kicker{
  color:var(--hm-green)!important;
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:clamp(2.2rem,3.15vw,3rem)!important;
  line-height:1.1!important;
  font-weight:500!important;
}
.hm-of-save-copy h3{font-weight:700!important}

/* Calculator: landing-page-style image + content next to each other instead of one oversized form box. */
.hm-of-calculator-card{
  display:grid!important;
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr)!important;
  gap:0!important;
  align-items:stretch!important;
  padding:0!important;
  border:0!important;
  border-radius:1rem!important;
  background:transparent!important;
  overflow:hidden!important;
}
.hm-of-calculator-media{
  min-height:360px;
  overflow:hidden;
  background:#EEF7F3;
}
.hm-of-calculator-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.hm-of-calculator-content{
  min-width:0;
  padding:2.15rem 2.25rem 2rem;
  border:1px solid #E1D7CC;
  border-left:0;
  background:var(--hm-sand);
}
.hm-of-calculator-content .hm-of-intro{margin-bottom:1.25rem!important}
.hm-of-calculator-content .hm-of-form{
  grid-template-columns:minmax(0,1.35fr) minmax(150px,.55fr) auto!important;
  gap:.85rem!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-form{
  grid-template-columns:1fr 1fr!important;
}
.hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-field--breed{grid-column:1/-1!important}
.hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-action{grid-column:1/-1!important}
.hm-of-calculator-content .hm-of-note{margin-top:1rem!important}

/* Return page: the hero breaks out to full viewport width while all following content stays in the HM content grid. */
.hm-of-return-page.hm-of{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:1.5rem 0 3.5rem!important;
  overflow-x:hidden!important;
}
.hm-of-return-shell{
  width:100%!important;
  max-width:1480px!important;
  margin:0 auto!important;
  padding-left:32px!important;
  padding-right:32px!important;
}
.hm-of-return-hero{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  margin-bottom:4.5rem!important;
  border-radius:0!important;
}
.hm-of-return-hero-copy-wrap{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  width:100%;
  max-width:1480px;
  min-height:inherit;
  margin:0 auto;
  padding:0 32px;
}
.hm-of-return-hero-copy{
  width:min(56%,760px)!important;
  padding:clamp(2.2rem,5vw,5rem) 0!important;
}
.hm-of-return-hero-copy h1{font-weight:700!important}

/* Post-performance cards: no outer card and no animal icon. Prices/variants come directly from the same tariff model as the upper cards. */
.hm-of-conversion-strip{
  margin-top:1.5rem!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.hm-of-conversion-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:1.25rem!important;
  align-items:stretch!important;
}
.hm-of-conversion-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:1.35rem 1.25rem 1.2rem;
  border:1px solid var(--hm-border);
  border-radius:.75rem;
  background:#fff;
  box-shadow:0 3px 12px rgba(0,0,0,.035);
}
.hm-of-conversion-card--recommended{
  border:2px solid var(--hm-orange);
  padding:calc(1.35rem - 1px) calc(1.25rem - 1px) calc(1.2rem - 1px);
}
.hm-of-conversion-card .hm-of-conversion-badge{
  position:absolute!important;
  left:1rem!important;
  top:-.85rem!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:.4rem .78rem!important;
  border-radius:999px!important;
  background:var(--hm-orange)!important;
  color:#fff!important;
  font-size:.86rem!important;
  line-height:1!important;
  font-weight:700!important;
}
.hm-of-conversion-card .hm-of-conversion-head-copy{
  display:flex!important;
  flex-direction:column!important;
  min-height:4.35rem!important;
  margin:0 0 .8rem!important;
  line-height:1.2!important;
}
.hm-of-conversion-card .hm-of-conversion-head-copy strong{
  color:var(--hm-text)!important;
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:1.3rem!important;
  line-height:1.12!important;
  font-weight:700!important;
}
.hm-of-conversion-card .hm-of-conversion-head-copy span{
  margin-top:.35rem!important;
  color:var(--hm-text)!important;
  font-size:1rem!important;
  line-height:1.25!important;
  font-weight:400!important;
}
.hm-of-conversion-card .hm-of-conversion-variant{
  display:block!important;
  min-height:0!important;
  padding:.55rem .75rem!important;
  border-radius:.4rem!important;
  color:var(--hm-dark-green)!important;
  font-size:1rem!important;
  font-weight:700!important;
}
.hm-of-conversion-card .hm-of-conversion-variant--with-zahn{
  background:#EAF6F2!important;
}
.hm-of-conversion-card .hm-of-conversion-variant--without-zahn{
  background:#F4F5F6!important;
}
.hm-of-conversion-card .hm-of-conversion-price{
  margin:.8rem 0 0!important;
  text-align:center!important;
}
.hm-of-conversion-card .hm-of-conversion-price strong{
  color:var(--hm-dark-green)!important;
  font-size:1.7rem!important;
}
.hm-of-conversion-card .hm-of-conversion-sb{
  margin:.35rem 0 .9rem!important;
  color:#303030!important;
  font-size:.96rem!important;
  text-align:center!important;
}
.hm-of-conversion-variants{
  margin:0 0 1rem;
  border:1px solid #D7E2DE;
  border-radius:.65rem;
  background:#fff;
  overflow:hidden;
}
.hm-of-conversion-variants>summary{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  min-height:3rem;
  padding:.72rem 2.7rem .72rem .85rem;
  list-style:none;
  cursor:pointer;
  color:var(--hm-green);
  font-size:.95rem;
  line-height:1.25;
  font-weight:700;
}
.hm-of-conversion-variants>summary::-webkit-details-marker{display:none}
.hm-of-conversion-chevron{
  position:absolute;
  right:1rem;
  top:50%;
  width:.55rem;
  height:.55rem;
  border-right:2px solid var(--hm-dark-green);
  border-bottom:2px solid var(--hm-dark-green);
  transform:translateY(-65%) rotate(45deg);
  transition:transform .15s ease;
}
.hm-of-conversion-variants[open] .hm-of-conversion-chevron{transform:translateY(-35%) rotate(225deg)}
.hm-of-conversion-variants-body{padding:0 .8rem .75rem}
.hm-of-conversion-variants-group+.hm-of-conversion-variants-group{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #E5EAE8}
.hm-of-conversion-variants-label{margin:0 0 .35rem;color:var(--hm-dark-green);font-size:.88rem;font-weight:700}
.hm-of-conversion-variant-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.75rem;
  align-items:center;
  padding:.48rem 0;
  border-bottom:1px solid #EEF1F0;
  color:#303030;
  font-size:.9rem;
}
.hm-of-conversion-variant-row:last-child{border-bottom:0}
.hm-of-conversion-variant-row strong{color:var(--hm-dark-green);white-space:nowrap;font-size:.92rem}
.hm-of-conversion-action,
.hm-of-conversion-action:visited{
  display:block!important;
  width:100%!important;
  margin-top:auto!important;
  padding:13px 17px!important;
  border:2px solid var(--hm-orange)!important;
  border-radius:1rem!important;
  background:#fff!important;
  color:var(--hm-orange)!important;
  text-align:center!important;
  text-decoration:none!important;
  font-size:1.05rem!important;
  font-weight:600!important;
  line-height:1.35!important;
}
.hm-of-conversion-action:hover,.hm-of-conversion-action:focus{
  background:#FFF7F2!important;
  color:var(--hm-orange)!important;
  text-decoration:none!important;
}
.hm-of-conversion-card--recommended .hm-of-conversion-action,
.hm-of-conversion-card--recommended .hm-of-conversion-action:visited{
  border-color:var(--hm-orange)!important;
  background:var(--hm-orange)!important;
  color:#fff!important;
}
.hm-of-conversion-card--recommended .hm-of-conversion-action:hover,
.hm-of-conversion-card--recommended .hm-of-conversion-action:focus{
  background:#D94E1D!important;
  color:#fff!important;
}

@media (max-width:1100px){
  .hm-of-calculator-card{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr)!important}
  .hm-of-calculator-content{padding:1.75rem!important}
  .hm-of-calculator-content .hm-of-form{grid-template-columns:1fr 1fr!important}
  .hm-of-calculator-content .hm-of-field--breed{grid-column:1/-1!important}
  .hm-of-calculator-content .hm-of-action{grid-column:1/-1!important}
}

@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .hm-of-return-hero-copy-wrap{align-items:flex-start!important;padding:0 32px!important}
  .hm-of-return-hero-copy{width:82%!important;padding:3rem 0!important}
}

@media (max-width:980px){
  .hm-of-conversion-actions{grid-template-columns:1fr!important;gap:1.25rem!important}
  .hm-of-conversion-card--recommended{order:-1}
}

@media (max-width:900px){
  .hm-of-calculator-card{grid-template-columns:1fr!important}
  .hm-of-calculator-media{min-height:0;aspect-ratio:16/7}
  .hm-of-calculator-content{
    border-left:1px solid #E1D7CC!important;
    border-top:0!important;
    padding:1.6rem 1.4rem 1.7rem!important;
  }
}

@media (max-width:760px){
  .hm-of-return-page.hm-of{padding-top:1rem!important;padding-bottom:2.5rem!important}
  .hm-of-return-shell{padding-left:16px!important;padding-right:16px!important}
  .hm-of-return-hero{margin-bottom:2.5rem!important}
  .hm-of-return-hero-copy-wrap{order:1!important;display:block!important;padding:0 16px!important}
  .hm-of-return-hero-copy{width:100%!important;padding:1.6rem 0 1.4rem!important}
  .hm-of-return-hero-media{order:2!important}
  .hm-of-calculator-media{aspect-ratio:4/3}
  .hm-of-calculator-content .hm-of-form,
  .hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-form{grid-template-columns:1fr!important}
  .hm-of-calculator-content .hm-of-field--breed,
  .hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-field--breed,
  .hm-of-calculator-content .hm-of-action,
  .hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-action{grid-column:auto!important}
}


/* beta53: width parity, compact calculator, no return gap, two-column Saved Offer, single Service-Card image. */

/* Normal Angebotsfinder breaks out of the narrower Elementor content container and uses the same 1480px HM content width as the return page. */
#hm-angebotsfinder.hm-of{
  width:min(1480px,calc(100vw - 64px))!important;
  max-width:none!important;
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Calculator: restore the approved no-image layout. */
.hm-of-calculator-card{
  display:block!important;
  padding:1.6rem!important;
  border:1px solid #E1D7CC!important;
  border-radius:1rem!important;
  background:var(--hm-sand)!important;
  overflow:visible!important;
}
.hm-of-calculator-media{display:none!important}
.hm-of-calculator-content{
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.hm-of-calculator-content .hm-of-form{
  grid-template-columns:minmax(0,1.5fr) minmax(10rem,.7fr) auto!important;
  gap:.85rem!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-form{
  grid-template-columns:minmax(0,1.25fr) minmax(9rem,.65fr) minmax(10rem,.7fr) auto!important;
}
.hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-field--breed,
.hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-action{
  grid-column:auto!important;
}

/* Return hero starts directly underneath the real HM header. */
.hm-of-return-page.hm-of{
  padding-top:0!important;
}
.hm-of-return-hero{
  margin-top:0!important;
}

/* Saved Offer: high-priority conversion section back to a true two-column layout on desktop/tablet landscape. */
.hm-of-save-cta{
  display:grid!important;
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr)!important;
  gap:0!important;
  align-items:stretch!important;
  padding:0!important;
}
.hm-of-save-media{
  width:100%!important;
  min-width:0!important;
  aspect-ratio:auto!important;
  min-height:360px!important;
  border-radius:0!important;
}
.hm-of-save-media img{
  width:100%!important;
  height:100%!important;
  min-height:360px!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.hm-of-save-copy{
  justify-content:center!important;
  padding:2rem 2.2rem 2.15rem!important;
}

/* Service-Card: one compact front image only; image supports the copy instead of dominating it. */
.hm-of-servicecard-detail{
  grid-template-columns:minmax(220px,320px) minmax(0,1fr)!important;
  gap:2rem!important;
  align-items:center!important;
}
.hm-of-servicecard-visual{
  max-width:320px!important;
}
.hm-of-servicecard-visual img{
  max-width:320px!important;
}

@media (max-width:1100px){
  .hm-of-calculator-content .hm-of-form,
  .hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-form{
    grid-template-columns:1fr 1fr!important;
  }
  .hm-of-calculator-content .hm-of-field--breed,
  .hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-field--breed{
    grid-column:1/-1!important;
  }
  .hm-of-calculator-content .hm-of-action,
  .hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-action{
    grid-column:auto!important;
  }
}

@media (max-width:900px){
  .hm-of-save-cta{grid-template-columns:1fr!important}
  .hm-of-save-media{min-height:0!important;aspect-ratio:16/7!important}
  .hm-of-save-media img{min-height:0!important}
  .hm-of-servicecard-detail{grid-template-columns:1fr!important}
}

@media (max-width:760px){
  #hm-angebotsfinder.hm-of{
    width:calc(100vw - 32px)!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .hm-of-calculator-card{padding:1.2rem!important}
  .hm-of-calculator-content .hm-of-form,
  .hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-form{
    grid-template-columns:1fr!important;
  }
  .hm-of-calculator-content .hm-of-field--breed,
  .hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-field--breed,
  .hm-of-calculator-content .hm-of-action,
  .hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-action{
    grid-column:auto!important;
  }
}

/* beta54: approved heading scale, safer page gutters and a true full-width HM platform section. */

/* Main conversion headings: one consistent 1.8rem hierarchy. */
.hm-of-title,
.hm-of-offer-kicker,
#hm-of-service-title{
  margin-top:0!important;
  color:var(--hm-green)!important;
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:1.8rem!important;
  line-height:1.25!important;
  font-weight:500!important;
  letter-spacing:normal!important;
}
.hm-of-title{margin-bottom:.45rem!important}
.hm-of-offer-kicker{margin-bottom:0!important}

/* The HM platform heading uses the same size, but deliberately stays dark. */
.hm-of-platform h3{
  margin:0!important;
  color:#222222!important;
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:1.8rem!important;
  line-height:1.25!important;
  font-weight:500!important;
  letter-spacing:normal!important;
}

/* Secondary section headings remain one level below the four main headings. */
.hm-of-funnel-title,
.hm-of-customer-info h3,
.hm-of-section-title{
  font-size:1.6rem!important;
  line-height:1.25!important;
  font-weight:500!important;
}

/* More breathing room from the viewport edge on both normal finder and return page. */
#hm-angebotsfinder.hm-of{
  width:min(1480px,calc(100vw - 96px))!important;
  padding-left:0!important;
  padding-right:0!important;
}
.hm-of-return-shell{
  width:min(1480px,calc(100vw - 96px))!important;
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* True full-width brand/trust band. Background spans the viewport; copy stays on the HM content axis. */
.hm-of-platform{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#F1F8F5!important;
}
.hm-of-platform-inner{
  display:grid!important;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
  gap:3.5rem!important;
  align-items:start!important;
  width:min(1480px,calc(100vw - 96px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:2.75rem 0!important;
}

@media (max-width:1024px){
  #hm-angebotsfinder.hm-of,
  .hm-of-return-shell,
  .hm-of-platform-inner{
    width:calc(100vw - 64px)!important;
  }
  .hm-of-platform-inner{
    grid-template-columns:1fr!important;
    gap:1.2rem!important;
    padding:2.35rem 0!important;
  }
}

@media (max-width:640px){
  #hm-angebotsfinder.hm-of,
  .hm-of-return-shell,
  .hm-of-platform-inner{
    width:calc(100vw - 40px)!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .hm-of-platform-inner{
    gap:1rem!important;
    padding:2rem 0!important;
  }
}

/* Return-hero copy follows the same approved viewport gutters. */
.hm-of-return-hero-copy-wrap{
  padding-left:48px!important;
  padding-right:48px!important;
}
@media (max-width:1024px){
  .hm-of-return-hero-copy-wrap{
    padding-left:32px!important;
    padding-right:32px!important;
  }
}
@media (max-width:640px){
  .hm-of-return-hero-copy-wrap{
    padding-left:20px!important;
    padding-right:20px!important;
  }
}


/* beta55: callback/download diagnostics and desktop content width alignment. */
/*
 * Callback and download blocks are normal content sections, not full-width bands.
 * On desktop they sit slightly inside the main finder/return content axis.
 * Tablet/mobile keep the parent responsive gutter without an additional nested squeeze.
 */
.hm-of-callback,
.hm-of-customer-info,
.hm-of-offer-footnote{
  box-sizing:border-box!important;
}
@media (min-width:1025px){
  .hm-of-callback,
  .hm-of-customer-info,
  .hm-of-offer-footnote{
    width:calc(100% - 96px)!important;
    max-width:1384px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
@media (max-width:1024px){
  .hm-of-callback,
  .hm-of-customer-info,
  .hm-of-offer-footnote{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* beta56: one standard content width plus final approved H2 scale. */
/*
 * Standard content width is the current callback/download width.
 * Only explicitly full-width sections (return hero and HM platform band)
 * may break out to the viewport edge.
 */
#hm-angebotsfinder.hm-of,
.hm-of-return-shell,
.hm-of-platform-inner{
  width:min(1384px,calc(100vw - 96px))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

/* Callback, downloads and legal note now define the common normal-section width. */
.hm-of-callback,
.hm-of-customer-info,
.hm-of-offer-footnote{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* The four approved main headings are visually one H2 size. */
.hm-of-return-hero-copy h1,
.hm-of-title,
.hm-of-offer-kicker,
#hm-of-service-title,
.hm-of-platform h3{
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:1.8rem!important;
  line-height:1.25!important;
  letter-spacing:normal!important;
}
.hm-of-return-hero-copy h1{
  color:var(--hm-green)!important;
  font-weight:700!important;
}
.hm-of-title,
.hm-of-offer-kicker,
#hm-of-service-title{
  color:var(--hm-green)!important;
  font-weight:500!important;
}
.hm-of-platform h3{
  color:#222222!important;
  font-weight:500!important;
}

@media (max-width:1024px){
  #hm-angebotsfinder.hm-of,
  .hm-of-return-shell,
  .hm-of-platform-inner{
    width:calc(100vw - 64px)!important;
  }
}

@media (max-width:640px){
  #hm-angebotsfinder.hm-of,
  .hm-of-return-shell,
  .hm-of-platform-inner{
    width:calc(100vw - 40px)!important;
  }
}

/* beta57: true viewport-safe full-width bands, landingpage/return split, corrected HM H2 scale. */

/* The virtual return <main> already spans the page. Full-width sections therefore use 100%
 * of that main element instead of 100vw/negative-margin breakout hacks that can create
 * horizontal overflow because of the browser scrollbar. */
.hm-of-return-page.hm-of{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  overflow-x:clip!important;
}
.hm-of-return-hero,
.hm-of-platform{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
.hm-of-platform{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#F1F8F5!important;
}
.hm-of-platform-inner{
  width:min(1384px,calc(100% - 96px))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Correct HM landingpage H2 scale. These headings are visually the same size;
 * only their approved weights/colours differ. */
.hm-of-return-hero-copy h1,
.hm-of-title,
.hm-of-offer-kicker,
#hm-of-service-title,
.hm-of-platform h3{
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:3rem!important;
  line-height:1.08!important;
  letter-spacing:normal!important;
}
.hm-of-return-hero-copy h1{
  color:var(--hm-green)!important;
  font-weight:700!important;
}
.hm-of-title,
.hm-of-offer-kicker,
#hm-of-service-title{
  color:var(--hm-green)!important;
  font-weight:500!important;
}
.hm-of-platform h3{
  color:#222222!important;
  font-weight:500!important;
}

@media (max-width:1024px){
  .hm-of-return-hero-copy h1,
  .hm-of-title,
  .hm-of-offer-kicker,
  #hm-of-service-title,
  .hm-of-platform h3{
    font-size:2.625rem!important;
  }
  .hm-of-platform-inner{
    width:calc(100% - 64px)!important;
  }
}

@media (max-width:640px){
  .hm-of-return-hero-copy h1,
  .hm-of-title,
  .hm-of-offer-kicker,
  #hm-of-service-title,
  .hm-of-platform h3{
    font-size:2rem!important;
  }
  .hm-of-platform-inner{
    width:calc(100% - 40px)!important;
  }
}

/* beta57 safety: the full-width band is a block wrapper; its inner container owns the two-column grid. */
.hm-of-platform{display:block!important;overflow-x:clip!important}
.hm-of-return-shell>*{max-width:100%;min-width:0}

/* beta58: tablet return-hero scale hotfix + uniform inner Service headings. */

/* Keep the approved full-width return hero, but do not force the wide 3:1 source image
 * into the earlier tablet 4:3 media box. That crop enlarged dog and cat too strongly.
 * On portrait tablets the media goes back to a controlled absolute background with a
 * shallower hero height; desktop and mobile layouts remain unchanged. */
@media (min-width:641px) and (max-width:1100px) and (orientation:portrait){
  .hm-of-return-hero{
    min-height:390px!important;
  }
  .hm-of-return-hero-media{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    aspect-ratio:auto!important;
  }
  .hm-of-return-hero-media img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .hm-of-return-hero-copy-wrap{
    min-height:390px!important;
  }
  .hm-of-return-hero-copy{
    width:72%!important;
    padding:2.25rem 0!important;
  }
}

/* All inner headings in the Service section use the same visual level.
 * The section H2 itself keeps the global HM H2 scale. */
.hm-of-service-card h4,
.hm-of-servicecard-copy h4{
  font-family:"Bricolage Grotesque",Arial,sans-serif!important;
  font-size:1.4rem!important;
  line-height:1.25!important;
  font-weight:600!important;
  color:#222222!important;
  letter-spacing:normal!important;
}

/* beta62: mobile hero readability retained; cookie settings footer trigger is normalized via robust runtime class detection.
 * Desktop/landscape keeps the approved wide 2048x683 hero. Portrait tablet uses
 * the supplied 1200x1500 image; smartphone uses the supplied 1080x1920 image.
 * Matching the hero aspect ratio to the source prevents the dog/cat from being
 * enlarged by cover-cropping while keeping the approved text overlay. */
.hm-of-return-hero-media picture{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
.hm-of-return-hero-media picture > img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

@media (min-width:641px) and (max-width:1100px) and (orientation:portrait){
  .hm-of-return-hero{
    position:relative!important;
    display:flex!important;
    align-items:stretch!important;
    min-height:0!important;
    aspect-ratio:4/5!important;
    margin-bottom:2.5rem!important;
  }
  .hm-of-return-hero-media{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    aspect-ratio:auto!important;
  }
  .hm-of-return-hero-media picture,
  .hm-of-return-hero-media picture > img{
    width:100%!important;
    height:100%!important;
  }
  .hm-of-return-hero-media picture > img{
    object-position:center center!important;
  }
  .hm-of-return-hero-copy-wrap{
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    align-items:flex-start!important;
    width:100%!important;
    min-height:100%!important;
    padding:0 32px!important;
  }
  .hm-of-return-hero-copy{
    width:min(78%,760px)!important;
    padding:2.25rem 0!important;
  }
}

@media (max-width:640px){
  .hm-of-return-hero{
    position:relative!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    min-height:0!important;
    aspect-ratio:9/16!important;
    margin-bottom:2rem!important;
    background:#fff!important;
  }
  .hm-of-return-hero::after{
    display:none!important;
  }
  .hm-of-return-hero-media{
    position:absolute!important;
    inset:0!important;
    order:initial!important;
    width:100%!important;
    height:100%!important;
    aspect-ratio:auto!important;
  }
  .hm-of-return-hero-media picture,
  .hm-of-return-hero-media picture > img{
    width:100%!important;
    height:100%!important;
  }
  .hm-of-return-hero-media picture > img{
    object-position:center center!important;
  }
  .hm-of-return-hero-copy-wrap{
    position:relative!important;
    z-index:2!important;
    order:initial!important;
    display:flex!important;
    align-items:flex-start!important;
    width:100%!important;
    min-height:100%!important;
    padding:0 20px!important;
  }
  .hm-of-return-hero-copy{
    order:initial!important;
    width:100%!important;
    padding:1.4rem 0 0!important;
  }
}


/* beta61: mobile hero readability aligned with the approved tablet portrait look.
 * Keep the dedicated mobile image, but add a soft white top veil so eyebrow,
 * H1, description and trust pills remain clearly readable on small screens. */
@media (max-width:640px){
  .hm-of-return-hero::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    pointer-events:none!important;
    background:linear-gradient(
      180deg,
      rgba(255,255,255,.97) 0%,
      rgba(255,255,255,.94) 24%,
      rgba(255,255,255,.84) 42%,
      rgba(255,255,255,.46) 58%,
      rgba(255,255,255,.08) 72%,
      rgba(255,255,255,0) 82%
    )!important;
  }
  .hm-of-return-hero-copy-wrap{
    z-index:2!important;
  }
  .hm-of-return-eyebrow,
  .hm-of-return-hero-copy p{
    color:#222222!important;
  }
}

/* beta61: Cookie settings in the real site footer must not inherit the red/pink
 * consent-link color on the personal return page. Cover the common consent
 * trigger classes/attributes without changing normal footer CTA/button colors. */
body.hm-offer-return-page .cky-banner-element,
body.hm-offer-return-page .cmplz-manage-consent,
body.hm-offer-return-page a[href*="cookie" i],
body.hm-offer-return-page a[class*="cookie" i],
body.hm-offer-return-page a[onclick*="cookie" i],
body.hm-offer-return-page a[onclick*="consent" i]{
  color:#005E52!important;
  text-decoration-color:#005E52!important;
}
body.hm-offer-return-page .cky-banner-element:hover,
body.hm-offer-return-page .cmplz-manage-consent:hover,
body.hm-offer-return-page a[href*="cookie" i]:hover,
body.hm-offer-return-page a[class*="cookie" i]:hover,
body.hm-offer-return-page a[onclick*="cookie" i]:hover,
body.hm-offer-return-page a[onclick*="consent" i]:hover{
  color:#00A075!important;
  text-decoration-color:#00A075!important;
}


/* beta62: robust Cookie-Einstellungen styling. The live footer renders the
 * cookie trigger without a reliable href/class, so JS adds this class to the
 * exact visible trigger and its interactive parent when present. */
body.hm-offer-return-page .hm-cookie-settings-link,
body.hm-offer-return-page .hm-cookie-settings-link *,
body.hm-offer-return-page .hm-cookie-settings-link:visited{
  color:#005E52!important;
  text-decoration-color:#005E52!important;
}
body.hm-offer-return-page .hm-cookie-settings-link:hover,
body.hm-offer-return-page .hm-cookie-settings-link:hover *{
  color:#00A075!important;
  text-decoration-color:#00A075!important;
}

/* beta63: RETURN HEADER FIX.
 * The fixed real HM header is removed from normal document flow. JS measures its
 * rendered height and exposes it as a CSS variable so the return content starts
 * exactly below the header on every breakpoint. This block intentionally sits at
 * the end of the stylesheet to override older return-page padding rules. */
body.hm-offer-return-page .hm-of-return-page.hm-of{
  padding-top:var(--hm-offer-fixed-header-height,0px)!important;
}


/* beta75: global typography parity with Elementor Site Settings.
   Values come from the active Kit server-side; there is no browser probe.
   Intentional price, badge, icon and footnote scales remain local. */
.hm-of{
  font-family:var(--hm-site-body-font-family,inherit)!important;
  font-size:var(--hm-site-body-font-size,1rem);
  font-weight:var(--hm-site-body-font-weight,400);
  line-height:var(--hm-site-body-line-height,1.5);
  letter-spacing:var(--hm-site-body-letter-spacing,normal);
  color:var(--hm-site-body-color,#222);
}
.hm-of h1{
  font-family:var(--hm-site-h1-font-family,inherit)!important;
  font-size:var(--hm-site-h1-font-size,3rem)!important;
  font-weight:var(--hm-site-h1-font-weight,700)!important;
  line-height:var(--hm-site-h1-line-height,1.1)!important;
  letter-spacing:var(--hm-site-h1-letter-spacing,normal)!important;
  text-transform:var(--hm-site-h1-text-transform,none)!important;
  color:var(--hm-site-h1-color,#00A075)!important;
}
.hm-of h2{
  font-family:var(--hm-site-h2-font-family,inherit)!important;
  font-size:var(--hm-site-h2-font-size,2.5rem)!important;
  font-weight:var(--hm-site-h2-font-weight,600)!important;
  line-height:var(--hm-site-h2-line-height,1.15)!important;
  letter-spacing:var(--hm-site-h2-letter-spacing,normal)!important;
  text-transform:var(--hm-site-h2-text-transform,none)!important;
  color:var(--hm-site-h2-color,#222)!important;
}
.hm-of h3{
  font-family:var(--hm-site-h3-font-family,inherit)!important;
  font-size:var(--hm-site-h3-font-size,2rem)!important;
  font-weight:var(--hm-site-h3-font-weight,600)!important;
  line-height:var(--hm-site-h3-line-height,1.2)!important;
  letter-spacing:var(--hm-site-h3-letter-spacing,normal)!important;
  text-transform:var(--hm-site-h3-text-transform,none)!important;
  color:var(--hm-site-h3-color,#222)!important;
}
.hm-of h4{
  font-family:var(--hm-site-h4-font-family,inherit)!important;
  font-size:var(--hm-site-h4-font-size,1.25rem)!important;
  font-weight:var(--hm-site-h4-font-weight,600)!important;
  line-height:var(--hm-site-h4-line-height,1.25)!important;
  letter-spacing:var(--hm-site-h4-letter-spacing,normal)!important;
  text-transform:var(--hm-site-h4-text-transform,none)!important;
  color:var(--hm-site-h4-color,#222)!important;
}
.hm-of h5{
  font-family:var(--hm-site-h5-font-family,inherit)!important;
  font-size:var(--hm-site-h5-font-size,1.125rem)!important;
  font-weight:var(--hm-site-h5-font-weight,600)!important;
  line-height:var(--hm-site-h5-line-height,1.3)!important;
  letter-spacing:var(--hm-site-h5-letter-spacing,normal)!important;
  text-transform:var(--hm-site-h5-text-transform,none)!important;
  color:var(--hm-site-h5-color,#222)!important;
}
.hm-of h6{
  font-family:var(--hm-site-h6-font-family,inherit)!important;
  font-size:var(--hm-site-h6-font-size,1rem)!important;
  font-weight:var(--hm-site-h6-font-weight,600)!important;
  line-height:var(--hm-site-h6-line-height,1.35)!important;
  letter-spacing:var(--hm-site-h6-letter-spacing,normal)!important;
  text-transform:var(--hm-site-h6-text-transform,none)!important;
  color:var(--hm-site-h6-color,#222)!important;
}
.hm-of p,
.hm-of li,
.hm-of label,
.hm-of input,
.hm-of select,
.hm-of textarea,
.hm-of summary,
.hm-of .hm-of-note,
.hm-of .hm-of-status,
.hm-of .hm-of-offer-summary,
.hm-of .hm-of-return-notice,
.hm-of .hm-of-product-name,
.hm-of .hm-of-group-title,
.hm-of .hm-of-zahn-note,
.hm-of .hm-of-faq-answer,
.hm-of .hm-of-customer-info-intro,
.hm-of .hm-of-customer-info-list a{
  font-family:var(--hm-site-body-font-family,inherit)!important;
  font-size:var(--hm-site-body-font-size,1rem)!important;
  line-height:var(--hm-site-body-line-height,1.5)!important;
  letter-spacing:var(--hm-site-body-letter-spacing,normal)!important;
}
.hm-of button,
.hm-of input[type="button"],
.hm-of input[type="submit"],
.hm-of .hm-of-submit,
.hm-of .hm-of-fallback-button,
.hm-of .hm-of-checkout,
.hm-of .hm-of-save-button,
.hm-of .hm-of-conversion-button,
.hm-of .ff-btn-submit{
  font-family:var(--hm-site-button-font-family,inherit)!important;
  font-size:var(--hm-site-button-font-size,1rem)!important;
  font-weight:var(--hm-site-button-font-weight,600)!important;
  line-height:var(--hm-site-button-line-height,1.3)!important;
  letter-spacing:var(--hm-site-button-letter-spacing,normal)!important;
  text-transform:var(--hm-site-button-text-transform,none)!important;
}
/* Deliberately compact/supporting copy. */
.hm-of .hm-of-offer-footnote,
.hm-of .hm-of-performance-summary-subline,
.hm-of .hm-of-conversion-product,
.hm-of .hm-of-conversion-badge{
  font-size:.875em!important;
}
/* Deliberately emphasized tariff/price components keep their own scale. */
.hm-of .hm-of-tariff-name,
.hm-of .hm-of-price,
.hm-of .hm-of-price strong,
.hm-of .hm-of-conversion-tariff,
.hm-of .hm-of-conversion-price,
.hm-of .hm-of-conversion-action,
.hm-of .hm-of-badge,
.hm-of .hm-of-return-check{
  font-family:var(--hm-site-body-font-family,inherit)!important;
}


/* beta76: HM Angebots-Typografiesystem.
 * Elementor remains the source for the font family and typographic fine details.
 * Visual heading scale is intentionally defined here because landing pages use
 * local Elementor overrides that differ from the global Site Settings.
 * Semantic HTML and visual hierarchy are decoupled: the calculator title is an
 * H2 on landing pages but deliberately uses the same visual style as the return H1. */
.hm-of{
  color:#222222!important;
}
.hm-of .hm-of-return-eyebrow{
  font-family:var(--hm-site-body-font-family,inherit)!important;
  font-size:1rem!important;
  font-weight:400!important;
  line-height:var(--hm-site-body-line-height,1.5)!important;
  letter-spacing:var(--hm-site-body-letter-spacing,normal)!important;
  text-transform:none!important;
  color:#222222!important;
}
.hm-of .hm-of-heading{
  text-transform:none!important;
}
.hm-of .hm-of-heading--display-h1{
  font-family:var(--hm-site-h1-font-family,var(--hm-site-body-font-family,inherit))!important;
  font-size:3rem!important;
  font-weight:700!important;
  line-height:var(--hm-site-h1-line-height,1.1)!important;
  letter-spacing:var(--hm-site-h1-letter-spacing,normal)!important;
  text-transform:var(--hm-site-h1-text-transform,none)!important;
  color:#00A075!important;
}
.hm-of .hm-of-heading--h2{
  font-family:var(--hm-site-h2-font-family,var(--hm-site-body-font-family,inherit))!important;
  font-size:2.4rem!important;
  font-weight:500!important;
  line-height:var(--hm-site-h2-line-height,1.15)!important;
  letter-spacing:var(--hm-site-h2-letter-spacing,normal)!important;
  text-transform:var(--hm-site-h2-text-transform,none)!important;
  color:#00A075!important;
}
.hm-of .hm-of-heading--h3{
  font-family:var(--hm-site-h3-font-family,var(--hm-site-body-font-family,inherit))!important;
  font-size:1.8rem!important;
  font-weight:500!important;
  line-height:var(--hm-site-h3-line-height,1.2)!important;
  letter-spacing:var(--hm-site-h3-letter-spacing,normal)!important;
  text-transform:var(--hm-site-h3-text-transform,none)!important;
  color:#00A075!important;
}
.hm-of .hm-of-heading--h4{
  font-family:var(--hm-site-h4-font-family,var(--hm-site-body-font-family,inherit))!important;
  font-size:1.4rem!important;
  font-weight:600!important;
  line-height:var(--hm-site-h4-line-height,1.25)!important;
  letter-spacing:var(--hm-site-h4-letter-spacing,normal)!important;
  text-transform:var(--hm-site-h4-text-transform,none)!important;
  color:#222222!important;
}
.hm-of .hm-of-heading--dark{
  color:#222222!important;
}
/* beta99: body copy follows the central Elementor Site Settings body size.
 * Heading scales remain intentionally unchanged from the validated HM typography system. */
.hm-of .hm-of-return-hero-copy p,
.hm-of .hm-of-intro p,
.hm-of .hm-of-note,
.hm-of .hm-of-calculator-choice-note,
.hm-of .hm-of-save-copy p,
.hm-of .hm-of-save-copy li,
.hm-of .hm-of-funnel-intro,
.hm-of .hm-of-addon-card p,
.hm-of .hm-of-addon-note,
.hm-of .hm-of-service-card p,
.hm-of .hm-of-servicecard-copy li,
.hm-of .hm-of-platform p,
.hm-of .hm-of-faq-answer p,
.hm-of .hm-of-callback p,
.hm-of .hm-of-customer-info-intro{
  color:#222222!important;
  font-size:var(--hm-site-body-font-size,1rem)!important;
  font-weight:400!important;
}
/* ID-based legacy rules in older funnel CSS must not override the beta76 H2 scale. */
.hm-of #hm-of-service-title.hm-of-heading--h2{
  font-family:var(--hm-site-h2-font-family,var(--hm-site-body-font-family,inherit))!important;
  font-size:2.4rem!important;
  font-weight:500!important;
  line-height:var(--hm-site-h2-line-height,1.15)!important;
  letter-spacing:var(--hm-site-h2-letter-spacing,normal)!important;
  text-transform:var(--hm-site-h2-text-transform,none)!important;
  color:#00A075!important;
}
.hm-of-platform #hm-of-platform-title{margin:0!important}
@media (max-width:1024px){
  .hm-of .hm-of-heading--display-h1{font-size:2.8rem!important}
  .hm-of .hm-of-heading--h2{font-size:2.4rem!important}
  .hm-of .hm-of-heading--h3{font-size:1.8rem!important}
  .hm-of .hm-of-heading--h4{font-size:1.4rem!important}
  .hm-of #hm-of-service-title.hm-of-heading--h2{font-size:2.4rem!important}
}
@media (max-width:767px){
  .hm-of .hm-of-heading--display-h1{font-size:2.1rem!important}
  .hm-of .hm-of-heading--h2{font-size:1.8rem!important}
  .hm-of .hm-of-heading--h3{font-size:1.6rem!important}
  .hm-of .hm-of-heading--h4{font-size:1.4rem!important}
  .hm-of #hm-of-service-title.hm-of-heading--h2{font-size:1.8rem!important}
}

/* beta78: mixed-breed UI aligned with the HM calculator surface and button system. */
.hm-of-mixed-breed-help{margin-top:.28rem;padding:.68rem .75rem;border:1px solid #E1D7CC;border-radius:.6rem;background:var(--hm-sand);color:var(--hm-text);font-size:.9rem;line-height:1.35}
.hm-of-mixed-breed-help__label{display:block;margin-bottom:.5rem}
.hm-of-mixed-breed-help__label strong{color:var(--hm-dark-green)}
.hm-of-mixed-breed-help__choices{display:flex;flex-wrap:wrap;gap:.5rem}
.hm-of-mixed-breed-choice{min-height:2.35rem;padding:.5rem .7rem;border:2px solid #005E52!important;border-radius:.5rem!important;background:transparent!important;color:#005E52!important;font:inherit;font-weight:600;line-height:1.2;cursor:pointer;box-shadow:none!important}
.hm-of-mixed-breed-choice:hover,.hm-of-mixed-breed-choice:focus{border-color:#00A075!important;background:transparent!important;color:#00A075!important;outline:none;box-shadow:none!important}
@media (max-width:640px){.hm-of-mixed-breed-help__choices{display:grid;grid-template-columns:1fr}.hm-of-mixed-breed-choice{width:100%;text-align:left}}

/* beta78: align the saved-calculation CTA corner radius with the HM button system. */
.hm-of .hm-of-save-button{border-radius:.5rem!important}

/* beta79: unify offerfinder CTA radii without changing HM Leistungsuebersichten buttons. */
.hm-of .hm-of-submit,
.hm-of .hm-of-checkout,
.hm-of .hm-of-fallback-button,
.hm-of .hm-of-save-button,
.hm-of .hm-of-conversion-button,
.hm-of .hm-of-callback .ff-btn-submit,
.hm-of .hm-of-callback button[type="submit"],
.hm-of .hm-of-mixed-breed-choice{
  border-radius:2rem!important;
}

/* beta79: mixed-breed helper belongs to the calculator surface, not to a separate card. */
.hm-of .hm-of-mixed-breed-help{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  padding:.68rem 0!important;
}
.hm-of .hm-of-mixed-breed-choice{
  background:#fff!important;
  border:1px solid #005E52!important;
  color:#005E52!important;
}
.hm-of .hm-of-mixed-breed-choice:hover,
.hm-of .hm-of-mixed-breed-choice:focus{
  background:#fff!important;
  border-color:#00A075!important;
  color:#00A075!important;
}

/* beta82: Haltung in der internen Angebotsmaske nur bei Katze anzeigen. */
.hm-internal-offer-launcher #hm-internal-haltung-wrap[hidden]{display:none!important}

/* beta83: internal/manual offer entry keeps customer + animal data in one clear form. */
.hm-internal-offer-launcher .hm-internal-offer-form{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:start;
}
.hm-internal-offer-launcher .hm-internal-offer-section-title{
  grid-column:1/-1;
  margin:.15rem 0 0;
  padding-top:.35rem;
  font-weight:700;
  color:var(--hm-dark-green);
  font-size:1.15rem;
}
.hm-internal-offer-launcher .hm-internal-offer-section-title + .hm-of-field{
  margin-top:.1rem;
}
.hm-internal-offer-launcher .hm-internal-offer-action{
  grid-column:1/-1!important;
  justify-self:start;
}
@media (max-width:1100px){
  .hm-internal-offer-launcher .hm-internal-offer-form{
    grid-template-columns:1fr 1fr!important;
  }
  .hm-internal-offer-launcher .hm-internal-offer-form .hm-of-field--breed{
    grid-column:auto!important;
  }
}
@media (max-width:640px){
  .hm-internal-offer-launcher .hm-internal-offer-form{
    grid-template-columns:1fr!important;
  }
  .hm-internal-offer-launcher .hm-internal-offer-section-title,
  .hm-internal-offer-launcher .hm-internal-offer-action{
    grid-column:auto!important;
  }
}


/* beta84: internal offer uses the same mixed-breed helper behavior as the public calculator. */
.hm-internal-offer-launcher #hm-internal-mischling-hund[hidden],
.hm-internal-offer-launcher #hm-internal-mischling-katze[hidden]{display:none!important}

/* beta86: internal manual calculation stays on the private page and shows the existing offer cards inline. */
.hm-internal-offer-launcher .hm-internal-offer-result-wrap{margin-top:1.5rem}
.hm-internal-offer-launcher .hm-of-internal-result>.hm-of-form[hidden]{display:none!important}


/* beta87: keep breed, age and action compact and top-aligned on desktop.
 * The mixed-breed helper remains below the breed input without pushing the
 * neighbouring age/holding fields down. Mobile stacking stays unchanged. */
@media (min-width:1101px){
  .hm-of-calculator-content .hm-of-form{
    grid-template-columns:minmax(300px,380px) minmax(150px,180px) auto!important;
    justify-content:start!important;
    align-items:start!important;
  }
  .hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-form{
    grid-template-columns:minmax(280px,350px) minmax(145px,175px) minmax(165px,200px) auto!important;
    justify-content:start!important;
    align-items:start!important;
  }
  .hm-of-calculator-content .hm-of-action,
  .hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-action{
    align-self:start!important;
    padding-top:1.7rem!important;
  }
}


/* beta88: internal form field widths follow content importance on desktop.
 * Customer names stay balanced, email gets the most room, and breed is widened.
 * Dog: Tier | Rasse | Eintrittsalter. Cat: Tier | Rasse | Eintrittsalter | Haltung.
 * Public calculator beta87 layout is intentionally unchanged. */
@media (min-width:1101px){
  .hm-internal-offer-launcher .hm-internal-offer-form{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    align-items:start!important;
  }
  .hm-internal-offer-launcher .hm-internal-offer-section-title{
    grid-column:1/-1!important;
  }

  /* Kundendaten: Vor-/Nachname gleich breit, E-Mail bewusst breiter. */
  .hm-internal-offer-launcher .hm-internal-field--first-name{grid-column:span 3!important}
  .hm-internal-offer-launcher .hm-internal-field--last-name{grid-column:span 3!important}
  .hm-internal-offer-launcher .hm-internal-field--email{grid-column:span 6!important}
  .hm-internal-offer-launcher .hm-internal-field--telefon{grid-column:span 6!important}
  .hm-internal-offer-launcher .hm-internal-field--kontaktweg{grid-column:span 6!important}

  /* Hund: Rasse bekommt den groessten Anteil der Tierzeile. */
  .hm-internal-offer-launcher[data-tierart="Hund"] .hm-internal-field--tierart{grid-column:span 3!important}
  .hm-internal-offer-launcher[data-tierart="Hund"] .hm-internal-field--rasse{grid-column:span 5!important}
  .hm-internal-offer-launcher[data-tierart="Hund"] .hm-internal-field--alter{grid-column:span 4!important}

  /* Katze: alle vier relevanten Tierfelder bleiben in einer Zeile. */
  .hm-internal-offer-launcher[data-tierart="Katze"] .hm-internal-field--tierart{grid-column:span 2!important}
  .hm-internal-offer-launcher[data-tierart="Katze"] .hm-internal-field--rasse{grid-column:span 4!important}
  .hm-internal-offer-launcher[data-tierart="Katze"] .hm-internal-field--alter{grid-column:span 3!important}
  .hm-internal-offer-launcher[data-tierart="Katze"] .hm-internal-field--haltung{grid-column:span 3!important}

  .hm-internal-offer-launcher .hm-internal-offer-action{
    grid-column:1/-1!important;
  }
}


/* beta93: internal calculator only - deterministic breed dropdown and field validation.
 * Existing beta88 grid widths/alignment are intentionally untouched. */
.hm-internal-offer-launcher .hm-internal-breed-combobox{
  position:relative;
  width:100%;
}
.hm-internal-offer-launcher .hm-internal-breed-combobox>input{
  width:100%;
}
.hm-internal-offer-launcher .hm-internal-breed-results{
  position:absolute;
  z-index:1000;
  left:0;
  right:0;
  top:calc(100% + .3rem);
  max-height:18rem;
  overflow-y:auto;
  padding:.3rem;
  border:1px solid #cfc7bd;
  border-radius:.65rem;
  background:#fff;
  box-shadow:0 .6rem 1.4rem rgba(0,0,0,.14);
}
.hm-internal-offer-launcher .hm-internal-breed-results[hidden]{display:none!important}
.hm-internal-offer-launcher .hm-internal-breed-result{
  display:block;
  width:100%;
  margin:0;
  padding:.68rem .75rem;
  border:0!important;
  border-radius:.45rem!important;
  background:#fff!important;
  color:var(--hm-text)!important;
  font:inherit;
  line-height:1.25;
  text-align:left;
  cursor:pointer;
  box-shadow:none!important;
}
.hm-internal-offer-launcher .hm-internal-breed-result:hover,
.hm-internal-offer-launcher .hm-internal-breed-result:focus,
.hm-internal-offer-launcher .hm-internal-breed-result.is-active{
  outline:none;
  background:var(--hm-sand)!important;
  color:var(--hm-dark-green)!important;
}
.hm-internal-offer-launcher .hm-internal-breed-result-message{
  padding:.7rem .75rem;
  color:var(--hm-text);
  font-size:.92rem;
  line-height:1.35;
}
.hm-internal-offer-launcher .hm-internal-field-invalid input,
.hm-internal-offer-launcher .hm-internal-field-invalid select{
  border-color:#b42318!important;
  box-shadow:0 0 0 1px #b42318!important;
}
.hm-internal-offer-launcher .hm-internal-field-error{
  margin:.35rem 0 0;
  color:#b42318;
  font-size:.88rem;
  line-height:1.3;
  font-weight:600;
}
.hm-internal-offer-launcher .hm-internal-field-error[hidden]{display:none!important}
@media (max-width:640px){
  .hm-internal-offer-launcher .hm-internal-breed-results{
    max-height:15rem;
  }
}


/* beta97: internal calculator layout parity for dog and cat.
 * Root cause: the higher-specificity public cat calculator rule from beta87
 * also matched the internal calculator and overrode the beta88 12-column grid.
 * The internal cat view now uses the same primary row as dog:
 * Tier | Rasse | Eintrittsalter. Haltung remains a cat-only field below.
 * Customer-field widths and all functional logic stay unchanged. */
@media (min-width:1101px){
  .hm-internal-offer-launcher.hm-of[data-tierart="Katze"] .hm-internal-offer-form{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    align-items:start!important;
  }
  .hm-internal-offer-launcher.hm-of[data-tierart="Katze"] .hm-internal-field--tierart{
    grid-column:span 3!important;
  }
  .hm-internal-offer-launcher.hm-of[data-tierart="Katze"] .hm-internal-field--rasse{
    grid-column:span 5!important;
  }
  .hm-internal-offer-launcher.hm-of[data-tierart="Katze"] .hm-internal-field--alter{
    grid-column:span 4!important;
  }
  .hm-internal-offer-launcher.hm-of[data-tierart="Katze"] .hm-internal-field--haltung{
    grid-column:span 3!important;
  }
}


/* beta105 - merged service section: one white section, four mint benefit cards,
   real service-card detail below. Replaces the former duplicated service blocks. */
.hm-of .hm-of-service{background:#fff!important;padding-top:0!important;padding-bottom:0!important}
.hm-of .hm-of-service .hm-of-funnel-intro{max-width:1100px;margin:0 0 1.5rem!important}
.hm-of .hm-of-service-grid--benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem!important}
.hm-of .hm-of-service-card--benefit{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;background:#F4FBF8!important;border:1px solid #C8DFD6!important;border-radius:24px!important;padding:1.5rem 1.25rem!important;min-height:260px;box-shadow:none!important}
.hm-of .hm-of-service-icon--benefit{display:flex;align-items:center;justify-content:center;width:auto!important;height:auto!important;margin:0 0 1rem!important;border-radius:0!important;background:transparent!important}
.hm-of .hm-of-service-icon--benefit img{display:block;width:96px!important;height:96px!important;max-width:100%;object-fit:contain}
.hm-of .hm-of-service-card--benefit h4{margin:0 0 .75rem!important;color:#222!important;line-height:2rem!important;text-align:center}
.hm-of .hm-of-service-card--benefit p{margin:0!important;color:#3F4A46!important;line-height:1.5!important;text-align:center}
.hm-of .hm-of-service-card--benefit a{color:#005E52!important;font-weight:700!important;text-decoration:underline!important;text-underline-offset:.16em}
.hm-of .hm-of-servicecard-detail{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:2rem;align-items:center;margin-top:.25rem!important;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important}
.hm-of .hm-of-servicecard-visual{display:flex;align-items:center;justify-content:flex-start;max-width:380px!important;margin:0!important;padding:0!important;background:transparent!important}
.hm-of .hm-of-servicecard-visual img{display:block;width:100%!important;height:auto!important;border-radius:18px}
.hm-of .hm-of-servicecard-copy{padding:0!important;background:transparent!important}
.hm-of .hm-of-servicecard-copy h4{margin:0 0 1rem!important;color:#222!important;line-height:2rem!important}
.hm-of .hm-of-servicecard-copy ul{margin:0;padding:0;list-style:none}
.hm-of .hm-of-servicecard-copy li{position:relative;margin:0 0 .95rem!important;padding-left:1.9rem!important;color:#222!important;line-height:1.5!important}
.hm-of .hm-of-servicecard-copy li:before{content:"✓";position:absolute;left:0;top:0;color:#0BA36E;font-weight:700}
@media (max-width:1200px){
  .hm-of .hm-of-service-grid--benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:767px){
  .hm-of .hm-of-service-grid--benefits{grid-template-columns:1fr!important}
  .hm-of .hm-of-service-card--benefit{min-height:0;padding:1.25rem 1rem!important}
  .hm-of .hm-of-service-icon--benefit img{width:84px!important;height:84px!important}
  .hm-of .hm-of-servicecard-detail{grid-template-columns:1fr!important;gap:1.25rem!important}
  .hm-of .hm-of-servicecard-visual{max-width:360px!important;margin:0 auto!important}
}

/* beta105: prevent old last-card full-row behavior in the four-card mint grid. */
.hm-of .hm-of-service-grid--benefits > .hm-of-service-card--benefit:last-child{grid-column:auto!important}

/* beta110: callback must not appear before a successful calculation. */
.hm-of [data-hm-of-after-calculation-callback][hidden] {display:none!important}

/* beta119: preserve zero layout height while result is hidden;
   existing tariff spacing is restored only after a successful calculation. */
.hm-of .hm-of-result[hidden] {
    display: none !important;
    margin-top: 0 !important;
}


/* 1.2.1: Mobile-safe wrapping for the saved-calculation CTA only.
 * The site-wide button typography may disable line wrapping; this long CTA
 * must fit inside the available card width without clipping on phones.
 * No changes to button copy, action, other buttons or responsive card layout. */
.hm-of .hm-of-save-button {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  text-align: center !important;
}
@media (max-width: 760px) {
  .hm-of .hm-of-save-button {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    padding: .85rem 1rem !important;
    line-height: 1.35 !important;
  }
}


/* 1.2.3: visitor animal selection on generic (Tier / allgemein) pages only.
 * Fixed Hund/Katze landing pages retain the existing form layout. */
#hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] [data-hm-of-holding-field][hidden],
#hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] [data-hm-of-mixed-for][hidden]{display:none!important}
#hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-field--tierart{min-width:0}
#hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-field--breed input:disabled{background:#F5F7F6;color:#6F7875;cursor:not-allowed}
@media (min-width:1101px){
  #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content .hm-of-form{
    grid-template-columns:minmax(150px,175px) minmax(225px,320px) minmax(140px,165px) auto!important;
    justify-content:start!important;align-items:start!important;
  }
  #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"][data-tierart="Katze"] .hm-of-calculator-content .hm-of-form{
    grid-template-columns:minmax(140px,160px) minmax(210px,280px) minmax(125px,155px) minmax(160px,195px) auto!important;
  }
  #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content .hm-of-action{align-self:start!important;padding-top:1.7rem!important}
}
@media (min-width:761px) and (max-width:1100px){
  #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content .hm-of-form{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content .hm-of-field--breed{grid-column:1/-1!important}
  #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content .hm-of-action{grid-column:1/-1!important;justify-self:start}
}
@media (max-width:760px){
  #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content .hm-of-form{grid-template-columns:1fr!important}
  #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content .hm-of-field--breed,
  #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content .hm-of-action{grid-column:auto!important}
}


/* 1.2.4 - Container-owned public finder and optional real Elementor result slot.
 * No percent widths, viewport breakout or absolute result positioning.
 * Placing [hm_angebotsfinder_ergebnis] in a following Elementor container keeps
 * the six-tariff result in document flow and pushes subsequent sections down.
 */
body #hm-angebotsfinder.hm-of,
body .hm-ux--finder #hm-angebotsfinder.hm-of{
  box-sizing:border-box!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
body #hm-angebotsfinder.hm-of .hm-of-calculator-card{
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  left:auto!important;
  transform:none!important;
  margin:0!important;
}
body #hm-angebotsfinder.hm-of .hm-of-calculator-content,
body #hm-angebotsfinder.hm-of .hm-of-field,
body #hm-angebotsfinder.hm-of .hm-of-action{
  min-width:0!important;
  max-width:100%!important;
}
body #hm-angebotsfinder.hm-of .hm-of-calculator-content .hm-of-form,
body #hm-angebotsfinder.hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-form,
body #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content .hm-of-form,
body #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"][data-tierart="Katze"] .hm-of-calculator-content .hm-of-form{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important;
  gap:14px!important;
  align-items:start!important;
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
}
body #hm-angebotsfinder.hm-of .hm-of-calculator-content .hm-of-field--breed,
body #hm-angebotsfinder.hm-of .hm-of-calculator-content .hm-of-action,
body #hm-angebotsfinder.hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-field--breed,
body #hm-angebotsfinder.hm-of[data-tierart="Katze"] .hm-of-calculator-content .hm-of-action{
  grid-column:1/-1!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  padding-top:0!important;
}
body #hm-angebotsfinder.hm-of .hm-of-calculator-content .hm-of-action .hm-of-submit{
  width:100%!important;
  max-width:100%!important;
}
body #hm-angebotsfinder.hm-of .hm-of-calculator-content .hm-of-field input,
body #hm-angebotsfinder.hm-of .hm-of-calculator-content .hm-of-field select{
  display:block;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
/* Keep original inline results within their Elementor container when no
 * separate result shortcode exists. No visual breakout, no overlap. */
body #hm-angebotsfinder.hm-of > .hm-of-result,
body .hm-ux--finder #hm-angebotsfinder.hm-of > .hm-of-result,
body #hm-angebotsfinder.hm-of > .hm-of-after-calculation-callback,
body #hm-angebotsfinder.hm-of > .hm-of-save-panel{
  position:relative!important;
  box-sizing:border-box!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
/* Dedicated result slot is a normal flowing block, never absolute or 100vw. */
body .hm-of-result-host.hm-of{
  display:block;
  box-sizing:border-box!important;
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
  container:hm-finder-results / inline-size;
}
.hm-of-result-host > .hm-of-result,
.hm-of-result-host > .hm-of-save-panel,
.hm-of-result-host > .hm-of-after-calculation-callback{
  position:relative!important;
  display:block;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.hm-of-result-host > .hm-of-result[hidden],
.hm-of-result-host > .hm-of-save-panel[hidden],
.hm-of-result-host > .hm-of-after-calculation-callback[hidden]{display:none!important}
.hm-of-result-host .hm-of-offer,
.hm-of-result-host .hm-of-product-journey,
.hm-of-result-host .hm-of-card,
.hm-of-result-host .hm-of-performance-toggle,
.hm-of-result-host .hm-of-funnel-section{min-width:0;max-width:100%}
/* Responsive card layout uses the actual RESULT Elementor container width. */
@container hm-finder-results (max-width:899px){
  .hm-of-result-host .hm-of-card-grid,
  .hm-of-result-host .hm-of-conversion-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@container hm-finder-results (max-width:640px){
  .hm-of-result-host .hm-of-card-grid,
  .hm-of-result-host .hm-of-conversion-actions{grid-template-columns:minmax(0,1fr)!important}
  .hm-of-result-host .hm-of-addon-grid,
  .hm-of-result-host .hm-of-service-grid--benefits{grid-template-columns:1fr!important}
  .hm-of-result-host .hm-of-save-cta,
  .hm-of-result-host .hm-of-callback{grid-template-columns:1fr!important}
}

/* v1.2.5: Result is always owned by a real Elementor layout box.
 * No legacy viewport breakout, even if the abandoned container-layout plugin
 * is still active and added its breakout marker to the original node.
 */
html body #hm-angebotsfinder.hm-of > .hm-of-result[data-hm-of-result].hm-container-viewport-result {
  position:relative!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:1.25rem 0 0!important;
}
body .hm-of-result-host.hm-of > .hm-of-result[data-hm-of-result],
body .hm-of-result-host.hm-of > .hm-of-save-panel,
body .hm-of-result-host.hm-of > .hm-of-after-calculation-callback {
  position:relative!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body .hm-of-result-host.hm-of .hm-of-platform,
body .hm-of-result-host.hm-of .hm-of-platform-inner {
  position:relative!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
/* The scroll target is also keyboard-focusable after each successful run. */
body .hm-of .hm-of-offer-head .hm-of-offer-kicker:focus { outline:none; }
body .hm-of .hm-of-offer-head .hm-of-offer-kicker:focus-visible {
  outline:2px solid #00A075;
  outline-offset:5px;
}


/* v1.2.6: On general Hund/Katze pages, lay out Tierart and Rasse in two
 * columns only when the REAL Elementor calculator content is wide enough.
 * Specialised Hund/Katze pages and internal offer forms are unchanged.
 * The brand stylesheet may force a single column; these scoped ID selectors
 * intentionally take precedence without changing brand colours or typography.
 */
body #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content {
  container-type: inline-size;
  container-name: hm-finder-input;
}
body #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content .hm-of-form {
  grid-template-columns: minmax(0,1fr)!important;
}
@container hm-finder-input (min-width: 580px) {
  body #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content .hm-of-form {
    grid-template-columns: minmax(160px,1fr) minmax(275px,2fr)!important;
    align-items: start!important;
  }
  body #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content .hm-of-field--tierart {
    grid-column: 1 / 2!important;
  }
  body #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content .hm-of-field--breed {
    grid-column: 2 / 3!important;
  }
  body #hm-angebotsfinder.hm-of[data-hm-generic-tierart="1"] .hm-of-calculator-content .hm-of-action {
    grid-column: 1 / -1!important;
  }
}

/* 1.2.9: In-flow breed autocomplete. Avoid Safari/iPad native datalist popup
   repositioning when an Elementor column or virtual keyboard changes size. */
#hm-angebotsfinder .hm-of-breed-suggestions {
    display: block;
    position: relative;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-height: 220px;
    margin: .25rem 0 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #C9D8D3;
    border-radius: .65rem;
    background: #fff;
}
#hm-angebotsfinder .hm-of-breed-suggestions[hidden] { display: none !important; }
#hm-angebotsfinder .hm-of-breed-option {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: .72rem .85rem;
    border-bottom: 1px solid #E5EFEB;
    color: #222;
    background: #fff;
    font: inherit;
    line-height: 1.4;
    overflow-wrap: anywhere;
    cursor: pointer;
    touch-action: manipulation;
}
#hm-angebotsfinder .hm-of-breed-option:last-child { border-bottom: 0; }
#hm-angebotsfinder .hm-of-breed-option:hover,
#hm-angebotsfinder .hm-of-breed-option[aria-selected="true"] {
    color: #005E52;
    background: #EDF8F3;
}
