.oscu-calculator { border:1px solid #e2e8f0; padding:40px; margin:1.5rem auto; background:#fff; border-radius:25px; max-width:1312px; box-sizing:border-box; }
.oscu-calculator__inner { max-width:100%; }
.oscu-calculator__title { display:none !important; }
.oscu-calculator__group { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); column-gap:24px; row-gap:24px; margin-bottom:40px; }
.oscu-calculator__group--debt { display:block; margin-bottom:40px; }
@media (max-width: 760px){ .oscu-calculator__group { grid-template-columns:1fr; } }
.oscu-calculator__group:last-of-type { margin-bottom:40px; }
.oscu-calculator__field label { display:block; font-weight:600; margin-bottom:0.25rem; font-size:18px; }
.oscu-calculator__group-heading { color: var(--Primary-Palette-Blue, #0072DA); font-family: Figtree, system-ui, sans-serif; font-size:16px; font-style:normal; font-weight:700; line-height:1; letter-spacing:1.28px; text-transform:uppercase; margin:0 0 16px; }
.oscu-calculator__input { width:100%; padding:0.5rem; border:1px solid #cbd5e1; border-radius:4px; }
.oscu-calculator__actions { display:flex; gap:1rem; align-items:center; margin:40px 0 0; }
.oscu-calculator__actions .oscu-calculator__reset { margin-left:auto; }
.oscu-calculator__results-heading { color: var(--Primary-Palette-Blue, #0072DA); font-family: Figtree, system-ui, sans-serif; font-size:16px; font-style:normal; font-weight:700; line-height:1; letter-spacing:1.28px; text-transform:uppercase; margin:0 0 16px; }

/* Debt Consolidation - Current Debt table layout */
.oscu-calculator__group--debt .oscu-calculator__debt-table {
	display: table;
	width: 100%;
	border-collapse: collapse;
}

.oscu-calculator__group--debt .oscu-calculator__debt-row {
	display: table-row;
}

.oscu-calculator__group--debt .oscu-calculator__debt-row--header {
	font-weight: 600;
}

.oscu-calculator__group--debt .oscu-calculator__debt-cell {
	display: table-cell;
	padding: 8px 12px;
	vertical-align: middle;
}

.oscu-calculator__group--debt .oscu-calculator__debt-cell--label {
	font-weight: 600;
	white-space: nowrap;
}

.oscu-calculator__group--debt .oscu-calculator__debt-cell .oscu-calculator__field {
	margin: 0;
}

/* Hide per-input labels inside the debt grid to avoid double headings */
.oscu-calculator__group--debt .oscu-calculator__debt-cell .oscu-calculator__field > label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 768px) {
	.oscu-calculator__group--debt .oscu-calculator__debt-table,
	.oscu-calculator__group--debt .oscu-calculator__debt-row,
	.oscu-calculator__group--debt .oscu-calculator__debt-cell {
		display: block;
		width: 100%;
	}

	.oscu-calculator__group--debt .oscu-calculator__debt-row--header {
		display: none;
	}

	.oscu-calculator__group--debt .oscu-calculator__debt-cell--label {
		margin-top: 0.75rem;
	}
}
.oscu-calculator__calculate.button { border-radius: 100px; background: var(--Primary-Palette-Blue, #0072DA); color: #fff; display: inline-flex; padding: 14px 32px; align-items: center; gap: 4px; border: none; cursor: pointer; font-weight: 600; }
.oscu-calculator__calculate.button::after { content: ''; display: inline-block; width: 14px; height: 14px; margin-left: 4px; background-repeat: no-repeat; background-position: center; background-size: 14px 14px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M4 2L10 7L4 12' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.oscu-calculator__calculate.button:hover { filter: brightness(0.92); }
.oscu-calculator__calculate.button:focus-visible { outline: 2px solid #ffffff; outline-offset: 2px; box-shadow: 0 0 0 4px rgba(0, 114, 218, 0.35); }
.oscu-calculator__reset { color: var(--Primary-Palette-Navy, #02267E); font-family: Figtree, system-ui, sans-serif; font-size: 20px; font-style: normal; font-weight: 700; line-height: 115%; letter-spacing: 0.4px; text-decoration-line: underline; text-decoration-style: solid; text-decoration-skip-ink: auto; text-decoration-thickness: 8%; text-underline-offset: 25%; text-underline-position: from-font; }
.oscu-calculator__reset:visited { color: var(--Primary-Palette-Navy, #02267E); }
.oscu-calculator__results { margin-top:1.25rem; }
.oscu-calculator__summary p { margin:0 0 0.35rem; }
.oscu-calculator__error { color:#b91c1c; font-weight:600; }
.oscu-calculator__table { width:100%; border-collapse:collapse; margin-top:1rem; font-size:0.875rem; }
.oscu-calculator__table th, .oscu-calculator__table td { border:1px solid #e2e8f0; padding:0.4rem 0.55rem; text-align:right; }
.oscu-calculator__table th:first-child, .oscu-calculator__table td:first-child { text-align:left; }
.oscu-calculator__chart-wrapper { max-width:100%; aspect-ratio: 16 / 9; margin-top:1rem; position:relative; }
.oscu-calculator__chart-wrapper canvas { width:100% !important; height:100% !important; display:block; }
.oscu-calculator__email-results { margin-top:2rem; padding-top:1rem; border-top:1px solid #e2e8f0; }
.oscu-calculator__email-results h4 { margin-top:0; }
.oscu-calculator__chart-image img { max-width:100%; height:auto; display:block; margin:1rem 0; }
@media (prefers-color-scheme: dark) { .oscu-calculator { background:#ffffff; border-color:#475569; } .oscu-calculator__input { background:#f8fafc; border-color:#cbd5e1; color:#0f172a; } .oscu-calculator__table th, .oscu-calculator__table td { border-color:#cbd5e1; } }

/* --- Calculator Accordions (ACF-style) --- */
.oscu-calculator .acf-accordion { margin: 16px 0; }
.oscu-calculator .acf-accordion .accordion-item { margin: 8px 0; }
.oscu-calculator .acf-accordion .accordion-title {
	appearance: none !important;
	-webkit-appearance: none !important;
	background: none !important; /* remove grey background */
	background-color: transparent !important; /* ensure no background-color override */
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer;
	color: var(--primary-palette-navy, #002e6d) !important;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.3;
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	text-transform: none !important;
	border-radius: 0 !important;
	background-image: none !important;
	text-decoration: none !important;
	vertical-align: middle;
}
.oscu-calculator .acf-accordion .accordion-title:focus { outline: 2px solid #99c2ff; outline-offset: 2px; }
.oscu-calculator .acf-accordion .accordion-title:hover,
.oscu-calculator .acf-accordion .accordion-title:active {
	background: none !important;
	background-color: transparent !important;
	box-shadow: none !important;
}
.oscu-calculator .acf-accordion .accordion-content { margin-top: 8px; }
.oscu-calculator .acf-accordion .accordion-icon { display:inline-block; transition: transform .15s ease-in-out; transform-origin: 50% 50%; }
.oscu-calculator .acf-accordion .accordion-title[aria-expanded="false"] .accordion-icon { transform: rotate(0deg); }
.oscu-calculator .acf-accordion .accordion-title[aria-expanded="true"] .accordion-icon { transform: rotate(90deg); }

/* Legend for grouped chart */
.oscu-calculator__legend { display: flex; gap: 16px; margin-top: 8px; }
.oscu-calculator__legend .legend-item { color: #0b2e7a; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }
.oscu-calculator__legend .legend-swatch { width: 12px; height: 12px; display: inline-block; border-radius: 2px; }
