/* Carter Capner Law – lightweight brand theme */
:root {
	--ccl-yellow: #F4E21B;
	--ccl-blue: #0089CF; /* Old blue, kept for reference */
	--ccl-charcoal: #1B1F27;
	--ccl-grey: #757B84;
	--ccl-bg: #FBFBF9;
	--ccl-border: #E7E7E7;
	--ccl-focus: #00AEEF;
	/* Semi weight token (per request) */
	--ccl-semi: 500;
	/* NEW: Carter Capner Law primary color (replacing blue with #0e2b5c) */
	--ccl-primary-color: #0e2b5c;
	/* Override Bootstrap Primary variable to use the new color */
	--bs-primary: var(--ccl-primary-color);
	/* Explicit fixed header height */
	--ccl-header-height: 80px;
}

/* Base */
html {
	font-size: 14px;
	position: relative; /* Kept from original to support absolute footer */
	min-height: 100%; /* Kept from original to support absolute footer */
}

@media (min-width: 768px) {
	html {
		font-size: 16px;
	}
}

/* ---------------------------------------------------- */
/* FIXED HEADER & BODY ADJUSTMENTS (NEW/MODIFIED) */
/* ---------------------------------------------------- */
header {
	position: fixed;
	top: 0;
	width: 100%;
	/* EXPLICIT HEIGHT ADDED */
	height: 80px;
	z-index: 1030; /* Higher than Bootstrap navbar default z-index */
	box-shadow: 0 4px 6px rgba(0,0,0,0.1); /* Optional: add shadow to fixed header */
}

body {
	/* Adjusted margin-top to prevent content from hiding behind fixed header */
	margin-top: var(--ccl-header-height);
	margin-bottom: 60px; /* Kept from original */
	background: var(--ccl-bg);
	/* Ensure scroll starts correctly for breadcrumbs/content */
	padding-top: 0 !important;
}

/* NEW: Breadcrumb spacing fix (approx 25px top margin) */
.ccl-breadcrumb-container {
	margin-top: 25px !important;
}

/* Adjustments for fixed footer (kept from original) */
.footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	white-space: nowrap;
	line-height: 60px;
}
/* ---------------------------------------------------- */

/* Default link color set to primary color */
a {
	color: var(--ccl-primary-color) !important;
}

	a:hover {
		color: var(--ccl-primary-color) !important;
		text-decoration: underline;
	}

	/* NEW RULE: Prevent underlines on links styled as buttons */
	a.btn:hover, a.btn:focus {
		text-decoration: none !important;
	}


h1, h2, h3, h4 {
	color: var(--ccl-charcoal);
	letter-spacing: .2px;
}

/* NEW: Custom class for headings (40px, Sailec-Bold) */
.ccl-heading-bold {
	font-family: 'Sailec-Bold', sans-serif; /* Use actual font-family name if available */
	font-size: 40px !important;
	font-weight: bold;
}

.text-muted {
	color: var(--ccl-grey) !important;
}

/* NEW: Custom class for #0e2b5c text */
.text-ccl-primary {
	color: var(--ccl-primary-color) !important;
}

/* Buttons */
/* The next block is now implicitly handled by the :root override --bs-primary */
.btn-primary {
	background: var(--ccl-primary-color);
	border-color: var(--ccl-primary-color);
}

	.btn-primary:hover {
		filter: brightness(1.2); /* Adjusted brightness for the dark color */
	}

