:root {
  --fmb-tool-navy: var(--fmb-navy, #07182f);
  --fmb-tool-gold: var(--fmb-gold, #d4b678);
  --fmb-tool-gold-dark: var(--fmb-gold-dark, #a8823a);
  --fmb-tool-cream: var(--fmb-cream, #f8f6f1);
  --fmb-tool-white: var(--fmb-white, #fff);
  --fmb-tool-border: var(--fmb-border, #e4dfd5);
  --fmb-tool-text: var(--fmb-heading, #071426);
  --fmb-tool-muted: var(--fmb-body, #65738a);
  --fmb-tool-radius: 4px;
  --fmb-tool-font: var(--fmb-font-body, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

.fmb-tool-host,
.fmb-tool-host * { box-sizing: border-box; }
.fmb-tool-host { width: 100%; font-family: var(--fmb-tool-font); color: var(--fmb-tool-text); }
.fmb-tool-host__mount { width: 100%; }
.fmb-tool-placeholder { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px; border: 1px solid var(--fmb-tool-border); border-radius: var(--fmb-tool-radius); background: var(--fmb-tool-cream); }
.fmb-tool-placeholder strong { font-size: 1rem; }
.fmb-tool-placeholder span { color: var(--fmb-tool-gold-dark); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.fmb-tool-embed-body { margin: 0; padding: 20px; background: #fff; }
.fmb-tool-embed-shell { width: min(100%, 980px); margin: 0 auto; }

@media (max-width: 767px) {
  .fmb-tool-placeholder { align-items: flex-start; flex-direction: column; }
}

@media print {
  body.fmb-tool-printing > *:not(.fmb-tool-host):not(.fmb-tool-embed-shell) { display: none !important; }
  .fmb-tool-host { width: 100% !important; }
}


/* Shared calculator containment + mobile behavior. Individual modules own layout. */
.fmb-tool-host,
.fmb-tool-host__mount,
.fmb-tool-host .fmb-eft-tool,
.fmb-tool-host .fmb-checkup,
.fmb-tool-host .fmb-wsh-tool {
  min-width: 0;
  max-width: 100%;
}
.fmb-tool-host { overflow-x: clip; }
.fmb-tool-host button,
.fmb-tool-host input,
.fmb-tool-host select,
.fmb-tool-host textarea { max-width: 100%; }
.fmb-tool-host img,
.fmb-tool-host svg { max-width: 100%; }

/* Shared result-gate interaction standard across every bundled calculator. */
.fmb-eft-gate__submit,
.fmb-checkup #fmb-unlock-results,
.fmb-wsh-gate__submit {
  min-height: 52px;
  touch-action: manipulation;
}
.fmb-eft-gate__consent,
.fmb-checkup__optin,
.fmb-wsh-consent { cursor:pointer; }

@media (max-width: 767px) {
  .fmb-tool-host input[type="email"],
  .fmb-tool-host input[type="text"],
  .fmb-tool-host input[type="number"],
  .fmb-tool-host select,
  .fmb-tool-host textarea { font-size:16px; }
  .fmb-tool-host button { min-height:44px; }
}

/* Platform-wide tool interaction and print standards. */
.fmb-tool-host :where(button,a,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--fmb-tool-gold) 65%,#fff);outline-offset:2px}
.fmb-tool-host :where(button,[role="button"],a){-webkit-tap-highlight-color:transparent}
.fmb-tool-host :where(input,select,textarea):disabled{cursor:not-allowed;opacity:.68}
.fmb-tool-host .fmb-tool-print-brand{display:none}
@media print{
  .fmb-tool-host .fmb-tool-print-brand{display:flex!important;align-items:center;gap:12px;margin:0 0 18px;padding:0 0 13px;border-bottom:1px solid #d8dce2;color:#07182f}
  .fmb-tool-host .fmb-tool-print-brand img{display:block!important;height:36px!important;width:auto!important;max-width:150px!important;object-fit:contain}
  .fmb-tool-host .fmb-tool-print-brand>div{display:flex;flex-direction:column;gap:2px}
  .fmb-tool-host .fmb-tool-print-brand>div span{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#667085}
  .fmb-tool-host .fmb-tool-print-brand>div b{font-size:14px;color:#07182f}
}
