/* ═══════════════════════════════════════════════════════════════════
   donna — cpdf-750c0d10.css  (cleané)
   ─ z-index migrés vers tokens (--z-* dans _z-index-scale.css) : 1 occurrence(s)
   ─ Aucune autre modification. Voir CHANGELOG.md.
   ═══════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   Client PDF — dedicated 3-page layout for client handoff
   Always rendered (hidden offscreen) but only visible in print mode
   ═══════════════════════════════════════════════════════════════ */

/* Hide the PDF layout off-screen by default — only shown in print mode or @media print */
.cpdf{ display:none; }
.fbf-wrap[data-print-mode] .cpdf,
.fbf-wrap[data-print-mode] > .cpdf{ display:block !important; }
.fbf-wrap[data-print-mode] > *:not(.cpdf):not(.cpdf-modal-scrim){ display:none !important; }

/* Screen preview of the PDF (when user triggers print-mode in-app) */
.fbf-wrap[data-print-mode]{
  background:#e5e7eb;
  min-height:100vh;
  padding:24px 0;
}
:root[data-theme="noir"] .fbf-wrap[data-print-mode]{ background:#1a1a20; }

/* ─── Pages (A4 portrait = 210×297mm) ─── */
.cpdf-page{
  width:210mm;
  min-height:297mm;
  margin:0 auto 16mm;
  padding:0;
  background:#fff;
  color:#14161f;
  position:relative;
  box-shadow:0 8px 40px rgba(0,0,0,.12);
  overflow:hidden;
  font-family:-apple-system, 'Inter', sans-serif;
  page-break-after:always;
  break-after:page;
}
.cpdf-page:last-child{ page-break-after:auto; break-after:auto; margin-bottom:0; }

/* ════════════ Page 1 — Couverture ════════════ */
.cpdf-cover{ display:flex; flex-direction:column; }

.cpdf-cover-photo{
  position:relative;
  height:165mm;
  overflow:hidden;
  flex-shrink:0;
}
.cpdf-cover-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.cpdf-cover-shade{
  position:absolute; inset:0;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.05) 30%,
    rgba(0,0,0,.05) 60%,
    rgba(0,0,0,.75) 100%
  );
}
.cpdf-cover-top{
  position:absolute; top:12mm; left:12mm; right:12mm;
  display:flex; justify-content:space-between; align-items:center;
  color:#fff; font-size:10pt;
}
.cpdf-brand{
  font-family:'Plus Jakarta Sans', -apple-system, sans-serif;
  font-weight:800;
  letter-spacing:2.5px;
  font-size:11pt;
}
.cpdf-agence{
  font-size:9pt;
  opacity:.9;
  letter-spacing:.3px;
  text-transform:uppercase;
}
.cpdf-cover-bottom{
  position:absolute; left:12mm; right:12mm; bottom:10mm;
  color:#fff;
}
.cpdf-cover-type{
  font-size:10pt;
  letter-spacing:2px;
  text-transform:uppercase;
  font-weight:500;
  opacity:.9;
  margin-bottom:3mm;
}
.cpdf-cover-title{
  font-family:'Plus Jakarta Sans', -apple-system, sans-serif;
  font-size:32pt;
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.8px;
  margin:0 0 2mm;
  text-wrap:balance;
}
.cpdf-cover-loc{
  font-size:13pt;
  opacity:.92;
  font-weight:500;
}

.cpdf-cover-info{
  padding:10mm 12mm 8mm;
  flex:1;
}
.cpdf-price-block{
  text-align:center;
  padding-bottom:7mm;
  border-bottom:1px solid #e4e7ee;
  margin-bottom:7mm;
}
.cpdf-price-label{
  font-size:9pt;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:#4a5169;
  font-weight:600;
  margin-bottom:2mm;
}
.cpdf-price-val{
  font-family:'Plus Jakarta Sans', -apple-system, sans-serif;
  font-size:36pt;
  font-weight:800;
  letter-spacing:-1.2px;
  color:#14161f;
  line-height:1;
  margin-bottom:2mm;
  font-variant-numeric:tabular-nums;
}
.cpdf-price-m2{
  font-size:11pt;
  color:#4a5169;
  font-weight:500;
}

