/* Broker Link 2.0 — Brand Skin
 * Maps the locked palette onto the fulk_portal_ins theme's real markup.
 * Scoped to #FRONTEND (the theme's <html> id) so it stays on the front end.
 * Loaded last (footer) so it wins on source order over Bootstrap/working.css.
 */

/* ---- Base surfaces ----
 * Design: DARK app shell (body, sidebar, top nav) + LIGHT content area.
 * body/#body-container stay dark so any exposed shell edges match the chrome;
 * the content region (#live-area) is a light canvas holding light cards.
 */
#FRONTEND body {
	background-color: var(--bl-bg);
	color: var(--bl-text-body);
}
#FRONTEND a { color: var(--bl-primary); }
#FRONTEND a:hover, #FRONTEND a:focus { color: var(--bl-primary-hover); }

/* ---- App shell / layout containers ---- */
#FRONTEND #body-container { background-color: var(--bl-bg); }

/* Content canvas — light background + dark text for readability. */
#FRONTEND #live-area {
	background-color: var(--bl-content-bg);
	color: var(--bl-text-dark);
}
/* Tighter outer horizontal padding site-wide: the theme sets
 * `#body-container #live-area { padding: 9px }` (mobile) / `18px` (>=992px),
 * which leaves too much whitespace on the sides. Reduce the left/right padding
 * only (vertical is left untouched). Matches the theme selector specificity and
 * is scoped to #FRONTEND so it stays on the front end. */
#FRONTEND #body-container #live-area {
	padding-left: 6px;
	padding-right: 6px;
}
@media (min-width: 992px) {
	#FRONTEND #body-container #live-area {
		padding-left: 8px;
		padding-right: 8px;
	}
}
/* Dashboard home: the Tailwind card grid sits directly on the dark shell,
 * so the live-area background should be transparent there. */
#FRONTEND.page-template-page-homepage-php #live-area {
	background-color: transparent;
}
#FRONTEND #live-area h1, #FRONTEND #live-area h2, #FRONTEND #live-area h3,
#FRONTEND #live-area h4, #FRONTEND #live-area h5, #FRONTEND #live-area h6 {
	color: var(--bl-text-dark-strong);
}
/* Body/content copy on the light canvas. */
#FRONTEND #live-area p, #FRONTEND #live-area li,
#FRONTEND #live-area dd, #FRONTEND #live-area dt,
#FRONTEND #live-area td, #FRONTEND #live-area th,
#FRONTEND #live-area label,
#FRONTEND #live-area .text-object, #FRONTEND #live-area .content {
	color: var(--bl-text-dark);
}
#FRONTEND #live-area hr { border-top-color: var(--bl-border-light); }
#FRONTEND #live-area small,
#FRONTEND #live-area .text-muted { color: var(--bl-text-dark-muted); }
#FRONTEND #live-area a { color: var(--bl-primary-hover); }
#FRONTEND #live-area a:hover, #FRONTEND #live-area a:focus { color: var(--bl-primary); }

/* ---- Top navbar ---- */
#FRONTEND #main-nav.navbar {
	background-color: var(--bl-bg);
	border: 0;
	border-bottom: 1px solid var(--bl-border);
}
#FRONTEND #user-nav .nav > li > a,
#FRONTEND #main-nav .icon-link { color: var(--bl-text-nav); }
#FRONTEND #user-nav .nav > li > a:hover,
#FRONTEND #main-nav .icon-link:hover { color: var(--bl-text); }

/* ---- Left sidebar ---- */
#FRONTEND #side-nav-menu {
	background-color: var(--bl-bg);
	border-right: 1px solid var(--bl-border);
}
#FRONTEND #side-nav-menu .logo-container {
	border-bottom: 1px solid var(--bl-border-subtle);
}
#FRONTEND #side-nav-menu nav a {
	color: var(--bl-text-nav);
	border-left: 3px solid transparent;
}
#FRONTEND #side-nav-menu nav a i { color: var(--bl-text-nav); }
#FRONTEND #side-nav-menu nav a:hover,
#FRONTEND #side-nav-menu nav a:focus {
	color: var(--bl-text);
	background-color: var(--bl-bg-elevated);
}
/* active / selected item */
#FRONTEND #side-nav-menu nav .active > a,
#FRONTEND #side-nav-menu nav .current-menu-item > a,
#FRONTEND #side-nav-menu nav li.active a {
	color: var(--bl-text);
	background-color: var(--bl-bg-nav-active);
	border-left-color: var(--bl-primary);
}
#FRONTEND #side-nav-menu nav .active > a i,
#FRONTEND #side-nav-menu nav .current-menu-item > a i { color: var(--bl-primary); }
#FRONTEND #side-nav-menu .menu-footer a { color: var(--bl-text-muted); }
#FRONTEND #side-nav-menu .menu-footer a:hover { color: var(--bl-text); }

