/* Papiers du Lutin : passeport et carte d'identite.
   Autonome, ne depend d'aucun CSS de theme. Couleurs EN DUR : une variable CSS
   non resolue laisse un fond blanc, ce qui avait deja coute un bouton blanc sur
   blanc au module cartes postales. Les documents sont en millimetres, donc ce
   qui est a l'ecran sort a l'identique sur le papier. */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700&family=Caveat:wght@600&family=Courier+Prime:wght@400;700&display=swap');

.pdl-app,.pdl-app *{box-sizing:border-box}

/* ---- disposition generale ---- */
.pdl-app{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:2rem;align-items:start;
  margin:1.6rem 0 2.6rem;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.pdl-app>*{min-width:0}
@media (max-width:900px){.pdl-app{grid-template-columns:minmax(0,1fr);gap:1.4rem}}

/* ---- colonne des reglages ---- */
.pdl-reglages{background:#fff;border-radius:16px;padding:1.4rem 1.5rem;
  box-shadow:0 6px 24px rgba(0,0,0,.09);border-left:5px solid #C41E3A}
.pdl-titre{margin:0 0 .3rem;font-size:1.25rem;color:#C41E3A}
.pdl-intro{margin:0 0 1.2rem;font-size:.88rem;line-height:1.5;color:#5A5A5A}
.pdl-champ{margin:0 0 1rem}
.pdl-champ label{display:block;font-size:.86rem;font-weight:600;color:#165B33;margin-bottom:.35rem}
.pdl-champ input,.pdl-champ select{width:100%;font-family:inherit;font-size:.95rem;color:#2B2B2B;
  background:#FBF7EF;border:1px solid #e6dcc5;border-radius:10px;padding:.6rem .8rem;transition:.18s}
.pdl-champ input:focus,.pdl-champ select:focus{outline:none;border-color:#C41E3A;background:#fff;
  box-shadow:0 0 0 3px rgba(196,30,58,.12)}

/* ---- le choix des destinations, passeport seulement ---- */
.pdl-destinations{background:#FDF6E6;border:1px dashed #C9A24B;border-radius:12px;
  padding:1rem 1.1rem;margin:1.2rem 0}
.pdl-destinations h4{margin:0 0 .3rem;font-size:1rem;color:#165B33}
.pdl-aide-champ{margin:0 0 .8rem;font-size:.82rem;line-height:1.5;color:#5A5A5A}
.pdl-compteur{margin:0 0 .5rem;font-size:.8rem;color:#C41E3A;font-weight:600}
.pdl-liste{max-height:210px;overflow:auto;background:#fff;border:1px solid #e6dcc5;border-radius:10px;
  padding:.5rem .6rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.1rem .6rem}
.pdl-liste label{display:flex;align-items:center;gap:.4rem;font-size:.86rem;color:#2B2B2B;
  padding:.18rem .25rem;border-radius:6px;cursor:pointer;line-height:1.3}
.pdl-liste label:hover{background:#FBF7EF}
.pdl-liste label.pdl-plein{opacity:.4;cursor:not-allowed}
.pdl-liste input{accent-color:#C41E3A;margin:0;flex:0 0 auto}
.pdl-liste[data-gele="oui"]{opacity:.4;pointer-events:none}
.pdl-bascule{margin:.9rem 0 0;font-size:.88rem;color:#2B2B2B}
.pdl-bascule label{display:flex;align-items:center;gap:.5rem;cursor:pointer;line-height:1.4}
.pdl-bascule input{accent-color:#C41E3A;margin:0;flex:0 0 auto}

/* les consignes de pliage, a l'ecran, avant d'imprimer */
.pdl-pliage{background:#F2F7F3;border-left:4px solid #165B33;border-radius:10px;
  padding:.9rem 1.1rem;margin:1.2rem 0 0}
.pdl-pliage h4{margin:0 0 .5rem;font-size:.95rem;color:#165B33}
.pdl-pliage ol{margin:0;padding-left:1.1rem;font-size:.86rem;line-height:1.5;color:#2B2B2B}
.pdl-pliage li{margin-bottom:.3rem}
.pdl-pliage p{margin:.6rem 0 0;font-size:.82rem;line-height:1.5;color:#5A5A5A}

.pdl-actions{margin:1.4rem 0 .6rem}
.pdl-btn{display:block;width:100%;text-align:center;border:0;cursor:pointer;font-family:inherit;
  font-size:1rem;font-weight:600;padding:.85rem 1.6rem;border-radius:999px;
  background:#C41E3A!important;color:#fff!important;box-shadow:0 8px 22px rgba(196,30,58,.30);
  transition:transform .18s,background .25s}
.pdl-btn:hover{background:#A11828!important;transform:translateY(-2px)}
.pdl-note{font-size:.82rem;line-height:1.5;color:#5A5A5A;margin:0}
.pdl-note strong{color:#165B33}

/* ---- la scene : la hauteur de la feuille est reservee des le CSS pour ne pas
   decaler la page une fois le script passe ---- */
.pdl-scene{position:relative;width:100%;aspect-ratio:210/297;overflow:hidden}
.pdl-feuille{position:absolute;left:0;top:0;width:210mm;height:297mm;background:#fff;
  transform-origin:top left;box-shadow:0 6px 30px rgba(0,0,0,.16)}
.pdl-fond{position:absolute;inset:0;width:100%;height:100%}

/* ================= LES FACES =================
   Les dimensions s'ancrent sur .pdl-feuille, JAMAIS sur .pdl-scene : a
   l'impression la feuille est detachee vers le <body> et tout selecteur
   qui passe par la scene cesse de s'appliquer. La feuille sortait alors
   vide, avec seulement son cadre de coupe. */
.pdl-face{position:absolute;overflow:hidden;background:#fbf8f1}
/* passeport : quatre quarts d'A4, les deux du haut a 180 degres */
.pdl-feuille--passeport .pdl-face{width:105mm;height:148.5mm}
.pdl-face--visas{left:0;top:0;transform:rotate(180deg)}
.pdl-face--identite{left:105mm;top:0;transform:rotate(180deg)}
.pdl-face--dos{left:0;top:148.5mm}
.pdl-face--couv{left:105mm;top:148.5mm}

/* carte : une zone de 148 x 210 centree, pliee en deux */
.pdl-zone{position:absolute;left:31mm;top:38mm;width:148mm;height:210mm}
.pdl-feuille--carte .pdl-face{left:0;width:148mm;height:105mm}
.pdl-cid-verso{top:0;transform:rotate(180deg)}
.pdl-cid-recto{top:105mm}
.pdl-coupe{position:absolute;left:31mm;top:38mm;width:148mm;height:210mm;
  border:.25mm dashed #c9c4bc;pointer-events:none;z-index:40}

.pdl-pli{position:absolute;pointer-events:none;z-index:40}
.pdl-pli--h{left:0;top:148.5mm;width:210mm;height:0;border-top:.25mm dashed #c9c4bc}
.pdl-pli--v{left:105mm;top:0;width:0;height:297mm;border-left:.25mm dashed #c9c4bc}
.pdl-pli--carte{left:31mm;top:143mm;width:148mm;height:0;border-top:.3mm dashed #d9a3ae}
.pdl-pli--carte span{position:absolute;right:0;top:-4mm;font-size:2.4mm;color:#c98a97;letter-spacing:.3mm}

/* ================= BANDEAUX ET CHAMPS ================= */
.pdl-bandeau{position:absolute;left:0;right:0;top:0;height:12mm;background:#6e1b2e;color:#e8c56b;
  display:flex;align-items:center;justify-content:space-between;padding:0 5mm;
  border-bottom:.5mm solid #c9a227;z-index:3}
.pdl-bandeau b{font-family:Cinzel,serif;font-size:3.1mm;letter-spacing:.6mm}
.pdl-bandeau span{font-family:Cinzel,serif;font-size:2.2mm;letter-spacing:.4mm;opacity:.75;text-align:right}
.pdl-cid-bandeau{height:13mm;padding:0 6mm}
.pdl-cid-bandeau b{font-size:4.4mm;letter-spacing:.9mm}
.pdl-cid-bandeau span{font-size:2.5mm;letter-spacing:.45mm}
.pdl-num-page{position:absolute;right:5mm;bottom:3.2mm;font-size:2.2mm;color:#8c8578;letter-spacing:.3mm;z-index:3}
.pdl-page{position:absolute;inset:0;background:#fbf8f1}

.pdl-id-champs{flex:1;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:2.6mm 3mm;align-content:start}
/* margin:0 indispensable : ce sont des <p>, leur marge par defaut ajoutait 8 mm
   par ligne et chassait les derniers champs sous la MRZ. */
.pdl-champ-doc{margin:0;min-width:0}
.pdl-champ-doc.pdl-large{grid-column:1 / -1}
/* libelle sur UNE ligne : deux lignes par libelle et la page deborde. */
.pdl-champ-doc b{display:block;font-size:1.9mm;line-height:1.1;letter-spacing:.1mm;color:#7b8794;
  font-weight:600;white-space:nowrap;overflow:hidden}
.pdl-champ-doc b em{font-style:italic;font-weight:400;opacity:.75}
.pdl-champ-doc span{display:block;font-size:2.8mm;line-height:1.15;color:#14203a;font-weight:600;
  letter-spacing:.12mm;margin-top:.3mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ================= PAGE D'IDENTITE DU PASSEPORT ================= */
/* bottom explicite : sans lui, un champ en trop passe SOUS la MRZ et disparait
   sans prevenir au lieu de se voir. */
.pdl-id-corps{position:absolute;left:5mm;right:5mm;top:14.5mm;bottom:19mm;display:flex;gap:4mm;
  z-index:2;overflow:hidden}
.pdl-id-photo{flex:0 0 27mm}
.pdl-id-photo figure{margin:0;width:27mm;height:34mm;border:.35mm solid #9aa7b4;background:#dfe5ec;overflow:hidden}
.pdl-id-photo img{width:100%;height:100%;object-fit:cover;display:block}
.pdl-fantome{margin-top:2.6mm;width:17mm;height:21mm;opacity:.42;filter:grayscale(.55) brightness(1.08);
  border:.2mm solid #d2d8e0;overflow:hidden}
.pdl-fantome img{width:100%;height:100%;object-fit:cover;display:block}
.pdl-signature b{display:block;font-size:1.9mm;letter-spacing:.15mm;color:#7b8794;font-weight:600}
.pdl-signature i{display:block;font-family:Caveat,cursive;font-style:normal;font-size:6.4mm;color:#1b3a63;
  line-height:1;margin-top:.8mm;border-bottom:.2mm solid #c3ccd6;padding-bottom:.9mm}
.pdl-id-photo .pdl-signature{margin-top:2.8mm;width:27mm}
.pdl-empreinte{margin-top:3mm}
.pdl-empreinte b{display:block;font-size:1.9mm;letter-spacing:.15mm;color:#7b8794;font-weight:600}
.pdl-empreinte b em,.pdl-signature b em{font-style:italic;font-weight:400;opacity:.75}
.pdl-main{margin-top:1mm;width:20mm;height:23mm;border:.25mm dashed #c3ccd6;border-radius:1mm;
  display:flex;align-items:center;justify-content:center;padding:1mm}
.pdl-main svg{width:100%;height:100%}

/* le cachet se pose dans le blanc sous les champs, jamais par dessus une date */
.pdl-cachet{position:absolute;right:6mm;bottom:23mm;width:30mm;height:30mm;opacity:.55;z-index:4;
  mix-blend-mode:multiply}
.pdl-cachet svg{width:100%;height:100%}

.pdl-mrz{position:absolute;left:0;right:0;bottom:0;height:18mm;background:#fff;
  border-top:.3mm solid #cdd4dc;display:flex;flex-direction:column;justify-content:center;gap:1.4mm;
  padding:0 3.6mm;z-index:5}
.pdl-mrz span{font-family:"Courier Prime","Courier New",monospace;font-size:3mm;letter-spacing:.44mm;
  color:#101623;white-space:nowrap}

/* ================= PAGE DES VISAS ================= */
.pdl-visas{position:absolute;left:0;right:0;top:12mm;bottom:0;z-index:2}
.pdl-visa-liste{position:absolute;left:0;right:0;top:0;bottom:0}
.pdl-visa{position:absolute}
.pdl-visa svg{width:100%;height:100%;display:block}
.pdl-obs{position:absolute;left:6mm;right:6mm;bottom:7mm;border:.3mm solid #b9bfc8;border-radius:.8mm;
  background:rgba(255,255,255,.72);padding:2.6mm 3.2mm 2.8mm}
.pdl-obs h4{margin:0 0 1.6mm;font-size:1.9mm;letter-spacing:.35mm;color:#7b8794;font-weight:600;text-align:center}
.pdl-obs h4 em{font-style:italic;font-weight:400;opacity:.75}
.pdl-obs p{margin:0 0 1.4mm;font-size:2.4mm;line-height:1.25;color:#14203a}
.pdl-obs p:last-child{margin-bottom:0}
.pdl-obs b{display:block;font-size:1.8mm;letter-spacing:.1mm;color:#7b8794}

/* ================= COUVERTURE ET DOS ================= */
.pdl-couv{position:absolute;inset:0;color:#e8c56b;
  background:radial-gradient(120% 90% at 50% 38%,#8a2740 0%,#6e1b2e 52%,#4f1220 100%)}
.pdl-couv-cadre{position:absolute;inset:7mm;border:.5mm solid #c9a227;border-radius:1mm}
.pdl-couv-cadre::before{content:"";position:absolute;inset:1.4mm;border:.18mm solid rgba(232,197,107,.5);border-radius:.6mm}
.pdl-couv-haut{position:absolute;left:0;right:0;top:15mm;text-align:center;font-family:Cinzel,serif;
  font-size:3mm;letter-spacing:.7mm}
.pdl-couv-haut i{display:block;font-style:normal;font-size:2.1mm;letter-spacing:.4mm;opacity:.7;margin-top:1.3mm}
.pdl-couv-ecusson{position:absolute;left:50%;top:40mm;transform:translateX(-50%)}
.pdl-couv-titre{position:absolute;left:0;right:0;top:99mm;text-align:center}
.pdl-couv-titre b{display:block;font-family:Cinzel,serif;font-weight:700;font-size:8mm;letter-spacing:1.5mm;
  color:#f0d489;text-shadow:0 .3mm 0 rgba(0,0,0,.35)}
.pdl-couv-titre i{display:block;font-style:normal;font-family:Cinzel,serif;font-size:3.4mm;letter-spacing:1.2mm;
  color:#e8c56b;opacity:.75;margin-top:1.8mm}
.pdl-couv-bio{position:absolute;left:50%;bottom:16mm;transform:translateX(-50%)}
.pdl-couv-site{position:absolute;left:0;right:0;bottom:9mm;text-align:center;font-size:2.4mm;
  letter-spacing:.5mm;color:rgba(232,197,107,.7)}

.pdl-dos{position:absolute;inset:0;color:#f3ece0;
  background:radial-gradient(120% 90% at 50% 40%,#8a2740 0%,#6e1b2e 55%,#4f1220 100%)}
.pdl-dos-cadre{position:absolute;inset:7mm;border:.35mm solid rgba(232,197,107,.5);border-radius:1mm}
.pdl-dos-bloc{position:absolute;left:11mm;right:11mm;top:13mm;background:#fbf8f1;color:#2b2b33;
  border-radius:1mm;padding:4mm 4.5mm;box-shadow:0 1mm 3mm rgba(0,0,0,.25)}
.pdl-dos-bloc h3{margin:0 0 2.2mm;font-family:Caveat,cursive;font-weight:600;font-size:6.4mm;line-height:1;
  color:#9e1b32;text-align:center}
.pdl-dos-bloc ol{margin:0;padding-left:4.5mm;font-size:2.55mm;line-height:1.5}
.pdl-dos-bloc li{margin-bottom:1.2mm}
.pdl-dos-parents{position:absolute;left:11mm;right:11mm;top:82mm;background:#fbf8f1;color:#2b2b33;
  border-radius:1mm;padding:3.4mm 4mm 3.6mm;border:.4mm solid #c9a227}
.pdl-dos-parents h3{margin:0 0 2mm;font-family:Caveat,cursive;font-weight:600;font-size:5.4mm;line-height:1;
  color:#9e1b32;text-align:center}
.pdl-dos-corps{display:flex;align-items:center;gap:3.5mm}
.pdl-dos-parents ul{margin:0;padding:0;list-style:none;flex:1;min-width:0}
.pdl-dos-parents li{font-size:2.4mm;line-height:1.25;margin-bottom:1.6mm}
.pdl-dos-parents li:last-child{margin-bottom:0}
.pdl-dos-parents li strong{display:block;color:#1d6b46;font-size:2.6mm}
.pdl-dos-parents li span{display:block;color:#9e1b32;font-size:2.35mm}
/* le QR toujours sur le fond creme, jamais sur le bordeaux : un QR sur fond
   colore ne se scanne pas. 19 mm pour 29 modules = 0,65 mm par module. */
.pdl-qr{margin:0;flex:0 0 19mm;text-align:center}
.pdl-qr svg{width:19mm;height:19mm;display:block}
.pdl-qr figcaption{margin-top:.8mm;font-size:2.1mm;color:#7b8794;letter-spacing:.2mm}
.pdl-dos-mention{position:absolute;left:12mm;right:12mm;bottom:14mm;text-align:center;font-size:2.15mm;
  line-height:1.45;color:rgba(243,236,224,.75)}
.pdl-dos-site{position:absolute;left:0;right:0;bottom:8mm;text-align:center;font-size:2.6mm;
  letter-spacing:.4mm;color:#e8c56b}

/* ================= CARTE D'IDENTITE ================= */
.pdl-cid-corps{position:absolute;left:6mm;right:6mm;top:6mm;bottom:17mm;display:flex;gap:5mm;z-index:2}
.pdl-cid-corps--recto{top:17mm;bottom:6mm}
.pdl-cid-colonne{flex:0 0 40mm;display:flex;flex-direction:column}
.pdl-cid-colonne .pdl-signature i{font-size:7mm}
.pdl-cid-colonne .pdl-main{width:22mm;height:25mm}
.pdl-cid-qr{margin:auto 0 0;display:flex;align-items:center;gap:2.5mm}
.pdl-cid-qr svg{width:18mm;height:18mm;display:block;flex:0 0 18mm}
.pdl-cid-qr p{margin:0;font-size:2.4mm;line-height:1.35;color:#6d7885}
.pdl-cid-qr p b{display:block;color:#9e1b32;font-size:2.5mm}
.pdl-cid-droite{flex:1;min-width:0}
.pdl-cid-titre{font-family:Cinzel,serif;font-size:3.2mm;letter-spacing:.7mm;color:#9e1b32;
  margin:0 0 2.5mm;padding-bottom:1.2mm;border-bottom:.3mm solid #e0d8cb}
.pdl-cid-photo{flex:0 0 38mm;display:flex;flex-direction:column}
.pdl-cid-photo figure{margin:0;width:38mm;height:48mm;border:.35mm solid #9aa7b4;background:#dfe5ec;overflow:hidden}
.pdl-cid-photo img{width:100%;height:100%;object-fit:cover;display:block}
.pdl-cid-num{margin-top:2.4mm;font-family:"Courier Prime","Courier New",monospace;font-size:3.6mm;
  letter-spacing:.3mm;color:#14203a;text-align:center}
/* une carte de 148 x 105 porte peu d'informations : elle les ecrit donc GRAND */
.pdl-cid-corps--recto .pdl-champ-doc b{font-size:2.1mm}
.pdl-cid-corps--recto .pdl-champ-doc span{font-size:4.3mm}
.pdl-cid-corps--recto .pdl-id-champs{gap:4mm}
.pdl-cid-recto .pdl-cachet{right:7mm;bottom:6mm;width:30mm;height:30mm}
.pdl-cid-verso .pdl-mrz{height:16mm;padding:0 5mm;gap:.9mm}
.pdl-cid-verso .pdl-mrz span{font-size:3.2mm;letter-spacing:.5mm}

/* ================= CONSIGNES ================= */
/* elles vivent sur la feuille, hors du document, et ne s'impriment que sur le
   papier : a l'ecran le visiteur a deja les explications sous le formulaire. */
.pdl-aide{position:absolute;left:12mm;right:12mm;bottom:6mm;display:flex;gap:5mm;
  font-size:2.5mm;line-height:1.4;color:#a8a29a;z-index:6}
.pdl-feuille--carte .pdl-aide{bottom:10mm}
.pdl-aide ol{margin:0;padding-left:4.5mm;flex:1}
.pdl-aide li{margin-bottom:.4mm}
.pdl-aide p{margin:0;width:56mm}

/* ================= IMPRESSION =================
   Rien ici. Le document ne s'imprime PAS depuis cette page : le script le
   recopie dans un iframe qui ne contient que lui, et imprime cet iframe.

   Pourquoi : masquer la page etait une course perdue. Une regie pose son
   display en style inline avec !important, qu'aucune feuille de style ne peut
   battre ; une pub ancree n'est pas toujours enfant direct du body ; et chaque
   nouveau format de publicite demandait une regle de plus. Ce qui n'existe pas
   dans le cadre ne peut pas s'imprimer.

   Ne pas remettre de regles d'impression ici : elles s'appliqueraient aussi
   dans l'iframe, ou la feuille doit rester visible et a sa place naturelle. */
@media print{
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* =================================================================
   LE DOSSIER D'ADOPTION
   Deux feuilles A4 entieres, pas des faces a plier : la demande que
   l'enfant remplit et poste, et le certificat que le Pere Noel renvoie.
   Autre papier que le passeport : parchemin, encre sepia, bordure
   aeropostale. Les valeurs saisies s'ecrivent en manuscrit, pour que le
   document imprime ressemble a ce que l'enfant ecrirait lui-meme.
   ================================================================= */
.pdl-feuille--adoption,.pdl-feuille--certificat{background:transparent;box-shadow:none}
.pdl-a4{position:relative;width:210mm;height:297mm;overflow:hidden;background:#f6efdd;
  box-shadow:0 6px 30px rgba(0,0,0,.16)}
/* le grain du vieux papier : trois taches tres diluees, rien de plus. Un
   motif plus marque se voit a l'impression et sale le texte. */
.pdl-a4::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(60% 45% at 18% 12%,rgba(150,112,60,.13),transparent 70%),
             radial-gradient(50% 40% at 85% 72%,rgba(150,112,60,.11),transparent 70%),
             radial-gradient(70% 55% at 50% 100%,rgba(120,88,45,.10),transparent 70%)}
.pdl-avion{position:absolute;inset:0;z-index:4;pointer-events:none;
  border:5mm solid transparent;
  border-image:repeating-linear-gradient(45deg,#b3202e 0 5mm,#f6efdd 5mm 10mm,
    #1f3f7a 10mm 15mm,#f6efdd 15mm 20mm) 5}
.pdl-parch{position:absolute;left:5mm;top:5mm;right:5mm;bottom:5mm;z-index:2;
  padding:7mm 9mm 5mm;color:#4a3a28;font-family:Georgia,"Times New Roman",serif}
.pdl-a4 .pdl-fond{z-index:0;opacity:.9}

/* ---- l'en-tete officiel ---- */
.pdl-ado-tete{display:flex;align-items:center;gap:4mm;position:relative;z-index:3}
.pdl-ado-arm{flex:0 0 14mm}
.pdl-ado-arm svg{display:block;width:14mm;height:auto;filter:saturate(.55) brightness(.78)}
.pdl-ado-bureau{flex:1 1 auto;text-align:left;line-height:1.25}
.pdl-ado-bureau b{display:block;font-family:Cinzel,serif;font-size:5.2mm;letter-spacing:.5mm;
  color:#6b4a1f;text-transform:uppercase}
.pdl-ado-bureau span{display:block;font-family:Cinzel,serif;font-size:3mm;letter-spacing:.7mm;
  color:#7d6444}
.pdl-ado-bureau i{display:block;font-style:normal;font-family:"Courier Prime","Courier New",monospace;
  font-size:2.6mm;letter-spacing:1.2mm;color:#8a7458;text-transform:uppercase}
.pdl-ado-poste{flex:0 0 34mm}
.pdl-ado-poste svg{display:block;width:34mm;height:auto}

.pdl-ado-dossier{margin:1mm 0 0;text-align:right;font-family:"Courier Prime","Courier New",monospace;
  font-size:2.9mm;letter-spacing:.4mm;color:#7d6444}
.pdl-ado-dossier span{color:#4a3a28}

/* ---- le titre ---- */
.pdl-ado-titre{margin:2mm 0 3mm;text-align:center;line-height:1}
.pdl-ado-titre span{display:block;font-family:Cinzel,serif;font-size:5.4mm;letter-spacing:1.6mm;
  color:#8a6a3f;text-transform:uppercase}
.pdl-ado-titre b{display:block;font-family:Cinzel,serif;font-weight:700;font-size:12mm;
  letter-spacing:.8mm;color:#9e1b32;text-transform:uppercase;margin-top:1mm}
.pdl-ado-titre--cert b{color:#1d6b46}
.pdl-ado-intro{margin:0 0 4mm;text-align:center;font-size:3.5mm;line-height:1.55;color:#5b4632;
  padding:0 6mm}

/* ---- la fiche de l'enfant ---- */
.pdl-ado-fiche{display:flex;flex-wrap:wrap;gap:2mm 6mm;margin:0 0 4mm;
  border-top:.4mm solid #c9b48c;border-bottom:.4mm solid #c9b48c;padding:3mm 0}
.pdl-ado-fiche p{flex:1 1 44%;margin:0;display:flex;align-items:baseline;gap:2mm}
.pdl-ado-fiche .pdl-court{flex:0 0 26%}
.pdl-ado-fiche b{flex:0 0 auto;font-family:Cinzel,serif;font-size:2.8mm;letter-spacing:.5mm;
  color:#8a6a3f;text-transform:uppercase;font-weight:500}
.pdl-ado-fiche span{flex:1 1 auto;min-height:5.4mm;border-bottom:.3mm dotted #b49b74;
  font-family:Caveat,cursive;font-size:6mm;line-height:1.05;color:#1b3a63}

/* ---- les sections a cocher ---- */
.pdl-ado-bloc{margin:0 0 3.4mm}
.pdl-ado-bloc h3{margin:0 0 2mm;font-family:Cinzel,serif;font-weight:700;font-size:3.4mm;
  letter-spacing:.6mm;color:#9e1b32;text-transform:uppercase}
.pdl-ado-bloc--vert h3{color:#1d6b46}
.pdl-cases{display:flex;flex-wrap:wrap;gap:1.8mm 4mm}
.pdl-cases--trois .pdl-case{flex:0 0 30%}
.pdl-cases--quatre .pdl-case{flex:0 0 22%}
.pdl-cases--deux .pdl-case{flex:0 0 46%}
.pdl-cases--un .pdl-case{flex:0 0 100%}
.pdl-cases+.pdl-cases{margin-top:1.8mm}
.pdl-case{display:flex;align-items:center;gap:2.2mm;margin:0;font-size:3.3mm;line-height:1.3;
  color:#4a3a28}
.pdl-case i{flex:0 0 auto;position:relative;width:4.6mm;height:4.6mm;border:.4mm solid #8a6a3f;
  border-radius:.6mm;background:rgba(255,255,255,.35)}
/* la croix est tracee, pas ecrite : un caractere de coche depend d'une police
   qui peut manquer sur la machine du visiteur, et la case sortirait vide. */
.pdl-case.est-coche i::before,.pdl-case.est-coche i::after{content:"";position:absolute;
  left:.5mm;top:1.9mm;width:3.6mm;height:.55mm;background:#9e1b32;border-radius:.3mm}
.pdl-case.est-coche i::before{transform:rotate(41deg)}
.pdl-case.est-coche i::after{transform:rotate(-41deg)}

/* ---- signature et envoi ---- */
.pdl-ado-bas{display:flex;gap:6mm;align-items:flex-start;margin-top:1mm}
.pdl-ado-signe{flex:1 1 46%}
.pdl-ado-lieu{margin:0 0 2mm;font-size:3.1mm;color:#5b4632}
.pdl-ado-lieu span{display:inline-block;min-width:22mm;border-bottom:.3mm dotted #b49b74;
  font-family:Caveat,cursive;font-size:5mm;color:#1b3a63}
.pdl-ado-sign{margin:0}
.pdl-ado-sign b{display:block;font-family:Cinzel,serif;font-size:2.8mm;letter-spacing:.5mm;
  color:#8a6a3f;text-transform:uppercase;font-weight:500;margin-bottom:1mm}
.pdl-ado-sign i{display:block;height:13mm;border-bottom:.3mm dotted #b49b74}
.pdl-ado-envoi{flex:1 1 54%;border:.4mm dashed #9e1b32;border-radius:2mm;padding:3mm 3.4mm;
  background:rgba(255,255,255,.34)}
.pdl-ado-envoi h4{margin:0 0 1.4mm;font-family:Cinzel,serif;font-size:3mm;letter-spacing:.5mm;
  color:#9e1b32;text-transform:uppercase}
.pdl-ado-envoi p{margin:0;font-size:3mm;line-height:1.5;color:#5b4632}
.pdl-ado-envoi em{font-style:italic;color:#9e1b32}
.pdl-ado-pied{position:absolute;left:9mm;right:9mm;bottom:2mm;margin:0;text-align:center;
  font-family:"Courier Prime","Courier New",monospace;font-size:2.4mm;letter-spacing:.3mm;
  color:#9c8a66}

/* ---- le certificat ---- */
.pdl-cert-corps{text-align:center;margin:2mm 0 4mm}
.pdl-cert-ligne{margin:0 0 2mm;font-size:3.6mm;line-height:1.5;color:#5b4632}
.pdl-cert-nom{margin:0 0 2mm;font-family:Caveat,cursive;font-size:16mm;line-height:1;color:#1b3a63}
.pdl-cert-lutin{margin:1mm 0 3mm;font-family:Cinzel,serif;font-weight:700;font-size:8mm;
  letter-spacing:.6mm;color:#9e1b32;text-transform:uppercase;line-height:1.1}
.pdl-cert-photo{width:34mm;height:44mm;margin:0 auto 3mm;overflow:hidden;border:.5mm solid #c9b48c;
  border-radius:1.4mm;background:#fffdf7}
.pdl-cert-photo img{width:100%;height:100%;object-fit:cover;display:block}
.pdl-cert-dates{display:flex;justify-content:center;gap:10mm;margin:0}
.pdl-cert-dates p{margin:0;display:flex;align-items:baseline;gap:2mm}
.pdl-cert-dates b{font-family:Cinzel,serif;font-size:2.8mm;letter-spacing:.5mm;color:#8a6a3f;
  text-transform:uppercase;font-weight:500}
.pdl-cert-dates span{min-width:30mm;border-bottom:.3mm dotted #b49b74;
  font-family:"Courier Prime","Courier New",monospace;font-size:3.4mm;color:#4a3a28}
.pdl-cert-regle{border-top:.4mm solid #c9b48c;border-bottom:.4mm solid #c9b48c;padding:3mm 0;
  margin:0 0 4mm}
.pdl-cert-regle h4{margin:0 0 1.6mm;font-family:Cinzel,serif;font-size:3mm;letter-spacing:.5mm;
  color:#1d6b46;text-transform:uppercase;text-align:center}
.pdl-cert-regle ol{margin:0;padding-left:6mm;font-size:3.1mm;line-height:1.7;color:#5b4632}
.pdl-cert-pied{display:flex;align-items:flex-end;justify-content:space-between;gap:4mm}
.pdl-cert-sceau{flex:0 0 26mm}
.pdl-cert-sceau svg{display:block;width:26mm;height:auto}
.pdl-cert-signature{flex:1 1 auto;text-align:center}
.pdl-cert-signature i{display:block;font-style:normal;font-family:Caveat,cursive;font-size:11mm;
  line-height:1;color:#1b3a63}
.pdl-cert-signature b{display:block;margin-top:1mm;font-family:Cinzel,serif;font-size:2.7mm;
  letter-spacing:.5mm;color:#8a6a3f;text-transform:uppercase;font-weight:500;
  border-top:.3mm solid #b49b74;padding-top:1.4mm}
.pdl-cert-cachet{flex:0 0 30mm}
.pdl-cert-cachet svg{display:block;width:30mm;height:auto;opacity:.85}
.pdl-sous-titre{margin:1.4rem 0 .6rem;font-size:.95rem;color:#165B33;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}

/* le cadre que le bureau remplit lui-meme, en bas de la demande */
.pdl-ado-reserve{position:absolute;left:9mm;right:9mm;bottom:9mm;
  border:.4mm solid #c9b48c;border-radius:2mm;padding:2.6mm 3.4mm;
  background:rgba(255,255,255,.28)}
.pdl-ado-reserve h4{margin:0 0 2mm;font-family:Cinzel,serif;font-size:2.7mm;letter-spacing:.6mm;
  color:#8a7458;text-transform:uppercase;font-weight:500}
.pdl-ado-reserve-lignes{display:flex;gap:6mm}
.pdl-ado-reserve-lignes p{flex:1 1 33%;margin:0;display:flex;flex-direction:column;gap:1mm}
.pdl-ado-reserve-lignes b{font-family:"Courier Prime","Courier New",monospace;font-size:2.4mm;
  letter-spacing:.2mm;color:#9c8a66;text-transform:uppercase;font-weight:400}
.pdl-ado-reserve-lignes span{min-height:7mm;border-bottom:.3mm dotted #c1ab84}

/* le certificat respire : la photo plus grande, le corps mieux reparti */
.pdl-cert-photo{width:40mm;height:52mm}
.pdl-cert-corps{margin:3mm 0 5mm}
.pdl-cert-regle ol{line-height:1.9}
.pdl-cert-pied{margin-top:2mm}

/* un ou deux lutins accordes : les blocs se partagent la largeur */

.pdl-pour[hidden]{display:none}

/* les dates ne doivent pas coller aux noms des lutins */
.pdl-cert-dates{margin-top:4mm}

/* le certificat d'un seul lutin garde une grande photo */

/* ---- le certificat detaille : filigrane, timbre, flocons, fiche du lutin ---- */
.pdl-filigrane{position:absolute;left:0;right:0;top:44%;z-index:1;text-align:center;
  pointer-events:none;transform:rotate(-19deg)}
.pdl-filigrane span{font-family:Cinzel,serif;font-size:19mm;letter-spacing:2mm;
  text-transform:uppercase;color:#8a6a3f;opacity:.07;white-space:nowrap}
.pdl-flocon{position:absolute;z-index:1;width:13mm;height:13mm;pointer-events:none;opacity:.5}
.pdl-flocon svg{display:block;width:100%;height:100%}
.pdl-flocon--hg{left:3mm;top:32mm}
.pdl-flocon--hd{right:3mm;top:52mm;width:9mm;height:9mm}
.pdl-flocon--bg{left:3mm;bottom:38mm;width:9mm;height:9mm}
.pdl-flocon--bd{right:3mm;bottom:56mm}

.pdl-cert-affranchi{flex:0 0 auto;display:flex;align-items:flex-start;gap:1mm}
.pdl-cert-timbre{flex:0 0 17mm;transform:rotate(-3deg)}
.pdl-cert-timbre svg{display:block;width:17mm;height:auto}
.pdl-cert-affranchi .pdl-ado-poste{flex:0 0 26mm;margin-left:-6mm;margin-top:4mm}
.pdl-cert-affranchi .pdl-ado-poste svg{width:26mm}

.pdl-cert-refs{display:flex;justify-content:space-between;gap:6mm;margin:1mm 0 0;
  font-family:"Courier Prime","Courier New",monospace;font-size:2.7mm;letter-spacing:.3mm;
  color:#7d6444}
.pdl-cert-refs p{margin:0}
.pdl-cert-refs span{color:#4a3a28}
.pdl-cert-devise{margin:0 0 3mm;text-align:center;font-family:Cinzel,serif;font-size:3mm;
  letter-spacing:1.6mm;color:#8a6a3f;text-transform:uppercase}
.pdl-ado-titre--cert{margin-bottom:1.6mm}

.pdl-cert-corps{margin:0 0 3mm}
.pdl-cert-nom{margin:0 0 1.6mm}

/* la fiche du lutin : photo a gauche, etat civil a droite */
.pdl-cert-lutin-bloc{display:flex;gap:6mm;align-items:stretch;margin:0 0 4mm;
  border-top:.4mm solid #c9b48c;border-bottom:.4mm solid #c9b48c;padding:3.4mm 0}
.pdl-cert-lutin-bloc .pdl-cert-photo{flex:0 0 34mm;width:34mm;height:44mm;margin:0}
.pdl-cert-fiche{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center}
.pdl-cert-fiche .pdl-cert-lutin{margin:0 0 1mm;text-align:left;font-size:7.4mm}
.pdl-cert-qualite{margin:0 0 2.6mm;font-size:3.2mm;font-style:italic;color:#5b4632}
.pdl-cert-fiche dl{display:flex;flex-wrap:wrap;gap:1.6mm 5mm;margin:0}
.pdl-cert-fiche dl>div{flex:1 1 44%;display:flex;align-items:baseline;gap:2mm;margin:0}
.pdl-cert-fiche dt{flex:0 0 auto;font-family:Cinzel,serif;font-size:2.5mm;letter-spacing:.4mm;
  color:#8a6a3f;text-transform:uppercase}
.pdl-cert-fiche dd{flex:1 1 auto;margin:0;min-height:4.6mm;border-bottom:.3mm dotted #b49b74;
  font-size:3.2mm;color:#4a3a28}
.pdl-etoiles{letter-spacing:.6mm;color:#9e1b32}

.pdl-cert-sejour{display:flex;justify-content:space-between;gap:5mm;margin:0 0 4mm}
.pdl-cert-sejour p{margin:0;display:flex;align-items:baseline;gap:2mm;flex:1 1 auto}
.pdl-cert-sejour b{font-family:Cinzel,serif;font-size:2.6mm;letter-spacing:.4mm;color:#8a6a3f;
  text-transform:uppercase;font-weight:500;white-space:nowrap}
.pdl-cert-sejour span{flex:1 1 auto;min-width:22mm;border-bottom:.3mm dotted #b49b74;
  font-family:"Courier Prime","Courier New",monospace;font-size:3.2mm;color:#4a3a28}

/* le pied : sceau, deux signatures, empreinte, cachet */
.pdl-cert-pied{align-items:flex-end;gap:3mm}
.pdl-cert-sceau{flex:0 0 22mm}
.pdl-cert-sceau svg{width:22mm}
.pdl-cert-signature{flex:1 1 auto}
.pdl-cert-signature i{font-size:9mm}
.pdl-cert-signature--second i{font-size:8mm;color:#2e5c3f}
.pdl-cert-signature b{font-size:2.5mm}
.pdl-cert-empreinte{flex:0 0 14mm;text-align:center}
.pdl-cert-empreinte svg{display:block;width:14mm;height:auto;opacity:.75}
.pdl-cert-empreinte b{display:block;margin-top:.6mm;font-family:Cinzel,serif;font-size:2.3mm;
  letter-spacing:.3mm;color:#8a7458;text-transform:uppercase;font-weight:500}
.pdl-cert-cachet{flex:0 0 24mm}
.pdl-cert-cachet svg{width:24mm}

.pdl-cert-mentions{position:absolute;left:9mm;right:9mm;bottom:6mm;margin:0;text-align:center;
  font-size:2.5mm;line-height:1.5;color:#8a7458}
.pdl-cert-mentions sup{font-size:1.8mm}

/* ---- corrections d'aplomb du certificat ---- */
/* Le timbre se lisait a peine, et le cachet se contentait de le frôler. Un
   cachet qui ne mord pas sur le timbre ne l'oblitere pas : il faut qu'il passe
   PAR DESSUS, c'est ce chevauchement qui fait vrai. */
.pdl-cert-affranchi{position:relative;flex:0 0 46mm;height:30mm}
.pdl-cert-timbre{position:absolute;right:20mm;top:0;flex:none}
.pdl-cert-timbre svg{width:23mm}
.pdl-cert-affranchi .pdl-ado-poste{position:absolute;right:0;top:4mm;flex:none;margin:0;z-index:2}
.pdl-cert-affranchi .pdl-ado-poste svg{width:30mm}

/* le filigrane sortait de la feuille par la droite */
.pdl-filigrane span{font-size:13mm;letter-spacing:1.4mm}

/* le signe particulier est long : il prend la ligne entiere */
.pdl-cert-fiche dl>div:nth-child(3){flex:1 1 100%}

/* le pied respirait mal : l'empreinte touchait le cachet */
.pdl-cert-pied{gap:5mm}
.pdl-cert-empreinte{flex:0 0 13mm;margin-bottom:1mm}
.pdl-cert-cachet{flex:0 0 26mm}
.pdl-cert-cachet svg{width:26mm}

/* et on rend au corps les millimetres gagnes, pour que le bas ne soit pas vide */
.pdl-cert-lutin-bloc{margin-bottom:5mm;padding:4.4mm 0}
.pdl-cert-lutin-bloc .pdl-cert-photo{flex:0 0 38mm;width:38mm;height:49mm}
.pdl-cert-sejour{margin-bottom:5mm}
.pdl-cert-regle{padding:4mm 0;margin-bottom:6mm}
.pdl-cert-regle ol{line-height:2}

/* les deux intitules de signature tenaient sur deux lignes et cassaient l aplomb */
.pdl-cert-signature b{font-size:2.4mm;letter-spacing:.3mm;white-space:nowrap}
.pdl-cert-pied{gap:4mm}

/* prenom et nom sur la meme ligne, meme ecriture manuscrite */
.pdl-cert-nom{margin:0 0 2mm}

/* ---- la demande, aeree (17/09/2026) ----
   Les quatre sections se touchaient : sur une feuille qu'un enfant remplit au
   stylo, il faut de la place entre les lignes, pas seulement entre les blocs.
   La feuille a de la marge, autant la rendre au formulaire. */
.pdl-ado-intro{margin-bottom:5.5mm}
.pdl-ado-fiche{padding:4.4mm 0;margin-bottom:5.5mm;gap:3mm 6mm}
.pdl-ado-fiche span{min-height:6.4mm}
.pdl-ado-bloc{margin-bottom:5.6mm}
.pdl-ado-bloc h3{margin-bottom:3mm}
.pdl-cases{gap:3mm 4mm}
.pdl-cases+.pdl-cases{margin-top:3mm}
.pdl-case{line-height:1.35}
.pdl-ado-signe{margin-top:1mm}
.pdl-ado-lieu{margin-bottom:3mm}
.pdl-ado-sign i{height:15mm}

/* L'encart d'envoi quitte le cote de la signature : il passe en pleine largeur,
   tout en bas, juste au-dessus du cadre du bureau.

   Pose en absolute il recouvrait la signature des qu'une section s'allongeait.
   La feuille devient donc une colonne flex et le groupe du bas se cale avec
   margin-top:auto : il touche le bas quand il y a de la place, et il POUSSE
   quand il n'y en a plus, au lieu de passer par dessus. */
.pdl-a4--demande .pdl-parch{display:flex;flex-direction:column}
.pdl-ado-bas{position:static;display:block;margin-top:auto;padding-top:4mm}
.pdl-ado-envoi{margin-bottom:3.4mm}
.pdl-ado-envoi p{max-width:none}
.pdl-ado-reserve{position:static;left:auto;right:auto;bottom:auto;margin-bottom:5mm}

/* la ligne de signature n'a plus besoin d'etre si haute : le bas de la feuille
   est desormais occupe par l'encart d'envoi et le cadre du bureau */
.pdl-ado-sign i{height:11mm}

/* La signature tenait sur deux etages et poussait le cadre du bureau hors de
   la feuille. Le lieu, la date et le trait de signature passent sur une seule
   ligne : c'est aussi comme cela qu'un vrai formulaire se termine. */
.pdl-ado-signe{display:flex;align-items:flex-end;gap:10mm;margin-top:2mm}
.pdl-ado-lieu{flex:0 0 auto;margin:0}
.pdl-ado-sign{flex:1 1 auto;display:flex;align-items:baseline;gap:3mm}
.pdl-ado-sign b{margin:0;flex:0 0 auto}
.pdl-ado-sign i{flex:1 1 auto;height:auto;min-height:7mm}
/* et quelques millimetres rendus au bas de la feuille */
.pdl-ado-bas{padding-top:3mm}
.pdl-ado-envoi{margin-bottom:3mm;padding:2.6mm 3.2mm}
.pdl-ado-reserve{margin-bottom:4mm;padding:2.4mm 3.2mm}
.pdl-ado-reserve-lignes span{min-height:6mm}
.pdl-ado-bloc{margin-bottom:5mm}

/* le cadre du bureau mordait sur la mention de pied de page */
.pdl-ado-reserve{margin-bottom:7.5mm}

/* Le pied de page mordait encore sur le cadre du bureau. Cause : le
   margin-bottom du DERNIER enfant s echappe du bloc qui le contient, ce bloc
   est donc cale plus bas qu il ne le croit. La reserve se fait en padding sur
   le parent, qui lui ne fusionne pas. */
.pdl-ado-reserve{margin-bottom:0}
.pdl-ado-bas{padding-bottom:8mm}

/* Le pied de page est en absolute, donc il ignore ce qui est au-dessus de lui
   et venait se poser dans le cadre du bureau. Sur la demande, la feuille est
   deja une colonne flex : le pied y rentre simplement dans le flux, en
   dernier, et plus rien ne peut le chevaucher. */
.pdl-a4--demande .pdl-ado-pied{position:static;left:auto;right:auto;bottom:auto;
  margin-top:2mm}
.pdl-ado-bas{padding-bottom:0}

/* Reglage fin : la feuille reste aeree, mais elle doit aussi loger l encart
   d envoi, le cadre du bureau ET la mention de pied. Chaque valeur ci-dessous
   reste superieure a celle d origine, on rend juste les millimetres de trop. */
.pdl-ado-intro{margin-bottom:4mm}
.pdl-ado-fiche{padding:3.6mm 0;margin-bottom:4.6mm}
.pdl-ado-bloc{margin-bottom:4.4mm}
.pdl-ado-bloc h3{margin-bottom:2.6mm}
.pdl-cases{gap:2.7mm 4mm}
.pdl-cases+.pdl-cases{margin-top:2.7mm}
.pdl-ado-signe{margin-top:1mm}
.pdl-ado-bas{padding-top:2mm}
.pdl-ado-envoi{padding:2.2mm 3.2mm;margin-bottom:2.6mm}
.pdl-ado-reserve{padding:2.2mm 3.2mm}
.pdl-ado-reserve-lignes span{min-height:5.4mm}
.pdl-a4--demande .pdl-ado-pied{margin-top:1.6mm}
