/*
Theme Name:  FBB Hello Child
Theme URI:   https://automatedintelligentsolutions.com
Description: Child theme of Hello Elementor for floridabuyerbroker.com. Carries the FBB design tokens (colors, type, spacing) as CSS variables that feed both Elementor global styles and the FBB Listings plugin UI, so one palette drives the whole site.
Author:      Automated Intelligent Solutions, Inc.
Author URI:  https://automatedintelligentsolutions.com
Template:    hello-elementor
Version:     1.0.2
License:     GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fbb-hello-child
*/

/* ------------------------------------------------------------------
   1. Design tokens
   Elementor Site Settings (imported from the FBB kit) define the
   global colors and fonts. These fallbacks keep the site coherent
   before the kit is imported, and Elementor's own variables win
   once it is.
------------------------------------------------------------------- */
:root {
	--fbb-navy:   #0b3d6b;
	--fbb-orange: #e8772e;
	--fbb-ink:    #17222e;
	--fbb-ink-2:  #4a5866;
	--fbb-mute:   #7a8794;
	--fbb-line:   #d9e0e7;
	--fbb-bg:     #f5f7f9;
	--fbb-white:  #ffffff;
	--fbb-green:  #1a7f4b;
	--fbb-green-bg:#e7f6ee;
	--fbb-radius: 10px;
	--fbb-shadow: 0 10px 30px rgba(11, 61, 107, .10);
	--fbb-font-display: "Bricolage Grotesque", "Manrope", system-ui, sans-serif;
	--fbb-font-body: "Manrope", "Segoe UI", system-ui, sans-serif;
}

