/* ============================================================================
   CyberMap — print: the country briefing only, on a light A4 page. Loaded with
   media="print"; the app shell, overlays and tooltips never print.
   ========================================================================== */

@page { size: A4; margin: 14mm; }

html, body { height: auto !important; overflow: visible !important; background: #fff !important; color: #16181D !important; }
body > *:not(.briefing):not(.print-note) { display: none !important; }
/* Outside the briefing, Cmd+P prints only a short note. */
.print-note { display: block !important; font: 12pt/1.5 var(--font); color: #16181D; padding-top: 40mm; text-align: center; }
.briefing:not(:empty) ~ .print-note { display: none !important; }

/* Flags and band swatches are background images/colours: keep them. */
.briefing, .briefing * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

.briefing { display: block !important; font: 9.5pt/1.45 var(--font); color: #14181f; }
.briefing .num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.briefing h1, .briefing h2, .briefing h3 { color: #0b0e14; break-after: avoid; }

.b-head { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 1.5pt solid #0b0e14; padding-bottom: 6pt; margin-bottom: 10pt; }
.b-brand { display: flex; align-items: center; gap: 6pt; font-size: 14pt; color: #16181D; }
.b-brand svg { width: 20pt; height: 20pt; color: #16181D; }
.b-brand .mark-risk { fill: #A02F0B; }
.b-brand .wordmark { font-stretch: 112%; font-weight: 380; letter-spacing: -0.02em; }
.b-brand .wordmark b { font-weight: 760; }
.b-meta { text-align: right; font-size: 8.5pt; color: #4a5361; }
.b-title { display: flex; align-items: center; gap: 8pt; font-size: 20pt; margin-bottom: 2pt; }
.b-title .fi { width: 28pt; height: 21pt; border-radius: 2pt; box-shadow: 0 0 0 0.5pt #9aa3af; }
.b-lens { font-size: 9pt; color: #4a5361; margin-bottom: 10pt; }

.b-section { break-inside: avoid; margin-bottom: 12pt; }
.b-section h2 { font-size: 11pt; border-bottom: 0.75pt solid #c8ced6; padding-bottom: 2pt; margin-bottom: 6pt; }
.b-section h2 small { font-size: 8pt; font-weight: 500; color: #6b7480; margin-left: 4pt; }
.b-section h3 { font-size: 9.5pt; margin: 6pt 0 3pt; }
.b-section ul { padding-left: 12pt; }

.b-scores { display: grid; grid-template-columns: 34% 1fr; gap: 12pt; align-items: start; }
.b-ccr { border: 0.75pt solid #c8ced6; border-radius: 4pt; padding: 8pt 10pt; }
.b-k { font-size: 8pt; text-transform: uppercase; letter-spacing: 0.06em; color: #6b7480; font-weight: 700; }
.b-v { font-size: 34pt; font-weight: 800; font-stretch: 62%; line-height: 1; margin: 4pt 0; font-family: var(--font) !important; }
.b-swatch { display: inline-block; width: 9pt; height: 9pt; border-radius: 2pt; margin-right: 5pt; vertical-align: -1pt; }
.b-table { width: 100%; border-collapse: collapse; font-size: 9pt; }
.b-table th, .b-table td { text-align: left; padding: 3pt 5pt; border-bottom: 0.5pt solid #e1e5ea; vertical-align: top; }
.b-table th { font-weight: 600; color: #2b313b; }
.b-table .num { text-align: right; }
.b-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 12pt; }

.b-mitigations { break-inside: auto; }
.b-mit { margin-bottom: 4pt; break-inside: avoid; }

.b-foot { margin-top: 12pt; padding-top: 6pt; border-top: 0.75pt solid #c8ced6; font-size: 7.5pt; color: #6b7480; break-inside: avoid; }