/* Pin Settings / Log Out to the BOTTOM of the sidebar.
 * The theme floats `.menu-footer` right under the last menu item via a fixed
 * `margin-top: 70px`. Instead, make the sidebar + its <nav> a full-height flex
 * column and push the footer down with `margin-top: auto`, so it always sits
 * at the bottom regardless of how many menu items there are.
 * Guarded to the desktop layout where `#side-nav-menu` fills the viewport
 * height; on mobile the sidebar is hidden (see theme base-layout).
 */
@media (min-width: 782px) {
	#FRONTEND #side-nav-menu {
		display: flex;
		flex-direction: column;
	}
	#FRONTEND #side-nav-menu nav {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		min-height: 0;
	}
	#FRONTEND #side-nav-menu nav .menu-footer {
		margin-top: auto;
	}
}

/* ---- Sidebar / mobile search bar (dark shell) ----
 * The theme styles this with the OLD teal palette (#08313d) and a white
 * placeholder that reads poorly, and the search button/icon can end up
 * invisible. Rebrand it to the dark shell: elevated neutral surface, readable
 * text, a clearly visible muted placeholder, gold focus ring, and a gold
 * magnifier icon positioned over the input's left padding.
 */
#FRONTEND #nav-search-bar input.form-control,
#FRONTEND #mobile-menu-nav #nav-search-bar input.form-control {
	background-color: var(--bl-bg-elevated);
	color: var(--bl-text-body);
	border: 1px solid var(--bl-border);
	border-radius: 0.375em;
	height: auto;
	/* keep room on the left for the magnifier icon */
	padding: 10px 12px 10px 40px;
}
#FRONTEND #nav-search-bar input.form-control:focus {
	border-color: var(--bl-primary);
	box-shadow: 0 0 0 2px rgba(234, 172, 59, 0.25);
	background-color: var(--bl-bg-elevated);
	color: var(--bl-text);
}
#FRONTEND #nav-search-bar input.form-control::placeholder {
	color: var(--bl-text-nav);
	opacity: 1;
}
/* Make the <form> the positioning context so the button offsets against the
 * input row, not the padded #nav-search-bar wrapper. */
#FRONTEND #nav-search-bar form {
	position: relative;
}
/* The magnifier button sits over the input's left padding. */
#FRONTEND #nav-search-bar button,
#FRONTEND #nav-search-bar button:hover,
#FRONTEND #nav-search-bar button:focus {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 40px;
	height: 40px;
	padding: 0;
	background: transparent;
	border: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--bl-primary);
}
#FRONTEND #nav-search-bar button i { color: var(--bl-primary); }
#FRONTEND #nav-search-bar button:hover i,
#FRONTEND #nav-search-bar button:focus i { color: var(--bl-primary-hover); }

/* ---- Buttons (Bootstrap 3) ---- */
#FRONTEND .btn-primary,
#FRONTEND .btn-primary:focus {
	background-color: var(--bl-primary);
	border-color: var(--bl-primary);
	color: var(--bl-text-on-gold);
}
#FRONTEND .btn-primary:hover,
#FRONTEND .btn-primary:active,
#FRONTEND .btn-primary.active {
	background-color: var(--bl-primary-hover);
	border-color: var(--bl-primary-hover);
	color: var(--bl-text-on-gold);
}
#FRONTEND .btn-default {
	background-color: var(--bl-bg-elevated);
	border-color: var(--bl-border);
	color: var(--bl-text);
}
#FRONTEND .btn-default:hover { border-color: var(--bl-primary); color: var(--bl-text); }
/* Default buttons inside the light content area: light surface, dark text. */
#FRONTEND #live-area .btn-default {
	background-color: var(--bl-surface);
	border-color: var(--bl-border-light);
	color: var(--bl-text-dark);
}
#FRONTEND #live-area .btn-default:hover,
#FRONTEND #live-area .btn-default:focus {
	background-color: var(--bl-surface-alt);
	border-color: var(--bl-primary);
	color: var(--bl-text-dark-strong);
}

