/* WPCadastre Report v3 - Clean Editorial Styling (matches Hausum PDF reference design) */
:root {
	--hsm-navy: #0A1E3C;
	--hsm-blue-accent: #2563EB;
	--hsm-text: #1E293B;
	--hsm-muted: #64748B;
	--hsm-border: #E5E9F0;
	--hsm-bg: #FFFFFF;

	--hsm-amber: #B4570F;
	--hsm-amber-bg: #FBEEDD;
	--hsm-blue: #2955B0;
	--hsm-blue-bg: #E4ECFB;
	--hsm-green: #1F7A46;
	--hsm-green-bg: #E3F3E7;
	--hsm-gray: #64748B;
	--hsm-gray-bg: #EEF0F3;
	--hsm-red: #B91C2C;
	--hsm-red-bg: #FDECEC;
}

body.wpc-report-v3-body {
	background-color: var(--hsm-bg);
	color: var(--hsm-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust: 100%;
}

.wpc-report-v3-container {
	max-width: 860px;
	margin: 0 auto;
	padding: 32px 24px 100px;
}

/* Header bar */
.wpc-report-topbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--hsm-border);
	margin-bottom: 28px;
}

.wpc-report-logo {
	font-weight: 800;
	font-size: 19px;
	letter-spacing: -0.5px;
	color: var(--hsm-navy);
}

.wpc-report-logo span {
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--hsm-muted);
	margin-left: 10px;
	padding-left: 10px;
	border-left: 1px solid var(--hsm-border);
}

.wpc-pill-badge-free {
	background-color: var(--hsm-gray-bg);
	color: var(--hsm-muted);
	font-weight: 700;
	font-size: 10.5px;
	letter-spacing: 1px;
	padding: 6px 14px;
	border-radius: 20px;
}

/* Hero (Cover) Block — flat white, no image/gradient background */
.wpc-hero-card {
	background: none;
	color: var(--hsm-text);
	padding: 0;
}

.wpc-hero-top {
	font-size: 12px;
	letter-spacing: 1.5px;
	color: var(--hsm-blue-accent);
	text-transform: uppercase;
	font-weight: 700;
	margin-bottom: 10px;
}

.wpc-hero-title, .wpc-hero-title a {
	color: var(--hsm-navy) !important;
	text-decoration: none !important;
}

.wpc-hero-title {
	font-family: inherit;
	font-size: 32px;
	line-height: 1.15;
	font-weight: 800;
	margin: 0 0 6px;
	letter-spacing: -0.5px;
	word-break: break-word;
}

.wpc-hero-subtitle {
	font-size: 13.5px;
	color: var(--hsm-muted);
	margin: 0;
}

.wpc-hero-bg-pattern { display: none; }

/* Meta Grid (Superficie / Año / Planta / Uso) */
.wpc-meta-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
	background: none;
	padding: 0;
	border-radius: 0;
	margin: 24px 0 28px;
	box-shadow: none;
	border: none;
}

.wpc-meta-grid > div {
	border: 1px solid var(--hsm-border);
	border-radius: 10px;
	padding: 14px 16px;
}

.wpc-meta-col-label {
	font-size: 10.5px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: var(--hsm-muted);
	font-weight: 700;
	margin-bottom: 6px;
}

.wpc-meta-col-val {
	font-size: 19px;
	font-weight: 800;
	color: var(--hsm-navy);
}

.wpc-meta-col-val span {
	font-size: 12px;
	font-weight: 500;
	color: var(--hsm-muted);
}

/* Navy solid callout box (Conclusión, Cómo leer, No evaluable, CTA...) */
.wpc-navy-box {
	background: var(--hsm-navy);
	color: #FFFFFF;
	border-radius: 12px;
	padding: 22px 26px;
	margin-bottom: 28px;
}

.wpc-navy-box .wpc-box-label {
	font-size: 11px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	font-weight: 800;
	color: #93B6FF;
	margin-bottom: 8px;
}

.wpc-navy-box p {
	color: #E2E8F0;
	font-size: 14.5px;
	line-height: 1.55;
	margin: 0;
}

