/* Buyer financing handout builder (realtor-flyer-builder.html). Loaded after blush.css. */
.fb-compliance{margin:0 0 18px}
.fb-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;align-items:start}
.fb-h{font-family:var(--serif);font-weight:400;font-size:1.3rem;color:#0F3D2E;margin:0 0 .5em;padding:0}
.fb-form fieldset{border:0;padding:0;margin:26px 0 0;min-width:0}
.fb-form .field-grid{margin-top:10px}
.emerald .fb-form .fld input{margin:0}
.fb-form input[type=file]{padding:8px 10px;font-size:.88rem;background:#fff}
.fb-types{display:grid;gap:10px}
.fb-type{display:flex;gap:12px;align-items:flex-start;border:1.5px solid #E8D8C4;border-radius:14px;padding:12px 14px;cursor:pointer;background:#FFFDF9;font-weight:400!important}
.fb-type input{margin-top:4px;accent-color:#0F3D2E;width:auto}
.fb-type strong{display:block;color:#0F3D2E;font-size:.98rem}
.fb-type small{display:block;color:#6b6257;font-size:.82rem}
.fb-type:has(input:checked){border-color:var(--gold);background:var(--blush);box-shadow:inset 3px 0 0 var(--gold)}
.fb-type:focus-within{outline:3px solid rgba(201,169,110,.45);outline-offset:2px}
.fb-property[hidden]{display:none}
.fb-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.fb-preview{position:sticky;top:20px}
.fb-preview-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 10px}
.fb-preview-head .eyebrow{margin:0}
.fb-size{font-size:.8rem;color:#6b6257}
.fl-scale{position:relative;overflow:hidden;width:100%;border-radius:6px;box-shadow:0 18px 40px rgba(10,42,32,.18)}
.fb-preview-note{margin-top:10px}

/* The flyer itself: fixed 8.5in x 11in canvas, scaled for preview by js/flyer.js */
.flyer{position:absolute;top:0;left:0;width:8.5in;height:11in;transform-origin:0 0;background:#FBF8F1;color:#2b2a27;font-family:'Lato',system-ui,sans-serif;font-size:13px;line-height:1.45;display:flex;flex-direction:column;overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact;overflow-wrap:anywhere}
.flyer p{margin:0}
.fl-head{position:relative;background:radial-gradient(700px 300px at 85% 10%,#1A5440 0%,#0F3D2E 55%,#0A2A20 100%);color:#E9E2D3;padding:.5in .6in .42in}
.fl-head::before{content:"";position:absolute;inset:12px;border:1px solid rgba(201,169,110,.45);pointer-events:none}
.fl-kicker{color:#C9A96E;text-transform:uppercase;letter-spacing:.28em;font-size:12px;font-weight:600}
.flyer .fl-title{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:46px;line-height:1.05;color:#FBF8F1;margin:.12in 0 .06in}
.fl-sub{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:21px;color:#F1CFC4}
.fl-addr{font-size:16px;color:#E9E2D3;margin-top:4px!important;letter-spacing:.02em}
.fl-sub:empty,.fl-addr:empty{display:none}
.fl-body{flex:1 1 auto;padding:.32in .6in .2in;min-height:0;overflow:hidden}
.fl-only{display:none}
.flyer[data-type=openhouse] .fl-oh,.flyer[data-type=preapproval] .fl-pa,.flyer[data-type=ftb] .fl-ftb{display:block}
.fl-photo{height:3.05in;border-radius:14px;overflow:hidden;border:4px solid #fff;box-shadow:0 0 0 1px #E8D8C4}
.fl-photo img{width:100%;height:100%;object-fit:cover;display:block}
.fl-photo-ph{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#F6E3DE 0%,#FBF1EE 50%,#EFE3CF 100%)}
.fl-photo-ph span{font-family:'Pinyon Script',cursive;font-size:54px;color:#8E4B57}
.fl-facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:.16in 0 0}
.fl-facts li{background:#0F3D2E;color:#FBF8F1;border-radius:999px;padding:6px 16px;font-weight:600;font-size:15px}
.fl-facts li:first-child{background:#C9A96E;color:#0A2A20}
.fl-box{margin-top:.18in;background:#fff;border:1px solid #EEDFD6;border-left:4px solid #C9A96E;border-radius:12px;padding:.16in .22in}
.flyer h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;color:#0F3D2E;font-size:20px;margin:0 0 6px}
.fl-box ul,.fl-checks{margin:0;padding:0;list-style:none}
.fl-box li,.fl-checks li{position:relative;padding-left:22px;margin:4px 0}
.fl-box li::before,.fl-checks li::before{content:"✓";position:absolute;left:0;color:#8A6D3B;font-weight:700}
.fl-lead{font-family:'Playfair Display',Georgia,serif;font-size:21px;color:#0F3D2E;line-height:1.3;margin-bottom:.18in!important}
.fl-checks li{font-size:15.5px;margin:10px 0;padding-left:26px}
.fl-checks strong{color:#0F3D2E}
.fl-steps{list-style:none;padding:0;margin:.26in 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;counter-reset:fs}
.fl-steps li{background:#fff;border:1px solid #EEDFD6;border-radius:12px;padding:12px 14px;counter-increment:fs}
.fl-steps li::before{content:counter(fs);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1.5px solid #D8B08C;color:#8E4B57;font-family:'Playfair Display',Georgia,serif;margin-bottom:6px}
.fl-steps strong{display:block;color:#0F3D2E;font-size:15px}
.fl-steps span{font-size:12.5px;color:#55524b}
.fl-tips{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;counter-reset:ft}
.fl-tips li{background:#fff;border:1px solid #EEDFD6;border-radius:12px;padding:12px 14px 12px 50px;position:relative;counter-increment:ft}
.fl-tips li::before{content:counter(ft);position:absolute;left:14px;top:12px;width:26px;height:26px;border-radius:50%;background:#F6E3DE;color:#8E4B57;display:grid;place-items:center;font-family:'Playfair Display',Georgia,serif;font-size:14px}
.fl-tips strong{display:block;color:#0F3D2E;font-size:14.5px;margin-bottom:2px}
.fl-tips span{font-size:12.5px;color:#55524b}
.fl-team{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #E8D8C4;background:#fff;margin:0}
.fl-person{display:flex;gap:14px;align-items:flex-start;padding:.2in .3in .2in .6in}
.fl-lo{border-left:1px solid #E8D8C4;padding:.2in .6in .2in .3in}
.fl-avatar{flex:0 0 1in;width:1in;height:1in;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 0 0 1.5px #D8B08C;background:#F6E3DE;display:grid;place-items:center}
.fl-avatar img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.fl-avatar span{font-family:'Playfair Display',Georgia,serif;font-size:30px;color:#8E4B57}
.fl-pinfo{min-width:0;font-size:11.5px;line-height:1.4;color:#3b3934}
.fl-role{text-transform:uppercase;letter-spacing:.18em;font-size:9.5px;font-weight:600;color:#8A6D3B}
.fl-name{font-family:'Playfair Display',Georgia,serif;font-size:19px;color:#0F3D2E;line-height:1.15;margin:2px 0 3px!important}
.fl-url{color:#1F6B52;font-weight:600}
.fl-logo{display:block;max-height:.42in;max-width:1.6in;margin-top:6px;object-fit:contain}
.fl-logo[hidden],.fl-avatar img[hidden],[hidden].fl-photo img{display:none}
.fl-foot{background:#0A2A20;color:#E9E2D3;font-size:9px;line-height:1.4;padding:.12in .6in;display:flex;gap:14px;align-items:center}
.fl-eho{display:inline-flex;gap:6px;align-items:center;white-space:nowrap;font-weight:600}
.fl-eho svg{width:22px;height:19px;color:#fff;flex:none}
.fl-placeholder{color:#a39a8f;font-style:italic}

@media (max-width:1000px){.fb-grid{grid-template-columns:1fr}.fb-preview{position:static}}
@media (max-width:600px){.fb-actions .btn{width:100%}}

/* Fill the page on the text-only flyer types */
.flyer[data-type=preapproval] .fl-pa,.flyer[data-type=ftb] .fl-ftb{display:flex;flex-direction:column;height:100%}
.fl-cta{margin-top:auto;background:#0F3D2E;color:#E9E2D3;border-radius:12px;padding:14px 18px;font-size:14.5px}
.fl-cta strong{color:#C9A96E;font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:18px;margin-right:6px}
.fl-pa .fl-lead,.fl-ftb .fl-lead{font-size:24px}
.fl-pa .fl-checks li{font-size:17px;margin:12px 0}
.fl-pa .fl-steps{margin:.3in 0 .25in}
.fl-pa .fl-steps strong{font-size:16px}.fl-pa .fl-steps span{font-size:13.5px}
.fl-ftb .fl-tips{gap:14px;margin-bottom:.25in}
.fl-ftb .fl-tips li{padding:14px 16px 14px 52px}
.fl-ftb .fl-tips strong{font-size:16px}.fl-ftb .fl-tips span{font-size:13.5px}

/* Override generic form.card field styles inside the builder */
.emerald .fb-form .fb-h{font-size:1.3rem;font-family:var(--serif);font-weight:400;color:#0F3D2E;margin:0 0 .5em}
.emerald .fb-form label.fb-type{display:flex;margin:0}
.emerald .fb-form .fb-type input[type=radio]{width:18px;height:18px;flex:0 0 18px;padding:0;margin:3px 0 0;border:0;box-shadow:none}

/* Print / Save as PDF: only the flyer, exactly one letter page */
@media print{
  @page{size:letter;margin:0}
  html,body{margin:0!important;padding:0!important;background:#fff!important;width:8.5in}
  body.flyer-page>*:not(main){display:none!important}
  body.flyer-page main>*:not(#builder){display:none!important}
  #builder,#builder>.container{padding:0!important;margin:0!important;max-width:none!important;width:8.5in}
  #builder .fb-compliance,.fb-form,.fb-preview-head,.fb-preview-note{display:none!important}
  .fb-grid{display:block!important}
  .fb-preview{position:static!important}
  .fl-scale{width:8.5in!important;height:11in!important;box-shadow:none!important;border-radius:0!important;overflow:hidden!important}
  .flyer{transform:none!important}
  .flyer a{color:inherit}
}

/* Lender-focused handout (RESPA 2026-10-23): LO band full width, agent as small text line */
.fl-price-line{font-size:14px;color:#E9E2D3;margin-top:4px!important;opacity:.9}
.fl-price-line[hidden]{display:none}
.fl-team-lo{display:block}
.fl-team-lo .fl-lo{border-left:0;padding:.2in .6in .12in;align-items:center}
.fl-links{margin-left:auto;text-align:right;font-size:12px;line-height:1.6}
.fl-links a{color:#0F3D2E;font-weight:600}
.fl-agent-line{padding:0 .6in .12in;font-size:9.5px;color:#6b6257;margin:0}
.fl-agent-label{text-transform:uppercase;letter-spacing:.12em;font-weight:600;font-size:8.5px}
.fl-box-alt{border-left-color:#8E4B57}
.fl-box p{font-size:13.5px}
.flyer[data-type=openhouse] .fl-oh{display:flex;flex-direction:column;height:100%}
.fl-oh .fl-lead{font-size:21px;margin-bottom:.12in!important}
.fl-oh .fl-box li{font-size:14.5px;margin:5px 0}
.fl-oh .fl-box{padding:.14in .24in;margin-top:.14in}
.fl-oh .fl-box p{font-size:14.5px}
.fl-oh .fl-steps{margin:.18in 0 .16in}
.fl-oh .fl-steps strong{font-size:16px}.fl-oh .fl-steps span{font-size:13.5px}