/* ---- Badges & labels ---- */
#FRONTEND .badge, #FRONTEND .label {
	background-color: var(--bl-bg-elevated);
	color: var(--bl-text-nav);
}
#FRONTEND .badge-primary, #FRONTEND .label-primary,
#FRONTEND .badge.active, #FRONTEND .label.active {
	background-color: var(--bl-primary);
	color: var(--bl-text-on-gold);
}

/* ---- Forms ---- */
#FRONTEND #live-area .form-control {
	background-color: var(--bl-surface);
	border: 1px solid var(--bl-border-light);
	color: var(--bl-text-dark);
}
#FRONTEND #live-area .form-control:focus {
	border-color: var(--bl-primary);
	box-shadow: 0 0 0 2px rgba(234, 172, 59, 0.25);
}
#FRONTEND #live-area .form-control::placeholder { color: var(--bl-text-dark-muted); }

/* ---- Gravity Forms (light content area) ----
 * GF fields are NOT .form-control; the theme targets them via
 * .gform_wrapper ... li input/select/textarea and leaves them near-default
 * (no clear border/surface), with a legacy-orange (#f1812f) submit button and
 * orange checkbox/radio accents. Style them as proper light-surface inputs
 * with a gold focus ring and a brand-gold submit button.
 */
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield input[type="text"],
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield input[type="email"],
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield input[type="tel"],
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield input[type="url"],
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield input[type="number"],
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield input[type="password"],
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield input[type="date"],
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield select,
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield textarea {
	background-color: var(--bl-surface);
	border: 1px solid var(--bl-border-light);
	border-radius: 0.375em;
	color: var(--bl-text-dark);
	padding: 0.5em 0.625em;
	line-height: 1.4;
	/* Keep padding + border inside the field's width so it can't overflow the
	 * form/card edge (the theme's inputs aren't reliably border-box). */
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	-webkit-transition: border-color 0.125s, box-shadow 0.125s;
	     -o-transition: border-color 0.125s, box-shadow 0.125s;
	        transition: border-color 0.125s, box-shadow 0.125s;
}
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield input:focus,
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield select:focus,
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield textarea:focus {
	outline: none;
	border-color: var(--bl-primary);
	box-shadow: 0 0 0 2px rgba(234, 172, 59, 0.25);
}
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield input::placeholder,
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield textarea::placeholder {
	color: var(--bl-text-dark-muted);
}
/* Labels + required marker on the light canvas. */
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield .gfield_label,
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield label {
	color: var(--bl-text-dark-strong);
}
#FRONTEND #live-area .gform_wrapper .gfield_required { color: var(--bl-primary-hover); }
/* Native checkbox/radio accents to brand gold (off legacy orange). */
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield input[type="checkbox"],
#FRONTEND #live-area .gform_wrapper .gform_body ul.gform_fields li.gfield input[type="radio"] {
	accent-color: var(--bl-primary);
}
/* Field description / validation help text. */
#FRONTEND #live-area .gform_wrapper .gfield_description { color: var(--bl-text-dark-muted); }

/* Submit button → brand gold (theme default is legacy orange #f1812f). */
#FRONTEND #live-area .gform_wrapper .gform_footer .gform_button.button {
	background-color: var(--bl-primary);
	background-image: none;
	border: 2px solid var(--bl-primary);
	color: var(--bl-text-on-gold);
}
#FRONTEND #live-area .gform_wrapper .gform_footer .gform_button.button:hover,
#FRONTEND #live-area .gform_wrapper .gform_footer .gform_button.button:focus,
#FRONTEND #live-area .gform_wrapper .gform_footer .gform_button.button.focus {
	background-color: var(--bl-primary-hover);
	border-color: var(--bl-primary-hover);
	color: var(--bl-text-on-gold);
}

