/* End custom CSS */

.elementor-widget-section .eael-protected-content-message {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-section .protected-content-error-msg {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-text-editor .eael-protected-content-message {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-text-editor .protected-content-error-msg {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-text-editor {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-weight: var(--e-global-typography-text-font-weight);
	color: var(--e-global-color-text);
}

.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap {
	background-color: var(--e-global-color-primary);
}

.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap {
	color: var(--e-global-color-primary);
	border-color: var(--e-global-color-primary);
}

.elementor-6549 .elementor-element.elementor-element-20adcb04 {
	font-family: "Poppins", Sans-serif;
	font-weight: 400;
}

.elementor-widget-html .eael-protected-content-message {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-html .protected-content-error-msg {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-heading .eael-protected-content-message {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-heading .protected-content-error-msg {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-heading .elementor-heading-title {
	font-family: var(--e-global-typography-primary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-primary-font-weight);
	color: var(--e-global-color-primary);
}

.elementor-6549 .elementor-element.elementor-element-8cdcaa7 > .elementor-widget-container {
	margin: 10px 0px 0px 0px;
}

.elementor-6549 .elementor-element.elementor-element-8cdcaa7 .elementor-heading-title {
	font-family: "Poppins", Sans-serif;
	font-weight: 600;
	color: var(--e-global-color-474ab4ca);
}

.elementor-widget-nested-accordion .eael-protected-content-message {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-nested-accordion .protected-content-error-msg {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-container .eael-protected-content-message {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-widget-container .protected-content-error-msg {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor-6549 .elementor-element.elementor-element-0d03bdc {
	--display: flex;
}

.elementor-6549 .elementor-element.elementor-element-82d81a7 {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
}

.elementor-6549 .elementor-element.elementor-element-e925ae9 {
	font-family: "Poppins", Sans-serif;
	font-weight: 400;
}

.elementor-6549 .elementor-element.elementor-element-c486b51 {
	--display: flex;
}

.elementor-6549 .elementor-element.elementor-element-59c3041 {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
}

.elementor-6549 .elementor-element.elementor-element-f54751e {
	font-family: "Poppins", Sans-serif;
	font-weight: 400;
}

.elementor-6549 .elementor-element.elementor-element-feef346 {
	--display: flex;
}

.elementor-6549 .elementor-element.elementor-element-77911cc {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
}

.elementor-6549 .elementor-element.elementor-element-d35aa6a {
	font-family: "Poppins", Sans-serif;
	font-weight: 400;
}

.elementor-6549 .elementor-element.elementor-element-66c6120 {
	--display: flex;
}

.elementor-6549 .elementor-element.elementor-element-4c24ec6 {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
}

.elementor-6549 .elementor-element.elementor-element-983300f {
	font-family: "Poppins", Sans-serif;
	font-weight: 400;
}

.elementor-6549 .elementor-element.elementor-element-2297fc4 {
	--display: flex;
}

.elementor-6549 .elementor-element.elementor-element-4475bba {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
}

.elementor-6549 .elementor-element.elementor-element-a28bcfd {
	font-family: "Poppins", Sans-serif;
	font-weight: 400;
}

.elementor-6549 .elementor-element.elementor-element-b74a119 {
	--display: flex;
}

.elementor-6549 .elementor-element.elementor-element-1c47dbc {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
}

.elementor-6549 .elementor-element.elementor-element-cbc94d1 {
	font-family: "Poppins", Sans-serif;
	font-weight: 400;
}

.elementor-6549 .elementor-element.elementor-element-47e3f5f {
	--n-accordion-title-font-size: 1, 75rem;
	--n-accordion-item-title-space-between: 0px;
	--n-accordion-item-title-distance-from-content: 0px;
	--n-accordion-icon-size: 15px;
}

.elementor-6549 .elementor-element.elementor-element-348bfc0 {
	font-family: "Poppins", Sans-serif;
	font-weight: 400;
}

@media (max-width:767px) {
	.elementor-6549 .elementor-element.elementor-element-20adcb04 {
		font-size: 15px;
	}
	
	.elementor-6549 .elementor-element.elementor-element-e925ae9 {
		font-size: 15px;
	}
	
	.elementor-6549 .elementor-element.elementor-element-f54751e {
		font-size: 15px;
	}
	
	.elementor-6549 .elementor-element.elementor-element-d35aa6a {
		font-size: 15px;
	}
	
	.elementor-6549 .elementor-element.elementor-element-983300f {
		font-size: 15px;
	}
	
	.elementor-6549 .elementor-element.elementor-element-a28bcfd {
		font-size: 15px;
	}
	
	.elementor-6549 .elementor-element.elementor-element-cbc94d1 {
		font-size: 15px;
	}
	
	.elementor-6549 .elementor-element.elementor-element-348bfc0 {
		font-size: 15px;
	}
}

/* Start custom CSS for html, class: .elementor-element-ebf020d */

/* ----------------------------------------- */

/* --- Independent Calculator Styles --- */

/* --- Brand Colors (Isolated) --- */

/* Re-declaring vars to ensure widget is independent */
:root {
	--bw-dark-blue: #0a2342;
	--bw-accent-blue: #2e74b5;
	--bw-light-gray: #f4f7f9;
	--bw-border-gray: #e0e0e0;
	--bw-text-dark: #333;
	--bw-text-light: #555;
	--bw-positive-bg: #e6f4e6;
	--bw-positive-text: #1e7e34;
	--bw-negative-bg: #fde8e8;
	--bw-negative-text: #c82333;
	--bw-warning-bg: #fffbe6;
	--bw-warning-border: #ffe58f;
}

/* --- 2. Calculator Styles --- */

/* '.elementor-6549 .elementor-element.elementor-element-ebf020d' refers to this widget's wrapper */
.elementor-6549 .elementor-element.elementor-element-ebf020d .floating-rate-calculator {
	background-color: var(--bw-light-gray);
	border: 1px solid var(--bw-border-gray);
	border-radius: 8px;
	margin: 2.5em 0;
	margin: 0;
	box-shadow: 0 8px 25px rgba(10, 35, 66, .08);
	overflow: hidden;
	color: var(--bw-text-dark);
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-header {
	background-color: var(--bw-dark-blue);
	color: #fff;
	padding: 25px 30px;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-header .calculator-title {
	margin: 0 0 8px 0;
	color: #fff;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-header .calculator-description {
	margin: 0;
	font-size: .95em;
	opacity: .9;
	line-height: 1.5;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-container {
	padding: 30px;
	display: grid;
	grid-template-columns: 1fr 1.25fr;
	gap: 30px;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-inputs-section .section-title {
	margin-top: 0;
	margin-bottom: 20px;
	color: var(--bw-dark-blue);
	border-bottom: 2px solid var(--bw-border-gray);
	padding-bottom: 10px;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .form-group {
	margin-bottom: 18px;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .form-label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
	font-size: .9em;
	color: var(--bw-text-light);
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .form-input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	font-size: 1em;
	transition: border-color .3s ease, box-shadow .3s ease;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .form-input:focus {
	outline: none;
	border-color: var(--bw-accent-blue);
	box-shadow: 0 0 0 3px rgba(46, 116, 181, .2);
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-submit-btn {
	background-color: var(--bw-accent-blue);
	color: #fff;
	border: none;
	padding: 14px 20px;
	font-size: 1.05em;
	font-weight: 600;
	border-radius: 4px;
	cursor: pointer;
	transition: background-color .3s ease, transform .2s ease;
	width: 100%;
	margin-top: 10px;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-submit-btn:hover {
	background-color: #255d91;
	transform: translateY(-2px);
}

/* --- Calculator Results Section --- */
.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-results {
	border: 2px dashed var(--bw-accent-blue);
	border-radius: 8px;
	padding: 25px;
	background-color: #fff;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .scenario-card {
	border: 1px solid var(--bw-border-gray);
	border-radius: 6px;
	margin-bottom: 20px;
	overflow: hidden;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .scenario-header {
	padding: 12px 18px;
	border-bottom: 1px solid var(--bw-border-gray);
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .scenario-card--current .scenario-header {
	background-color: #f0f0f0;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .scenario-card--rising .scenario-header {
	background-color: var(--bw-positive-bg);
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .scenario-card--falling .scenario-header {
	background-color: var(--bw-negative-bg);
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .scenario-title {
	margin: 0;
	color: var(--bw-dark-blue);
	font-weight: 600;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .scenario-rate {
	font-weight: 400;
	color: var(--bw-text-light);
	font-size: .9em;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .scenario-metrics {
	display: flex;
	justify-content: space-around;
	padding: 20px;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .metric-item {
	text-align: center;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .metric-label {
	font-size: .85em;
	margin: 0 0 8px 0;
	text-transform: uppercase;
	color: var(--bw-text-light);
	font-weight: 600;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .metric-value {
	font-size: 1.6em;
	font-weight: 600;
	margin: 0;
	color: var(--bw-dark-blue);
	line-height: 1.1;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .scenario-difference {
	text-align: center;
	padding: 0 15px 15px 15px;
	margin: 0;
	font-weight: 600;
	font-size: .95em;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .scenario-difference--positive {
	color: var(--bw-positive-text);
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .scenario-difference--negative {
	color: var(--bw-negative-text);
}

/* --- Insights & Disclaimer Section --- */
.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-insights {
	margin-top: 20px;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .insights-title {
	color: var(--bw-dark-blue);
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .insights-list {
	list-style-type: disc;
	padding-left: 20px;
	font-size: .95em;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .insight-item {
	margin-bottom: 8px;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .insight-highlight {
	color: var(--bw-dark-blue);
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-disclaimer {
	background-color: var(--bw-warning-bg);
	border: 1px solid var(--bw-warning-border);
	border-radius: 4px;
	padding: 15px;
	font-size: .9em;
	margin-top: 20px;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .disclaimer-text {
	margin: 0;
	color: #5f4c00;
	line-height: 1.5;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-footer {
	padding: 20px 30px;
	border-top: 1px solid var(--bw-border-gray);
	background-color: #fcfcfc;
}

.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-note {
	font-size: .9em;
	color: var(--bw-text-light);
	text-align: center;
	margin: 0;
}

/* ----------------------------------------- */

/* --- 3. Responsive Queries --- */

/* ----------------------------------------- */

/* For tablets and mobiles (when calculator no longer fits in 2 columns) */
@media (max-width: 900px) {
	.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-container {
		grid-template-columns: 1fr;
		gap: 25px;
	}
	
	.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-results {
		padding: 20px;
	}
}

/* For small mobiles (adjust padding and metrics) */
@media (max-width: 500px) {
	.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-header {
		padding: 20px;
	}
	
	.elementor-6549 .elementor-element.elementor-element-ebf020d .calculator-container {
		padding: 20px;
	}
	
	.elementor-6549 .elementor-element.elementor-element-ebf020d .scenario-metrics {
		flex-direction: column;
		gap: 15px;
		padding: 15px;
	}
	
	.elementor-6549 .elementor-element.elementor-element-ebf020d .metric-value {
		font-size: 1.4em;
	}
}

/* End custom CSS */

/* Start custom CSS */

/* ----------------------------------------- */

/* --- Bogart Wealth Global Blog Styles --- */

/* (Place in Page Settings > Advanced > Custom CSS) --- */

/* ----------------------------------------- */

/* --- Brand Colors --- */
:root {
	--bw-dark-blue: #0a2342;
	--bw-accent-blue: #2e74b5;
	--bw-light-gray: #f4f7f9;
	--bw-border-gray: #e0e0e0;
	--bw-text-dark: #333;
	--bw-text-light: #555;
}

/* --- Main Container & Typography (Unchanged) --- */
.bw-blog-style-v1 {
	color: var(--bw-text-dark);
	line-height: 1.7;
}

.bw-blog-style-v1 p {
	margin-bottom: 1.5em;
	font-size: 1.05em;
}

.bw-blog-style-v1 h2 {
	color: var(--bw-dark-blue);
	margin-top: 2em;
	margin-bottom: .75em;
}

.bw-blog-style-v1 h3 {
	color: var(--bw-dark-blue);
	margin-top: 1.75em;
	margin-bottom: .75em;
}

.bw-blog-style-v1 a {
	color: var(--bw-accent-blue);
	text-decoration: none;
	border-bottom: 1px solid var(--bw-accent-blue);
	transition: all .3s ease;
}

.bw-blog-style-v1 a:hover {
	color: var(--bw-dark-blue);
	border-bottom-color: var(--bw-dark-blue);
}

.bw-blog-style-v1 strong {
	color: var(--bw-text-dark);
}

.bw-blog-style-v1 ul, .bw-blog-style-v1 ol {
	padding-left: 25px;
	margin-bottom: 1.5em;
}

.bw-blog-style-v1 li {
	margin-bottom: .5em;
}

/* ----------------------------------------- */

/* --- 1. Optimized Table Styles (MODIFIED) --- */

/* --- Responsive Cards on Mobile --- */

/* ----------------------------------------- */

/* Desktop/Tablet: Wrapper (no scroll) */
.bw-blog-style-v1 .bw-table-responsive-wrapper {
	overflow-x: hidden;
	margin: 2em 0;
	border: 1px solid var(--bw-border-gray);
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .04);
}

.bw-blog-style-v1 .bw-data-table {
	width: 100%;
	border-collapse: collapse;
	border-collapse: collapse !important;
	margin: 0;
	font-size: .92em;
}

.bw-blog-style-v1 .bw-data-table th, .bw-blog-style-v1 .bw-data-table td {
	padding: 14px 16px !important;
	text-align: left !important;
	border: none !important;
	border-bottom: 1px solid var(--bw-border-gray) !important;
	vertical-align: top;
	white-space: normal !important;
}

.bw-blog-style-v1 .bw-data-table thead tr {
	background-color: var(--bw-dark-blue) !important;
	color: #fff;
}

.bw-blog-style-v1 .bw-data-table thead th {
	font-weight: 600;
	border-bottom: none !important;
}

.bw-blog-style-v1 .bw-data-table tbody tr {
	background-color: #fff !important;
	transition: background-color .3s ease;
}

.bw-blog-style-v1 .bw-data-table tbody tr:nth-child(even) {
	background-color: var(--bw-light-gray) !important;
}

.bw-blog-style-v1 .bw-data-table tbody tr:hover {
	background-color: #e8f0f6 !important;
}

.bw-blog-style-v1 .bw-data-table tbody td:first-child {
	font-weight: 600;
	color: var(--bw-dark-blue);
}

/* --- Mobile Card Layout --- */
@media (max-width: 767px) {
	.bw-blog-style-v1 .bw-table-responsive-wrapper {
		/* Reset wrapper styles */
		border: none;
		box-shadow: none;
		overflow-x: visible;
	}
	
	.bw-blog-style-v1 .bw-data-table {
		border: none !important;
	}
	
	.bw-blog-style-v1 .bw-data-table thead {
		/* Hide table header */
		display: none;
	}
	
	.bw-blog-style-v1 .bw-data-table tr {
		/* Each row becomes a card */
		display: block;
		border: 1px solid var(--bw-border-gray);
		border-radius: 8px;
		margin-bottom: 20px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, .04);
		overflow: hidden;
		background-color: #fff !important;
	}
	
	.bw-blog-style-v1 .bw-data-table tbody tr:nth-child(even) {
		/* Reset alternating colors for card view */
		background-color: #fff !important;
	}
	
	.bw-blog-style-v1 .bw-data-table td {
		display: block;
		text-align: right !important;
		padding-left: 50% !important;
		position: relative;
		border-bottom: 1px solid var(--bw-border-gray) !important;
	}
	
	.bw-blog-style-v1 .bw-data-table td:last-child {
		border-bottom: 0 !important;
	}
	
	/* Use ::before to add the label */
	.bw-blog-style-v1 .bw-data-table td::before {
		content: attr(data-label);
		position: absolute;
		left: 15px;
		width: calc(50% - 30px);
		text-align: left !important;
		font-weight: 600;
		color: var(--bw-text-light);
		font-size: .9em;
	}
	
	/* Hard-coded labels (CSS-only solution) */
	.bw-blog-style-v1 .bw-data-table td:nth-of-type(2)::before {
		content: "Typical Yield Range";
	}
	
	.bw-blog-style-v1 .bw-data-table td:nth-of-type(3)::before {
		content: "Interest Rate Risk";
	}
	
	.bw-blog-style-v1 .bw-data-table td:nth-of-type(4)::before {
		content: "Credit Risk";
	}
	
	.bw-blog-style-v1 .bw-data-table td:nth-of-type(5)::before {
		content: "Liquidity";
	}
	
	/* --- Style the first cell as the Card Header --- */
	.bw-blog-style-v1 .bw-data-table td:first-child {
		background-color: var(--bw-dark-blue);
		color: #fff;
		font-weight: 600;
		text-align: left !important;
		padding: 14px 18px !important;
		font-size: 1.1em;
	}
	
	.bw-blog-style-v1 .bw-data-table td:first-child strong {
		color: #fff;
	}
	
	.bw-blog-style-v1 .bw-data-table td:first-child::before {
		display: none;
	}
}
