/*
 * Alternative invoice and receipt designs.
 *
 * Loaded after document.css. The `classic` design (Template 1) has no rules
 * here and keeps the base document card untouched. Every rule below is mirrored
 * in assets/css/document-pdf.css so the PDF versions match.
 */

/* Template 2 — Executive */
.bbz-document.bbz-document--executive {
	padding: 0 0 1.75rem;
	border-top: 8px solid #0f172a;
	border-radius: 6px;
}

.bbz-document--executive .bbz-document__head {
	padding: 1.5rem;
	border-bottom: 0;
	border-radius: 4px;
	background: #0f172a;
}

.bbz-document--executive .bbz-document__body {
	padding: 0 2rem;
}

.bbz-document--executive .bbz-document__name {
	font-size: 1.05rem;
	color: #fff;
}

.bbz-document--executive .bbz-document__lines {
	color: #cbd5e1;
}

.bbz-document--executive .bbz-document__meta h2 {
	color: #fff;
}

.bbz-document--executive .bbz-document__facts dt {
	color: #aebbcd;
}

.bbz-document--executive .bbz-document__facts dd {
	color: #fff;
}

.bbz-document.bbz-document--executive .bbz-badge {
	border: 1px solid rgba(255, 255, 255, 0.32);
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
}

.bbz-document--executive .bbz-document__items thead th {
	border-bottom: 0;
	background: #0f172a;
	color: #fff;
}

.bbz-document--executive .bbz-document__totals td {
	color: #0f172a;
}

.bbz-document--executive .bbz-document__row--grand th,
.bbz-document--executive .bbz-document__row--grand td {
	border-top: 2px solid #0f172a;
	color: #0f172a;
}

.bbz-document--executive .bbz-document__row--due th,
.bbz-document--executive .bbz-document__row--due td {
	color: #0f172a;
}

/* Template 3 — Minimal */
.bbz-document.bbz-document--minimal {
	padding: 2rem 2rem 1.75rem;
	border: 0;
	border-top: 1px solid #101828;
	border-radius: 0;
	box-shadow: none;
}

.bbz-document--minimal .bbz-document__head {
	border-bottom: 1px solid #101828;
}

.bbz-document--minimal .bbz-document__meta h2 {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #101828;
}

.bbz-document--minimal .bbz-document__facts dt {
	color: #98a2b3;
}

.bbz-document--minimal .bbz-document__items thead th {
	border-bottom: 1px solid #101828;
	background: transparent;
	color: #101828;
}

.bbz-document--minimal .bbz-document__totals td {
	color: #101828;
}

.bbz-document--minimal .bbz-document__row--grand th,
.bbz-document--minimal .bbz-document__row--grand td {
	border-top: 1px solid #101828;
	color: #101828;
}

.bbz-document--minimal .bbz-document__row--due th,
.bbz-document--minimal .bbz-document__row--due td {
	border-top: 0;
	color: #101828;
}

.bbz-document--minimal .bbz-document__footer {
	border-top: 1px solid #eef2f6;
}

.bbz-document.bbz-document--minimal .bbz-badge {
	border: 1px solid #d0d5dd;
	background: transparent;
	color: #475467;
}

