/* FBB Listings — override these variables in your theme / Elementor custom CSS */
.fbb{--fbb-primary:#0b3d6b;--fbb-accent:#e8772e;--fbb-ink:#1f2933;--fbb-muted:#6b7280;--fbb-line:#e5e7eb;--fbb-bg:#ffffff;--fbb-soft:#f4f6f8;--fbb-ok:#1a7f4b;--fbb-warn:#b45309;--fbb-err:#b91c1c;--fbb-radius:10px;color:var(--fbb-ink);font-size:16px;line-height:1.5}
.fbb *,.fbb *::before,.fbb *::after{box-sizing:border-box}
.fbb h2,.fbb h3{margin:0 0 .5em;line-height:1.2;color:var(--fbb-primary)}
.fbb-lead{font-size:1.05em;color:var(--fbb-muted);margin:0 0 1.25em}
.fbb-small{font-size:.875em;color:var(--fbb-muted)}
.fbb-h3{margin-top:2em}
.fbb-link{color:var(--fbb-primary);text-decoration:underline}
/* Buttons. Selectors are deliberately specific so theme/Elementor kit link colors (a, a:hover) never bleed in. */
.fbb .fbb-btn,.fbb a.fbb-btn,.fbb button.fbb-btn,.fbb a.fbb-btn:visited{display:inline-block;background:var(--fbb-accent);color:#fff;border:2px solid var(--fbb-accent);padding:.6em 1.2em;border-radius:6px;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.2;font-size:1em;font-family:inherit;transition:background .15s,color .15s,border-color .15s}
.fbb .fbb-btn:hover,.fbb a.fbb-btn:hover,.fbb button.fbb-btn:hover,.fbb .fbb-btn:focus,.fbb a.fbb-btn:focus,.fbb button.fbb-btn:focus,.fbb .fbb-btn:active,.fbb a.fbb-btn:active{background:color-mix(in srgb,var(--fbb-accent) 85%,#000);border-color:color-mix(in srgb,var(--fbb-accent) 85%,#000);color:#fff;text-decoration:none}
.fbb .fbb-btn.fbb-btn--ghost,.fbb a.fbb-btn.fbb-btn--ghost,.fbb button.fbb-btn.fbb-btn--ghost,.fbb a.fbb-btn.fbb-btn--ghost:visited{background:transparent;color:var(--fbb-primary);border-color:var(--fbb-primary)}
.fbb .fbb-btn.fbb-btn--ghost:hover,.fbb a.fbb-btn.fbb-btn--ghost:hover,.fbb button.fbb-btn.fbb-btn--ghost:hover,.fbb .fbb-btn.fbb-btn--ghost:focus,.fbb a.fbb-btn.fbb-btn--ghost:focus{background:var(--fbb-primary);border-color:var(--fbb-primary);color:#fff}
@supports not (color:color-mix(in srgb,#000 50%,#fff)){.fbb .fbb-btn:hover,.fbb a.fbb-btn:hover,.fbb button.fbb-btn:hover{filter:brightness(.9)}}
.fbb .fbb-btn:disabled,.fbb button.fbb-btn:disabled{opacity:.6;cursor:not-allowed}
.fbb-btn--sm{padding:.45em .9em;font-size:.9em}
.fbb-notice{padding:.9em 1.1em;border-radius:6px;margin:0 0 1.2em;border:1px solid var(--fbb-line);background:var(--fbb-soft)}
.fbb-notice--ok{border-color:var(--fbb-ok);background:#ecfdf3}
.fbb-notice--warn{border-color:var(--fbb-warn);background:#fff7ed}
.fbb-notice--err{border-color:var(--fbb-err);background:#fef2f2}
.fbb-empty{padding:1.5em;border:1px dashed var(--fbb-line);border-radius:var(--fbb-radius);color:var(--fbb-muted);text-align:center}

/* filters */
.fbb-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6em;margin:0 0 1.2em;padding:1em;background:var(--fbb-soft);border-radius:var(--fbb-radius)}
.fbb-filters input,.fbb-filters select{width:100%;padding:.6em .7em;border:1px solid var(--fbb-line);border-radius:6px;background:#fff;font-size:.95em}
.fbb-count{color:var(--fbb-muted);margin:0 0 .8em}
.fbb-pager{display:flex;gap:.4em;margin-top:1.5em;flex-wrap:wrap}
.fbb-pager a{padding:.4em .8em;border:1px solid var(--fbb-line);border-radius:6px;text-decoration:none;color:var(--fbb-primary)}
.fbb-pager a.is-current{background:var(--fbb-primary);color:#fff;border-color:var(--fbb-primary)}

/* cards */
.fbb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25em}
.fbb-card{border:1px solid var(--fbb-line);border-radius:var(--fbb-radius);overflow:hidden;background:var(--fbb-bg);display:flex;flex-direction:column;transition:box-shadow .15s}
.fbb-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08)}
.fbb-card--featured{border-color:var(--fbb-accent);box-shadow:0 0 0 2px rgba(232,119,46,.15)}
.fbb-card__media{position:relative;display:block;aspect-ratio:4/3;background:var(--fbb-soft)}
.fbb-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.fbb-card__noimg{display:flex;align-items:center;justify-content:center;height:100%;color:var(--fbb-muted)}
.fbb-card__noimg--lg{aspect-ratio:16/7;border-radius:var(--fbb-radius);background:var(--fbb-soft)}
.fbb-badge{position:absolute;top:.6em;left:.6em;background:var(--fbb-primary);color:#fff;font-size:.75em;font-weight:700;padding:.3em .6em;border-radius:4px;letter-spacing:.02em;text-transform:uppercase}
.fbb-badge--featured{left:auto;right:.6em;background:var(--fbb-accent)}
.fbb-badge--muted{background:var(--fbb-muted)}
.fbb-single .fbb-badge{position:static;display:inline-block;margin-right:.4em}
.fbb-card__body{padding:.9em 1em 1em;display:flex;flex-direction:column;gap:.25em}
.fbb-card__price{font-size:1.35em;font-weight:700;color:var(--fbb-primary)}
.fbb-card__price small,.fbb-single__price small{font-size:.55em;font-weight:500;color:var(--fbb-muted)}
.fbb-card__title{font-size:1.05em;margin:0}
.fbb-card__title a{color:var(--fbb-ink);text-decoration:none}
.fbb-card__loc{color:var(--fbb-muted);font-size:.92em}
.fbb-specs{list-style:none;margin:.4em 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.3em .9em;font-size:.9em;color:var(--fbb-muted)}
.fbb-specs strong{color:var(--fbb-ink)}
.fbb-specs--lg{font-size:1em;margin:1em 0}
.fbb-card__demand{margin-top:.5em;font-size:.85em;color:var(--fbb-ok);font-weight:600}
.fbb-matchline{margin-top:.6em;display:flex;flex-direction:column;gap:.4em}
.fbb-score{display:inline-block;font-size:.8em;font-weight:700;padding:.25em .6em;border-radius:999px;background:var(--fbb-soft);color:var(--fbb-primary)}
.fbb-score--strong-match{background:#ecfdf3;color:var(--fbb-ok)}
.fbb-score--good-match{background:#eff6ff;color:var(--fbb-primary)}
.fbb-flags{display:flex;gap:.4em;flex-wrap:wrap}
.fbb-flag{font-size:.8em;padding:.3em .6em;border:1px solid var(--fbb-line);background:#fff;border-radius:999px;cursor:pointer;color:var(--fbb-muted)}
.fbb-flag.is-on{background:var(--fbb-primary);color:#fff;border-color:var(--fbb-primary)}

/* single */
.fbb-single{max-width:1180px;margin:0 auto;padding:1em 16px 3em}
.fbb-single__gallery{position:relative;border-radius:var(--fbb-radius);overflow:hidden;background:#111;margin-bottom:1.5em}
.fbb-single__gallery figure{margin:0;display:none;aspect-ratio:16/9;background:#111}
.fbb-single__gallery figure.is-active{display:block}
.fbb-single__gallery img{width:100%;height:100%;object-fit:contain;display:block}
.fbb-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.9);border:0;width:44px;height:44px;border-radius:50%;font-size:1.6em;cursor:pointer;line-height:1}
.fbb-gallery__prev{left:.8em}.fbb-gallery__next{right:.8em}
.fbb-gallery__count{position:absolute;bottom:.8em;right:.9em;background:rgba(0,0,0,.6);color:#fff;font-size:.8em;padding:.25em .6em;border-radius:4px}
.fbb-single__layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:2em}
.fbb-single__head{display:flex;justify-content:space-between;gap:1em;align-items:flex-start;flex-wrap:wrap}
.fbb-single__head h1{margin:.3em 0 .1em;font-size:1.8em;color:var(--fbb-ink)}
.fbb-single__loc{color:var(--fbb-muted);margin:0}
.fbb-single__price{font-size:2em;font-weight:800;color:var(--fbb-primary);white-space:nowrap}
.fbb-single__desc{margin:1em 0}
.fbb-single__meta{border-top:1px solid var(--fbb-line);padding-top:1em;color:var(--fbb-muted);font-size:.95em}
.fbb-single__side>*{margin-bottom:1.2em}
.fbb-demand{background:#ecfdf3;border:1px solid var(--fbb-ok);border-radius:var(--fbb-radius);padding:1em;color:var(--fbb-ok)}
.fbb-demand strong{font-size:1.6em;display:block;line-height:1}
.fbb-inquiry{background:var(--fbb-soft);border-radius:var(--fbb-radius);padding:1.2em}
.fbb-inquiry h3{margin-top:0}
.fbb-inquiry__form input,.fbb-inquiry__form textarea{width:100%;padding:.65em .75em;border:1px solid var(--fbb-line);border-radius:6px;margin-bottom:.6em;font:inherit}
.fbb-hp{position:absolute;left:-9999px;opacity:0;height:0}
.fbb-ownerbox{display:flex;gap:.5em;flex-wrap:wrap}

/* forms */
.fbb-form-wrap{max-width:860px}
.fbb-form fieldset{border:1px solid var(--fbb-line);border-radius:var(--fbb-radius);padding:1.2em 1.4em 1.4em;margin:0 0 1.4em}
.fbb-form legend{font-weight:700;color:var(--fbb-primary);padding:0 .4em}
.fbb-form label{display:block;font-weight:600;font-size:.9em;margin-bottom:.8em}
.fbb-form label input:not([type=checkbox]):not([type=radio]),.fbb-form label select,.fbb-form label textarea,.fbb-form>label>input{display:block;width:100%;margin-top:.3em;padding:.65em .75em;border:1px solid var(--fbb-line);border-radius:6px;font:inherit;font-weight:400;background:#fff}
.fbb-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 1.2em}
.fbb-row{display:flex;gap:1.2em;flex-wrap:wrap;margin-bottom:.8em}
.fbb-radio,.fbb-check{font-weight:500;display:flex;align-items:flex-start;gap:.5em;margin-bottom:.5em}
.fbb-radio input,.fbb-check input{margin-top:.3em}
.fbb-check--agreement{background:var(--fbb-soft);padding:1em;border-radius:6px;font-size:.92em}
.fbb-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.2em .8em;margin-bottom:1em}
.fbb-checks--counties{max-height:220px;overflow:auto;border:1px solid var(--fbb-line);border-radius:6px;padding:.6em}
.fbb-label{font-weight:600;font-size:.9em;margin:.4em 0}
.fbb-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8em;margin-top:.5em}
.fbb-tier{border:2px solid var(--fbb-line);border-radius:var(--fbb-radius);padding:1em;cursor:pointer;display:flex;flex-direction:column;gap:.2em;font-weight:400}
.fbb-tier:has(input:checked){border-color:var(--fbb-accent);background:#fff7ed}
.fbb-tier input{position:absolute;opacity:0}
.fbb-tier__name{font-weight:700;color:var(--fbb-primary)}
.fbb-tier__price{font-size:1.5em;font-weight:800}
.fbb-tier__desc{font-size:.85em;color:var(--fbb-muted)}
.fbb-tier[hidden]{display:none}
.fbb-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6em;margin-bottom:.8em}
.fbb-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block}
.fbb-photo span{font-size:.8em;font-weight:400}
.fbb-actions{display:flex;gap:.6em;flex-wrap:wrap;margin-top:.5em}
.fbb-inline{display:inline-flex;gap:.4em;align-items:center}
.fbb-inline select{padding:.5em;border:1px solid var(--fbb-line);border-radius:6px}

/* dashboard */
.fbb-dash__head{display:flex;justify-content:space-between;align-items:center;gap:1em;flex-wrap:wrap;margin-bottom:1em}
.fbb-dash__item{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:1.2em;align-items:center;border:1px solid var(--fbb-line);border-radius:var(--fbb-radius);padding:1em;margin-bottom:1em;background:var(--fbb-bg)}
.fbb-dash__thumb{aspect-ratio:4/3;background:var(--fbb-soft);border-radius:6px;overflow:hidden}
.fbb-dash__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.fbb-dash__info h3{font-size:1.1em;margin:0 0 .2em}
.fbb-dash__info h3 a{color:var(--fbb-ink);text-decoration:none}
.fbb-dash__info p{margin:0 0 .2em;font-size:.95em}
.fbb-dash__demand{color:var(--fbb-ok)}
.fbb-dash__actions{display:flex;flex-direction:column;gap:.5em;align-items:stretch;min-width:190px}
.fbb-dash__actions form{margin:0}
.fbb-dash__actions .fbb-btn{text-align:center;width:100%}
.fbb-pill{display:inline-block;font-size:.78em;font-weight:700;padding:.2em .6em;border-radius:999px;background:var(--fbb-soft);color:var(--fbb-muted)}
.fbb-pill--active,.fbb-pill--approved{background:#ecfdf3;color:var(--fbb-ok)}
.fbb-pill--pending_payment,.fbb-pill--pending_review,.fbb-pill--pending{background:#fff7ed;color:var(--fbb-warn)}
.fbb-pill--expired,.fbb-pill--withdrawn,.fbb-pill--rejected,.fbb-pill--inactive{background:#fef2f2;color:var(--fbb-err)}
.fbb-pill--intro{background:#eff6ff;color:var(--fbb-primary)}
.fbb-table{width:100%;border-collapse:collapse;font-size:.92em}
.fbb-table th,.fbb-table td{text-align:left;padding:.6em .5em;border-bottom:1px solid var(--fbb-line)}
.fbb-details{margin-top:2em;border:1px solid var(--fbb-line);border-radius:var(--fbb-radius);padding:1em}
.fbb-details summary{font-weight:700;color:var(--fbb-primary);cursor:pointer}
.fbb-details form{margin-top:1em}

/* reverse prospecting cards */
.fbb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.2em;margin-top:1.2em}
.fbb-pcard{border:1px solid var(--fbb-line);border-left:5px solid var(--fbb-muted);border-radius:var(--fbb-radius);padding:1.1em 1.2em;background:var(--fbb-bg);display:flex;flex-direction:column;gap:.6em}
.fbb-pcard--strong-match{border-left-color:var(--fbb-ok)}
.fbb-pcard--good-match{border-left-color:var(--fbb-primary)}
.fbb-pcard__top{display:flex;justify-content:space-between;align-items:center;gap:.5em}
.fbb-pcard__ref{font-family:ui-monospace,Menlo,monospace;font-weight:700;color:var(--fbb-primary)}
.fbb-pcard__dl{display:grid;grid-template-columns:auto 1fr;gap:.25em .8em;margin:0;font-size:.92em}
.fbb-pcard__dl dt{color:var(--fbb-muted);font-weight:600}
.fbb-pcard__dl dd{margin:0}
.fbb-reasons{margin:0;padding-left:1.1em;font-size:.85em;color:var(--fbb-muted)}
.fbb-interest{margin:0;font-weight:600;color:var(--fbb-accent)}
.fbb-pcard__act{margin-top:auto;padding-top:.4em}
.fbb-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}
.fbb-modal[hidden]{display:none}
.fbb-modal__box{background:#fff;border-radius:var(--fbb-radius);padding:1.5em;max-width:520px;width:100%}
.fbb-modal__box textarea{width:100%;padding:.7em;border:1px solid var(--fbb-line);border-radius:6px;font:inherit;margin-bottom:.8em}
.fbb-modal__err{color:var(--fbb-err);margin:.6em 0 0}

/* gate & pricing */
.fbb-gate__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2em}
.fbb-gate__col{border:1px solid var(--fbb-line);border-radius:var(--fbb-radius);padding:1.4em}
.fbb-gate .login-form input[type=text],.fbb-gate .login-form input[type=password]{width:100%;padding:.65em;border:1px solid var(--fbb-line);border-radius:6px}
.fbb-gate .login-form p{margin-bottom:.8em}
.fbb-gate .login-form .button-primary{background:var(--fbb-accent);color:#fff;border:0;padding:.7em 1.2em;border-radius:6px;font-weight:600;cursor:pointer}
.fbb-gate .login-form .button-primary:hover,.fbb-gate .login-form .button-primary:focus{background:color-mix(in srgb,var(--fbb-accent) 85%,#000);color:#fff}
.fbb-pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2em}
.fbb-pricing__card{border:1px solid var(--fbb-line);border-radius:var(--fbb-radius);padding:1.5em;text-align:center}
.fbb-pricing__card.is-highlight{border-color:var(--fbb-accent);box-shadow:0 8px 24px rgba(232,119,46,.15)}
.fbb-pricing__price{font-size:2.2em;font-weight:800;color:var(--fbb-primary);margin:.2em 0}
.fbb-pricing__price small{font-size:.4em;color:var(--fbb-muted);font-weight:500}

@media (max-width:760px){
  .fbb-single__layout{grid-template-columns:1fr}
  .fbb-dash__item{grid-template-columns:1fr}
  .fbb-dash__thumb{max-width:220px}
  .fbb-single__price{font-size:1.6em}
}

/* partials used inside page builders */
.fbb-part{display:block}
.fbb-part--badges .fbb-badge{position:static;display:inline-block;margin:0 .4em .4em 0}
.fbb-part__title{margin:.2em 0 .1em;font-size:1.8em;color:var(--fbb-ink);line-height:1.15}
.fbb-part--price .fbb-single__price{line-height:1.1}

/* 1.1.0: features, fees, MLS, disclosures, quick filters */
.fbb-filters__quick{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.3em 1.2em;font-size:.9em}
.fbb-filters__quick .fbb-check{display:inline-flex;align-items:center;gap:.35em;font-weight:500}
.fbb-features{margin:1.4em 0}
.fbb-features h3{margin:0 0 .5em;font-size:1.1em}
.fbb-features__group{display:grid;grid-template-columns:150px 1fr;gap:.4em 1em;align-items:start;padding:.5em 0;border-top:1px solid var(--fbb-line)}
.fbb-features__label{font-size:.85em;font-weight:600;color:var(--fbb-muted);text-transform:uppercase;letter-spacing:.04em}
.fbb-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4em}
.fbb-chips li{background:var(--fbb-soft);border:1px solid var(--fbb-line);border-radius:999px;padding:.25em .8em;font-size:.88em}
.fbb-specs__mls{color:var(--fbb-muted)}
.fbb-card__half{font-size:.8em;margin-left:.15em;color:var(--fbb-muted)}
.fbb-mls__notice{color:var(--fbb-muted);font-style:italic}
.fbb-condo{margin:.6em 0 1em;padding:.8em 1em;border:1px dashed var(--fbb-line);border-radius:6px}
.fbb-feature-group{margin:.6em 0}
.fbb-feature-group>.fbb-label{margin-top:0}
.fbb-agree{background:var(--fbb-soft);padding:1em;border-radius:6px;font-size:.92em;margin:0 0 .8em}
.fbb-btn--sm{padding:.45em .9em;font-size:.88em}
@media (max-width:600px){.fbb-features__group{grid-template-columns:1fr}}
.fbb-contact__prompt{display:block;font-size:.88em;color:var(--fbb-muted);margin-top:.2em}

/* 1.2.0: register landing */
.fbb-register__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2em;margin:0 0 1.2em}
.fbb-register__card{background:var(--fbb-bg);border:1px solid var(--fbb-line);border-radius:var(--fbb-radius);padding:1.6em;display:flex;flex-direction:column;gap:.6em}
.fbb-register__card.is-highlight{border-color:var(--fbb-accent);box-shadow:0 8px 24px rgba(232,119,46,.15)}
.fbb-register__card h3{margin:0;font-size:1.35em}
.fbb-register__card p{margin:0;color:var(--fbb-ink)}
.fbb-register__card .fbb-btn{margin-top:auto;text-align:center}
.fbb-register__eyebrow{font-size:.78em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fbb-accent)}
.fbb-register__list{margin:0 0 .6em;padding-left:1.1em;color:var(--fbb-muted);font-size:.92em}
.fbb-register__list li{margin:.2em 0}
.fbb-register__foot{margin-top:.5em}