/* NEW: Full-width button with custom padding for cards */
.btn-card-full {
	width: calc(100% + 2.5rem); /* Full width of card body + padding adjustment */
	margin-left: calc(-1.25rem); /* Align left with card edge (1.25rem is default card-body padding) */
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.btn-outline-secondary {
	color: var(--ccl-charcoal);
	border-color: var(--ccl-charcoal);
}

	.btn-outline-secondary:hover {
		background: var(--ccl-charcoal);
		color: #fff;
	}

.btn-success {
	background: #22A06B;
	border-color: #22A06B;
	color: #fff; /* Ensure default text color is white on success button */
}

	/* FIX: Prevent underline on the anchor tag version of btn-success */
	.btn-success:hover {
		text-decoration: none !important;
	}

/* Inputs & focus */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
	box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.form-control:focus, .form-check-input:focus, .btn:focus, .nav-link:focus {
	box-shadow: 0 0 0 .2rem rgba(0,174,239,.25);
	border-color: var(--ccl-focus);
}

/* Form labels at 500 weight (half-bold) */
.form-label,
.form-check-label,
.input-group-text,
label {
	font-weight: var(--ccl-semi);
	color: var(--ccl-charcoal);
}

/* Cards */
.brand-card {
	background: #fff;
	border: 1px solid var(--ccl-border);
	border-radius: 14px;
	box-shadow: 0 3px 12px rgba(0,0,0,.04);
}

.brand-card-header {
	display: flex;
	align-items: center;
	gap: .75rem;
	border-bottom: 1px solid var(--ccl-border);
	padding: 1rem 1.25rem;
}

.brand-card-body {
	padding: 1.25rem;
}

pre.pane {
	background: #fff;
	border: 1px solid var(--ccl-border);
	border-radius: 12px;
	padding: 12px;
}

/* Utilities */
.logo {
	height: 55px;
	width: auto;
}

/* NEW: Increase icon size for the home page features */
.feature-icon-lg {
	font-size: 5rem !important;
	min-width: 5rem;
	height: 5rem;
}

/* logo size */
.text-brand {
	color: var(--ccl-primary-color) !important; /* Changed to new primary color */
}

.bg-brand {
	background: var(--ccl-yellow) !important;
}

.small-muted {
	font-size: .925rem;
	color: var(--ccl-grey);
}

/* Navbar (yellow brand bar) */
/* NEW: 10px margin to the left of the heading */
.ccl-navbar .navbar-brand {
	padding-left: 10px;
}

	.ccl-navbar .navbar-brand span {
		color: var(--ccl-charcoal);
	}
	/* FIX: Remove underline on hover for the entire brand link */
	.ccl-navbar .navbar-brand:hover {
		text-decoration: none;
	}


.ccl-navbar .navbar-toggler {
	border-color: rgba(27,31,39,.35);
}

/* Brand title sizing (kept bold for prominence) */
.ccl-navbar .navbar-brand .brand-title {
	font-size: 1.45rem;
	line-height: 1.2;
	font-weight: 500;
}

/* Card header title at 500 weight */
.brand-card-header .fw-semibold {
	font-weight: var(--ccl-semi) !important;
}

/* Top-level nav items */
.ccl-navbar .navbar-nav .nav-link {
	font-size: 1.05rem;
	padding: .45rem .75rem;
	border-radius: .5rem;
	color: var(--ccl-charcoal);
}

	.ccl-navbar .navbar-nav .nav-link:hover,
	.ccl-navbar .navbar-nav .nav-link:focus {
		background: var(--ccl-primary-color); /* Changed to new primary color */
		color: #fff !important;
		text-decoration: none;
	}

/* Dropdown menu */
.ccl-navbar .dropdown-menu {
	border-radius: .5rem;
	border: 1px solid var(--ccl-border);
	box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

.ccl-navbar .dropdown-item {
	font-size: 1.02rem;
	padding: .45rem .75rem;
	/* Ensure the non-hover color is the dark charcoal */
	color: var(--ccl-charcoal) !important;
}

	.ccl-navbar .dropdown-item:hover,
	.ccl-navbar .dropdown-item:focus {
		background: var(--ccl-primary-color); /* Changed to new primary color */
		/* CRITICAL FIX: Ensure white text on dark background */
		color: #fff !important;
	}

/* Align menu to the right both wide & collapsed */
.ccl-navbar .navbar-collapse {
	justify-content: flex-end;
}

.ccl-navbar .navbar-nav {
	align-items: center
}

/* Footer: make Digital Response link black and REMOVE underline from site-footer links */
.site-footer a {
	color: var(--ccl-charcoal) !important;
	text-decoration: none !important;
}

	.site-footer a:hover {
		color: var(--ccl-primary-color) !important; /* Hover color */
		text-decoration: underline !important;
	}

/* Mobile (collapsed) – keep items on the right and full-width hover */
@media (max-width: 767.98px) {
	.ccl-navbar .navbar-nav {
		align-items: flex-end;
	}

		.ccl-navbar .navbar-nav .nav-link {
			text-align: right;
			width: 100%;
		}

	.ccl-navbar .dropdown-menu {
		inset: auto 0 0 auto;
		transform: none;
	}
}