/* ---- Panels / wells / cards ---- */
#FRONTEND #live-area .panel,
#FRONTEND #live-area .well,
#FRONTEND #live-area .card {
	background-color: var(--bl-surface);
	border: 1px solid var(--bl-border-light);
	color: var(--bl-text-dark);
}
#FRONTEND #live-area .panel-heading {
	background-color: var(--bl-surface-alt);
	border-bottom: 1px solid var(--bl-border-light);
	color: var(--bl-text-dark-strong);
}

/* ---- Tables (theme + API shortcode output) ---- */
#FRONTEND #live-area table,
#FRONTEND #live-area .table {
	background-color: var(--bl-surface);
	color: var(--bl-text-dark);
}
#FRONTEND #live-area .table > thead > tr > th,
#FRONTEND #live-area table th {
	color: var(--bl-text-dark-strong);
	background-color: var(--bl-surface-alt);
	border-bottom: 1px solid var(--bl-border-light);
}
#FRONTEND #live-area .table > tbody > tr > td,
#FRONTEND #live-area table td { border-top: 1px solid var(--bl-border-light); }
#FRONTEND #live-area .table-striped > tbody > tr:nth-of-type(odd) {
	background-color: var(--bl-surface-alt);
}

/* ---- Title panel ---- */
#FRONTEND #dashboard-wrapper .dashboard .main-dash-content,
#FRONTEND .main-dash-content {
	background: transparent;
}
#FRONTEND #dashboard-wrapper .dashboard .main-dash-content h1 {
	color: var(--bl-text-dark-strong);
}

/* Contracting page "Please note" content box: keep its copy left-aligned.
 * The box (.contracting-dash-content) holds theme content rendered below the
 * contracting tiles; force left alignment so the note/list reads normally. */
#FRONTEND .contracting .contracting-dash-content,
#FRONTEND .contracting .contracting-dash-content p,
#FRONTEND .contracting .contracting-dash-content ul,
#FRONTEND .contracting .contracting-dash-content li {
	text-align: left;
}

/* ---- Widget tiles (dashboard, support categories, contracting, product archive) ----
 * Light cards on the light canvas with gold icons.
 */
#FRONTEND a.widget-item {
	background: var(--bl-surface);
	color: var(--bl-text-dark);
	border: 1px solid var(--bl-border-light);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
#FRONTEND a.widget-item i.fa,
#FRONTEND a.widget-item i.b-icon {
	color: var(--bl-primary);
}
#FRONTEND a.widget-item h2,
#FRONTEND a.widget-item small {
	color: var(--bl-text-dark-strong);
}
#FRONTEND a.widget-item:hover,
#FRONTEND a.widget-item:focus {
	background: var(--bl-surface);
	border-color: var(--bl-primary);
	color: var(--bl-text-dark-strong);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

/* ---- Breadcrumbs ---- */
#FRONTEND #live-area .breadcrumb {
	background-color: var(--bl-surface-alt);
	color: var(--bl-text-dark-muted);
}
#FRONTEND #live-area .breadcrumb > li + li:before { color: var(--bl-text-dark-muted); }
#FRONTEND #live-area .breadcrumb > li > a { color: var(--bl-primary-hover); }
#FRONTEND #live-area .breadcrumb > .active { color: var(--bl-text-dark); }

/* ---- Portal data tables (Commissions / Contracts / Airtable) ----
 * Light surface, dark text, subtle light borders. Header on the alt surface.
 */
#FRONTEND .commissions-table,
#FRONTEND .contract-table,
#FRONTEND .airtable-table {
	background-color: var(--bl-surface);
	color: var(--bl-text-dark);
}
#FRONTEND .commissions-table thead,
#FRONTEND .contract-table thead,
#FRONTEND .airtable-table thead {
	background-color: var(--bl-surface-alt);
}
#FRONTEND .commissions-table thead tr th,
#FRONTEND .contract-table thead tr th,
#FRONTEND .airtable-table thead tr th {
	color: var(--bl-text-dark-strong);
}
#FRONTEND .commissions-table tbody tr,
#FRONTEND .contract-table tbody tr,
#FRONTEND .airtable-table tbody tr {
	border-bottom: 1px solid var(--bl-border-light);
}
#FRONTEND .commissions-filter-bar label { color: var(--bl-text-dark); }

