/* =============================================================================
   Zere Mortgage Calculator — Plugin Stylesheet
   ============================================================================= */

.zere-calculator {
	border: 3px solid #0d0d0d;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 16px;
	font-weight: 600;
	width: 100%;
	max-width: 900px;
	margin: 20px auto;
	background: #fff;
	box-sizing: border-box;
}

/* ── Header ─────────────────────────────────────────────────────────────────── */
.zere-calc-header {
	background-color: #792627;
	padding: 12px 20px;
	min-height: 80px;
	display: flex;
	align-items: center;
}

.zere-calc-logo {
	max-height: 60px;
	width: auto;
}

/* ── Meta (Prepared For/By, Date, Property) ──────────────────────────────────── */
.zere-calc-meta {
	padding: 10px 16px;
	background: #f9f9f9;
	border-bottom: 2px solid #0d0d0d;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 20px;
}

.zere-calc-meta-row {
	display: flex;
	align-items: center;
	gap: 8px;
}

.zere-calc-meta-row label {
	white-space: nowrap;
	font-weight: 700;
	min-width: 110px;
}

.zere-calc-meta-row input {
	flex: 1;
	border: 1px solid #0a0a0a !important;
	border-radius: 2px !important;
	padding: 4px 8px;
	font-size: 15px;
}

.zere-calc-date {
	font-weight: 700;
}

/* ── Section Titles ──────────────────────────────────────────────────────────── */
.zere-calc-section-title {
	text-align: center;
	font-weight: 800;
	font-size: 16px;
	padding: 8px;
	border-top: 2px solid #0d0d0d;
	border-bottom: 2px solid #0d0d0d;
	background: #f2f2f2;
	letter-spacing: 0.05em;
}

/* ── Tables ──────────────────────────────────────────────────────────────────── */
.zere-calc-table {
	width: 100%;
	border-collapse: collapse;
}

.zere-calc-table td {
	padding: 7px 15px 7px 10px;
	font-size: 16px;
	vertical-align: middle;
}

.zere-calc-table tr:not(:last-child) td {
	border-bottom: 1px solid #ddd;
}

.zere-calc-results tr td {
	border-bottom: 2px solid #0d0d0d !important;
}

/* ── Inputs ──────────────────────────────────────────────────────────────────── */
.zere-calc-table input[type="number"],
.zere-calc-table input[type="text"] {
	border: 1px solid #0a0a0a !important;
	border-radius: 2px !important;
	padding: 4px 8px;
	font-size: 15px;
	width: 70%;
	box-sizing: border-box;
	-moz-appearance: textfield;
}

.zere-calc-table input[type="number"]::-webkit-inner-spin-button,
.zere-calc-table input[type="number"]::-webkit-outer-spin-button {
	opacity: 1;
}

/* Inline down-payment cell */
.zere-inline-cell {
	display: flex;
	align-items: center;
	gap: 6px;
}

.zere-inline-cell input {
	width: 60% !important;
}

.zere-inline-cell select {
	border: 1px solid #0a0a0a !important;
	border-radius: 2px !important;
	padding: 4px 6px;
	font-size: 15px;
	width: auto;
}

/* ── Results ─────────────────────────────────────────────────────────────────── */
.zere-result {
	text-align: right;
	font-weight: 700;
}

.zere-result-highlight {
	color: #cc0000;
	font-size: 18px;
}

/* ── Footer ──────────────────────────────────────────────────────────────────── */
.zere-calc-footer {
	background-color: #792627;
	border-top: 3px solid #0d0d0d;
	display: flex;
	justify-content: space-between;
	padding: 12px 20px;
	color: #ffffff;
	font-size: 18px;
	font-weight: 700;
}

/* ── Disclaimer ──────────────────────────────────────────────────────────────── */
.zere-calc-disclaimer {
	font-size: 13px;
	font-weight: 400;
	margin: 8px 10px;
	color: #555;
}

/* Header layout — push button to the right */
.zere-calc-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* Print button styling */
.zere-calc-print {
	background: transparent;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 6px 10px;
	cursor: pointer;
	color: #333;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s ease, color 0.15s ease;
	margin-left: auto; /* fallback if header isn't flex */
}
.zere-calc-print:hover {
	background: #333;
	color: #fff;
}

/* If there's no logo, the button still sits on the right */
.zere-calc-header:not(:has(.zere-calc-logo)) .zere-calc-print {
	margin-left: auto;
}

/* ── Responsive ──────────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
	.zere-calc-meta {
		grid-template-columns: 1fr;
	}

	.zere-calc-table td {
		font-size: 14px;
		padding: 6px 8px;
	}

	.zere-calc-table input[type="number"] {
		width: 100%;
	}

	.zere-calc-footer {
		font-size: 15px;
		flex-direction: column;
		gap: 4px;
	}
}
