/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.1
Description: BIA Chiropractic child theme — 2026 modernization layer.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
template: bb-theme
*/

/* ==========================================================================
   BIA Chiropractic modernization layer (test site) — dependent media 2026
   Palette + type set via Customizer mods; this file handles polish/details.
   ========================================================================== */

:root {
	--bia-primary: #1a73b7;
	--bia-primary-dark: #135a94;
	--bia-ink: #0f2b46;
	--bia-body: #42566b;
	--bia-soft: #f4f8fb;
	--bia-radius: 12px;
	--bia-shadow: 0 10px 30px -12px rgba(15, 43, 70, 0.25);
}

/* --- Typography polish ------------------------------------------------- */

h1, h2, h3, h4,
.fl-module-heading .fl-heading {
	letter-spacing: -0.02em;
	font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif;
}

body, .fl-builder-content .fl-module-rich-text {
	font-family: "Inter", "Segoe UI", sans-serif;
	-webkit-font-smoothing: antialiased;
}

p { margin-bottom: 1.25em; }

a { transition: color 0.2s ease; }

/* --- Buttons ------------------------------------------------------------ */

.fl-button,
a.fl-button,
.fl-builder-content a.fl-button,
input[type="submit"],
button[type="submit"],
.nf-form-cont input[type="button"] {
	background: var(--bia-primary) !important;
	border: none !important;
	border-radius: 999px !important;
	color: #fff !important;
	font-family: "Inter", sans-serif !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em;
	padding: 14px 32px !important;
	text-transform: none !important;
	box-shadow: 0 4px 14px -4px rgba(26, 115, 183, 0.5);
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.2s ease;
}

.fl-button:hover,
a.fl-button:hover,
input[type="submit"]:hover,
.nf-form-cont input[type="button"]:hover {
	background: var(--bia-primary-dark) !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px -6px rgba(26, 115, 183, 0.55);
}

.fl-button * { color: #fff !important; }

/* --- Header / navigation ------------------------------------------------ */

header.fl-builder-content {
	box-shadow: 0 1px 0 rgba(15, 43, 70, 0.08);
}

header .fl-menu a,
header .menu-item a {
	font-family: "Inter", sans-serif !important;
	font-weight: 500 !important;
	font-size: 15px !important;
	letter-spacing: 0.01em;
	color: var(--bia-ink) !important;
	transition: color 0.2s ease;
}

header .fl-menu a:hover,
header .menu-item a:hover,
header .current-menu-item > a {
	color: var(--bia-primary) !important;
}

header .fl-menu .sub-menu {
	border-radius: 10px;
	box-shadow: var(--bia-shadow);
	border: 1px solid rgba(15, 43, 70, 0.06);
	overflow: hidden;
}

/* --- Imagery & cards ---------------------------------------------------- */

.fl-photo-content,
.fl-photo img,
.fl-rich-text img,
.wp-block-image img {
	border-radius: var(--bia-radius);
}

.fl-callout {
	background: #fff;
	border: 1px solid rgba(15, 43, 70, 0.08);
	border-radius: var(--bia-radius);
	padding: 28px;
	box-shadow: 0 6px 20px -12px rgba(15, 43, 70, 0.18);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	height: 100%;
}

.fl-callout:hover {
	transform: translateY(-4px);
	box-shadow: var(--bia-shadow);
}

/* --- Section rhythm ----------------------------------------------------- */

.fl-row-content-wrap { scroll-margin-top: 90px; }

.fl-row-bg-color .fl-row-content-wrap {
	/* soften harsh legacy solid-color bands */
	background-image: linear-gradient(rgba(255, 255, 255, 0.03), rgba(15, 43, 70, 0.03));
}

/* --- Forms (Ninja Forms) ------------------------------------------------- */

.nf-form-cont input[type="text"],
.nf-form-cont input[type="email"],
.nf-form-cont input[type="tel"],
.nf-form-cont textarea,
.fl-builder-content input[type="text"],
.fl-builder-content input[type="email"],
.fl-builder-content textarea {
	border: 1px solid rgba(15, 43, 70, 0.18);
	border-radius: 8px;
	padding: 12px 14px;
	font-family: "Inter", sans-serif;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.nf-form-cont input:focus,
.fl-builder-content input:focus,
.fl-builder-content textarea:focus {
	border-color: var(--bia-primary);
	box-shadow: 0 0 0 3px rgba(26, 115, 183, 0.15);
	outline: none;
}

/* --- Footer -------------------------------------------------------------- */

footer.fl-builder-content {
	border-top: 1px solid rgba(15, 43, 70, 0.08);
}

footer.fl-builder-content a { transition: color 0.2s ease; }
footer.fl-builder-content a:hover { color: var(--bia-primary) !important; }

/* --- Misc ---------------------------------------------------------------- */

::selection { background: rgba(26, 115, 183, 0.2); }

@media (max-width: 768px) {
	h1, .fl-module-heading h1.fl-heading { font-size: 34px !important; }
	h2, .fl-module-heading h2.fl-heading { font-size: 28px !important; }
}