/* ---- List groups ---- */
#FRONTEND #live-area .list-group-item {
	background-color: var(--bl-surface);
	border: 1px solid var(--bl-border-light);
	color: var(--bl-text-dark);
}
#FRONTEND #live-area a.list-group-item,
#FRONTEND #live-area button.list-group-item { color: var(--bl-text-dark); }
#FRONTEND #live-area a.list-group-item .list-group-item-heading,
#FRONTEND #live-area button.list-group-item .list-group-item-heading { color: var(--bl-text-dark-strong); }
#FRONTEND #live-area a.list-group-item:hover,
#FRONTEND #live-area button.list-group-item:hover,
#FRONTEND #live-area a.list-group-item:focus,
#FRONTEND #live-area button.list-group-item:focus {
	background-color: var(--bl-surface-alt);
	color: var(--bl-text-dark-strong);
}

/* ---- Pagination ---- */
#FRONTEND #live-area .pagination > li > a,
#FRONTEND #live-area .pagination > li > span {
	background-color: var(--bl-surface);
	border: 1px solid var(--bl-border-light);
	color: var(--bl-text-dark);
}
#FRONTEND #live-area .pagination > li > a:hover,
#FRONTEND #live-area .pagination > li > span:hover,
#FRONTEND #live-area .pagination > li > a:focus,
#FRONTEND #live-area .pagination > li > span:focus {
	background-color: var(--bl-surface-alt);
	border-color: var(--bl-border-light);
	color: var(--bl-text-dark-strong);
}
#FRONTEND #live-area .pagination > .active > a,
#FRONTEND #live-area .pagination > .active > span,
#FRONTEND #live-area .pagination > .active > a:hover,
#FRONTEND #live-area .pagination > .active > span:hover,
#FRONTEND #live-area .pagination > .active > a:focus,
#FRONTEND #live-area .pagination > .active > span:focus {
	background-color: var(--bl-primary);
	border-color: var(--bl-primary);
	color: var(--bl-text-on-gold);
}

/* ---- Alerts ----
 * Light surface with a colored left accent so severity still reads.
 */
#FRONTEND #live-area .alert {
	background-color: var(--bl-surface);
	border: 1px solid var(--bl-border-light);
	border-left-width: 4px;
	color: var(--bl-text-dark);
}
#FRONTEND .alert-success { border-left-color: #4caf50; }
#FRONTEND .alert-info    { border-left-color: #2196f3; }
#FRONTEND .alert-warning { border-left-color: var(--bl-primary); }
#FRONTEND .alert-danger  { border-left-color: #e05353; }
#FRONTEND .alert .alert-link { color: var(--bl-primary); }

/* =====================================================================
 * LAYOUT — Data pages (Commissions / Contracts / Airtable)
 * Goal: use the full width of #live-area for dense tables and keep the
 * page title + table header visible while the table scrolls.
 * These pages render as: #content.welled-box > .standard-content-container
 * > table.<data-table>. #live-area is the scroll container.
 * CSS-only; no theme files or DataTables JS config touched.
 * ===================================================================== */

/* --- Widen the content area ---
 * Neutralize the theme's max-width cap on the inner container so wide
 * financial tables can use the available width instead of ~956px.
 */
#FRONTEND #content.welled-box .standard-content-container,
#FRONTEND div#content.standard-content div.standard-content-container {
	max-width: none;
	width: 100%;
}

/* Let the container that wraps a data table scroll horizontally instead of
 * overflowing the viewport when the table is wider than #live-area.
 */
#FRONTEND .standard-content-container:has(.commissions-table),
#FRONTEND .standard-content-container:has(.contract-table),
#FRONTEND .standard-content-container:has(.airtable-table) {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* --- Sticky page header (breadcrumb + <h1>) ---
 * #live-area is the scroll container, so a sticky title stays pinned to the
 * top while the table scrolls. We constrain it to a predictable height via a
 * token (--bl-title-h) so the sticky table header below can offset reliably;
 * the theme's h1 clamp(30px,5vw,50px) would otherwise make the height vary.
 */
