:root{
  --navy:#003A5D;
  --navy-2:#002F4C;
  --gold:#B56A16;

  --africa-base:#F6EFE2;
  --africa-border:#C9C1B6;
  --africa-highlight:#B56A16;

  --text:#0f172a;
  --muted:#6b7280;
  --muted-2:#94a3b8;
  --shadow: 0 18px 40px rgba(2,6,23,.18);

  --clear-btn:#00355F;
}

/* Front-end styling (ported from your current UI; scoped under .bmm-wrap) */
.bmm-wrap{
  --navy:#003A5D;
  --gold:#B56A16;
  --africa-base:#F6EFE2;
  --africa-border:#C9C1B6;
  --africa-highlight:#B56A16;

  --text:#0f172a;
  --muted:#6b7280;
  --shadow: 0 18px 40px rgba(2,6,23,.18);
  --clear-btn:#00355F;
}

.bmm-hero{text-align:center;margin:0 0 16px}
.bmm-hero h1{margin:0;font-size:26px;letter-spacing:.08em;font-weight:400;color:var(--navy);text-transform:uppercase}
.bmm-hero p{margin:10px 0 0;font-size:14px;color:var(--muted)}

.bmm-grid{display:grid;grid-template-columns:360px 1fr;gap:16px;align-items:start}
.bmm-panel{background:#fff;border:1px solid rgba(0,0,0,.18);border-radius:10px;overflow:hidden;min-width:0}
.bmm-panel-hd{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(0,0,0,.12);background:#fff}
.bmm-panel-hd strong{font-family:"AvertaStd-Bold",Sans-serif;font-size:18px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#B36C1D}
.bmm-panel-bd{padding:14px}

.bmm-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(0,0,0,.14);border-radius:999px;padding:6px 10px;font-size:12px;color:rgba(0,0,0,.60);background:#fff;white-space:nowrap}
.bmm-chip b{color:rgba(0,0,0,.78);font-weight:700}

.bmm-map{height:520px;width:100%;background:#fff}
.bmm-map-footer{padding:12px 14px 14px;border-top:1px solid rgba(0,0,0,.12);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#fff}
.bmm-scopeTag{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:rgba(0,0,0,.60)}
.bmm-scopeTag b{color:rgba(0,0,0,.78);font-weight:700}
.bmm-scopeTag small{display:inline-block;padding:3px 9px;border-radius:999px;border:1px solid rgba(0,0,0,.14);background:#fff;color:rgba(0,0,0,.70);font-weight:700;font-size:12px}
.bmm-clearScopeBtn{border-radius:18px;padding:10px 14px;border:1px solid rgba(0,0,0,.18);background:#fff;color:var(--gold);font-weight:600;cursor:pointer}

label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,0,0,.55);margin-bottom:6px}
.bmm-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
select{width:100%;padding:10px 12px;border:1px solid rgba(0,0,0,.18);border-radius:18px;background:#fff;outline:none}
select:focus{border-color:rgba(0,58,93,.55);box-shadow:0 0 0 4px rgba(0,58,93,.10)}

.bmm-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.bmm-btns button{border:1px solid rgba(0,0,0,.18);background:#fff;border-radius:18px;padding:10px 14px;cursor:pointer;font-size:13px;letter-spacing:.02em;display:inline-flex;align-items:center;gap:10px;color:var(--navy)}
.bmm-pdfBtn{border-color:rgba(181,106,22,.35);background:rgba(181,106,22,.10);color:var(--navy);font-weight:600}
.bmm-clearAllBtn{border-color:rgba(0,53,95,.35);background:rgba(0,53,95,.10);color:var(--clear-btn);font-weight:700}

.bmm-note{margin-top:10px;font-size:12px;color:rgba(0,0,0,.55);line-height:1.4}
.bmm-hintLine{margin-top:10px;font-size:12px;color:rgba(0,0,0,.55);line-height:1.4}

.bmm-statline{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.bmm-sectionTitle{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid #dedede}
.bmm-sectionTitle strong{font-family:"AvertaStd-Bold",Sans-serif;font-size:18px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#B36C1D;margin-top:20px}
.bmm-tipChip{border:1px solid rgba(0,0,0,.14);border-radius:999px;padding:6px 10px;font-size:12px;color:rgba(0,0,0,.55);background:#fff;white-space:nowrap;margin-top:20px}

.bmm-results{margin-top:10px;max-height:360px;overflow:auto;padding-right:4px;-webkit-overflow-scrolling:touch;display:grid;gap:12px}
.bmm-card{border:1px solid rgba(0,0,0,.14);border-radius:10px;padding:12px;cursor:pointer;background:#fff}
.bmm-card:hover{border-color:rgba(0,58,93,.28);box-shadow:0 12px 26px rgba(2,6,23,.08)}
.bmm-cardTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.bmm-card h3{margin:0;font-size:14px;font-weight:600;color:rgba(0,0,0,.78);line-height:1.25}
.bmm-pill{font-size:12px;color:#fff;background:var(--navy);padding:6px 10px;border-radius:999px;white-space:nowrap}
.bmm-desc{margin-top:10px;font-size:13px;color:rgba(0,0,0,.60);line-height:1.45}
.bmm-meta{margin-top:10px;font-size:12px;color:rgba(0,0,0,.55);display:flex;flex-wrap:wrap;gap:8px}
.bmm-metaPill{border:1px solid rgba(0,0,0,.14);border-radius:999px;padding:5px 9px;background:#fff;color:rgba(0,0,0,.65)}
.bmm-empty{border:1px dashed rgba(0,0,0,.20);border-radius:10px;padding:14px;color:rgba(0,0,0,.55);font-size:13px;background:#fff}

/* Accordion */
.bmm-accordionWrap{margin-top:14px;border:1px solid rgba(0,0,0,.16);border-radius:10px;overflow:hidden;background:#fff}
.bmm-accordion summary{list-style:none;cursor:pointer;padding:12px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(0,0,0,.10);user-select:none}
.bmm-accordion summary::-webkit-details-marker{display:none}
.bmm-accTitle{font-family:"AvertaStd-Bold",Sans-serif;font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#B36C1D}
.bmm-accHint{font-size:12px;color:rgba(0,0,0,.55);border:1px solid rgba(0,0,0,.14);border-radius:999px;padding:4px 10px;white-space:nowrap;background:#fff}
.bmm-accBody{padding:12px 14px 14px;color:rgba(0,0,0,.62);font-size:13px;line-height:1.45}

/* Modal */
.bmm-modalOverlay{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.35);backdrop-filter:blur(2px)}
.bmm-modalOverlay.open{display:flex}
.bmm-modal{width:min(900px,100%);max-height:min(82vh,760px);overflow:auto;background:#fff;border:1px solid rgba(0,0,0,.20);border-radius:6px;box-shadow:var(--shadow)}
.bmm-modalHd{position:sticky;top:0;background:#fff;padding:14px 16px;border-bottom:1px solid rgba(0,0,0,.12);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.bmm-modalHd h2{margin:0;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);font-weight:500}
.bmm-modalHd p{margin:8px 0 0;font-size:13px;color:var(--muted);line-height:1.35}
.bmm-modalClose{border:0;background:transparent;cursor:pointer;font-size:20px;line-height:1;color:rgba(181,106,22,.9);padding:4px 6px}
.bmm-modalBd{padding:14px 16px 18px;display:grid;gap:10px}

.bmm-detailBox{border:1px solid rgba(0,0,0,.16);border-radius:6px;padding:12px;background:#fff}
.bmm-detailTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.bmm-detailTop strong{font-size:16px;color:rgba(0,0,0,.80);font-weight:600;line-height:1.25}
.bmm-detailTag{font-size:12px;color:#fff;background:var(--navy);padding:6px 10px;border-radius:999px;white-space:nowrap}
.bmm-detailText{margin-top:10px;font-size:14px;color:rgba(0,0,0,.62);line-height:1.55}
.bmm-kv{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}

/* Screen reader only */
.bmm-sr-only{
  position:absolute!important; width:1px!important; height:1px!important;
  padding:0!important; margin:-1px!important; overflow:hidden!important;
  clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}

@media (max-width:980px){
  .bmm-grid{grid-template-columns:1fr}
  .bmm-map{height:420px}
  .bmm-results{max-height:360px}
  .bmm-row2{grid-template-columns:1fr}
}
@media (max-width:520px){
  .bmm-hero h1{font-size:22px}
  .bmm-btns button{width:100%;justify-content:center}
  .bmm-chip,.bmm-tipChip{width:100%;justify-content:center}
  .bmm-map{height:360px}
  .bmm-map-footer{gap:12px}
  .bmm-clearScopeBtn{width:100%}
  .bmm-scopeTag{width:100%;justify-content:center}
}


/* Leaflet tooltip styling to match UI */
.leaflet-tooltip.jurTip{
  background:#fff;
  border:1px solid rgba(0,0,0,.18);
  border-radius:6px;
  padding:8px 10px;
  box-shadow: 0 12px 26px rgba(2,6,23,.14);
  color:#0f172a;
}
.leaflet-tooltip.jurTip .t1{font-weight:700;font-size:12px;margin:0 0 2px}
.leaflet-tooltip.jurTip .t2{font-size:12px;color:#6b7280;margin:0}

/* Loading overlay */
.bmm-loadingOverlay{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(3px);
}
.bmm-loadingOverlay.show{display:flex}
.bmm-loadingCard{
  width: min(520px, 100%);
  background:#fff;
  border:1px solid rgba(0,0,0,.16);
  border-radius:10px;
  box-shadow: 0 18px 40px rgba(2,6,23,.18);
  padding:16px 16px 14px;
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.bmm-spinner{
  width:42px;height:42px;border-radius:999px;
  border:3px solid rgba(0,58,93,.18);
  border-top-color: var(--navy);
  animation: bmm_spin 0.9s linear infinite;
  flex:0 0 auto;
  margin-top:2px;
}
@keyframes bmm_spin{to{transform:rotate(360deg)}}
.bmm-loadingTxt{flex:1 1 auto;min-width:0}
.bmm-loadingTitle{
  margin:0;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: rgba(0,0,0,.55);
  font-weight:800;
}
.bmm-loadingMsg{
  margin:8px 0 0;
  font-size:14px;
  color: rgba(0,0,0,.74);
  line-height:1.35;
  font-weight:700;
  word-break:break-word;
}
.bmm-loadingSub{
  margin:8px 0 0;
  font-size:12px;
  color: rgba(0,0,0,.52);
  line-height:1.4;
}

/* Offscreen PDF render root (comparator-style) */
#pdfRenderRoot{
  position:fixed;
  left:-99999px;
  top:0;
  width:794px;
  z-index:-1;
  pointer-events:none;
  opacity:0;
}
.bmm-pdf-page{
  width:794px;
  height:1123px;
  background:#fff;
  color:#111827;
  font-family: Gotham, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  padding:48px 48px 42px;
  position:relative;
  overflow:hidden;
}
.bmm-pdf-header{
  display:flex;
  align-items:flex-start;
  justify-content:flex-end; /* logo right */
}
.bmm-pdf-logo{
  width:210px;
  height:auto;
  display:block;
}
.bmm-pdf-cover-title{
  color:#002254;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.35px;
  font-size:18px;
  line-height:1.18;
  margin:18px 0 0;
}
.bmm-pdf-cover-sub{
  margin-top:8px;
  color:#94a3b8;
  text-transform:uppercase;
  letter-spacing:.25px;
  font-size:11px;
  line-height:1.4;
}
.bmm-pdf-section-h{
  color:#B36C1D;
  font-size:16px;
  line-height:1.3;
  text-transform:uppercase;
  font-weight:800;
  margin:18px 0 12px;
  letter-spacing:.25px;
}
.bmm-pdf-country-h{
  color:#002254;
  font-size:13px;
  line-height:1.3;
  text-transform:uppercase;
  font-weight:800;
  margin:14px 0 8px;
  border-top:1px solid #e5e7eb;
  padding-top:10px;
  letter-spacing:.25px;
}
.bmm-pdf-card{
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:12px;
  margin:10px 0 0;
}
.bmm-pdf-title{
  font-weight:800;
  color:#0b1320;
  font-size:14px;
  margin:0 0 8px;
}
.bmm-pdf-sum{
  color:#334155;
  font-size:12.5px;
  line-height:1.55;
  margin:0;
}
.bmm-pdf-pillrow{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.bmm-pdf-pill{
  display:inline-block;
  border:1px solid #e6eaf0;
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  color:#002254;
  text-transform:uppercase;
  letter-spacing:.2px;
  background:#fff;
}
.bmm-pdf-footer{
  position:absolute;
  left:48px;
  right:48px;
  bottom:24px;
  border-top:1px solid #e5e7eb;
  padding-top:12px;
  color:#475569;
  font-size:10px;
  line-height:1.5;
  text-align:center;
  background:#fff;
}


/* Ensure select text is visible even if theme sets a light/transparent color */
.bmm-wrap select{color:#0f172a !important;}
.bmm-wrap select option{color:#0f172a;}


/* Signature cards (accordion body) */
.bmm-wrap .sigGroup{ display:grid; gap:12px; }
.bmm-wrap .sigGroupHd{
  padding: 6px 2px 2px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
  font-weight: 600;
}
.bmm-wrap .sigCards{ display:grid; gap:12px; }
.bmm-wrap .sigCard{
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 10px;
  padding: 12px;
  background:#fff;
  cursor:pointer;
}
.bmm-wrap .sigCard:hover{
  border-color: rgba(0,58,93,.28);
  box-shadow: 0 12px 26px rgba(2,6,23,.08);
}
.bmm-wrap .sigTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.bmm-wrap .sigLabel{
  margin:0;
  font-size: 14px;
  font-weight: 600;
  color: rgba(0,0,0,.78);
  line-height:1.25;
}
.bmm-wrap .sigDesc{
  margin-top: 10px;
  font-size: 13px;
  color: rgba(0,0,0,.60);
  line-height:1.45;
}
.bmm-wrap .sigMeta{
  margin-top: 10px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.bmm-wrap .sigPill{
  font-size: 12px;
  color: #fff;
  background: var(--navy);
  padding: 6px 10px;
  border-radius: 999px;
  white-space:nowrap;
}
.bmm-wrap .sigMetaPill{
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 999px;
  padding: 5px 9px;
  background:#fff;
  color: rgba(0,0,0,.65);
  font-size: 12px;
}





/* ===== PDF TEMPLATE (matches legacy Significant Matters PDF) ===== */
.bmm-pdf-page{
  width:794px;
  height:1123px;
  background:#fff;
  color:#111827;
  font-family: Gotham, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  padding:48px 48px 42px;
  position:relative;
  overflow:hidden;
}
.bmm-pdf-top{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start; /* logo top-left like legacy */
}
.bmm-pdf-logo{
  width:260px;
  height:auto;
  display:block;
}
.bmm-pdf-title{
  margin-top:18px;
  color:#002254;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:20px; /* slightly bigger than section */
  line-height:1.2;
}
.bmm-pdf-breadcrumb{
  margin-top:10px;
  color:#94a3b8;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:11px;
  line-height:1.4;
}
.bmm-pdf-divider{
  margin-top:14px;
  height:1px;
  background:#e5e7eb;
}
.bmm-pdf-content{
  margin-top:18px;
}
.bmm-pdf-section{
  color:#B36C1D;
  font-size:16px;
  line-height:1.3;
  text-transform:uppercase;
  font-weight:700;
  margin:0 0 10px;
  letter-spacing:.06em;
}
.bmm-pdf-country{
  color:#002254;
  font-size:13px;
  line-height:1.3;
  text-transform:uppercase;
  font-weight:700;
  margin:14px 0 8px;
  border-top:1px solid #e5e7eb;
  padding-top:10px;
  letter-spacing:.06em;
}
.bmm-pdf-card{
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:12px;
  margin:10px 0 0;
}
.bmm-pdf-card-title{
  font-weight:700;
  color:#0b1320;
  font-size:14px;
  margin:0 0 8px;
}
.bmm-pdf-card-sum{
  color:#334155;
  font-size:12.5px;
  line-height:1.55;
  margin:0;
}
.bmm-pdf-card-pills{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.bmm-pdf-pill{
  display:inline-block;
  border:1px solid #e6eaf0;
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.04em;
  background:#fff;
}
.bmm-pdf-footer{
  position:absolute;
  left:48px;
  right:48px;
  bottom:24px;
  border-top:1px solid #e5e7eb;
  padding-top:12px;
  color:#94a3b8;
  font-size:10px;
  line-height:1.5;
  text-align:center;
  background:#fff;
}
