/* Boati finance & insurance calculator v2. Mobile-first bottom sheet; centred dialog from 720px.
   Header sits outside the scrolling body, so it can never cover labels. Isolated from host page styles. */
.bfi-link-wrap{margin:-2px 0 8px}
.bfi-link{background:none;border:0;padding:4px 0;min-height:32px;font:inherit;font-size:.84rem;font-weight:600;color:#115DAE;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer}
.bfi-link:hover{color:#0B2437}
.bfi-link:focus-visible{outline:2px solid #115DAE;outline-offset:2px;border-radius:4px}
.bfi-brief-wrap{margin:6px 0 0}
.bfi-link.is-brief{font-size:.86rem;color:inherit;opacity:.9}
html.bfi-lock,html.bfi-lock body{overflow:hidden}

.bfi-scrim{position:fixed;inset:0;z-index:300;background:rgba(5,18,30,.62);display:flex;align-items:flex-end;justify-content:center}
.bfi-sheet{box-sizing:border-box;width:100%;max-width:580px;max-height:94vh;max-height:94dvh;display:flex;flex-direction:column;background:#fff;color:#0B2437;border-radius:20px 20px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.25);font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;line-height:1.45;overflow:hidden}
.bfi-sheet *,.bfi-sheet *::before,.bfi-sheet *::after{box-sizing:border-box}
.bfi-head{flex:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 10px 20px;border-bottom:1px solid #E6EAEF;background:#fff}
.bfi-head-t{min-width:0}
.bfi-head h3{margin:0;font:700 1.08rem/1.25 'Plus Jakarta Sans','Manrope',system-ui,sans-serif;color:#0B2437}
.bfi-boat{margin:1px 0 0;font-size:.8rem;color:#4F5D6E;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bfi-x{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid #D5DCE4;background:#fff;color:#0B2437;font-size:1.4rem;line-height:1;cursor:pointer;padding:0}
.bfi-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px 20px calc(16px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.bfi-body [id]{scroll-margin-top:12px}

/* hero */
.bfi-hero{border-radius:16px;background:#0B2437;color:#E5EFF8;padding:16px 16px 12px}
.bfi-hero-k{margin:0;font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#FFC928}
.bfi-hero-v{margin:4px 0 10px;font:800 2rem/1.1 'Plus Jakarta Sans','Manrope',system-ui,sans-serif;color:#fff;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.bfi-hero-v small{font-size:.9rem;font-weight:600;color:#B9C8D6;margin-left:3px}
.bfi-hero-t{margin:6px 0 4px;font:700 1.08rem/1.3 'Plus Jakarta Sans','Manrope',system-ui,sans-serif;color:#fff}
.bfi-bd{border-top:1px solid rgba(229,239,248,.18)}
.bfi-bd.is-sep{margin-top:12px}
.bfi-bd>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:.9rem;border-bottom:1px solid rgba(229,239,248,.12)}
.bfi-bd b{font-weight:700;color:#fff;text-align:right;font-variant-numeric:tabular-nums}
.bfi-bd em{font-style:normal;font-weight:500;color:#B9C8D6}
.bfi-bd .bfi-muted{font-weight:500;color:#B9C8D6;font-size:.84rem}
.bfi-assume{margin:8px 0 0;font-size:.8rem;color:#C7D4E0}
.bfi-hero .bfi-disc{margin:8px 0 0;font-size:.72rem;line-height:1.4;color:#93A6B8}
.bfi-hero .bfi-btn.is-primary{margin-top:12px;background:#FFC928!important;border-color:#FFC928!important;color:#0B2437!important}
.bfi-hero .bfi-btn.is-primary:hover{background:#FFD659!important}

/* sections */
.bfi-sec{padding:14px 0 6px;border-bottom:1px solid #EEF1F4}
.bfi-sec h4{margin:0 0 10px;font:700 .95rem/1.3 'Plus Jakarta Sans','Manrope',system-ui,sans-serif;color:#0B2437;display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.bfi-by{font:600 .72rem/1 'Manrope',system-ui,sans-serif;color:#6B7A8A;letter-spacing:.02em}
.bfi-grid{display:grid;gap:0 12px}
.bfi-f{margin:0 0 10px;min-width:0}
.bfi-f label,.bfi-l{display:block;margin:0 0 4px;font-size:.82rem;font-weight:600;color:#33475B}
.bfi-pct{font-weight:500;color:#6B7A8A}
.bfi-money{display:flex;align-items:center;border:1.5px solid #D5DCE4;border-radius:12px;background:#fff}
.bfi-money span{padding:0 0 0 12px;color:#4F5D6E;font-weight:600}
.bfi-sheet .bfi-money input{flex:1;min-width:0;width:100%;border:0!important;box-shadow:none!important;outline:none!important;margin:0!important;height:auto!important;min-height:44px;background:transparent!important;border-radius:0!important;padding:10px 12px 10px 6px;font:inherit;font-size:16px;font-variant-numeric:tabular-nums;color:#0B2437}
.bfi-money:focus-within{border-color:#115DAE;box-shadow:0 0 0 3px rgba(17,93,174,.18)}
.bfi-money:has(input[aria-invalid="true"]){border-color:#B42318}
.bfi-chips{display:flex;gap:6px;margin:6px 0 0}
.bfi-sheet .bfi-chip{min-height:32px;padding:4px 12px;border-radius:999px;border:1px solid #D5DCE4!important;background:#fff!important;color:#33475B!important;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:none!important}
.bfi-sheet .bfi-chip[aria-pressed="true"]{background:#E5EFF8!important;border-color:#115DAE!important;color:#0B2437!important}
.bfi-err{margin:4px 0 0;font-size:.8rem;font-weight:600;color:#B42318;min-height:0}
.bfi-err:empty{display:none}
.bfi-f select{width:100%;min-height:44px;border:1.5px solid #D5DCE4;border-radius:12px;padding:9px 12px;font:inherit;font-size:16px;color:#0B2437;background:#fff}
.bfi-sheet select:disabled{opacity:1;color:#0B2437;background:#F7F8FA;cursor:default}
.bfi-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bfi-sheet .bfi-seg-b{min-height:44px;border-radius:999px;border:1.5px solid #C9D2DC!important;background:#fff!important;color:#0B2437!important;font:inherit;font-weight:600;font-size:.92rem;cursor:pointer;box-shadow:none!important;opacity:1!important;transition:none!important}
.bfi-sheet .bfi-seg-b:hover{background:#F3F6F9!important}
.bfi-sheet .bfi-seg-b[aria-pressed="true"]{background:#0B2437!important;border-color:#0B2437!important;color:#fff!important}
.bfi-hint{margin:4px 0 0;font-size:.78rem;color:#5B6B7C}
.bfi-hint:empty{display:none}
.bfi-strong{font-weight:600;color:#0B2437;font-size:.86rem}
.bfi-insv{margin:0;font-size:.92rem;color:#4F5D6E}
.bfi-insv b{font:700 1.1rem/1.3 'Plus Jakarta Sans','Manrope',system-ui,sans-serif;color:#0B2437;font-variant-numeric:tabular-nums}

/* ctas */
.bfi-ctas{display:grid;gap:10px;border-bottom:0;padding-top:14px}
.bfi-sheet .bfi-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:10px 16px;border-radius:999px;border:1.5px solid #0B2437;background:transparent;color:#0B2437;font:inherit;font-weight:700;font-size:.9rem;text-decoration:none;cursor:pointer;box-shadow:none;transition:none!important}
.bfi-sheet .bfi-btn:hover{background:#F3F6F9}
.bfi-sheet .bfi-btn.is-primary{background:#0B2437;color:#fff}
.bfi-sheet .bfi-btn.is-primary:hover{background:#12304F}
.bfi-sheet .bfi-btn[disabled]{opacity:.45;cursor:not-allowed}
.bfi-wide{width:100%}
.bfi-row2{display:grid;grid-template-columns:1fr;gap:10px}
.bfi-enq{padding:12px;border:1px solid #E1E6EC;border-radius:12px;background:#FAFBFC}
.bfi-chk{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;color:#0B2437;margin:0 0 10px;cursor:pointer}
.bfi-chk input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:#0B2437}
.bfi-more{margin-top:8px;font-size:.78rem;color:#5B6B7C}
.bfi-more summary{cursor:pointer;font-weight:600;color:#33475B;min-height:36px;display:flex;align-items:center}
.bfi-more p{margin:4px 0}
.bfi-sheet button:focus-visible,.bfi-sheet a:focus-visible,.bfi-sheet select:focus-visible,.bfi-sheet summary:focus-visible{outline:2px solid #115DAE!important;outline-offset:2px}
.bfi-hero button:focus-visible{outline-color:#FFC928!important}

@media (min-width:480px){.bfi-grid{grid-template-columns:1fr 1fr}.bfi-row2{grid-template-columns:1fr 1fr}}
@media (min-width:720px){
  .bfi-scrim{align-items:center;padding:24px}
  .bfi-sheet{border-radius:20px;max-height:90vh}
}
@media (prefers-reduced-motion:no-preference){.bfi-sheet{animation:bfi-up .16s ease-out}@keyframes bfi-up{from{transform:translateY(14px)}to{transform:none}}}

/* v3 (Translease figures): year built, balloon, assumed rate, gentle notes */
.bfi-sheet .bfi-in{display:block;width:100%;min-height:44px;border:1.5px solid #D5DCE4!important;border-radius:12px!important;padding:9px 12px!important;margin:0!important;font:inherit;font-size:16px;font-variant-numeric:tabular-nums;color:#0B2437;background:#fff!important;box-shadow:none!important;height:auto!important}
.bfi-sheet .bfi-in:focus{outline:none;border-color:#115DAE!important;box-shadow:0 0 0 3px rgba(17,93,174,.18)!important}
.bfi-f[hidden]{display:none}
.bfi-elig{margin:-2px 0 10px}
.bfi-hero .bfi-note{margin:8px 0 0;padding:7px 10px;border-radius:10px;background:rgba(255,201,40,.12);color:#F3E3B0;font-size:.78rem;line-height:1.4}
.bfi-sheet p.bfi-hero-v{font-size:clamp(1.45rem,6.6vw,2rem)!important;white-space:nowrap;line-height:1.1!important}
.bfi-sheet p.bfi-hero-v small{font-size:.9rem!important}

/* ===== v4 (staging): illustrative estimate, advanced settings, card line, inline boat-details calculator ===== */
.bfi-est{background:none;border:0;padding:2px 0;min-height:30px;font:inherit;font-size:.86rem;font-weight:600;color:#115DAE;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;font-variant-numeric:tabular-nums}
.bfi-est:hover{color:#0B2437}
.bfi-est:focus-visible{outline:2px solid #115DAE;outline-offset:2px;border-radius:4px}
.bfi-hero.is-msg .bfi-hero-t{font-size:1rem;font-weight:600}
.bfi-hero-k{letter-spacing:.06em}
.bfi-hero-s{margin:0;font-size:.82rem;color:#C7D4E0}
.bfi-hero .bfi-assume{font-size:.76rem;color:#93A6B8;margin-top:6px}
.bfi-hero .bfi-disc{font-size:.7rem}
.bfi-hero .bfi-btn.is-soft{margin-top:12px;background:#FFC928!important;border-color:#FFC928!important;color:#0B2437!important}
.bfi-main{padding:14px 0 2px}
.bfi-adv{border-top:1px solid #EEF1F4;border-bottom:1px solid #EEF1F4;margin:4px 0 0}
.bfi-adv>summary{cursor:pointer;list-style:none;min-height:46px;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:.9rem;color:#0B2437}
.bfi-adv>summary::-webkit-details-marker{display:none}
.bfi-adv>summary::after{content:'+';font-size:1.25rem;font-weight:500;color:#5B6B7C}
.bfi-adv[open]>summary::after{content:'\2013'}
.bfi-adv-b{padding:2px 0 8px}
.bfi-money.is-pct input{padding-left:12px!important}
.bfi-money.is-pct span{padding:0 12px 0 0;white-space:nowrap}
.bfi-cta{display:grid;gap:8px;padding:14px 0 6px}
.bfi-sheet .bfi-btn:not(.is-primary):not(.is-soft),.bfi-inline .bfi-btn:not(.is-primary):not(.is-soft){border-color:#C9D2DC;font-weight:600}
.bfi-textlink{background:none;border:0;padding:6px 0;font:inherit;font-size:.86rem;font-weight:600;color:#115DAE;text-decoration:underline;text-underline-offset:3px;cursor:pointer;justify-self:center}
.bfi-textlink.is-inline{padding:0;font-size:inherit;justify-self:auto}
.bfi-ins{margin-top:8px;padding:12px 14px;border-radius:14px;background:#F6F8FA}
.bfi-ins-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-weight:700;font-size:.86rem;color:#0B2437}
.bfi-ins .bfi-insv{margin:4px 0 0}
.bfi-ins .bfi-insv b{font-size:1rem}
.bfi-ins .bfi-textlink{justify-self:auto;display:inline-block;padding-bottom:0}
.bfi-preview{margin-top:8px}
.bfi-preview summary{cursor:pointer;font-weight:600;color:#33475B}
.bfi-preview pre{white-space:pre-wrap;font-size:.74rem;background:#fff;border:1px solid #E1E6EC;border-radius:10px;padding:10px;margin:6px 0 0;color:#0B2437}
/* inline (boat details) */
.bfi-inline{box-sizing:border-box;margin:16px 0 4px;padding:16px;border:1px solid #E1E6EC;border-radius:18px;background:#fff;color:#0B2437;font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;line-height:1.45;text-align:left}
.bfi-inline *,.bfi-inline *::before,.bfi-inline *::after{box-sizing:border-box}
.bfi-inline-h{margin:0 0 10px;font:700 1rem/1.3 'Plus Jakarta Sans','Manrope',system-ui,sans-serif;color:#0B2437}
.bfi-inline p.bfi-hero-v{font-size:clamp(1.45rem,6.6vw,2rem)!important;line-height:1.1!important;white-space:nowrap}
.bfi-inline .bfi-money input{flex:1;min-width:0;width:100%;border:0!important;box-shadow:none!important;outline:none!important;margin:0!important;height:auto!important;min-height:44px;background:transparent!important;border-radius:0!important;padding:10px 12px 10px 6px;font:inherit;font-size:16px;color:#0B2437}
.bfi-inline .bfi-in{display:block;width:100%;min-height:44px;border:1.5px solid #D5DCE4!important;border-radius:12px!important;padding:9px 12px!important;margin:0!important;font:inherit;font-size:16px;color:#0B2437;background:#fff!important;box-shadow:none!important;height:auto!important}
.bfi-inline .bfi-chip{min-height:32px;padding:4px 12px;border-radius:999px;border:1px solid #D5DCE4!important;background:#fff!important;color:#33475B!important;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}
.bfi-inline .bfi-chip[aria-pressed="true"]{background:#E5EFF8!important;border-color:#115DAE!important;color:#0B2437!important}
.bfi-inline .bfi-seg-b{min-height:44px;border-radius:999px;border:1.5px solid #C9D2DC!important;background:#fff!important;color:#0B2437!important;font:inherit;font-weight:600;font-size:.92rem;cursor:pointer}
.bfi-inline .bfi-seg-b[aria-pressed="true"]{background:#0B2437!important;border-color:#0B2437!important;color:#fff!important}
.bfi-inline .bfi-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:10px 16px;border-radius:999px;border:1.5px solid #0B2437;background:transparent;color:#0B2437;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer}
.bfi-inline .bfi-btn.is-primary{background:#0B2437;color:#fff}
.bfi-inline .bfi-btn[disabled]{opacity:.45;cursor:not-allowed}
.bfi-inline select:disabled{opacity:1;color:#0B2437;background:#F7F8FA}
.bfi-inline .bfi-hint,.bfi-inline .bfi-more{font-size:.78rem}
.bfi-fine{padding:10px 0 0}
.bfi-fine .bfi-assume{margin:0 0 6px;font-size:.76rem;color:#4F5D6E}
.bfi-fine .bfi-disc{margin:0;font-size:.72rem;line-height:1.4;color:#6B7A8A}
.bfi-fine .bfi-disc b{color:#33475B}
.bfi-hero .bfi-note{margin-top:10px}

/* v4b: deposit % dropdown (replaces chips, which overflowed on iPhone) */
.bfi-deprow{display:flex;gap:8px;align-items:stretch}
.bfi-deprow .bfi-money{flex:1 1 auto;min-width:0}
.bfi-f .bfi-deprow select{flex:0 0 112px;width:112px}
/* v4b: insurance section, same pattern as finance */
.bfi-sheet .bfi-ins,.bfi-inline .bfi-ins{margin-top:18px;padding:16px 0 0;border-radius:0;background:transparent;border-top:1px solid #EEF1F4;display:grid;gap:10px}
.bfi-ins-title{margin:0;font:700 1.05rem/1.3 'Plus Jakarta Sans','Manrope',system-ui,sans-serif;color:#0B2437}
.bfi-ins .bfi-adv{margin:0}
.bfi-ins .bfi-fine{padding:0}
.bfi-ins .bfi-btn{text-decoration:none}
.bfi-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