#FRONTEND #live-area .page-title-wrapper {
	--bl-title-h: 84px;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 20;
	background-color: var(--bl-content-bg);
	margin-bottom: 0;
	/* pull to the padded edges of #live-area so the bg spans full width */
	margin-left: -18px;
	margin-right: -18px;
	padding: 12px 18px;
	border-bottom: 1px solid var(--bl-border-light);
	overflow: hidden;
}
#FRONTEND #live-area .page-title-wrapper h1 {
	font-size: clamp(22px, 3vw, 32px);
	margin: 0;
	color: var(--bl-text-dark-strong);
}
#FRONTEND #live-area .page-title-wrapper .breadcrumb { margin-bottom: 8px; }
@media (max-width: 991px) {
	#FRONTEND #live-area .page-title-wrapper {
		--bl-title-h: 72px;
		margin-left: -9px;
		margin-right: -9px;
		padding: 9px;
	}
}

/* --- Sticky table header (<thead>) ---
 * Pure-CSS sticky header on the data tables. Works because the table scrolls
 * inside #live-area (these tables are NOT initialized with DataTables scrollY,
 * so there is no separate scroll container to fight with).
 *
 * The thead pins just below the sticky page title. The offset matches the
 * constrained title height set above (--bl-title-h: 84px desktop / 72px on
 * smaller screens) so the column headers stay visible and never hide behind
 * the title while scrolling.
 */
#FRONTEND .commissions-table thead th,
#FRONTEND .contract-table thead th,
#FRONTEND .airtable-table thead th {
	position: -webkit-sticky;
	position: sticky;
	top: 84px;
	z-index: 10;
	background-color: var(--bl-surface-alt);
}
@media (max-width: 991px) {
	#FRONTEND .commissions-table thead th,
	#FRONTEND .contract-table thead th,
	#FRONTEND .airtable-table thead th {
		top: 72px;
	}
}

/* ---- Standard content boxes ----
 * The theme wraps standard page content in boxes:
 *   .welled-box > div  and  div#content.standard-content > div  = #ffffff, 18px.
 * These are the primary content cards — keep them as light surfaces on the
 * light canvas with dark, readable text.
 */
#FRONTEND #live-area .single-item-wrapper .welled-box > div,
#FRONTEND div#content.standard-content > div {
	background: var(--bl-surface);
	border: 1px solid var(--bl-border-light);
	color: var(--bl-text-dark);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
/* The data-table pages give their own table the surface, so the title/
 * text-object wrapper stays transparent to avoid double-boxing.
 */
#FRONTEND div#content.standard-content > .standard-content-container.text-object {
	background: transparent;
	border: 0;
	box-shadow: none;
}

/* ---- Product promo card ----
 * The single-product page renders an <aside> .promo-card OUTSIDE
 * .single-item-wrapper, so the generic content-box rule above doesn't reach
 * it. The theme hardcodes it to white with legacy teal text (#0b3f4f) and a
 * near-brand gold CTA (#faac18). Map it onto the brand surface + accent tokens
 * so it matches the other light cards.
 */
#FRONTEND #live-area .single-product_ins .promo-card {
	background: var(--bl-surface);
	border: 1px solid var(--bl-border-light);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
#FRONTEND #live-area .single-product_ins .promo-card .description {
	color: var(--bl-text-dark);
}
#FRONTEND #live-area .single-product_ins .promo-card .cta-button {
	background: var(--bl-primary);
	color: var(--bl-text-on-gold);
}
#FRONTEND #live-area .single-product_ins .promo-card .cta-button:hover,
#FRONTEND #live-area .single-product_ins .promo-card .cta-button:focus {
	background: var(--bl-primary-hover);
	color: var(--bl-text-on-gold);
}

/* ---- Accordion page (page-accordion.php / Template: Accordion Page) ----
 * The page renders: intro text in .content-container, then a Bootstrap
 * #accordion .panel-group with one .panel per item. Target via the
 * .container-accordion wrapper class on #content.
 *
 * Design (matching screenshot): clean white panels, light border, rounded
 * corners, gold panel title, chevron icon, readable body text, gold links.
 */