/* Template 4 — Frame */
.bbz-document.bbz-document--frame {
	padding: 0;
	border: 2px solid var(--bw-brand, #d6540e);
	border-top-width: 12px;
	border-radius: 4px;
	overflow: hidden;
}

.bbz-document--frame .bbz-document__head {
	padding: 1.5rem;
	border-bottom: 2px solid var(--bw-brand, #d6540e);
	background: var(--bw-brand-soft, #fdf0e6);
}

.bbz-document--frame .bbz-document__body {
	padding: 0 1.5rem 1.5rem;
}

.bbz-document--frame .bbz-document__title {
	align-items: flex-end;
	gap: 0.45rem;
}

.bbz-document--frame .bbz-document__meta h2 {
	display: inline-block;
	padding: 0.18rem 0.7rem;
	border-radius: 4px;
	background: var(--bw-brand, #d6540e);
	color: #fff;
}

.bbz-document--frame .bbz-document__items thead th {
	border-bottom: 0;
	background: var(--bw-brand, #d6540e);
	color: #fff;
}

.bbz-document--frame .bbz-document__totals {
	margin-bottom: 1.5rem;
	background: #f9fafb;
}

.bbz-document--frame .bbz-document__totals tr:first-child th,
.bbz-document--frame .bbz-document__totals tr:first-child td {
	padding-top: 0.75rem;
	border-top: 1px solid #e4e7ec;
}

.bbz-document--frame .bbz-document__totals tr:last-child th,
.bbz-document--frame .bbz-document__totals tr:last-child td {
	padding-bottom: 0.75rem;
	border-bottom: 1px solid #e4e7ec;
}

.bbz-document--frame .bbz-document__totals td {
	padding-right: 1rem;
}

.bbz-document--frame .bbz-document__row--grand th,
.bbz-document--frame .bbz-document__row--grand td {
	color: var(--bw-brand-strong, #a83f08);
}

.bbz-document--frame .bbz-document__row--due th,
.bbz-document--frame .bbz-document__row--due td {
	color: var(--bw-brand-strong, #a83f08);
}

/* Template 5 — Modern */
.bbz-document.bbz-document--modern {
	padding: 0;
	border: 0;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 18px 40px rgba(16, 24, 40, 0.08);
}

.bbz-document--modern .bbz-document__head {
	padding: 1.5rem;
	border-bottom: 0;
	border-radius: 18px 18px 0 0;
	background: var(--bw-brand-soft, #fdf0e6);
}

.bbz-document--modern .bbz-document__body {
	padding: 0 1.75rem 1.75rem;
}

.bbz-document--modern .bbz-document__title {
	align-items: flex-end;
	gap: 0.45rem;
}

.bbz-document--modern .bbz-document__meta h2 {
	display: inline-block;
	padding: 0.2rem 0.65rem;
	border-radius: 6px;
	background: #101828;
	color: #fff;
	font-size: 0.95rem;
	letter-spacing: 0.06em;
}

.bbz-document--modern .bbz-document__items thead th {
	border-top: 1px solid #101828;
	border-bottom: 1px solid #101828;
	background: #f4f6fa;
	color: #101828;
}

.bbz-document--modern .bbz-document__totals {
	margin-bottom: 1.5rem;
	background: var(--bw-brand-soft, #fdf0e6);
}

.bbz-document--modern .bbz-document__totals tr:first-child th,
.bbz-document--modern .bbz-document__totals tr:first-child td {
	padding-top: 0.85rem;
}

.bbz-document--modern .bbz-document__totals tr:last-child th,
.bbz-document--modern .bbz-document__totals tr:last-child td {
	padding-bottom: 0.85rem;
}

.bbz-document--modern .bbz-document__totals td {
	padding-right: 1.15rem;
	color: #101828;
}

.bbz-document--modern .bbz-document__row--grand th,
.bbz-document--modern .bbz-document__row--grand td {
	border-top: 2px solid var(--bw-brand, #d6540e);
	color: #101828;
}

.bbz-document--modern .bbz-document__row--due th,
.bbz-document--modern .bbz-document__row--due td {
	border-top: 1px solid rgba(16, 24, 40, 0.12);
	color: #101828;
}

@media (max-width: 680px) {
	.bbz-document.bbz-document--minimal {
		padding: 1.25rem;
	}

	.bbz-document--executive .bbz-document__body {
		padding: 0 1.5rem;
	}

	.bbz-document--frame .bbz-document__body {
		padding: 0 1.25rem 1.25rem;
	}

	.bbz-document--modern .bbz-document__body {
		padding: 0 1.25rem 1.25rem;
	}
}

@media print {
	.bbz-document.bbz-document--minimal {
		border-top: 0;
	}

	.bbz-document--executive .bbz-document__body,
	.bbz-document--frame .bbz-document__body,
	.bbz-document--modern .bbz-document__body {
		padding: 0;
	}

	.bbz-document--frame,
	.bbz-document.bbz-document--modern {
		box-shadow: none;
		border-radius: 0;
	}
}