/* Tint callout boxes (Resultado urbanístico / Límite / Amianto / Fuera de este análisis / Qué incluye / Qué no sustituye) */
.wpc-tint-box {
	border-radius: 12px;
	padding: 20px 24px;
}
.wpc-tint-box .wpc-box-label {
	font-size: 11px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	font-weight: 800;
	margin-bottom: 8px;
}
.wpc-tint-box p {
	font-size: 13.5px;
	line-height: 1.55;
	margin: 0;
	color: var(--hsm-text);
}
.wpc-tint-box.green { background: var(--hsm-green-bg); }
.wpc-tint-box.green .wpc-box-label { color: var(--hsm-green); }
.wpc-tint-box.gray { background: var(--hsm-gray-bg); }
.wpc-tint-box.gray .wpc-box-label { color: var(--hsm-muted); }
.wpc-tint-box.amber { background: var(--hsm-amber-bg); }
.wpc-tint-box.amber .wpc-box-label { color: var(--hsm-amber); }
.wpc-tint-box.red { background: var(--hsm-red-bg); }
.wpc-tint-box.red .wpc-box-label { color: var(--hsm-red); }

/* 4-KPI Counters Bar (ATENCIÓN / FALTA DOCUMENTO / SIN INCIDENCIA / NO EVALUABLE) */
.wpc-counters-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin-bottom: 28px;
}

.wpc-counter-card {
	padding: 16px 18px;
	border-radius: 10px;
}

.wpc-counter-card.amber { background: var(--hsm-amber-bg); }
.wpc-counter-card.blue { background: var(--hsm-blue-bg); }
.wpc-counter-card.green { background: var(--hsm-green-bg); }
.wpc-counter-card.gray { background: var(--hsm-gray-bg); }

.wpc-counter-num {
	font-size: 30px;
	font-weight: 800;
	line-height: 1;
	margin-bottom: 6px;
}

/* Plain flat table (Glosario / Fuentes list on page 8) */
.wpc-table-flat { width: 100%; border-collapse: collapse; font-size: 13px; }
.wpc-table-flat td { padding: 10px 12px 10px 0; border-bottom: 1px solid var(--hsm-border); vertical-align: top; color: var(--hsm-text); }

.wpc-counter-card.amber .wpc-counter-num { color: var(--hsm-amber); }
.wpc-counter-card.blue .wpc-counter-num { color: var(--hsm-blue); }
.wpc-counter-card.green .wpc-counter-num { color: var(--hsm-green); }
.wpc-counter-card.gray .wpc-counter-num { color: var(--hsm-gray); }

.wpc-counter-label {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.6px;
	text-transform: uppercase;
}
.wpc-counter-card.amber .wpc-counter-label { color: var(--hsm-amber); }
.wpc-counter-card.blue .wpc-counter-label { color: var(--hsm-blue); }
.wpc-counter-card.green .wpc-counter-label { color: var(--hsm-green); }
.wpc-counter-card.gray .wpc-counter-label { color: var(--hsm-gray); }

.wpc-counter-desc { display: none; }

/* Sticky Nav & Nav Tabs */
.wpc-sticky-nav {
	position: sticky;
	top: 0;
	background: rgba(255,255,255,0.97);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	z-index: 999;
	padding: 10px 0;
	border-bottom: 1px solid var(--hsm-border);
}

.wpc-sticky-nav .wpc-nav-tabs {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	gap: 6px;
	margin-bottom: 0;
	border-bottom: none;
	padding-bottom: 4px;
	scrollbar-width: thin;
}

.wpc-sticky-nav .wpc-nav-tabs::-webkit-scrollbar { height: 4px; }
.wpc-sticky-nav .wpc-nav-tabs::-webkit-scrollbar-thumb { background: var(--hsm-blue-accent); border-radius: 4px; }

.wpc-tab-btn {
	background: #FFFFFF;
	border: 1px solid var(--hsm-border);
	border-radius: 20px;
	padding: 7px 14px;
	font-size: 11.5px;
	font-weight: 700;
	color: var(--hsm-text);
	cursor: pointer;
	transition: all 0.2s ease;
	text-decoration: none;
	white-space: nowrap;
	flex: 0 0 auto;
}