/* Intro text block — padding, readable line-height, dark text */
#FRONTEND .container-accordion .content-container {
	margin-top: 1.5rem;
	margin-bottom: 0.5rem;
	padding: 1.25rem 1.5rem;
	background: var(--bl-surface);
	border: 1px solid var(--bl-border-light);
	border-radius: 0.5rem;
	box-shadow: 0 1px 3px rgba(0,0,0,0.06);
	color: var(--bl-text-dark);
	line-height: 1.75;
}
#FRONTEND .container-accordion .content-container p {
	color: var(--bl-text-dark);
	margin-bottom: 0.75rem;
	line-height: 1.75;
}
#FRONTEND .container-accordion .content-container p:last-child { margin-bottom: 0; }
#FRONTEND .container-accordion .content-container a {
	color: var(--bl-primary);
	text-decoration: underline;
	text-underline-offset: 2px;
}
#FRONTEND .container-accordion .content-container a:hover {
	color: var(--bl-primary-hover);
}

/* Panel group spacing */
#FRONTEND .container-accordion .panel-group {
	margin-top: 1.5rem;
}
#FRONTEND .container-accordion .panel-group .panel {
	margin-top: 0.75rem;
	margin-bottom: 0;
	border: 1px solid var(--bl-border-light);
	border-radius: 0.5rem !important;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0,0,0,0.06);
	background: var(--bl-surface);
}

/* Panel heading — white surface, gold title text, no legacy teal */
#FRONTEND .container-accordion .panel-group .panel .panel-heading {
	background: var(--bl-surface);
	border-bottom: 1px solid var(--bl-border-light);
	padding: 0;
	margin-bottom: 0;
}
#FRONTEND .container-accordion .panel-group .panel .panel-heading .panel-title {
	font-size: 1rem;
	font-weight: 600;
}
#FRONTEND .container-accordion .panel-group .panel .panel-heading .panel-title a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem;
	color: var(--bl-primary);
	text-decoration: none;
	line-height: 1.4;
}
#FRONTEND .container-accordion .panel-group .panel .panel-heading .panel-title a:hover {
	color: var(--bl-primary-hover);
	background: var(--bl-surface-alt);
}
/* Chevron icon — use brand gold, flip when expanded */
#FRONTEND .container-accordion .panel-group .panel .panel-heading .panel-title a:after {
	font-family: "FontAwesome";
	content: "\f106";
	font-size: 1.1rem;
	color: var(--bl-primary);
	margin-left: 1rem;
	flex-shrink: 0;
	transition: transform 0.2s;
}
#FRONTEND .container-accordion .panel-group .panel .panel-heading .panel-title a.collapsed:after {
	content: "\f107";
}

/* Panel body — white, good padding, readable text */
#FRONTEND .container-accordion .panel-group .panel .panel-body {
	padding: 1.25rem 1.5rem;
	background: var(--bl-surface);
	color: var(--bl-text-dark);
	line-height: 1.75;
	border-top: 0;
}
#FRONTEND .container-accordion .panel-group .panel .panel-body p,
#FRONTEND .container-accordion .panel-group .panel .panel-body li {
	color: var(--bl-text-dark);
	line-height: 1.75;
	margin-bottom: 0.5rem;
}
#FRONTEND .container-accordion .panel-group .panel .panel-body a {
	color: var(--bl-primary);
	text-decoration: underline;
	text-underline-offset: 2px;
}
#FRONTEND .container-accordion .panel-group .panel .panel-body a:hover {
	color: var(--bl-primary-hover);
}
#FRONTEND .container-accordion .panel-group .panel .panel-body .image {
	max-width: 100%;
	height: auto;
	border-radius: 0.375rem;
	margin-bottom: 1rem;
}
/* CTA link at bottom of panel body */
#FRONTEND .container-accordion .link {
	display: inline-block;
	margin-top: 0.5rem;
	color: var(--bl-primary);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}
#FRONTEND .container-accordion .link:hover { color: var(--bl-primary-hover); }

/* ---- Single Tools page layout ----
 * The theme template (content-single-tools.php) outputs two .welled-box divs
 * inside .single-item-wrapper > .row: the main content (#info-file-os, full
 * width) and a sidebar (.col-md-3, tool info). Neither has proper padding and
 * no desktop 2-column layout is defined. Fix both here without touching the
 * theme.
 *
 * Two-column layout: left (main content) takes 2/3, right (tool info) 1/3.
 * On mobile they stack single-column.
 */
