/**
 * Bekaweb Estimator v3 — Espace client (devis style document)
 */

.bkw-quote-doc {
	font-family: 'Inter', system-ui, sans-serif;
	max-width: 880px;
	margin: calc(24px + var(--bkw-header-offset, 0px)) auto 60px;
	background: #fff;
	border: 1px solid rgba(10, 22, 40, 0.08);
	border-radius: 16px;
	padding: clamp(28px, 5vw, 56px);
	color: #1a1a1a;
	box-shadow: 0 8px 24px rgba(10, 22, 40, 0.06);
}

.bkw-quote-doc * { box-sizing: border-box; }

.bkw-eyebrow {
	font-family: 'DM Mono', monospace;
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #C9A84C;
	margin-bottom: 6px;
	display: inline-block;
	font-weight: 500;
}

/* Header */
.bkw-quote-header {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 32px;
	border-bottom: 2px solid #0A1628;
	margin-bottom: 32px;
}
.bkw-quote-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 32px;
	font-weight: 500;
	color: #0A1628;
	margin: 0 0 8px;
	line-height: 1;
}
.bkw-quote-id {
	font-family: 'DM Mono', monospace;
	font-size: 18px;
	color: #C9A84C;
	font-weight: 500;
}
.bkw-quote-meta {
	font-size: 13px;
	color: #5a5a5a;
	line-height: 1.6;
}
.bkw-quote-header-right { text-align: right; }

/* Summary */
.bkw-quote-summary-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-bottom: 32px;
}
.bkw-quote-client,
.bkw-quote-project {
	background: #FAF8F3;
	border-radius: 8px;
	padding: 20px;
}
.bkw-quote-name,
.bkw-quote-service {
	font-family: 'Playfair Display', serif;
	font-size: 18px;
	font-weight: 500;
	color: #0A1628;
	margin: 4px 0 8px;
}