.wpc-tab-btn:hover { border-color: var(--hsm-blue-accent); color: var(--hsm-blue-accent); }
.wpc-tab-btn.active { background: var(--hsm-navy); color: #FFFFFF; border-color: var(--hsm-navy); }

/* Section blocks (flat, no card shadow — matches printed-page look) */
.wpc-section-card {
	background: var(--hsm-bg);
	border-radius: 0;
	padding: 0;
	border: none;
	box-shadow: none;
	margin-bottom: 56px;
}

.wpc-section-anchor { scroll-margin-top: 76px; }

.wpc-section-header {
	border-bottom: 1px solid var(--hsm-border);
	padding-bottom: 18px;
	margin-bottom: 24px;
}

.wpc-section-tag {
	font-size: 11.5px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--hsm-blue-accent);
	font-weight: 800;
}

.wpc-section-title {
	font-family: inherit;
	font-size: 25px;
	font-weight: 800;
	color: var(--hsm-navy);
	margin: 6px 0;
	letter-spacing: -0.3px;
}

.wpc-section-desc { color: var(--hsm-muted); margin: 0; font-size: 14px; }

/* Check-list rows (replaces dense bordered tables) */
.wpc-check-group-title {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: var(--hsm-text);
	margin: 26px 0 6px;
}
.wpc-check-group-title:first-of-type { margin-top: 8px; }

.wpc-check-row {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--hsm-border);
}

.wpc-check-row-name {
	flex: 1 1 34%;
	font-size: 14px;
	font-weight: 700;
	color: var(--hsm-navy);
}

.wpc-check-row-badge { flex: 0 0 auto; }

.wpc-check-row-detail {
	flex: 1 1 32%;
	font-size: 13px;
	color: var(--hsm-text);
}

.wpc-check-row-source {
	flex: 0 0 auto;
	max-width: 150px;
	text-align: right;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	color: var(--hsm-muted);
}

/* Badge Pills */
.wpc-badge-mini {
	font-size: 10.5px;
	font-weight: 800;
	padding: 5px 12px;
	border-radius: 20px;
	display: inline-block;
	text-transform: uppercase;
	white-space: nowrap;
	letter-spacing: 0.3px;
}
.wpc-badge-amber { background: var(--hsm-amber-bg); color: var(--hsm-amber); }
.wpc-badge-blue { background: var(--hsm-blue-bg); color: var(--hsm-blue); }
.wpc-badge-green { background: var(--hsm-green-bg); color: var(--hsm-green); }
.wpc-badge-gray { background: var(--hsm-gray-bg); color: var(--hsm-gray); }
.wpc-badge-red { background: var(--hsm-red-bg); color: var(--hsm-red); }

/* Grid Layout Utilities */
.wpc-grid-2col { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }

/* Priority 2x2 cards (Antes de entregar arras) */
.wpc-priority-card {
	border: 1px solid var(--hsm-border);
	border-radius: 10px;
	padding: 18px;
}
.wpc-priority-card .wpc-box-label { margin-bottom: 10px; }
.wpc-priority-card h4 { font-size: 15px; font-weight: 800; color: var(--hsm-navy); margin: 0 0 6px; }
.wpc-priority-card p { font-size: 13px; color: var(--hsm-muted); margin: 0 0 8px; line-height: 1.45; }
.wpc-priority-card .wpc-priority-source { font-size: 10.5px; font-weight: 700; letter-spacing: 0.3px; text-transform: uppercase; color: var(--hsm-muted); }