#FRONTEND.single-tools #live-area .single-item-wrapper > .row {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	padding: 1.25rem;
	align-items: flex-start;
}
/* Left column — main content box */
#FRONTEND.single-tools #live-area #info-file-os.welled-box {
	flex: 2 1 400px;
	min-width: 0;
	padding: 1.5rem;
	background: var(--bl-surface);
	border: 1px solid var(--bl-border-light);
	border-radius: 0.5rem;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07);
	color: var(--bl-text-dark);
	/* reset Bootstrap col float/width */
	width: auto;
	float: none;
}
/* Right column — tool info sidebar */
#FRONTEND.single-tools #live-area .single-item-wrapper .welled-box.col-md-3 {
	flex: 1 1 220px;
	min-width: 0;
	max-width: 320px;
	padding: 1.25rem;
	background: var(--bl-surface);
	border: 1px solid var(--bl-border-light);
	border-radius: 0.5rem;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07);
	color: var(--bl-text-dark);
	width: auto;
	float: none;
}
/* Stack single-column on mobile */
@media (max-width: 767px) {
	#FRONTEND.single-tools #live-area .single-item-wrapper > .row {
		flex-direction: column;
		gap: 1rem;
		padding: 0.75rem;
	}
	#FRONTEND.single-tools #live-area .single-item-wrapper .welled-box.col-md-3 {
		max-width: 100%;
	}
}
/* Internal content spacing */
#FRONTEND.single-tools #live-area #info-file-os h2,
#FRONTEND.single-tools #live-area #tool-info h2 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--bl-text-dark-strong);
	margin: 0 0 0.5rem;
	padding-bottom: 0.375rem;
	border-bottom: 2px solid var(--bl-primary);
	display: inline-block;
}
#FRONTEND.single-tools #live-area #info-file-os .tool-external-link,
#FRONTEND.single-tools #live-area #info-file-os .product-box-file-os,
#FRONTEND.single-tools #live-area #info-file-os .live-content {
	margin-bottom: 1.5rem;
}
#FRONTEND.single-tools #live-area #info-file-os .live-content p,
#FRONTEND.single-tools #live-area #info-file-os .live-content li {
	color: var(--bl-text-dark);
	line-height: 1.7;
}
#FRONTEND.single-tools #live-area #tool-info p,
#FRONTEND.single-tools #live-area #tool-info ul {
	color: var(--bl-text-dark);
	margin-bottom: 0.75rem;
}
#FRONTEND.single-tools #live-area #tool-info img.tool-image {
	display: block;
	max-width: 100%;
	width: auto;
	height: auto;
	margin-bottom: 1rem;
	border-radius: 0.25rem;
}

/* ---- Support / staff directory cards ----
 * Staff cards use the theme's legacy dark teal (#0b3f4f). Bring them onto a
 * light surface with dark text and gold contact links.
 */
/* Align grid rows to top so photos sit at the same level across every card. */
#FRONTEND #dashboard-wrapper .widget-column:has(.staff-member) {
	align-items: start;
}
/* Force photo crop from the top — overrides both the theme's (0,2,0) rule and
 * the inline background-position:center on the .image div. The ID chain gives
 * specificity (0,3,0) which beats the theme, and !important beats inline. */
#FRONTEND #dashboard-wrapper .staff-member .image {
	background-position: top !important;
}
#FRONTEND .staff-member {
	background: var(--bl-surface);
	color: var(--bl-text-dark);
	border: 1px solid var(--bl-border-light);
	border-radius: 0.375em;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
#FRONTEND .staff-member .text {
	padding: 1em;
	color: var(--bl-text-dark);
}
#FRONTEND .staff-member .text h4 { color: var(--bl-text-dark-strong); }
#FRONTEND .staff-member .text a { color: var(--bl-primary-hover); }

/* ---- Quick Forms (page-id-4739): right-align the forms dropdown ---- */
/* The theme renders the [forms-select] `.select-wrapper` at max-width:300px,
 * left-aligned inside the dashboard content. Push it to the right edge. Scoped
 * to the quick-forms page so other `.select-wrapper` instances are untouched. */
#FRONTEND .page-id-4739 .select-wrapper {
	margin-left: auto;
	margin-right: 0;
}
