/* Phase 2: scoped only to the shared public/personal offer funnel. */
.hm-of .hm-of-conversion-actions{grid-template-columns:minmax(0,1fr)!important;max-width:26rem!important;gap:0!important}
.hm-of .hm-p2__single-checkout{width:100%!important;max-width:26rem!important;margin:0!important}
.hm-of .hm-p2__annual-note{margin:1rem 0 .8rem;padding:.8rem 1rem;border-left:3px solid #005e52;background:#f1f8f5;color:#263c36;font-size:var(--hm-site-body-font-size,1rem)!important;line-height:var(--hm-site-body-line-height,1.5)!important}
.hm-of .hm-p2{margin:3.2rem 0 1.6rem;max-width:100%;color:#252e2b;font-family:var(--hm-site-body-font-family,inherit)}
.hm-of .hm-p2 *{box-sizing:border-box}
.hm-of .hm-p2__intro{max-width:58rem;margin-bottom:1.4rem}
.hm-of .hm-p2__eyebrow{display:block;margin-bottom:.3rem;color:#005e52;font-weight:700;font-size:.9rem}
.hm-of .hm-p2__intro h2{margin:0 0 .7rem!important}
.hm-of .hm-p2__intro p,.hm-of .hm-p2__service,.hm-of .hm-p2__question p,.hm-of .hm-p2__waiting,.hm-of .hm-p2__result-intro{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}
.hm-of .hm-p2__questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;margin-bottom:1.5rem}
.hm-of .hm-p2__question{min-width:0;margin:0;padding:1.25rem;border:1px solid #d2e1da;border-radius:1rem;background:#fff}
.hm-of .hm-p2__question legend{display:block;float:none;width:100%;padding:0 0 .55rem;margin:0;font-weight:700;font-size:1.12rem;color:#005e52;line-height:1.3}
.hm-of .hm-p2__question p{margin:.15rem 0 .8rem;color:#44534e}
.hm-of .hm-p2__choice{display:flex;gap:.7rem;align-items:flex-start;width:100%;margin:0 0 .55rem;padding:.85rem;border:1px solid #d7e4de;border-radius:.7rem;background:#fafcfb;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.hm-of .hm-p2__choice:last-child{margin-bottom:0}
.hm-of .hm-p2__choice:has(input:checked){border-color:#005e52;background:#eaf7f0}
.hm-of .hm-p2__choice input{width:1.15rem;min-width:1.15rem;height:1.15rem;margin:.08rem 0 0;accent-color:#005e52;cursor:pointer}
.hm-of .hm-p2__choice span{display:block;flex:1}
.hm-of .hm-p2__choice strong{display:block;font-weight:700;line-height:1.45}
.hm-of .hm-p2__choice small{display:block;margin-top:.2rem;color:#4b5b55;font-size:.92em;line-height:1.45}
.hm-of .hm-p2__restore-line{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:1.2rem 0;padding:.8rem 1rem;border:1px solid #d5e5df;border-radius:.75rem;background:#f5faf8}
.hm-of .hm-p2__restore-line p{margin:0;flex:1;min-width:220px}
.hm-of .hm-p2__restore-line button{border:1px solid #005e52!important;border-radius:.7rem!important;padding:.55rem .85rem!important;background:white!important;color:#005e52!important;font-weight:600!important;cursor:pointer}
.hm-of .hm-p2__output{margin:1.1rem 0;padding:1.4rem;border-radius:1rem;background:#f4faf7;border:1px solid #bedbd0}
.hm-of .hm-p2__waiting{margin:0;color:#345d50}
.hm-of .hm-p2__result-title{margin:0 0 .5rem!important;color:#005e52!important}
.hm-of .hm-p2__result-intro{margin:0 0 1.1rem}
.hm-of .hm-p2__result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1rem;align-items:start}
.hm-of .hm-p2__tariff{display:flex;flex-direction:column;gap:.85rem;min-width:0;background:white;border:1px solid #d5e3dd;border-radius:.8rem;padding:1.1rem}
.hm-of .hm-p2__tariff--recommended{border:2px solid #005e52;background:#fff}
.hm-of .hm-p2__tariff-top h4{font-size:1.15rem!important;line-height:1.35!important;margin:0 0 .4rem!important;color:#203b32!important;font-weight:700!important}
.hm-of .hm-p2__tag{display:inline-block;color:#005e52;background:#e7f6ee;border-radius:10rem;padding:.26rem .6rem;font-size:.78rem;font-weight:700}
.hm-of .hm-p2__features{display:grid;gap:.4rem;padding:0 0 0 1.2rem;margin:0;font-size:.94em;line-height:1.45;color:#43534c}
.hm-of .hm-p2__features li::marker{font-weight:700;color:#005e52}
.hm-of .hm-p2__tariff-controls{display:flex;gap:.8rem;flex-wrap:wrap;align-items:end;margin-top:auto}
.hm-of .hm-p2__select-label{display:grid;gap:.3rem;flex:1;min-width:160px;font-size:.9rem;font-weight:600}
.hm-of .hm-p2__sb-select{width:100%;min-height:43px;border:1px solid #b9cec4;border-radius:.55rem;background:#fff;color:#28382f;font:inherit;padding:.45rem .55rem}
.hm-of .hm-p2__dental-label{display:flex;gap:.55rem;align-items:center;min-height:43px;font-weight:600;font-size:.9rem}
.hm-of .hm-p2__dental-label input{width:1.05rem;height:1.05rem;accent-color:#005e52}
.hm-of .hm-p2__calculated{display:grid;gap:.18rem;padding:.85rem;background:#f3faf6;border-radius:.65rem;border:1px solid #d1e8dc}
.hm-of .hm-p2__calculated span,.hm-of .hm-p2__calculated small{font-size:.9em;color:#435d52}
.hm-of .hm-p2__calculated strong{font-size:1.35rem;line-height:1.3;color:#005e52;font-weight:800}
.hm-of .hm-p2__checkout{display:block;padding:.88rem 1rem!important;text-align:center;border:2px solid var(--hm-orange,#ed5a28)!important;border-radius:1rem!important;background:var(--hm-orange,#ed5a28)!important;color:#fff!important;font-weight:700!important;text-decoration:none!important}
.hm-of .hm-p2__checkout:hover,.hm-of .hm-p2__checkout:focus{background:#c84c20!important;color:#fff!important}
.hm-of .hm-p2__difference,.hm-of .hm-p2__availability{margin:1rem 0 0;font-weight:600;line-height:1.45}
.hm-of .hm-p2__availability{color:#8b4219}
.hm-of .hm-p2__disclaimer{margin:1rem 0 0;font-size:.9em;color:#4e5d54;line-height:1.5}
.hm-of .hm-p2__service{padding:1rem 1.2rem;margin:1rem 0 0;border-left:3px solid #005e52;background:#f8fbf9}
.hm-of .hm-p2__service a{color:#005e52!important;font-weight:700}
.hm-of .hm-p2__save-error{margin:.6rem 0 0;color:#8b2b19;font-weight:600}
.hm-of .hm-p2 input:focus-visible,.hm-of .hm-p2 button:focus-visible,.hm-of .hm-p2 select:focus-visible,.hm-of .hm-p2 a:focus-visible{outline:3px solid #ec8c33!important;outline-offset:3px!important}
@media (max-width:800px){.hm-of .hm-p2__questions{grid-template-columns:1fr}.hm-of .hm-p2__output{padding:1rem}.hm-of .hm-p2__result-grid{grid-template-columns:1fr}.hm-of .hm-p2__restore-line{align-items:flex-start}}
@media (prefers-reduced-motion:reduce){.hm-of .hm-p2__choice{transition:none}}

/* beta101 – approved bundled HM layout refinements (1–15).
 * Only the shared offer's tariff cards and Phase-2 decision module are touched.
 * Ordinary public Leistungsuebersichten use hm-lu.css and stay unchanged. */

/* Consistent 1,280px desktop axis for public, internal and personal offers. */
.hm-of .hm-of-offer{
    width:100%;
    max-width:1280px!important;
    margin-inline:auto!important;
    min-width:0;
}

/* Premium plus: featured product appearance is independent of whether the
 * questionnaire has produced a PERSONAL recommendation. No default badge. */
.hm-of .hm-of-card--premium-plus{
    border:2px solid var(--hm-orange,#EB5B25)!important;
    padding:calc(1.45rem - 1px) calc(1.25rem - 1px) calc(1.2rem - 1px)!important;
}
.hm-of .hm-of-card--premium-plus > .hm-of-checkout{
    border-color:var(--hm-orange,#EB5B25)!important;
    background:var(--hm-orange,#EB5B25)!important;
    color:#fff!important;
}
.hm-of .hm-of-card--premium-plus > .hm-of-checkout:is(:hover,:focus-visible){
    background:#D94E1D!important;
    color:#fff!important;
}
.hm-of .hm-of-card--premium-plus .hm-of-card-variants > .hm-of-price-group:not(.hm-of-price-group--details) .hm-of-price-row--sb-250:not(.hm-of-price-row--unavailable){
    position:relative;
    background:var(--hm-orange-light,#FFF3EC);
    border-bottom-color:transparent;
    border-radius:.4rem;
}
.hm-of .hm-of-card--premium-plus .hm-of-card-variants > .hm-of-price-group:not(.hm-of-price-group--details) .hm-of-price-row--sb-250:not(.hm-of-price-row--unavailable)::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:var(--hm-orange,#EB5B25);
    border-radius:.4rem 0 0 .4rem;
}
.hm-of .hm-of-card--phase2-recommended{isolation:isolate}

/* Two H2s use the EXISTING site H2 typography, not new hard-coded sizes. */
.hm-of .hm-p2__intro .hm-p2__eyebrow,
.hm-of .hm-p2__intro .hm-p2__intro-title{
    display:block;
    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:#00A075!important;
}
.hm-of .hm-p2__intro .hm-p2__eyebrow{margin:0 0 .35rem!important}
.hm-of .hm-p2__intro .hm-p2__intro-title{margin:0 0 .7rem!important}

/* Role=group plus an actual H4 places each title fully INSIDE its bordered card;
 * unlike <legend>, it cannot overlap the fieldset's top border. */
.hm-of .hm-p2__questions{align-items:stretch}
.hm-of .hm-p2__question{padding:1.3rem 1.2rem;min-width:0}
.hm-of .hm-p2__question .hm-p2__question-title{
    display:block;
    width:100%;
    margin:0 0 .9rem!important;
    font-family:var(--hm-site-h4-font-family,inherit)!important;
    font-size:var(--hm-site-h4-font-size,1.25rem)!important;
    line-height:var(--hm-site-h4-line-height,1.25)!important;
    font-weight:600!important;
    letter-spacing:var(--hm-site-h4-letter-spacing,normal)!important;
    color:#222222!important;
    overflow-wrap:normal;
}
.hm-of .hm-p2__question p,
.hm-of .hm-p2__choice small,
.hm-of .hm-p2__result-intro,
.hm-of .hm-p2__waiting,
.hm-of .hm-p2__restore-line p,
.hm-of .hm-p2__service-intro{
    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;
    font-weight:var(--hm-site-body-font-weight,400)!important;
}
.hm-of .hm-p2__choice strong{font-weight:600}

/* H3 result / H4 tariff headings and body-sized feature lists. */
.hm-of .hm-p2__result-title{
    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;
    color:var(--hm-site-h3-color,#222)!important;
}
.hm-of .hm-p2__tariff-top h4,
.hm-of .hm-p2__product-group-title,
.hm-of .hm-p2__comparison-title{
    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;
}
.hm-of .hm-p2__tariff-top h4{color:#203B32!important}
.hm-of .hm-p2__features{
    display:grid;
    gap:.45rem;
    padding:0 0 0 1.35rem;
    margin:0;
    font-family:var(--hm-site-body-font-family,inherit)!important;
    font-size:var(--hm-site-body-font-size,1rem)!important;
    font-weight:var(--hm-site-body-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;
    color:#222;
}
.hm-of .hm-p2__features li{
    padding-left:.05rem;
    margin:0;
    font-family:inherit!important;
    font-size:inherit!important;
    line-height:inherit!important;
}
.hm-of .hm-p2__features li::marker{
    font-family:var(--hm-site-body-font-family,inherit);
    font-size:1em;
    font-weight:600;
    color:#005E52;
}

/* Equal rows: compact features + controls use available flex space and keep
 * the calculation strips and checkout buttons aligned across same-row cards. */
.hm-of .hm-p2__result-grid{align-items:stretch}
.hm-of .hm-p2__tariff{height:100%;gap:1rem;min-width:0;display:flex;flex-direction:column}
.hm-of .hm-p2__tariff-controls{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-content:end;
    gap:.45rem;
    margin-top:auto;
    width:100%;
    min-width:0;
}
.hm-of .hm-p2__control-heading{
    display:block;
    margin:0;
    width:100%;
    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;
    font-weight:600!important;
    color:#222222;
}
.hm-of .hm-p2__sb-unit{white-space:nowrap}
.hm-of .hm-p2__control-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;min-height:44px;min-width:0}
.hm-of .hm-p2__select-wrap{flex:1 1 auto;min-width:105px}
.hm-of .hm-p2__dental-label{
    flex:0 1 auto;
    min-width:0;
    display:flex;
    align-items:center;
    gap:.45rem;
    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;
    font-weight:600!important;
    color:#222;
    margin:0;
}
.hm-of .hm-p2__dental-label input{flex:0 0 1.05rem}
.hm-of .hm-p2__sb-select{width:100%;font-family:var(--hm-site-body-font-family,inherit)!important;font-size:var(--hm-site-body-font-size,1rem)!important}
.hm-of .hm-p2__calculated{min-height:8.1rem;align-content:start;margin:0}
.hm-of .hm-p2__calculated span,
.hm-of .hm-p2__calculated small{
    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;
}
.hm-of .hm-p2__calculated strong{font-family:var(--hm-site-body-font-family,inherit)!important}
.hm-of .hm-p2__checkout{margin-top:0;width:100%}

/* Up to four tariffs share a row. From five, JS creates two named product
 * groups, each with a maximum of three tariffs per desktop row. */
.hm-of .hm-p2__result-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.hm-of .hm-p2__result-grid--split{grid-template-columns:repeat(3,minmax(0,1fr))}
.hm-of .hm-p2__product-group{margin:1.5rem 0 0;min-width:0}
.hm-of .hm-p2__product-group:first-of-type{margin-top:0}
.hm-of .hm-p2__product-group+.hm-p2__product-group{padding-top:1.5rem;border-top:1px solid #C6DDD4}
.hm-of .hm-p2__product-group-title{margin:0 0 .85rem!important;color:#222!important}

/* Explicit, visually connected price comparison. Each pair is calculated
 * using two REAL and identical SB/Zahn combinations. */
.hm-of .hm-p2__comparison-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:1rem;margin-top:1rem}
.hm-of .hm-p2__comparison-panel{
    min-width:0;
    padding:1.15rem 1.3rem;
    margin:1rem 0 0;
    border:1px solid #B9DACE;
    border-radius:.85rem;
    background:#EFF8F4;
}
.hm-of .hm-p2__comparison-stack .hm-p2__comparison-panel{margin:0}
.hm-of .hm-p2__comparison-title{margin:0 0 .6rem!important;color:#222!important}
.hm-of .hm-p2__comparison-context{margin:.25rem 0 .85rem;color:#41534D}
.hm-of .hm-p2__comparison-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.hm-of .hm-p2__comparison-price{display:flex;flex-direction:column;gap:.25rem;min-width:0;padding:.75rem;background:white;border:1px solid #D3E4DB;border-radius:.55rem}
.hm-of .hm-p2__comparison-price span{font-weight:600;color:#222}
.hm-of .hm-p2__comparison-price strong{color:#005E52;font-size:1.12em}
.hm-of .hm-p2__comparison-difference{margin:1rem 0 .35rem!important;font-weight:600!important;color:#005E52}
.hm-of .hm-p2__comparison-benefit{margin:.3rem 0 0!important;color:#222}
.hm-of .hm-p2__comparison-panel p,
.hm-of .hm-p2__comparison-panel span{
    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;
}

/* Prominent existing HM-specific services, supplied original icon artwork. */
.hm-of .hm-p2__service{
    margin:1.4rem 0 0;
    padding:1.35rem;
    border:1px solid #B9DACE;
    border-radius:1rem;
    background:#EFF8F4;
    color:#222;
}
.hm-of .hm-p2__service .hm-p2__service-heading{
    margin:0 0 .65rem!important;
    font-family:var(--hm-site-h4-font-family,inherit)!important;
    font-size:var(--hm-site-h4-font-size,1.25rem)!important;
    line-height:var(--hm-site-h4-line-height,1.25)!important;
    font-weight:var(--hm-site-h4-font-weight,600)!important;
    color:#222222!important;
}
.hm-of .hm-p2__service-intro{margin:0 0 1rem}
.hm-of .hm-p2__service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.hm-of .hm-p2__service-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.35rem;
    min-width:0;
    padding:1rem .65rem;
    border:1px solid #D7E5DF;
    border-radius:.8rem;
    background:#fff;
    text-align:center;
}
.hm-of .hm-p2__service-item img{display:block;width:80px;height:80px;max-width:100%;object-fit:contain}
.hm-of .hm-p2__service-item strong,
.hm-of .hm-p2__service-item span,
.hm-of .hm-p2__service-item 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;
}
.hm-of .hm-p2__service-item strong{font-weight:600;color:#222}
.hm-of .hm-p2__service-item span{color:#43534D}
.hm-of .hm-p2__service-item a{color:#005E52!important;font-weight:600;text-decoration:underline!important;text-underline-offset:.15em}

@media (max-width:1150px){
  .hm-of .hm-p2__result-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hm-of .hm-p2__service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .hm-of .hm-p2__result-grid--split{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .hm-of .hm-p2__result-grid,
  .hm-of .hm-p2__result-grid--four,
  .hm-of .hm-p2__result-grid--split{grid-template-columns:minmax(0,1fr)}
  .hm-of .hm-p2__service{padding:1rem}
  .hm-of .hm-p2__question{padding:1rem}
  .hm-of .hm-p2__comparison-prices{grid-template-columns:minmax(0,1fr)}
  .hm-of .hm-p2__calculated{min-height:0}
  .hm-of .hm-p2__service-item img{width:64px;height:64px}
}
@media (max-width:390px){
  .hm-of .hm-p2__control-row{flex-wrap:wrap}
  .hm-of .hm-p2__select-wrap{flex-basis:100%}
  .hm-of .hm-p2__service-grid{grid-template-columns:minmax(0,1fr)}
}


/* beta102 – approved bundled layout corrections 16–20.
 * Strictly limited to the Phase-2 module and offerfinder return layout.
 * Ordinary public HM Leistungsuebersichten are unaffected. */

/* 16 – Single shared CSS grid row sizing aligns SB, dental, total price and CTA
 * across cards of the same visible row, regardless of text length.
 * Modern browser subgrid, with the beta101 flex layout as a fallback. */
@supports (grid-template-rows: subgrid) {
  .hm-of .hm-p2__result-grid { align-items:stretch; }
  .hm-of .hm-p2__result-grid > .hm-p2__tariff {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:subgrid;
    grid-row:span 5;
    align-content:stretch;
    height:auto;
    gap:.85rem;
  }
  .hm-of .hm-p2__tariff-controls {
    margin-top:0;
    align-content:start;
    align-self:stretch;
  }
  .hm-of .hm-p2__calculated { min-height:0; align-self:stretch; }
  .hm-of .hm-p2__checkout { align-self:end; }
}

/* 17 – Site's established HM heading scales, semantically correct markup.
 * Intro remains an H2 on existing landingpages but visually matches H1. */
.hm-of .hm-p2__intro-heading.hm-of-heading--display-h1 {
  margin:0 0 .75rem!important;
  color:#00A075!important;
  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;
}
.hm-of .hm-p2__intro-heading .hm-p2__eyebrow,
.hm-of .hm-p2__intro-heading .hm-p2__intro-title {
  display:block;
  color:inherit!important;
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  font-weight:inherit!important;
  text-transform:inherit!important;
}
.hm-of .hm-p2__intro-heading .hm-p2__eyebrow {margin:0 0 .14em!important}
.hm-of .hm-p2__intro-heading .hm-p2__intro-title {margin:0!important}
.hm-of .hm-p2__result-title.hm-of-heading--h2,
.hm-of .hm-p2__product-group-title.hm-of-heading--h2 {
  font-size:2.4rem!important;
  line-height:1.15!important;
  font-weight:500!important;
  color:#00A075!important;
}
.hm-of .hm-p2__result-title.hm-of-heading--h3,
.hm-of .hm-p2__product-group-title.hm-of-heading--h3 {
  font-size:1.8rem!important;
  line-height:1.2!important;
  font-weight:500!important;
  color:#00A075!important;
}
.hm-of .hm-p2 h4 {
  font-size:1.4rem!important;
  line-height:1.25!important;
  font-family:var(--hm-site-h4-font-family,var(--hm-site-body-font-family,inherit))!important;
  font-weight:600!important;
  letter-spacing:var(--hm-site-h4-letter-spacing,normal)!important;
}
.hm-of .hm-p2__tariff-top h4,
.hm-of .hm-p2__comparison-title,
.hm-of .hm-p2__product-group-title.hm-of-heading--h4,
.hm-of .hm-p2__service-heading,
.hm-of .hm-p2__question-title {color:#222222!important}

/* 18 – One common 1280px content axis and a 48px/32px section rhythm.
 * The virtual personal return hero and platform-wide band stay full width. */
#hm-angebotsfinder.hm-of,
.hm-of-return-page.hm-of {
  --hm-section-gap:48px!important;
  --hm-p2-section-gap:48px;
}
#hm-angebotsfinder.hm-of {
  width:min(1280px,calc(100vw - 96px))!important;
  max-width:1280px!important;
  margin-inline:auto!important;
}
.hm-of-return-page.hm-of .hm-of-return-shell {
  width:min(1280px,calc(100vw - 96px))!important;
  max-width:1280px!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
.hm-of .hm-p2 {margin:var(--hm-p2-section-gap,48px) 0 0}
.hm-of .hm-p2__service {margin:var(--hm-p2-section-gap,48px) 0 0}
.hm-of .hm-p2__output {margin:var(--hm-p2-section-gap,48px) 0 0}
.hm-of .hm-p2__questions {margin-bottom:0}
.hm-of .hm-p2__product-group+.hm-p2__product-group {
  margin-top:calc(var(--hm-p2-section-gap,48px)/2);
  padding-top:calc(var(--hm-p2-section-gap,48px)/2);
}

/* 19 – Body-sized, semibold, non-green numbers 1–4. */
.hm-of .hm-p2__features li::marker {
  color:#222222!important;
  font-size:1em;
  font-weight:600!important;
}

/* 20 – Identical official HM dark green for individual and comparative price
 * amounts and for the explicitly stated monthly difference. */
.hm-of .hm-p2 {--hm-p2-price-green:#005E52}
.hm-of .hm-p2__calculated strong,
.hm-of .hm-p2__comparison-price strong,
.hm-of .hm-p2__comparison-difference,
.hm-of .hm-p2__difference {
  color:var(--hm-p2-price-green)!important;
}

@media (max-width:1024px){
  #hm-angebotsfinder.hm-of {width:calc(100vw - 64px)!important}
  .hm-of-return-page.hm-of .hm-of-return-shell {width:calc(100vw - 64px)!important}
  .hm-of .hm-p2__intro-heading.hm-of-heading--display-h1 {font-size:2.8rem!important}
}
@media (max-width:760px){
  #hm-angebotsfinder.hm-of,
  .hm-of-return-page.hm-of {--hm-section-gap:32px!important;--hm-p2-section-gap:32px}
}
@media (max-width:767px){
  .hm-of .hm-p2__intro-heading.hm-of-heading--display-h1 {font-size:2.1rem!important}
  .hm-of .hm-p2__result-title.hm-of-heading--h2 {font-size:1.8rem!important}
  .hm-of .hm-p2__result-title.hm-of-heading--h3,
  .hm-of .hm-p2__product-group-title.hm-of-heading--h3 {font-size:1.6rem!important}
}
@media (max-width:640px){
  #hm-angebotsfinder.hm-of {width:calc(100vw - 40px)!important}
  .hm-of-return-page.hm-of .hm-of-return-shell {width:calc(100vw - 40px)!important}
}


/* beta103 – screenshot QA: breathing room and visual parity with the upper
 * six offer tariff cards. Scoped strictly to the Phase-2 decision module. */

/* Deliberately more separation at the boundary between the tariff accordion
 * section and the H1-style decision heading. The normal 48px/32px spacing
 * between other sections remains intact. */
.hm-of .hm-p2 {
  margin-top:80px!important;
}
.hm-of .hm-p2__intro {
  margin-bottom:40px!important;
}
.hm-of .hm-p2__intro-heading.hm-of-heading--display-h1 {
  margin-bottom:20px!important;
}
.hm-of .hm-p2__intro > p {
  margin:0!important;
}
.hm-of .hm-p2__questions {
  gap:24px;
}
.hm-of .hm-p2__question {
  padding:24px!important;
}
.hm-of .hm-p2__choice {
  padding:16px!important;
}
.hm-of .hm-p2__output {
  padding:28px!important;
}
.hm-of .hm-p2__result-title {
  margin-bottom:14px!important;
}
.hm-of .hm-p2__result-intro {
  margin-bottom:28px!important;
}
.hm-of .hm-p2__product-group-title {
  margin-bottom:20px!important;
}
.hm-of .hm-p2__result-grid {
  gap:20px;
}
.hm-of .hm-p2__tariff {
  padding:1.45rem 1.25rem 1.2rem!important;
}

/* The existing upper offer cards show e.g. "Komfort" on the first line
 * and "Hundekrankenversicherung" below it. Same visual arrangement here.
 * H4 semantics and the shared subgrid row alignment remain unchanged. */
.hm-of .hm-p2__tariff-top {
  min-width:0;
  min-height:4.7rem;
  padding:.05rem 0 .75rem;
}
.hm-of .hm-p2__tariff-top .hm-p2__tariff-name {
  display:block;
  font-family:var(--hm-site-body-font-family,inherit)!important;
  font-size:1.25em!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:normal!important;
  color:var(--hm-text,#222222)!important;
  margin:0!important;
}
.hm-of .hm-p2__tariff-top .hm-p2__tariff-subtitle {
  display:block;
  margin-top:.38rem;
  font-family:var(--hm-site-body-font-family,inherit)!important;
  font-size:var(--hm-site-body-font-size,1rem)!important;
  font-weight:var(--hm-site-body-font-weight,400)!important;
  line-height:1.25!important;
  letter-spacing:var(--hm-site-body-letter-spacing,normal)!important;
  color:var(--hm-text,#222222)!important;
  overflow-wrap:break-word;
}

@media (max-width:1024px) {
  .hm-of .hm-p2 {margin-top:64px!important;}
}
@media (max-width:760px) {
  .hm-of .hm-p2 {margin-top:48px!important;}
  .hm-of .hm-p2__intro {margin-bottom:28px!important;}
  .hm-of .hm-p2__intro-heading.hm-of-heading--display-h1 {margin-bottom:16px!important;}
  .hm-of .hm-p2__questions {gap:18px;}
  .hm-of .hm-p2__question {padding:20px!important;}
  .hm-of .hm-p2__output {padding:20px!important;}
  .hm-of .hm-p2__result-intro {margin-bottom:24px!important;}
  .hm-of .hm-p2__product-group-title {margin-bottom:16px!important;}
}

/* beta104 - H4 line spacing requested by HM: exactly 2rem.
 * Scoped to the HM offerfinder and saved-offer views; the public
 * tariff/benefit comparison renderer and Elementor site settings stay untouched. */
#hm-angebotsfinder.hm-of h4,
.hm-of-return-page.hm-of h4,
.hm-of .hm-p2 h4,
.hm-of .hm-of-heading--h4,
.hm-of .hm-p2__question .hm-p2__question-title,
.hm-of .hm-p2__service .hm-p2__service-heading,
.hm-of .hm-p2__tariff-top .hm-p2__tariff-name {
  line-height:2rem!important;
}


/* beta105 - merged service area: phase2 no longer renders its own service block.
   Keep output spacing only; the combined service section follows later in the return funnel. */
.hm-of .hm-p2__output{margin-bottom:0!important}


/* beta106 – visual QA correction: a single recommendation is a focused card,
 * not a full-width comparison column. All 2/3/4/6-card layouts stay as before.
 * This selector also works for the restored original on the personal offer page. */
.hm-of .hm-p2__result-grid > .hm-p2__tariff:only-child {
  width:100%;
  max-width:480px;
  justify-self:center;
}

/* 1.2.58 -- one native, keyboard-accessible Kostenantworten-style disclosure
 * after the TWO EXISTING advisory questions (calculator + saved offer).
 * No independent release switch; the current recommendation UI/logic survives.
 * Exact established HM mint gradient, left line, dark-green pill and spacing. */
.hm-of .hm-p2 > details.hm-p2__reveal {
  margin:2.1rem 0 0!important;
  border:1px solid #b5d7cb!important;
  border-left:5px solid #005E52!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(0,94,82,.075);
  overflow:hidden;
  min-width:0;
}
.hm-of .hm-p2 > details.hm-p2__reveal > summary.hm-p2__reveal-summary {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:.9rem!important;
  min-height:104px!important;
  padding:1.25rem 1.45rem!important;
  list-style:none!important;
  cursor:pointer!important;
  color:#005E52!important;
  background:linear-gradient(100deg,#EAF5EF,#F8FBF9)!important;
}
.hm-of .hm-p2 > details.hm-p2__reveal > summary.hm-p2__reveal-summary::-webkit-details-marker {display:none}
.hm-of .hm-p2 .hm-p2__reveal-copy {display:flex;flex-direction:column;gap:.28rem;min-width:0}
.hm-of .hm-p2 .hm-p2__reveal-title {
  font-family:var(--hm-site-body-font-family,inherit)!important;
  font-size:clamp(1.55rem,1.2rem + 1.05vw,1.95rem)!important;
  font-weight:800!important;
  line-height:1.22!important;
  letter-spacing:-.018em!important;
  color:#005E52!important;
  overflow-wrap:break-word;
}
.hm-of .hm-p2 .hm-p2__reveal-subline {
  font-family:var(--hm-site-body-font-family,inherit)!important;
  font-size:1rem!important;
  font-weight:400!important;
  line-height:1.5!important;
  color:#355F55!important;
}
.hm-of .hm-p2 .hm-p2__reveal-label {
  display:inline-flex;align-items:center;justify-content:center;
  min-width:9.8rem;
  padding:.7rem 1.15rem;
  border:1px solid #005E52;
  border-radius:999px;
  background:#005E52;
  color:#fff!important;
  font-family:var(--hm-site-body-font-family,inherit)!important;
  font-size:.96rem;
  font-weight:800;
  line-height:1.15;
  white-space:nowrap;
  box-shadow:0 8px 20px rgba(0,94,82,.16);
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
  pointer-events:none;
}
.hm-of .hm-p2 .hm-p2__reveal-chevron {
  width:.82rem;height:.82rem;
  flex:none;
  border-right:2px solid #005E52;
  border-bottom:2px solid #005E52;
  transform:rotate(45deg);
  transition:transform .18s ease;
  margin-right:.2rem;
  pointer-events:none;
}
.hm-of .hm-p2 > details.hm-p2__reveal[open] .hm-p2__reveal-chevron {transform:rotate(225deg)}
.hm-of .hm-p2 > details.hm-p2__reveal > summary:hover .hm-p2__reveal-label,
.hm-of .hm-p2 > details.hm-p2__reveal > summary:focus-visible .hm-p2__reveal-label,
.hm-of .hm-p2 > details.hm-p2__reveal[open] > summary .hm-p2__reveal-label {
  background:#00A075;border-color:#00A075;transform:translateY(-1px);
}
.hm-of .hm-p2 > details.hm-p2__reveal > summary:hover {background:linear-gradient(100deg,#E2F1E9,#F1FAF5)!important}
.hm-of .hm-p2 > details.hm-p2__reveal > summary:focus-visible {outline:3px solid #00A075!important;outline-offset:-4px!important}
.hm-of .hm-p2 > details.hm-p2__reveal[open] {border-color:#80BBA9!important;border-left-color:#005E52!important}
.hm-of .hm-p2 .hm-p2__reveal-body {padding:1.2rem 1.45rem 1.45rem;min-width:0}
.hm-of .hm-p2 .hm-p2__reveal-body > .hm-p2__output {margin:0!important}
.hm-of .hm-p2 .hm-p2__reveal-body > .hm-p2__restore-line {margin:0 0 1rem!important}
@media(max-width:650px){
  .hm-of .hm-p2 > details.hm-p2__reveal {margin-top:1.35rem!important}
  .hm-of .hm-p2 > details.hm-p2__reveal > summary.hm-p2__reveal-summary {
    min-height:124px!important;gap:.5rem!important;padding:1.08rem .84rem!important;
  }
  .hm-of .hm-p2 .hm-p2__reveal-title {font-size:1.45rem!important;line-height:1.24!important;letter-spacing:-.02em!important}
  .hm-of .hm-p2 .hm-p2__reveal-subline {font-size:.9rem!important;line-height:1.45!important}
  .hm-of .hm-p2 .hm-p2__reveal-label {min-width:6.6rem;padding:.48rem .64rem;font-size:.82rem}
  .hm-of .hm-p2 .hm-p2__reveal-chevron {width:.65rem;height:.65rem}
  .hm-of .hm-p2 .hm-p2__reveal-body {padding:1rem .84rem 1.1rem}
}
@media(max-width:390px){
  /* Let the label live under the copy on narrow devices, never overflow. */
  .hm-of .hm-p2 > details.hm-p2__reveal > summary.hm-p2__reveal-summary {grid-template-columns:minmax(0,1fr) auto!important}
  .hm-of .hm-p2 .hm-p2__reveal-copy {grid-column:1 / -1}
  .hm-of .hm-p2 .hm-p2__reveal-label {justify-self:start}
  .hm-of .hm-p2 .hm-p2__reveal-chevron {justify-self:end}
}
@media(prefers-reduced-motion:reduce){
  .hm-of .hm-p2 .hm-p2__reveal-label,
  .hm-of .hm-p2 .hm-p2__reveal-chevron {transition:none}
}