/* Money / Price hero cards (Página 06) */
.wpc-money-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 28px; }
.wpc-money-card { padding: 22px; border-radius: 12px; }
.wpc-money-card.navy { background: var(--hsm-navy); }
.wpc-money-card.blue-tint { background: var(--hsm-blue-bg); }
.wpc-money-title { font-size: 11px; font-weight: 800; letter-spacing: 0.8px; text-transform: uppercase; margin-bottom: 8px; }
.wpc-money-card.navy .wpc-money-title { color: #93B6FF; }
.wpc-money-card.blue-tint .wpc-money-title { color: var(--hsm-blue); }
.wpc-money-val { font-size: 26px; font-weight: 800; margin-bottom: 6px; }
.wpc-money-card.navy .wpc-money-val { color: #FFFFFF; }
.wpc-money-card.blue-tint .wpc-money-val { color: var(--hsm-navy); }
.wpc-money-sub { font-size: 12.5px; }
.wpc-money-card.navy .wpc-money-sub { color: #CBD5E1; }
.wpc-money-card.blue-tint .wpc-money-sub { color: var(--hsm-muted); }
.wpc-money-diff { font-size: 12.5px; font-weight: 700; color: var(--hsm-amber); margin-top: 4px; }

/* Numbered checklist rows (Página 07) */
.wpc-numbered-row {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 16px;
	background: var(--hsm-gray-bg);
	border-radius: 10px;
	margin-bottom: 10px;
}
.wpc-numbered-circle {
	flex: 0 0 auto;
	width: 26px; height: 26px;
	border-radius: 50%;
	background: var(--hsm-navy);
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 800;
	display: flex; align-items: center; justify-content: center;
}
.wpc-numbered-body { flex: 1 1 auto; }
.wpc-numbered-body h4 { font-size: 14.5px; font-weight: 800; color: var(--hsm-navy); margin: 0 0 3px; }
.wpc-numbered-body p { font-size: 12.5px; color: var(--hsm-muted); margin: 0; }
.wpc-numbered-source { flex: 0 0 auto; font-size: 10.5px; font-weight: 700; letter-spacing: 0.3px; text-transform: uppercase; color: var(--hsm-blue); white-space: nowrap; }

/* Glossary state cards (Página 08) */
.wpc-glossary-card { border: 1px solid var(--hsm-border); border-radius: 10px; padding: 16px; }
.wpc-glossary-card p { font-size: 12.5px; color: var(--hsm-muted); margin: 8px 0 0; line-height: 1.4; }

/* Actions CTA Box */
.wpc-action-banner {
	background: var(--hsm-navy);
	color: #FFFFFF;
	border-radius: 12px;
	padding: 26px 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	margin-top: 24px;
}
.wpc-action-banner-title { font-family: inherit; font-size: 17px; font-weight: 800; margin: 0 0 6px; }
.wpc-action-banner-sub { font-size: 13px; color: rgba(255,255,255,0.75); margin: 0; }

.wpc-btn-primary {
	background: var(--hsm-blue-accent);
	color: #FFFFFF;
	font-weight: 700;
	font-size: 13.5px;
	padding: 13px 24px;
	border-radius: 8px;
	text-decoration: none;
	display: inline-block;
	white-space: nowrap;
	flex: 0 0 auto;
}
.wpc-btn-primary:hover { background: #1D4ED8; }

.wpc-btn-pdf-download {
	background-color: var(--hsm-navy);
	color: #FFFFFF !important;
	font-weight: 700;
	font-size: 13px;
	padding: 9px 18px;
	border-radius: 8px;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: background 0.2s ease;
}
.wpc-btn-pdf-download:hover { background-color: #142c52; }

/* Footer strip */
.wpc-report-footer {
	margin-top: 32px;
	padding-top: 16px;
	border-top: 1px solid var(--hsm-border);
	display: flex;
	justify-content: space-between;
	font-size: 11px;
	color: var(--hsm-muted);
}

/* Responsive */
@media (max-width: 900px) {
	.wpc-meta-grid, .wpc-counters-grid, .wpc-money-cards { grid-template-columns: repeat(2, 1fr); }
	.wpc-grid-2col { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
	.wpc-report-v3-container { padding: 20px 16px 90px; }
	.wpc-hero-title { font-size: 24px; }
	.wpc-section-title { font-size: 21px; }
	.wpc-grid-2col { grid-template-columns: 1fr !important; }
	.wpc-money-cards { grid-template-columns: 1fr; }
	.wpc-check-row { flex-direction: column; align-items: flex-start; gap: 6px; }
	.wpc-check-row-source, .wpc-check-row-detail { text-align: left; max-width: 100%; }
	.wpc-action-banner { flex-direction: column; text-align: center; }
}

@media (max-width: 480px) {
	.wpc-meta-grid, .wpc-counters-grid { grid-template-columns: 1fr; }
}

/* Browser Print Styles */
@media print {
	.wpc-sticky-nav, .wpc-pill-badge-free { display: none !important; }
	.wpc-report-v3-container { padding: 0 !important; max-width: 100% !important; }
	.wpc-section-card { page-break-inside: avoid; margin-bottom: 24px !important; }
	* { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
}