.cpdf-kpi-row{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:5mm;
}
.cpdf-kpi{
  text-align:center;
  padding:5mm 3mm;
  background:#f7f8fa;
  border:1px solid #e4e7ee;
  border-radius:4px;
}
.cpdf-kpi .k{
  font-size:8.5pt;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:#8a93ab;
  font-weight:600;
  margin-bottom:2mm;
}
.cpdf-kpi .v{
  font-family:'Plus Jakarta Sans', -apple-system, sans-serif;
  font-size:20pt;
  font-weight:700;
  line-height:1;
  margin-bottom:1.5mm;
  font-variant-numeric:tabular-nums;
}
.cpdf-kpi .s{
  font-size:8.5pt;
  color:#8a93ab;
}

.cpdf-cover-footer{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  padding:8mm 12mm 10mm;
  border-top:1px solid #e4e7ee;
  margin-top:auto;
}
.cpdf-cf-label{
  font-size:8.5pt;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#8a93ab;
  font-weight:600;
  margin-bottom:1.5mm;
}
.cpdf-cf-name{
  font-size:13pt;
  font-weight:700;
  color:#14161f;
  letter-spacing:-.2px;
  line-height:1.2;
}
.cpdf-cf-agence{
  font-size:10pt;
  color:#4a5169;
  margin-top:.5mm;
}
.cpdf-cf-right{
  text-align:right;
}
.cpdf-cf-date{
  font-size:9pt;
  color:#8a93ab;
  margin-bottom:1mm;
}
.cpdf-cf-ref{
  font-size:9pt;
  color:#4a5169;
  font-weight:600;
  letter-spacing:.5px;
}

/* ════════════ Pages 2 & 3 — shared page chrome ════════════ */
.cpdf-page-head{
  padding:12mm 12mm 5mm;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  border-bottom:1px solid #e4e7ee;
  margin-bottom:8mm;
}
.cpdf-page-head h2{
  font-family:'Plus Jakarta Sans', -apple-system, sans-serif;
  font-size:18pt;
  font-weight:800;
  letter-spacing:-.4px;
  margin:0;
  color:#14161f;
}
.cpdf-page-ref{
  font-size:9pt;
  color:#8a93ab;
  font-weight:500;
}

.cpdf-page-footer{
  position:absolute;
  left:12mm; right:12mm; bottom:8mm;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:4mm;
  border-top:1px solid #e4e7ee;
  font-size:8.5pt;
  color:#8a93ab;
}
.cpdf-ft-brand{
  font-family:'Plus Jakarta Sans', -apple-system, sans-serif;
  font-weight:800;
  letter-spacing:2px;
  color:#14161f;
}

/* ════════════ Page 2 — Galerie + description ════════════ */
.cpdf-gallery{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  grid-template-rows:55mm 55mm;
  gap:2mm;
  padding:0 12mm;
  margin-bottom:8mm;
}
.cpdf-photo{
  overflow:hidden;
  border-radius:3px;
  background:#e4e7ee;
}
.cpdf-photo img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.cpdf-photo.i0{ grid-column:1 / span 2; grid-row:1 / span 2; }
.cpdf-photo.i1{ grid-column:3 / span 2; grid-row:1; }
.cpdf-photo.i2{ grid-column:3; grid-row:2; }
.cpdf-photo.i3{ grid-column:4; grid-row:2; }
.cpdf-photo.i4{ display:none; }

.cpdf-desc-block{
  padding:0 12mm;
}
.cpdf-desc-block h3{
  font-family:'Plus Jakarta Sans', -apple-system, sans-serif;
  font-size:14pt;
  font-weight:700;
  letter-spacing:-.3px;
  margin:0 0 4mm;
  color:#14161f;
}
.cpdf-desc-block p{
  font-size:10.5pt;
  line-height:1.6;
  color:#14161f;
  margin:0;
  text-align:justify;
  text-wrap:pretty;
}

/* ════════════ Page 3 — Caractéristiques + diag + contact ════════════ */
.cpdf-two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10mm;
  padding:0 12mm;
  margin-bottom:8mm;
}
.cpdf-h3{
  font-family:'Plus Jakarta Sans', -apple-system, sans-serif;
  font-size:11pt;
  font-weight:700;
  letter-spacing:.3px;
  text-transform:uppercase;
  margin:0 0 4mm;
  color:#14161f;
  padding-bottom:2mm;
  border-bottom:2px solid #14161f;
}