/* Elementor globals (kit) override the raw tokens when present. */
body {
	--fbb-navy:   var(--e-global-color-primary, #0b3d6b);
	--fbb-orange: var(--e-global-color-accent, #e8772e);
	--fbb-ink:    var(--e-global-color-text, #17222e);
	--fbb-ink-2:  var(--e-global-color-secondary, #4a5866);
	background: var(--fbb-bg);
	color: var(--fbb-ink);
	font-family: var(--fbb-font-body);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, .fbb-display {
	font-family: var(--fbb-font-display);
	line-height: 1.1;
	letter-spacing: -.01em;
	text-wrap: balance;
	color: var(--fbb-ink);
}
h1 { font-weight: 800; }
h2, h3 { font-weight: 700; }

a { color: var(--fbb-navy); }

.fbb-eyebrow {
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--fbb-orange);
}

/* ------------------------------------------------------------------
   2. Feed the FBB Listings plugin from the same palette.
   The plugin scopes every rule to .fbb and reads these variables.
------------------------------------------------------------------- */
.fbb {
	--fbb-primary: var(--fbb-navy);
	--fbb-accent:  var(--fbb-orange);
	--fbb-ink:     var(--fbb-ink);
	--fbb-muted:   var(--fbb-mute);
	--fbb-line:    var(--fbb-line);
	--fbb-bg:      var(--fbb-white);
	--fbb-soft:    #eef2f6;
	--fbb-ok:      var(--fbb-green);
	--fbb-radius:  var(--fbb-radius);
	font-family: var(--fbb-font-body);
}
.fbb h2, .fbb h3, .fbb-card__price, .fbb-single__price, .fbb-tier__price, .fbb-pricing__price, .fbb-demand strong, .fbb-part__title {
	font-family: var(--fbb-font-display);
}
.fbb-card__price, .fbb-single__price, .fbb-pricing__price { font-weight: 800; }
.fbb-card { box-shadow: 0 1px 2px rgba(11, 61, 107, .04); }
.fbb-card:hover { box-shadow: var(--fbb-shadow); }
.fbb-btn { font-weight: 700; }
.fbb-pcard__ref { font-family: ui-monospace, Menlo, Consolas, monospace; }

/* Numbers line up in cards and dashboards */
.fbb-card__price, .fbb-single__price, .fbb-specs, .fbb-pcard__dl, .fbb-table { font-variant-numeric: tabular-nums; }

/* ------------------------------------------------------------------
   3. Site chrome helpers used by the Elementor templates
------------------------------------------------------------------- */
.fbb-logo { font-family: var(--fbb-font-display); font-weight: 800; font-size: 1.15rem; color: var(--fbb-navy); letter-spacing: -.01em; text-decoration: none; }
.fbb-logo span { color: var(--fbb-orange); }

.fbb-header { background: var(--fbb-white); border-bottom: 1px solid var(--fbb-line); }
.fbb-header .elementor-nav-menu a { font-weight: 600; font-size: .92rem; color: var(--fbb-ink-2); }
.fbb-header .elementor-nav-menu .current-menu-item > a { color: var(--fbb-navy); text-decoration: underline; text-underline-offset: 6px; }

.fbb-footer { background: var(--fbb-navy); color: #dbe6f1; }
.fbb-footer a { color: #ffffff; }
.fbb-footer .elementor-icon-list-text { color: #dbe6f1; }
.fbb-footer .fbb-contact { font-size: 15px; }
.fbb-footer .fbb-contact__prompt { color: #dbe6f1; }

/* "How it works" numbered steps: the number is the content, not decoration */
.fbb-step { background: var(--fbb-white); border: 1px solid var(--fbb-line); border-radius: 8px; }
.fbb-step .elementor-icon-box-title { font-family: var(--fbb-font-display); }
.fbb-step .fbb-step__n { font-family: var(--fbb-font-display); font-size: 2rem; font-weight: 800; color: var(--fbb-navy); line-height: 1; }

/* Hero */
.fbb-hero h1 { font-size: clamp(2rem, 4.5vw, 3.4rem); letter-spacing: -.02em; }
.fbb-hero .fbb-lead { font-size: 1.1rem; color: var(--fbb-ink-2); max-width: 62ch; }

/* Demand band on the home page */
.fbb-band { background: var(--fbb-navy); color: #ffffff; border-radius: 14px; }
.fbb-band h2, .fbb-band h3 { color: #ffffff; }
.fbb-band .fbb a.fbb-btn.fbb-btn--ghost, .fbb-band .fbb .fbb-btn--ghost { color: #ffffff; border-color: #ffffff; }
.fbb-band .fbb a.fbb-btn.fbb-btn--ghost:hover, .fbb-band .fbb .fbb-btn--ghost:hover { background: #ffffff; border-color: #ffffff; color: var(--fbb-navy); }
/* Solid plugin buttons: keep white text in every state, even where Elementor's kit sets link colors */
.fbb a.fbb-btn:not(.fbb-btn--ghost), .fbb a.fbb-btn:not(.fbb-btn--ghost):hover, .fbb a.fbb-btn:not(.fbb-btn--ghost):focus, .fbb a.fbb-btn:not(.fbb-btn--ghost):visited { color: #ffffff; }

/* Stat tile inside the navy band */
.fbb-stat { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 10px; padding: 18px 20px; color: #ffffff; }
.fbb-stat__n { font-family: var(--fbb-font-display); font-size: 44px; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.fbb-stat__l { color: #dbe6f1; }

/* Keep Hello's defaults from fighting the plugin forms */
.fbb-form input[type="text"], .fbb-form input[type="email"], .fbb-form input[type="tel"], .fbb-form input[type="number"], .fbb-form input[type="url"], .fbb-form input[type="password"], .fbb-form select, .fbb-form textarea {
	font-family: var(--fbb-font-body);
	border-radius: 6px;
}

/* Single listing composed in Theme Builder */
.fbb-single-page .fbb-part--gallery .fbb-single__gallery { margin-bottom: 0; }
.fbb-single-page .fbb-side > .fbb-part { margin-bottom: 1.2em; }

@media (max-width: 767px) {
	.fbb-hero h1 { font-size: 2rem; }
}