/* Table */
.bkw-quote-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 32px;
}
.bkw-quote-table th {
	font-family: 'DM Mono', monospace;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #0A1628;
	text-align: left;
	padding: 12px 16px;
	background: #FAF8F3;
	font-weight: 500;
}
.bkw-quote-table th:last-child { text-align: right; }
.bkw-quote-table td {
	padding: 14px 16px;
	border-bottom: 1px solid rgba(10, 22, 40, 0.06);
	font-size: 14px;
	vertical-align: top;
}
.bkw-quote-table td strong { color: #0A1628; }
.bkw-quote-row-detail {
	font-size: 12px;
	color: #888;
	margin-top: 4px;
}
.bkw-text-right { text-align: right; font-family: 'DM Mono', monospace; font-weight: 500; }
.bkw-quote-adj td { background: rgba(201, 168, 76, 0.04); }
.bkw-quote-adj td em { color: #5a5a5a; }

.bkw-quote-table tfoot td {
	padding: 12px 16px;
	font-weight: 500;
	font-size: 14px;
	color: #0A1628;
	border-bottom: 1px solid rgba(10, 22, 40, 0.04);
}
.bkw-tva-row td { color: #888; font-style: italic; }
.bkw-tva-offert {
	background: #C9A84C;
	color: #0A1628;
	font-size: 10px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 2px 8px;
	border-radius: 10px;
	margin-left: 8px;
	font-style: normal;
	font-weight: 500;
	font-family: 'DM Mono', monospace;
}
.bkw-recurring-row td { color: #888; font-style: italic; font-size: 13px; }

.bkw-total td {
	background: #0A1628;
	color: #C9A84C !important;
	font-family: 'Playfair Display', serif;
	font-size: 22px;
	padding: 18px 16px;
}

/* ROI card */
.bkw-roi-card {
	background: linear-gradient(135deg, #0A1628 0%, #1a2d4a 100%);
	color: #FAF8F3;
	border-radius: 12px;
	padding: 28px;
	margin: 32px 0;
	border-left: 4px solid #C9A84C;
}
.bkw-roi-card .bkw-eyebrow { color: #C9A84C; }
.bkw-roi-title {
	font-family: 'Playfair Display', serif;
	font-size: 26px;
	font-weight: 500;
	margin: 8px 0 12px;
}
.bkw-roi-title em {
	font-style: italic;
	color: #C9A84C;
}
.bkw-roi-card p {
	font-size: 14px;
	line-height: 1.6;
	margin: 8px 0;
	color: rgba(250, 248, 243, 0.85);
}
.bkw-roi-card strong { color: #C9A84C; }
.bkw-roi-disclaimer {
	font-size: 11px;
	font-style: italic;
	color: rgba(250, 248, 243, 0.5);
}

/* Reco card */
.bkw-reco-card {
	background: #FAF8F3;
	border-radius: 12px;
	border-left: 4px solid #C9A84C;
	padding: 24px 28px;
	margin: 24px 0;
}
.bkw-reco-list {
	list-style: none;
	padding: 0;
	margin: 8px 0 0;
}
.bkw-reco-list li {
	padding: 10px 0 10px 24px;
	font-size: 14px;
	line-height: 1.6;
	color: #3a3a3a;
	position: relative;
}
.bkw-reco-list li::before {
	content: '→';
	position: absolute;
	left: 0;
	color: #C9A84C;
	font-weight: 500;
}

/* Footer */
.bkw-quote-footer {
	margin-top: 32px;
	padding: 20px 24px;
	background: #FAF8F3;
	border-radius: 8px;
	font-size: 12px;
	color: #5a5a5a;
	line-height: 1.7;
}
.bkw-quote-footer p { margin: 0 0 4px; }
.bkw-quote-footer strong { color: #0A1628; }

/* Actions */
.bkw-quote-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid rgba(10, 22, 40, 0.06);
}

.bkw-btn-primary, .bkw-btn-secondary {
	font-family: 'DM Mono', monospace;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 500;
	padding: 12px 24px;
	border-radius: 4px;
	cursor: pointer;
	transition: all 0.2s ease;
	border: none;
	text-decoration: none;
}
.bkw-btn-primary { background: #C9A84C; color: #0A1628; }
.bkw-btn-primary:hover { background: #d4b35c; }
.bkw-btn-secondary {
	background: transparent;
	color: #0A1628;
	border: 1px solid rgba(10, 22, 40, 0.2);
}
.bkw-btn-secondary:hover { border-color: #0A1628; background: #FAF8F3; }

/* Notice */
.bkw-notice {
	max-width: 720px;
	margin: 30px auto;
	padding: 16px 20px;
	border-radius: 8px;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	border-left: 3px solid;
}
.bkw-notice-info { background: #f0f4f8; border-color: #4a90e2; color: #1e4d6b; }
.bkw-notice a { color: inherit; font-weight: 500; }

/* Print */
@media print {
	body * { visibility: hidden; }
	.bkw-quote-doc, .bkw-quote-doc * { visibility: visible; }
	.bkw-quote-doc { position: absolute; left: 0; top: 0; box-shadow: none; border: none; max-width: 100%; }
	.bkw-quote-actions { display: none; }
}

/* Responsive */
@media (max-width: 700px) {
	.bkw-quote-doc { padding: 24px 20px; margin: 16px; }
	.bkw-quote-header { flex-direction: column; gap: 16px; }
	.bkw-quote-header-right { text-align: left; }
	.bkw-quote-summary-grid { grid-template-columns: 1fr; }
	.bkw-quote-table th, .bkw-quote-table td { padding: 10px 8px; font-size: 12px; }
	.bkw-total td { font-size: 18px; padding: 14px 8px; }
}

/* ============================================================
   v3.0.7 - QUOTE MOBILE COMPACT
   ============================================================ */
@media (max-width: 540px) {
	.bkw-quote-doc {
		padding: 20px 14px;
		margin: 12px;
		border-radius: 10px;
	}
	.bkw-quote-header {
		padding-bottom: 20px;
		margin-bottom: 20px;
		gap: 12px;
	}
	.bkw-quote-title { font-size: 24px; }
	.bkw-quote-id { font-size: 16px; }

	.bkw-quote-summary-grid {
		gap: 12px;
		margin-bottom: 20px;
	}
	.bkw-quote-client,
	.bkw-quote-project { padding: 14px; }
	.bkw-quote-name,
	.bkw-quote-service { font-size: 16px; }

	.bkw-quote-table { margin-bottom: 20px; }
	.bkw-quote-table th { font-size: 10px; padding: 8px 6px; }
	.bkw-quote-table td { padding: 8px 6px; font-size: 12px; }
	.bkw-quote-row-detail { font-size: 11px; }
	.bkw-tva-offert { font-size: 9px; padding: 1px 6px; }

	.bkw-quote-table tfoot td { padding: 10px 6px; font-size: 13px; }
	.bkw-total td { font-size: 16px; padding: 12px 6px; }

	.bkw-roi-card,
	.bkw-reco-card {
		padding: 18px 16px;
		margin: 20px 0;
	}
	.bkw-roi-title { font-size: 22px; }
	.bkw-roi-card p { font-size: 13px; }
	.bkw-reco-list li { padding: 8px 0 8px 18px; font-size: 13px; }

	.bkw-quote-footer {
		padding: 14px 16px;
		font-size: 11px;
	}

	.bkw-quote-actions {
		margin-top: 24px;
		padding-top: 18px;
		flex-direction: column;
		gap: 8px;
	}
	.bkw-quote-actions .button-primary,
	.bkw-quote-actions .bkw-btn-secondary {
		width: 100%;
		justify-content: center;
		text-align: center;
		padding: 12px 16px;
		font-size: 11px;
	}
}

@media (max-width: 380px) {
	.bkw-quote-doc { padding: 16px 12px; margin: 8px; }
	.bkw-quote-title { font-size: 20px; }
	.bkw-quote-table th { padding: 6px 4px; }
	.bkw-quote-table td { padding: 6px 4px; font-size: 11px; }
}