.cpdf-kv-grid{
  display:flex;
  flex-direction:column;
  gap:0;
}
.cpdf-kv{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding:2mm 0;
  border-bottom:1px solid #f1f3f7;
  font-size:10pt;
}
.cpdf-kv:last-child{ border-bottom:none; }
.cpdf-kv span{
  color:#8a93ab;
  font-size:9.5pt;
}
.cpdf-kv strong{
  color:#14161f;
  font-weight:600;
  font-size:10pt;
  text-align:right;
}

.cpdf-diag{
  display:flex;
  flex-direction:column;
  gap:6mm;
}
.cpdf-diag-label{
  font-size:9pt;
  color:#4a5169;
  font-weight:600;
  margin-bottom:2mm;
}
.cpdf-bars{
  display:flex;
  flex-direction:column;
  gap:1mm;
}
.cpdf-bar{
  position:relative;
  height:5mm;
  display:flex;
  align-items:center;
}
.cpdf-bar-fill{
  position:absolute;
  left:14mm;
  height:100%;
  border-radius:0 2px 2px 0;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}
.cpdf-bar[data-grade="A"] .cpdf-bar-fill{ background:#00a651; }
.cpdf-bar[data-grade="B"] .cpdf-bar-fill{ background:#50b848; }
.cpdf-bar[data-grade="C"] .cpdf-bar-fill{ background:#aecf00; }
.cpdf-bar[data-grade="D"] .cpdf-bar-fill{ background:#fff200; }
.cpdf-bar[data-grade="E"] .cpdf-bar-fill{ background:#fdb913; }
.cpdf-bar[data-grade="F"] .cpdf-bar-fill{ background:#f26522; }
.cpdf-bar[data-grade="G"] .cpdf-bar-fill{ background:#ed1c24; }

.cpdf-bar.ges[data-grade="A"] .cpdf-bar-fill{ background:#f1e7ff; }
.cpdf-bar.ges[data-grade="B"] .cpdf-bar-fill{ background:#d4b8ff; }
.cpdf-bar.ges[data-grade="C"] .cpdf-bar-fill{ background:#b68af0; }
.cpdf-bar.ges[data-grade="D"] .cpdf-bar-fill{ background:#9660d8; }
.cpdf-bar.ges[data-grade="E"] .cpdf-bar-fill{ background:#7438c0; }
.cpdf-bar.ges[data-grade="F"] .cpdf-bar-fill{ background:#52248a; }
.cpdf-bar.ges[data-grade="G"] .cpdf-bar-fill{ background:#2f1357; }

.cpdf-bar-lbl{
  width:12mm;
  font-family:'Plus Jakarta Sans', -apple-system, sans-serif;
  font-weight:800;
  font-size:11pt;
  color:#14161f;
  flex-shrink:0;
}
.cpdf-bar.active .cpdf-bar-lbl{
  display:inline-block;
  width:7mm; height:7mm;
  line-height:7mm;
  text-align:center;
  font-size:11pt;
  color:#fff;
  border-radius:1mm;
  margin-left:1mm;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}
/* Pastille DPE colorée par classe */
.cpdf-bar.active[data-grade="A"] .cpdf-bar-lbl{ background:#00a651 }
.cpdf-bar.active[data-grade="B"] .cpdf-bar-lbl{ background:#50b848 }
.cpdf-bar.active[data-grade="C"] .cpdf-bar-lbl{ background:#aecf00; color:#14161f }
.cpdf-bar.active[data-grade="D"] .cpdf-bar-lbl{ background:#fff200; color:#14161f }
.cpdf-bar.active[data-grade="E"] .cpdf-bar-lbl{ background:#fdb913; color:#14161f }
.cpdf-bar.active[data-grade="F"] .cpdf-bar-lbl{ background:#f26522 }
.cpdf-bar.active[data-grade="G"] .cpdf-bar-lbl{ background:#ed1c24 }
/* Pastille GES colorée (override DPE car specificity .ges = +1 classe) */
.cpdf-bar.ges.active[data-grade="A"] .cpdf-bar-lbl{ background:#d4b8ff; color:#14161f }
.cpdf-bar.ges.active[data-grade="B"] .cpdf-bar-lbl{ background:#b68af0; color:#14161f }
.cpdf-bar.ges.active[data-grade="C"] .cpdf-bar-lbl{ background:#9660d8 }
.cpdf-bar.ges.active[data-grade="D"] .cpdf-bar-lbl{ background:#7438c0 }
.cpdf-bar.ges.active[data-grade="E"] .cpdf-bar-lbl{ background:#7438c0 }
.cpdf-bar.ges.active[data-grade="F"] .cpdf-bar-lbl{ background:#52248a }
.cpdf-bar.ges.active[data-grade="G"] .cpdf-bar-lbl{ background:#2f1357 }
/* Inactives : muted pour mieux faire ressortir l'active */
.cpdf-bar:not(.active) .cpdf-bar-lbl{ color:#8a93ab; font-weight:600 }
.cpdf-bar:not(.active) .cpdf-bar-fill{ opacity:.4 }
.cpdf-bar-marker{
  position:absolute;
  right:2mm;
  font-size:9pt;
  font-weight:700;
  color:#14161f;
  background:#fff;
  padding:.5mm 2mm;
  border:1.5px solid #14161f;
  border-radius:2px;
  font-variant-numeric:tabular-nums;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}
.cpdf-diag-sub{
  margin-top:2mm;
  font-size:9.5pt;
  color:#4a5169;
  font-weight:600;
}

/* Localisation block */
.cpdf-loc-block{
  padding:0 12mm;
  margin-bottom:8mm;
}
.cpdf-loc-grid{
  display:grid;
  grid-template-columns:70mm 1fr;
  gap:6mm;
  align-items:stretch;
}
.cpdf-map{
  position:relative;
  height:50mm;
  border-radius:3px;
  overflow:hidden;
  background:
    linear-gradient(135deg, #e8eef5 0%, #dde5ef 100%);
  border:1px solid #e4e7ee;
}
.cpdf-map-bg{
  position:absolute; inset:0;
  background-image:
    linear-gradient(to right, rgba(107,92,245,.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(107,92,245,.08) 1px, transparent 1px);
  background-size:8mm 8mm;
}
.cpdf-map-pin{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%, -50%);
  color:#6b5cf5;
  font-size:18pt;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}
.cpdf-transports{
  display:flex;
  flex-direction:column;
  gap:1.5mm;
}
.cpdf-transport{
  display:flex;
  align-items:center;
  gap:3mm;
  padding:2.5mm 3mm;
  background:#f7f8fa;
  border-radius:3px;
  font-size:9.5pt;
}
.cpdf-t-type{
  font-size:7.5pt;
  font-weight:700;
  letter-spacing:.5px;
  text-transform:uppercase;
  background:#14161f;
  color:#fff;
  padding:1mm 2mm;
  border-radius:2px;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
  min-width:10mm;
  text-align:center;
}
.cpdf-t-name{ flex:1; font-weight:600; color:#14161f; }
.cpdf-t-lines{ color:#8a93ab; font-size:9pt; }

/* Contact consultant card */
.cpdf-contact{
  margin:0 12mm;
  padding:8mm 8mm;
  background:linear-gradient(135deg, #14161f 0%, #1f2230 100%);
  color:#fff;
  border-radius:4px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:6mm;
  align-items:center;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}
.cpdf-contact-av{
  width:18mm; height:18mm;
  border-radius:50%;
  background:linear-gradient(135deg, #6b5cf5, #8b7bff);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Plus Jakarta Sans', -apple-system, sans-serif;
  font-weight:800;
  font-size:14pt;
  letter-spacing:-.5px;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}
.cpdf-contact-label{
  font-size:8pt;
  letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(255,255,255,.6);
  font-weight:600;
  margin-bottom:1mm;
}
.cpdf-contact-name{
  font-family:'Plus Jakarta Sans', -apple-system, sans-serif;
  font-size:14pt;
  font-weight:700;
  letter-spacing:-.2px;
}
.cpdf-contact-agence{
  font-size:9.5pt;
  color:rgba(255,255,255,.75);
  margin-top:.5mm;
}
.cpdf-contact-ct{
  text-align:right;
  font-size:10pt;
}
.cpdf-contact-tel{
  font-weight:700;
  font-variant-numeric:tabular-nums;
  letter-spacing:.2px;
}
.cpdf-contact-mail{
  color:rgba(255,255,255,.75);
  font-size:9.5pt;
  margin-top:.5mm;
}
.cpdf-contact-cta{
  grid-column:1 / -1;
  padding-top:4mm;
  border-top:1px solid rgba(255,255,255,.15);
  text-align:center;
  font-size:9.5pt;
  color:rgba(255,255,255,.8);
  font-style:italic;
}

/* ════════════ Real print output ════════════ */
@page{
  size:A4 portrait;
  margin:0;
}

@media print{
  html, body{
    background:#fff;
    color:#000;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
    margin:0;
    padding:0;
    /* Force un rendu desktop pour éviter le "mobile screenshot" sur iOS/Android */
    width:210mm !important;
    min-width:210mm !important;
    max-width:210mm !important;
    overflow:visible !important;
  }
  /* Cache tous les chromes UI en dehors de .fbf-wrap */
  header,
  nav,
  .sidebar,
  .sidebar-overlay,
  #mobile-tabbar,
  #toast,
  #gs-wrap,
  .header-stats,
  .mobile-filter-btn,
  #m-agenda-ov,
  #bpv2-lightbox,
  .cpdf-modal-scrim,
  .m-topbar-noh{ display:none !important; }
  /* Toutes les autres pages masquées */
  #page-acq,
  #page-vend,
  #page-vendeurs,
  #page-mandats,
  #page-dashboard,
  #page-biens,
  #page-agenda,
  /* [v1024] #page-docs retiré (page Documentation supprimée) */
  #page-bugreports,
  #page-analytics,
  #page-push-admin,
  #page-client,
  #page-clients{ display:none !important; }
  /* La fiche bien = full canvas */
  #page-bien{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    width:210mm !important;
  }
  .fbf-wrap{
    background:#fff !important;
    padding:0 !important;
    max-width:none !important;
    width:210mm !important;
  }
  .fbf-wrap > *:not(.cpdf){ display:none !important; }
  .cpdf{ display:block !important; }
  .cpdf-page{
    width:210mm !important;
    min-height:297mm !important;
    margin:0 !important;
    box-shadow:none !important;
    page-break-after:always;
    break-after:page;
  }
  .cpdf-page:last-child{ page-break-after:auto; break-after:auto; }
}

/* Preview à l'écran en print-mode : cache aussi les chromes globaux
   pour ne pas polluer l'aperçu A4 avant le dialogue d'impression */
body:has(.fbf-wrap[data-print-mode]) header,
body:has(.fbf-wrap[data-print-mode]) nav,
body:has(.fbf-wrap[data-print-mode]) .sidebar,
body:has(.fbf-wrap[data-print-mode]) .sidebar-overlay,
body:has(.fbf-wrap[data-print-mode]) #mobile-tabbar,
body:has(.fbf-wrap[data-print-mode]) #toast,
body:has(.fbf-wrap[data-print-mode]) #gs-wrap{ display:none !important; }

/* Kill legacy print-sheet styles that could interfere */
.fbf-wrap[data-print-mode] .print-sheet{ display:none !important; }

/* ════════════════════════════════════════════════════════════
   Export modal
   ════════════════════════════════════════════════════════════ */
.cpdf-modal-scrim{
  position:fixed;
  inset:0;
  background:rgba(20,22,31,.55);
  backdrop-filter:blur(4px);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index: var(--z-toast) /* was 9999 */;
  padding:24px;
}
.cpdf-modal{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  width:min(720px, 100%);
  max-height:90vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.cpdf-modal-head{
  padding:20px 24px 16px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  border-bottom:1px solid var(--border);
}
.cpdf-modal-kicker{
  font-size:10.5px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:600;
  margin-bottom:4px;
}
.cpdf-modal-head h2{
  font-family:var(--font-display);
  font-size:20px;
  font-weight:700;
  letter-spacing:-.3px;
  margin:0;
  color:var(--text);
  text-wrap:balance;
}
.cpdf-modal-close{
  width:28px; height:28px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:var(--s2);
  color:var(--text-dim);
  font-size:14px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:all .12s;
}
.cpdf-modal-close:hover{
  background:var(--s3);
  color:var(--text);
}

.cpdf-modal-body{
  padding:20px 24px;
  overflow-y:auto;
  flex:1;
}

/* Mini page previews */
.cpdf-modal-preview{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  margin-bottom:24px;
}
.cpdf-mini-page{
  aspect-ratio:210/297;
  background:#fff;
  border:1px solid var(--border);
  border-radius:3px;
  position:relative;
  padding:8px;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
  gap:6px;
}
:root[data-theme="noir"] .cpdf-mini-page{
  background:#f7f8fa;
}
.cpdf-mini-photo{
  height:58%;
  background-size:cover;
  background-position:center;
  border-radius:2px;
  background-color:#e4e7ee;
}
.cpdf-mini-rows{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:4px 2px 0;
}
.cpdf-mini-line{
  height:3px;
  background:#d3d8e3;
  border-radius:1.5px;
  width:100%;
}
.cpdf-mini-price{
  margin-top:3px;
  font-size:10px;
  font-weight:800;
  font-family:'Plus Jakarta Sans', sans-serif;
  color:#14161f;
  font-variant-numeric:tabular-nums;
}
.cpdf-mini-label{
  position:absolute;
  left:6px; right:6px; bottom:6px;
  font-size:8.5px;
  font-weight:600;
  color:#4a5169;
  text-align:center;
  letter-spacing:.3px;
  background:rgba(247,248,250,.9);
  padding:2px 4px;
  border-radius:2px;
}
.cpdf-mini-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3px;
  height:55%;
}
.cpdf-mini-ph{
  background:#d3d8e3;
  border-radius:2px;
}
.cpdf-mini-lines{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:4px;
}
.cpdf-mini-kvs{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:2px;
}
.cpdf-mini-kv{
  height:3px;
  background:#e4e7ee;
  border-radius:1.5px;
}
.cpdf-mini-kv:nth-child(odd){ width:92%; }
.cpdf-mini-kv:nth-child(even){ width:78%; }
.cpdf-mini-diag{
  height:18px;
  background:linear-gradient(90deg,
    #00a651 0%, #50b848 14%, #aecf00 28%, #fff200 43%,
    #fdb913 57%, #f26522 72%, #ed1c24 100%);
  border-radius:2px;
  margin-top:8px;
  -webkit-print-color-adjust:exact;
}
.cpdf-mini-contact{
  height:16px;
  background:#14161f;
  border-radius:2px;
  margin-top:6px;
}

/* Two cols : inclus / masqué */
.cpdf-modal-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:4px;
}
.cpdf-modal-col{
  background:var(--s2);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:14px 16px;
}
.cpdf-col-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:var(--text);
  margin-bottom:10px;
  padding-bottom:8px;
  border-bottom:1px solid var(--border);
}
.cpdf-col-title .dot{
  width:7px; height:7px;
  border-radius:50%;
}
.cpdf-col-title .dot.ok{ background:var(--green); }
.cpdf-col-title .dot.no{ background:var(--muted); }
.cpdf-modal-col ul{
  list-style:none;
  padding:0; margin:0;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.cpdf-modal-col li{
  font-size:12.5px;
  color:var(--text-dim);
  padding-left:14px;
  position:relative;
  line-height:1.45;
}
.cpdf-modal-col li::before{
  content:'';
  position:absolute;
  left:0; top:7px;
  width:5px; height:5px;
  border-radius:50%;
  background:var(--border-hi);
}

/* Footer */
.cpdf-modal-foot{
  padding:14px 24px 18px;
  border-top:1px solid var(--border);
  background:var(--s2);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.cpdf-modal-tip{
  font-size:11px;
  color:var(--text-dim);
  line-height:1.45;
  flex:1;
  min-width:0;
}
.cpdf-modal-tip strong{
  color:var(--text);
  font-weight:600;
}
.cpdf-modal-tip em{
  font-style:normal;
  color:var(--text);
  font-weight:500;
  background:var(--s3);
  padding:1px 5px;
  border-radius:3px;
  white-space:nowrap;
}
.cpdf-modal-actions{
  display:flex;
  gap:8px;
  flex-shrink:0;
}

/* .fbf-btn styling pour la modal export (injectée dans body donc hors scope #page-bien) */
.cpdf-modal .fbf-btn{
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 14px;
  font-size:13px; font-weight:500;
  color:var(--text);
  background:var(--s2);
  border:1px solid var(--border);
  border-radius:var(--radius, 6px);
  cursor:pointer;
  font-family:inherit;
  transition:all .12s;
  line-height:1.2;
  white-space:nowrap;
}
.cpdf-modal .fbf-btn:hover{
  background:var(--s3, var(--border));
  border-color:var(--border-hi, var(--border));
}
.cpdf-modal .fbf-btn.primary{
  background:var(--text);
  color:var(--bg);
  border-color:var(--text);
  font-weight:600;
}
.cpdf-modal .fbf-btn.primary:hover{
  background:var(--text-dim, var(--muted));
  border-color:var(--text-dim, var(--muted));
}
.cpdf-modal .fbf-btn svg{
  width:14px; height:14px;
  flex-shrink:0;
}

/* Mobile */
@media (max-width:700px){
  .cpdf-modal-preview{ grid-template-columns:repeat(3, 1fr); gap:6px; }
  .cpdf-modal-cols{ grid-template-columns:1fr; }
}
/* Footer : stack vertical dès 820px pour éviter wrap moche tip + boutons */
@media (max-width:820px){
  .cpdf-modal-foot{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  .cpdf-modal-actions{
    justify-content:flex-end;
  }
}

/* ═══════════════════════════════════════════════════════════
   [v1151] Pages full size — photos + plans en A4 dédié
   Anthony "tu intègres le plan en full size au pdf, pareil
   pour les photos, pas toute mais il en faut qq unes en full
   size pour qu'on voit bien dans le pdf".
   Structure : .cpdf-pfull = page A4 portrait avec head haut
   (eyebrow + ref) + img centrée prenant tout l'espace dispo
   + footer en bas (auto via _footer() côté JS).
   ═══════════════════════════════════════════════════════════ */
.cpdf-pfull{
  display: flex;
  flex-direction: column;
  height: 297mm; /* A4 portrait, identique à cpdf-page min-height */
}
.cpdf-pfull-head{
  padding: 14mm 18mm 6mm;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12mm;
  border-bottom: 1px solid #e4e7ee;
  flex-shrink: 0;
}
.cpdf-pfull-eyebrow{
  font-size: 9pt;
  font-weight: 700;
  letter-spacing: 1.6pt;
  text-transform: uppercase;
  color: #6b5cf5;
}
.cpdf-pfull-ref{
  font-size: 10pt;
  color: #4a5169;
  font-weight: 500;
  text-align: right;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Zone image : flex:1 pour absorber tout l'espace, image contain
   pour garder les proportions sans cropper le plan/photo. */
.cpdf-pfull-img{
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8mm 14mm;
  min-height: 0; /* permet à flex:1 de shrink dans le parent */
  background: #fafbfc;
}
.cpdf-pfull-img img{
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

/* Variante "photo" : fond très clair pour bien voir bords blancs
   éventuels d'une photo claire (ciel, mur blanc, etc.) */
.cpdf-pfull-photo .cpdf-pfull-img{
  background: #f1f3f7;
}
/* Variante "plan" : fond légèrement gris pour faire ressortir les
   traits noirs/blancs d'un plan d'architecte */
.cpdf-pfull-plan .cpdf-pfull-img{
  background: #f5f6f9;
}

/* ─── Variante "note plans PDF" : message + liste des fichiers
       attachés séparément (pdf.js trop lourd à embarquer pour
       extraire la 1ère page d'un PDF côté browser). ─── */
.cpdf-pfull-pdfnote .cpdf-pdfnote-body{
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8mm 18mm;
  min-height: 0;
}
.cpdf-pdfnote-card{
  width: 100%;
  max-width: 140mm;
  padding: 18mm 16mm;
  background: #f7f8fa;
  border: 1px solid #e4e7ee;
  border-radius: 4mm;
  text-align: center;
}
.cpdf-pdfnote-card h3{
  font-size: 16pt;
  font-weight: 700;
  color: #14161f;
  margin: 0 0 4mm;
  letter-spacing: -0.02em;
}
.cpdf-pdfnote-card p{
  font-size: 10.5pt;
  color: #4a5169;
  line-height: 1.55;
  margin: 0 0 8mm;
}
.cpdf-pdfnote-list{
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
  display: inline-block;
}
.cpdf-pdfnote-list li{
  font-size: 10.5pt;
  color: #14161f;
  padding: 3mm 0;
  border-bottom: 1px solid #e4e7ee;
}
.cpdf-pdfnote-list li:last-child{ border-bottom: none; }
.cpdf-pdfnote-list li svg{ color: #d64560; flex-shrink: 0; }
