/* All rules are scoped to this product-only widget. No global theme overrides. */
#mhfp-bce.mhfp-bce {
    --bce-ink: #25293b; --bce-gold: #ffc90d; --bce-muted: #b9bfce;
    box-sizing: border-box; width: 100%; max-width: 100%; margin: 0 0 24px; padding: 0;
    overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 16px;
    background: #25293b; color: #fff; text-align: left; font-family: inherit; font-size: 14px;
    line-height: 1.5; box-shadow: 0 8px 24px rgba(0,0,0,.12); clear: both;
}
#mhfp-bce *, #mhfp-bce *::before, #mhfp-bce *::after { box-sizing: border-box; }
#mhfp-bce[hidden], #mhfp-bce [hidden] { display: none !important; }
/* Compact disclosure header. The panel is hidden in the server-rendered HTML. */
#mhfp-bce .mhfp-bce__head { padding: 0; border: 0; background: var(--bce-gold); }
#mhfp-bce .mhfp-bce__heading { margin: 0; padding: 0; line-height: 1; font-size: inherit; }
#mhfp-bce .mhfp-bce__toggle {
    appearance: none; position: relative; display: flex; align-items: center; justify-content: space-between; gap: 14px;
    width: 100%; max-width: 100%; min-height: 106px; margin: 0; padding: 21px 30px;
    border: 0; border-radius: 15px; background: var(--bce-gold) !important; color: var(--bce-ink) !important;
    font-family: inherit; font-size: 14px; font-weight: 400; line-height: 1.4; letter-spacing: normal;
    text-align: left; text-transform: none; white-space: normal; box-shadow: none; cursor: pointer;
    transition: filter .18s ease;
}
/* Decorative inner rounded rectangle; the entire yellow surface remains clickable. */
#mhfp-bce .mhfp-bce__toggle::before {
    content: ""; position: absolute; inset: 11px 12px;
    border: 3px solid rgba(37,41,59,.80); border-radius: 15px;
    background: transparent; box-shadow: none; pointer-events: none;
}
#mhfp-bce .mhfp-bce__toggle:hover { background: var(--bce-gold) !important; color: var(--bce-ink) !important; filter: brightness(.94); }
#mhfp-bce .mhfp-bce__toggle:active { filter: brightness(.89); }
#mhfp-bce .mhfp-bce__toggle:focus-visible { outline: 3px solid var(--bce-ink); outline-offset: -5px; }
#mhfp-bce .mhfp-bce__toggle-copy { display: block; flex: 1 1 auto; min-width: 0; }
#mhfp-bce .mhfp-bce__title { display: block; margin: 0; padding: 0; color: var(--bce-ink); font-size: 26px; line-height: 1.17; font-weight: 800; letter-spacing: -.3px; overflow-wrap: break-word; }
#mhfp-bce .mhfp-bce__toggle-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: var(--bce-ink); color: var(--bce-gold); }
#mhfp-bce .mhfp-bce__toggle-icon svg { display: block; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
#mhfp-bce .mhfp-bce__plus-vertical { transform-origin: 12px 12px; transition: transform .15s; }
#mhfp-bce .mhfp-bce__toggle[aria-expanded=true] .mhfp-bce__plus-vertical { transform: scaleY(0); }
#mhfp-bce p { padding: 0; margin: 0 0 12px; line-height: 1.5; }
#mhfp-bce .mhfp-bce__body { padding: 17px 22px 18px; border-top: 1px solid rgba(255,255,255,.10); }
#mhfp-bce .mhfp-bce__noscript { padding: 0 18px 16px; margin: 0; font-size: 11px; color: var(--bce-muted); }
#mhfp-bce .mhfp-bce__specs { display: flex; flex-wrap: wrap; gap: 5px 13px; padding: 0 0 17px; margin: 0; color: #ced3df; font-size: 11px; line-height: 1.5; }
#mhfp-bce .mhfp-bce__specs strong { color: #fff; font-size: 12px; }
#mhfp-bce .mhfp-bce__fields { display: grid; grid-template-columns: minmax(100px,.8fr) minmax(0,1.2fr); gap: 10px; }
#mhfp-bce label { display: block; margin: 0 0 12px; padding: 0; font-size: 12px; font-weight: 700; color: #fff; line-height: 1.5; }
#mhfp-bce input[type=text], #mhfp-bce input[type=number], #mhfp-bce select {
    display: block; width: 100%; min-width: 0; min-height: 44px; height: 44px; margin: 6px 0 0; padding: 9px 10px;
    border: 1px solid #dae0e9; border-radius: 8px; background: #f8fafc; color: #25293b;
    font-family: inherit; font-size: 13px; font-weight: 600; line-height: normal; box-shadow: none;
}
#mhfp-bce select { padding-right: 23px; appearance: auto; }
#mhfp-bce input::placeholder { color: #687083; opacity: 1; font-weight: 400; }
#mhfp-bce :is(input,select,button,summary,a):focus-visible { outline: 3px solid var(--bce-gold); outline-offset: 3px; }
#mhfp-bce input[aria-invalid=true] { border: 2px solid #ffa8a8; }
#mhfp-bce .mhfp-bce__options { margin: 1px 0 15px; border: 0; }
#mhfp-bce summary { display: list-item; cursor: pointer; color: #e5e9f1; font-size: 12px; font-weight: 650; line-height: 1.5; padding: 5px 0; }
#mhfp-bce .mhfp-bce__options[open] summary { margin-bottom: 8px; }
#mhfp-bce .mhfp-bce__check { display: flex; align-items: flex-start; gap: 8px; font-size: 11px; font-weight: 400; color: #d3d7e1; }
#mhfp-bce .mhfp-bce__check input { margin: 3px 0 0; width: 16px; height: 16px; accent-color: var(--bce-gold); flex: 0 0 16px; }
#mhfp-bce .mhfp-bce__submit, #mhfp-bce .mhfp-bce__save {
    appearance: none; display: block; width: 100%; min-height: 46px; padding: 12px 14px; margin: 0 0 12px;
    border: 1px solid var(--bce-gold); border-radius: 9px; background: var(--bce-gold); color: #202434;
    font-family: inherit; font-size: 14px; font-weight: 800; line-height: 1.3; text-align: center; text-transform: none;
    cursor: pointer; box-shadow: none; transition: filter .15s;
}
#mhfp-bce button:hover { filter: brightness(.94); }
#mhfp-bce .mhfp-bce__submit:hover { background: var(--bce-gold) !important; color: #202434 !important; }
#mhfp-bce .mhfp-bce__save:hover { background: rgba(255,255,255,.06) !important; }
#mhfp-bce button::after, #mhfp-bce button:not(.mhfp-bce__toggle)::before { content: none; }
#mhfp-bce button:disabled { opacity: .6; cursor: wait; }
#mhfp-bce .mhfp-bce__submit span { display: inline; margin-left: 9px; }
#mhfp-bce .mhfp-bce__micro { font-size: 10px; line-height: 1.55; color: var(--bce-muted); margin: 0 0 10px; }
#mhfp-bce .mhfp-bce__status { margin: 8px 0 10px; color: #ffe290; font-size: 12px; }
#mhfp-bce .mhfp-bce__status:empty { display: none; }
#mhfp-bce .mhfp-bce__fine { font-size: 10px; color: #b9bfce; line-height: 1.5; margin: 10px 0 0; }
#mhfp-bce .mhfp-bce__result { border-top: 1px solid rgba(255,255,255,.15); margin-top: 18px; padding-top: 18px; }
#mhfp-bce .mhfp-bce__badge { display: inline-block; border-radius: 5px; padding: 4px 7px; margin: 0 0 9px; color: var(--bce-gold); background: rgba(255,201,13,.09); font-size: 9px; font-weight: 800; letter-spacing: 1px; }
#mhfp-bce .mhfp-bce__location { font-size: 11px; color: #d9dde6; }
#mhfp-bce .mhfp-bce__rangebox { margin: 0 0 12px; padding: 15px 12px; border-radius: 10px; background: #f7f8fb; color: #25293b; }
#mhfp-bce .mhfp-bce__range-label { color: #555d6e; font-size: 10px; font-weight: 700; margin: 0 0 6px; }
#mhfp-bce .mhfp-bce__range { margin: 0 0 7px; font-size: clamp(20px,1.65vw,26px); line-height: 1.25; font-weight: 850; color: #25293b; letter-spacing: -.8px; overflow-wrap: anywhere; }
#mhfp-bce .mhfp-bce__reserve { margin: 0; font-size: 10px; color: #555d6e; }
#mhfp-bce .mhfp-bce__midpoint { margin-top: 12px; padding-top: 11px; border-top: 1px solid #dce0e8; }
#mhfp-bce .mhfp-bce__midpoint-head { display: flex; align-items: baseline; justify-content: space-between; gap: 5px 15px; flex-wrap: wrap; }
#mhfp-bce .mhfp-bce__midpoint-label { font-size: 12px; line-height: 1.35; font-weight: 800; color: #a51f35; }
#mhfp-bce .mhfp-bce__midpoint-value { font-size: clamp(21px,1.7vw,26px); line-height: 1.23; font-weight: 850; letter-spacing: -.5px; color: #a51f35; overflow-wrap: anywhere; }
#mhfp-bce .mhfp-bce__midpoint-note { margin: 5px 0 0; font-size: 10px; line-height: 1.5; color: #60697b; }
#mhfp-bce .mhfp-bce__notice { margin: 10px 0 12px; padding: 10px 12px; border-left: 3px solid var(--bce-gold); background: rgba(255,201,13,.07); font-size: 11px; color: #f3e5b9; }
#mhfp-bce .mhfp-bce__details { border-top: 1px solid rgba(255,255,255,.11); padding: 6px 0; margin: 0; }
#mhfp-bce .mhfp-bce__details summary { color: #fff; }
#mhfp-bce .mhfp-bce__details ul { margin: 10px 0 8px; padding: 0 0 0 17px; list-style: disc; }
#mhfp-bce .mhfp-bce__details li { padding: 0; margin: 0 0 9px; color: #d4d9e4; font-size: 11px; line-height: 1.5; }
#mhfp-bce .mhfp-bce__table { width: 100%; border-collapse: collapse; border: 0; margin: 10px 0; table-layout: auto; font-size: 10px; background: transparent; }
#mhfp-bce .mhfp-bce__table caption { font-size: 10px; color: #b9bfce; text-align: left; padding: 0 0 7px; }
#mhfp-bce .mhfp-bce__table :is(th,td) { border: 0; border-bottom: 1px solid rgba(255,255,255,.11); padding: 7px 3px; color: #e4e7ef; background: transparent; font-size: 10px; font-weight: 400; vertical-align: top; line-height: 1.5; }
#mhfp-bce .mhfp-bce__table th { text-align: left; }
#mhfp-bce .mhfp-bce__table td, #mhfp-bce .mhfp-bce__table thead th:not(:first-child) { text-align: right; white-space: nowrap; }
#mhfp-bce .mhfp-bce__table thead th { font-weight: 700; }
#mhfp-bce .mhfp-bce__source { display: inline-block; margin: 0 0 10px; color: var(--bce-gold); font-size: 11px; text-decoration: underline; }
#mhfp-bce .mhfp-bce__save { margin: 15px 0 0; background: transparent; color: var(--bce-gold); min-height: 40px; padding: 10px; font-size: 11px; }
#mhfp-bce .mhfp-bce__stale { opacity: .55; }
#mhfp-bce .mhfp-bce__ai { margin: 14px 0; padding: 12px; border-radius: 8px; background: rgba(255,255,255,.05); color: #dbe0eb; font-size: 11px; }
#mhfp-bce .mhfp-bce__ai p { margin: 7px 0 0; }
@media (max-width: 479px) {
    #mhfp-bce .mhfp-bce__toggle { padding: 20px 27px; gap: 10px; }
    #mhfp-bce .mhfp-bce__title { font-size: 24px; }
    #mhfp-bce .mhfp-bce__body { padding: 15px 16px; }
    #mhfp-bce .mhfp-bce__fields { grid-template-columns: 1fr; gap: 0; }
    #mhfp-bce input[type=text], #mhfp-bce input[type=number], #mhfp-bce select { font-size: 16px; }
    #mhfp-bce .mhfp-bce__range { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) { #mhfp-bce * { transition: none !important; } }

/* Read-only attributes and model explanation; these are not a separate detailed calculator. */
#mhfp-bce .mhfp-bce__plan-details { margin: -5px 0 17px; padding: 0 0 10px; border-bottom: 1px solid rgba(255,255,255,.13); }
#mhfp-bce .mhfp-bce__plan-details[open] summary { margin-bottom: 10px; }
#mhfp-bce .mhfp-bce__attribute-list { display: block; margin: 0; padding: 0; }
#mhfp-bce .mhfp-bce__attribute-list > div { display: grid; grid-template-columns: minmax(85px,.8fr) minmax(0,1.2fr); gap: 10px; border-top: 1px solid rgba(255,255,255,.07); padding: 8px 0; }
#mhfp-bce .mhfp-bce__attribute-list dt, #mhfp-bce .mhfp-bce__attribute-list dd { margin: 0; padding: 0; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
#mhfp-bce .mhfp-bce__attribute-list dt { color: #b9bfce; font-weight: 600; }
#mhfp-bce .mhfp-bce__attribute-list dd { color: #f1f3f8; }
#mhfp-bce .mhfp-bce__profile-total { margin-top: 12px; color: #fff; font-size: 12px; font-weight: 700; }
#mhfp-bce .mhfp-bce__analysis li p { margin-top: 5px; }

/* AI assessment additions: scoped to this widget, no modal or third-party UI. */
#mhfp-bce .mhfp-bce__check { border:1px solid rgba(255,255,255,.18); border-radius:10px; padding:12px; gap:10px; align-items:flex-start; }
#mhfp-bce .mhfp-bce__check strong { display:block; margin-bottom:5px; font-size:15px; }
#mhfp-bce .mhfp-bce__check small { display:block; font-size:12px; font-weight:400; line-height:1.55; color:var(--bce-muted,#cbd0df); }
#mhfp-bce .mhfp-bce__ai-summary { padding:16px; margin:16px 0; border:1px solid rgba(255,255,255,.24); border-radius:12px; background:rgba(255,255,255,.045); }
#mhfp-bce .mhfp-bce__ai-summary > strong { display:block; font-size:17px; }
#mhfp-bce .mhfp-bce__ai-summary p { margin:9px 0; }
#mhfp-bce .mhfp-bce__comparison { margin:12px 0; }
#mhfp-bce .mhfp-bce__comparison > div { display:flex; flex-wrap:wrap; gap:4px 12px; justify-content:space-between; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.15); }
#mhfp-bce .mhfp-bce__comparison dt { font-size:13px; }
#mhfp-bce .mhfp-bce__comparison dd { margin:0; font-weight:700; font-size:14px; }
#mhfp-bce .mhfp-bce__ai-driver { padding:10px 0; border-bottom:1px solid rgba(255,255,255,.15); }
#mhfp-bce .mhfp-bce__ai-driver p { font-size:13px; line-height:1.6; }
