/* =========================================================
   LES PRODUITS IMPRIMÉS
   Faire-part, menus, marque-places : les gabarits dessinés
   en millimètres réels.

   Ce fichier ne suit pas le système de design du site, et
   c'est voulu. Chaque face déclare --u, qui vaut un
   millimètre, et --ut, l'unité typographique que la mesure
   automatique fait varier quand un texte déborde. Toucher un
   padding ou une hauteur de ligne ici décale le facteur
   d'ajustement, et le texte sort du cadre dans les PDF.

   Les couleurs viennent de jetons posés en ligne par
   assets/js/faire-part.js, menus.js et marque-places.js.
========================================================= */

.pap-vignette .fpt-face {
    box-shadow: 0 2px 5px rgba(64,57,54,0.09), 0 10px 26px rgba(64,57,54,0.10);
    border-radius: 1px; transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.pap-vignette:hover .fpt-face { transform: translateY(-4px); box-shadow: 0 4px 9px rgba(64,57,54,0.11), 0 16px 34px rgba(64,57,54,0.15); }


.pap-apercu-scene .fpt-face { box-shadow: 0 3px 7px rgba(64,57,54,0.10), 0 18px 40px rgba(64,57,54,0.16); border-radius: 1px; }

.fpt-face {
    --u: calc(var(--fpt-largeur, 300px) / 105);
    /* L'unite typographique : l'ajustement automatique la reduit quand un
       texte deborde, ce qui retrecit tous les corps d'un coup sans toucher
       aux marges ni aux cotes de la carte. */
    --ut: calc(var(--u) * var(--fpt-fit, 1));
    position: relative; overflow: hidden;
    width: calc(105 * var(--u));
    height: calc(148 * var(--u));
    background: var(--bg);
    color: var(--ink);
    font-kerning: normal;
    text-rendering: geometricPrecision;
}

.fpt-face * { box-sizing: border-box; }

.fpt-pan { position: absolute; inset: 0; display: flex; flex-direction: column; }

.fpt-marge { padding: calc(11 * var(--u)) calc(10 * var(--u)); }

.fpt-filet { background: var(--accent); height: calc(0.25 * var(--u)); border: 0; }

.fpt-filet.centre { margin-inline: auto; }

.fpt-sur-deep .fpt-filet { background: var(--accent-deep); }

.fpt-eyebrow {
    font-family: "Montserrat", sans-serif; font-weight: 400;
    font-size: calc(2.3 * var(--ut)); letter-spacing: calc(0.32 * var(--u));
    text-transform: uppercase; color: var(--soft);
}

.fpt-detail { font-family: "Montserrat", sans-serif; font-weight: 300; font-size: calc(2.7 * var(--ut)); line-height: 1.6; color: var(--ink); }

.fpt-heure { display: flex; align-items: baseline; gap: calc(3.5 * var(--ut)); margin-bottom: calc(1.6 * var(--ut)); }

.fpt-heure b { flex: 0 0 auto; min-width: calc(13 * var(--u)); font-weight: 600; color: var(--accent); }

.fpt-heure span { flex: 1 1 auto; }

.fpt-centre { text-align: center; }

.fpt-programme-plat { margin-top: calc(5 * var(--ut)); }

.fpt-programme-plat h5 { font-family: "Archivo", "Montserrat", sans-serif; font-size: calc(2.1 * var(--ut)); font-weight: 600; letter-spacing: calc(0.22 * var(--u)); text-transform: uppercase; color: var(--accent); margin-bottom: calc(1.6 * var(--ut)); }

.fpt-detail-doux { color: var(--soft); }

.fpt-herbier .fpt-pan { align-items: center; text-align: center; padding: calc(10 * var(--u)) calc(9 * var(--u)); }

/* Centrage par marges automatiques et non par translation : html2canvas,
   qui dessine le PDF d'impression, place mal un translateX(-50%) et sortait
   la couronne du cadre. */
.fpt-herbier .fpt-arche { position: absolute; top: calc(13 * var(--u)); left: 0; right: 0; margin-inline: auto; width: calc(74 * var(--u)); }

.fpt-herbier .fpt-corps { position: relative; margin-top: calc(40 * var(--ut)); }

.fpt-herbier .fpt-prenoms { font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-weight: 400; line-height: 1.02; color: var(--ink); }

.fpt-herbier .fpt-esper { display: block; margin: calc(1.4 * var(--ut)) 0; font-size: calc(6.4 * var(--ut)); color: var(--accent); font-style: italic; }

.fpt-herbier .fpt-annonce { margin-top: calc(6 * var(--ut)); font-family: "Cormorant Garamond", Georgia, serif; font-size: calc(4 * var(--ut)); font-weight: 300; line-height: 1.45; color: var(--soft); }

.fpt-herbier .fpt-date { margin-top: calc(8 * var(--ut)); font-family: "Montserrat", sans-serif; font-size: calc(3 * var(--ut)); font-weight: 500; letter-spacing: calc(0.42 * var(--u)); text-transform: uppercase; color: var(--ink); }

.fpt-herbier .fpt-lieu-nom { margin-top: calc(2.6 * var(--ut)); font-family: "Cormorant Garamond", Georgia, serif; font-size: calc(4.4 * var(--ut)); color: var(--accent); }

.fpt-herbier .fpt-brin-bas { position: absolute; bottom: calc(9 * var(--u)); left: 0; right: 0; margin-inline: auto; width: calc(34 * var(--u)); }

.fpt-herbier .fpt-verso { align-items: stretch; text-align: left; }

.fpt-herbier .fpt-titre-verso { font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-size: calc(7 * var(--ut)); color: var(--accent); text-align: center; }

.fpt-herbier .fpt-bloc { margin-top: calc(6.5 * var(--ut)); }

.fpt-herbier .fpt-bloc h5 { font-family: "Montserrat", sans-serif; font-size: calc(2.3 * var(--ut)); font-weight: 600; letter-spacing: calc(0.28 * var(--u)); text-transform: uppercase; color: var(--accent); margin-bottom: calc(1.6 * var(--ut)); }

.fpt-editorial .fpt-bande { background: var(--deep); color: var(--on-deep); padding: calc(9 * var(--u)) calc(10 * var(--u)) calc(8 * var(--u)); }

.fpt-editorial .fpt-jour { font-family: "Archivo", "Montserrat", sans-serif; font-weight: 600; font-size: calc(17 * var(--ut)); line-height: 0.9; letter-spacing: calc(-0.4 * var(--u)); }

.fpt-editorial .fpt-moisan { margin-top: calc(2.4 * var(--ut)); font-family: "Archivo", "Montserrat", sans-serif; font-weight: 400; font-size: calc(2.8 * var(--ut)); letter-spacing: calc(0.5 * var(--u)); text-transform: uppercase; color: var(--soft-on-deep); }

.fpt-editorial .fpt-bande .fpt-rule { margin-top: calc(6 * var(--ut)); height: calc(0.4 * var(--u)); width: calc(14 * var(--u)); background: var(--accent-deep); }

.fpt-editorial .fpt-bas { flex: 1; padding: calc(11 * var(--u)) calc(10 * var(--u)); display: flex; flex-direction: column; }

.fpt-editorial .fpt-prenoms { font-family: "Archivo", "Montserrat", sans-serif; font-weight: 500; line-height: 1.04; letter-spacing: calc(-0.12 * var(--u)); text-transform: uppercase; color: var(--ink); }

.fpt-editorial .fpt-prenoms em { font-style: normal; color: var(--accent); }

.fpt-editorial .fpt-annonce { margin-top: calc(7 * var(--ut)); font-family: "Cormorant Garamond", Georgia, serif; font-size: calc(4.2 * var(--ut)); font-weight: 300; line-height: 1.45; color: var(--soft); max-width: calc(72 * var(--u)); }

.fpt-editorial .fpt-pied { margin-top: auto; }

.fpt-editorial .fpt-pied .fpt-detail { font-size: calc(2.6 * var(--ut)); letter-spacing: calc(0.08 * var(--u)); }

.fpt-editorial .fpt-verso { padding: calc(11 * var(--u)) calc(10 * var(--u)); }

.fpt-editorial .fpt-grille { display: grid; grid-template-columns: 1fr 1fr; gap: calc(6 * var(--ut)) calc(6 * var(--u)); margin-top: calc(7 * var(--ut)); }

.fpt-editorial .fpt-grille h5 { font-family: "Archivo", "Montserrat", sans-serif; font-size: calc(2.1 * var(--ut)); font-weight: 600; letter-spacing: calc(0.22 * var(--u)); text-transform: uppercase; color: var(--accent); margin-bottom: calc(1.4 * var(--ut)); }

.fpt-editorial .fpt-libre { margin-top: auto; padding-top: calc(7 * var(--ut)); border-top: 1px solid rgba(0,0,0,0.09); font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-size: calc(3.9 * var(--ut)); line-height: 1.5; color: var(--soft); }

.fpt-volet .fpt-pan { padding: calc(12 * var(--u)) calc(11 * var(--u)); }

.fpt-volet .fpt-couv { align-items: center; justify-content: center; text-align: center; }

.fpt-volet .fpt-cadre { position: absolute; inset: calc(7 * var(--u)); border: calc(0.25 * var(--u)) solid var(--accent); }

.fpt-volet .fpt-cadre::after { content: ""; position: absolute; inset: calc(1.6 * var(--u)); border: calc(0.25 * var(--u)) solid var(--accent); opacity: 0.45; }

.fpt-volet .fpt-mono { position: relative; font-family: "Cormorant Garamond", Georgia, serif; font-size: calc(20 * var(--ut)); line-height: 1; color: var(--accent); }

.fpt-volet .fpt-couv-nom { position: relative; margin-top: calc(7 * var(--ut)); font-family: "Montserrat", sans-serif; font-size: calc(3 * var(--ut)); font-weight: 400; letter-spacing: calc(0.5 * var(--u)); text-transform: uppercase; color: var(--ink); }

.fpt-volet .fpt-couv-date { position: relative; margin-top: calc(4 * var(--ut)); font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-size: calc(4.6 * var(--ut)); color: var(--soft); }

.fpt-volet .fpt-titre { font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-size: calc(6.6 * var(--ut)); color: var(--accent); text-align: center; margin-bottom: calc(5 * var(--ut)); }

.fpt-volet .fpt-prenoms { font-family: "Cormorant Garamond", Georgia, serif; line-height: 1.05; text-align: center; color: var(--ink); }

.fpt-volet .fpt-annonce { margin-top: calc(5 * var(--ut)); text-align: center; font-family: "Cormorant Garamond", Georgia, serif; font-size: calc(4 * var(--ut)); font-weight: 300; line-height: 1.5; color: var(--soft); }

.fpt-volet .fpt-heure { margin-bottom: calc(4.4 * var(--ut)); }

.fpt-volet .fpt-heure b { font-family: "Montserrat", sans-serif; font-size: calc(2.6 * var(--ut)); letter-spacing: calc(0.1 * var(--u)); }

.fpt-volet .fpt-bloc { margin-bottom: calc(5.5 * var(--ut)); }

.fpt-volet .fpt-bloc h5 { font-family: "Montserrat", sans-serif; font-size: calc(2.2 * var(--ut)); font-weight: 600; letter-spacing: calc(0.26 * var(--u)); text-transform: uppercase; color: var(--accent); margin-bottom: calc(1.5 * var(--ut)); }

.fpt-triptyque .fpt-photo { position: absolute; inset: 0; background-size: cover; background-position: center; }

.fpt-triptyque .fpt-voile { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.10) 45%, rgba(0,0,0,0.62) 100%); }

.fpt-triptyque .fpt-couv-texte { position: absolute; left: 0; right: 0; bottom: calc(11 * var(--u)); text-align: center; color: #fff; }

.fpt-triptyque .fpt-couv-texte .fpt-prenoms { font-family: "DM Serif Display", "Cormorant Garamond", Georgia, serif; line-height: 1.02; }

.fpt-triptyque .fpt-couv-texte .fpt-sous { margin-top: calc(3 * var(--ut)); font-family: "Jost", "Montserrat", sans-serif; font-size: calc(2.6 * var(--ut)); font-weight: 300; letter-spacing: calc(0.42 * var(--u)); text-transform: uppercase; }

.fpt-triptyque .fpt-pan { padding: calc(13 * var(--u)) calc(11 * var(--u)); }

.fpt-triptyque .fpt-titre { font-family: "Jost", "Montserrat", sans-serif; font-size: calc(2.2 * var(--ut)); font-weight: 500; letter-spacing: calc(0.36 * var(--u)); text-transform: uppercase; color: var(--accent); margin-bottom: calc(4 * var(--ut)); }

.fpt-triptyque .fpt-grand { font-family: "DM Serif Display", "Cormorant Garamond", Georgia, serif; font-size: calc(7.4 * var(--ut)); line-height: 1.18; color: var(--ink); }

.fpt-triptyque .fpt-detail { font-family: "Jost", "Montserrat", sans-serif; font-size: calc(2.9 * var(--ut)); }

.fpt-triptyque .fpt-sep { margin: calc(5 * var(--ut)) 0; height: calc(0.25 * var(--u)); width: calc(12 * var(--u)); background: var(--accent); }

.fpt-portefeuille { background: var(--deep); color: var(--on-deep); }

.fpt-portefeuille .fpt-pan { padding: calc(13 * var(--u)) calc(11 * var(--u)); }

.fpt-portefeuille .fpt-couv { align-items: center; justify-content: center; text-align: center; }

.fpt-portefeuille .fpt-cadre { position: absolute; inset: calc(8 * var(--u)); border: calc(0.25 * var(--u)) solid var(--accent-deep); opacity: 0.75; }

.fpt-portefeuille .fpt-mono { position: relative; font-family: "Cinzel", "Cormorant Garamond", Georgia, serif; font-size: calc(15 * var(--ut)); line-height: 1; letter-spacing: calc(0.6 * var(--u)); color: var(--accent-deep); }

.fpt-portefeuille .fpt-couv-date { position: relative; margin-top: calc(8 * var(--ut)); font-family: "Josefin Sans", "Montserrat", sans-serif; font-size: calc(2.6 * var(--ut)); font-weight: 300; letter-spacing: calc(0.5 * var(--u)); text-transform: uppercase; color: var(--soft-on-deep); }

.fpt-portefeuille .fpt-battants { display: flex; height: 100%; }

.fpt-portefeuille .fpt-battant { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: calc(13 * var(--u)) calc(7 * var(--u)); }

.fpt-portefeuille .fpt-battant.gauche { align-items: flex-end; text-align: right; border-right: calc(0.2 * var(--u)) dashed rgba(255,255,255,0.16); }

.fpt-portefeuille .fpt-battant.droite { align-items: flex-start; text-align: left; }

.fpt-portefeuille .fpt-prenoms { font-family: "Cinzel", "Cormorant Garamond", Georgia, serif; line-height: 1.1; color: var(--on-deep); }

.fpt-portefeuille .fpt-titre { font-family: "Josefin Sans", "Montserrat", sans-serif; font-size: calc(2.2 * var(--ut)); font-weight: 400; letter-spacing: calc(0.4 * var(--u)); text-transform: uppercase; color: var(--accent-deep); margin-bottom: calc(4 * var(--ut)); }

.fpt-portefeuille .fpt-detail { font-family: "Josefin Sans", "Montserrat", sans-serif; font-size: calc(2.9 * var(--ut)); color: var(--on-deep); }

.fpt-portefeuille .fpt-detail-doux { color: var(--soft-on-deep); }

.fpt-portefeuille .fpt-annonce { font-family: "Cormorant Garamond", Georgia, serif; font-size: calc(4.2 * var(--ut)); font-weight: 300; line-height: 1.5; color: var(--soft-on-deep); }

.fpt-portefeuille .fpt-bloc { margin-bottom: calc(5.5 * var(--ut)); }

.fpt-portefeuille .fpt-bloc h5 { font-family: "Josefin Sans", "Montserrat", sans-serif; font-size: calc(2.2 * var(--ut)); font-weight: 400; letter-spacing: calc(0.3 * var(--u)); text-transform: uppercase; color: var(--accent-deep); margin-bottom: calc(1.5 * var(--ut)); }

.fpt-portefeuille .fpt-heure { margin-bottom: calc(4 * var(--ut)); }

.fpt-portefeuille .fpt-heure b { font-family: "Josefin Sans", "Montserrat", sans-serif; font-size: calc(2.7 * var(--ut)); color: var(--accent-deep); }

.pap-mockup-carte .fpt-face { box-shadow: 0 1px 3px rgba(0,0,0,0.10); }

.pap-sauve-scene .fpt-face { box-shadow: 0 4px 9px rgba(64,57,54,0.11), 0 22px 48px rgba(64,57,54,0.18); border-radius: 1px; }

@keyframes pap-apparait-simple { from { opacity: 0; } to { opacity: 1; } }

.fpt-qr { margin-top: auto; padding-top: calc(4 * var(--ut)); display: flex; flex-direction: column; align-items: center; gap: calc(1.6 * var(--ut)); }

.fpt-qr-code {
    width: calc(25 * var(--u)); height: calc(25 * var(--u));
    padding: calc(2.5 * var(--u)); background: #fff; border-radius: calc(0.6 * var(--u));
}

.fpt-qr-code img { width: 100%; height: 100%; display: block; image-rendering: pixelated; }

.fpt-qr-url {
    font-family: "Montserrat", sans-serif; font-weight: 400;
    font-size: calc(2.2 * var(--ut)); letter-spacing: calc(0.16 * var(--u));
    color: var(--soft);
}

.fpt-sur-deep .fpt-qr-url { color: var(--soft-on-deep); }

.mnu-face {
    --ut: calc(var(--u) * var(--fpt-fit, 1));
    position: relative; overflow: hidden;
    width: var(--mnu-largeur, 300px);
    background: var(--bg); color: var(--ink);
    text-rendering: geometricPrecision;
}

.mnu-face * { box-sizing: border-box; }

.mnu-pan { position: absolute; inset: 0; display: flex; flex-direction: column; padding: calc(12 * var(--u)) calc(11 * var(--u)); }

.mnu-centre { text-align: center; align-items: center; }

.mnu-corps { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: calc(5 * var(--ut)); width: 100%; }

.mnu-pied { width: 100%; margin-top: calc(5 * var(--ut)); }

.mnu-surtitre { font-family: "Montserrat", sans-serif; font-size: calc(2.4 * var(--ut)); font-weight: 400; letter-spacing: calc(0.34 * var(--u)); text-transform: uppercase; color: var(--extra); margin-bottom: calc(3 * var(--ut)); }

.mnu-titre { font-size: calc(11 * var(--ut)); line-height: 1.05; color: var(--ink); font-weight: 400; margin-bottom: calc(3 * var(--ut)); }

.mnu-filet { height: calc(0.3 * var(--u)); width: calc(18 * var(--u)); background: var(--accent); margin: calc(5 * var(--ut)) 0; }

.mnu-filet.centre { margin-inline: auto; }

.mnu-filet.double { position: relative; }

.mnu-filet.double::after { content: ""; position: absolute; left: 0; right: 0; top: calc(1.4 * var(--u)); height: calc(0.3 * var(--u)); background: var(--accent); opacity: 0.55; }

.mnu-service { width: 100%; }

.mnu-intitule { font-family: "Montserrat", sans-serif; font-size: calc(2.2 * var(--ut)); font-weight: 500; letter-spacing: calc(0.28 * var(--u)); text-transform: uppercase; color: var(--accent); margin-bottom: calc(1.2 * var(--ut)); }

.mnu-plat { font-size: calc(4 * var(--ut)); line-height: 1.35; color: var(--ink); }

.mnu-precision { margin-top: calc(0.8 * var(--ut)); font-family: "Montserrat", sans-serif; font-size: calc(2.5 * var(--ut)); font-weight: 300; line-height: 1.5; color: var(--extra); }

.mnu-vin { margin-top: calc(1.2 * var(--ut)); font-size: calc(2.8 * var(--ut)); font-style: italic; color: var(--accent); }

.mnu-signature { font-size: calc(3.6 * var(--ut)); color: var(--ink); }

.mnu-lieu { margin-top: calc(1.2 * var(--ut)); font-family: "Montserrat", sans-serif; font-size: calc(2.3 * var(--ut)); font-weight: 300; letter-spacing: calc(0.1 * var(--u)); color: var(--extra); line-height: 1.5; }

.mnu-allergenes { margin-top: calc(4 * var(--ut)); font-family: "Montserrat", sans-serif; font-size: calc(2 * var(--ut)); font-weight: 300; line-height: 1.5; color: var(--extra); }

.mnu-mot { margin-top: calc(2.5 * var(--ut)); font-size: calc(2.9 * var(--ut)); font-style: italic; color: var(--accent); }

.mnu-mono { font-size: calc(7 * var(--ut)); color: var(--accent); margin-bottom: calc(2 * var(--ut)); }

.mnu-d-editorial .mnu-titre { font-family: "Archivo", "Montserrat", sans-serif; font-weight: 600; letter-spacing: calc(-0.15 * var(--u)); text-transform: uppercase; }

.mnu-d-editorial .mnu-plat { font-family: "Archivo", "Montserrat", sans-serif; font-weight: 400; }

.mnu-d-editorial .mnu-signature { font-family: "Archivo", "Montserrat", sans-serif; font-weight: 500; }

.mnu-d-editorial .mnu-corps { justify-content: flex-start; gap: calc(5.5 * var(--ut)); }

.mnu-d-classique .mnu-titre { font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-weight: 500; }

.mnu-d-classique .mnu-plat { font-family: "Cormorant Garamond", Georgia, serif; }

.mnu-d-classique .mnu-signature { font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; }

.mnu-d-classique .mnu-mono { font-family: "Cormorant Garamond", Georgia, serif; }

.mnu-d-artdeco .mnu-titre { font-family: "Cinzel", Georgia, serif; letter-spacing: calc(0.7 * var(--u)); text-transform: uppercase; font-size: calc(7.5 * var(--ut)); }

.mnu-d-artdeco .mnu-plat { font-family: "Josefin Sans", "Montserrat", sans-serif; font-weight: 400; }

.mnu-d-artdeco .mnu-intitule { font-family: "Josefin Sans", "Montserrat", sans-serif; }

.mnu-d-artdeco .mnu-signature { font-family: "Cinzel", Georgia, serif; letter-spacing: calc(0.3 * var(--u)); font-size: calc(3 * var(--ut)); }

.mnu-cadre { position: absolute; inset: calc(7 * var(--u)); border: calc(0.3 * var(--u)) solid var(--accent); opacity: 0.8; }

.mnu-d-artdeco .mnu-pan { padding: calc(15 * var(--u)) calc(14 * var(--u)); }

.mnu-d-vegetal .mnu-titre { font-family: "Parisienne", "Cormorant Garamond", cursive; font-size: calc(13 * var(--ut)); line-height: 1; color: var(--ink); }

.mnu-d-vegetal .mnu-plat { font-family: "Lora", Georgia, serif; }

.mnu-d-vegetal .mnu-signature { font-family: "Parisienne", cursive; font-size: calc(5 * var(--ut)); }

.mnu-feuillage { width: calc(52 * var(--u)); margin-bottom: calc(2 * var(--ut)); }

.mnu-d-arche .mnu-pan { padding: calc(9 * var(--u)); background: var(--bg); }

.mnu-arche-fond { position: absolute; inset: 0; background: var(--accent); }

.mnu-d-arche .mnu-arche-forme {
    width: 100%; height: 100%; background: var(--accent);
    border-radius: calc(45 * var(--u)) calc(45 * var(--u)) calc(2 * var(--u)) calc(2 * var(--u));
    padding: calc(5 * var(--u)); display: flex;
}

.mnu-d-arche .mnu-arche-dedans {
    flex: 1; background: var(--extra); color: var(--ink);
    border-radius: calc(41 * var(--u)) calc(41 * var(--u)) calc(1 * var(--u)) calc(1 * var(--u));
    padding: calc(11 * var(--u)) calc(10 * var(--u)) calc(8 * var(--u));
    display: flex; flex-direction: column; text-align: center; align-items: center;
}

.mnu-d-arche .mnu-titre { font-family: "DM Serif Display", Georgia, serif; font-size: calc(8 * var(--ut)); }

.mnu-d-arche .mnu-plat { font-family: "Jost", "Montserrat", sans-serif; font-weight: 400; }

.mnu-d-arche .mnu-intitule { font-family: "Jost", "Montserrat", sans-serif; }

.mnu-d-arche .mnu-signature { font-family: "DM Serif Display", Georgia, serif; font-size: calc(3.4 * var(--ut)); }

.mpl-face {
    --ut: calc(var(--u) * var(--fpt-fit, 1));
    position: relative; overflow: hidden;
    background: var(--bg); color: var(--ink);
    text-rendering: geometricPrecision;
}

.mpl-face * { box-sizing: border-box; }

.mpl-pan { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: calc(6 * var(--u)) calc(6 * var(--u)); }

.mpl-prenom { font-family: "Cormorant Garamond", Georgia, serif; font-size: calc(9 * var(--ut)); line-height: 1.05; color: var(--ink); }

/* 1.6 et non 0.6 : sous un prénom en Cormorant à line-height 1.05, le
   nom de famille venait toucher les jambages, et html2canvas le posait
   franchement par-dessus sur la planche imprimée. */
.mpl-nom { margin-top: calc(1.6 * var(--ut)); font-family: "Montserrat", sans-serif; font-size: calc(2.9 * var(--ut)); font-weight: 400; letter-spacing: calc(0.3 * var(--u)); text-transform: uppercase; color: var(--soft); }

.mpl-table { margin-top: calc(2.6 * var(--ut)); font-family: "Montserrat", sans-serif; font-size: calc(2.4 * var(--ut)); font-weight: 500; letter-spacing: calc(0.24 * var(--u)); text-transform: uppercase; color: var(--accent); }

.mpl-filet { width: calc(22 * var(--u)); height: calc(0.28 * var(--u)); background: var(--accent); margin: calc(2.6 * var(--ut)) 0; }

.mpl-brin { width: calc(36 * var(--u)); margin-bottom: calc(1 * var(--ut)); }

.mpl-mono { font-family: "Cormorant Garamond", Georgia, serif; font-size: calc(4.6 * var(--ut)); color: var(--accent); margin-bottom: calc(1.6 * var(--ut)); }

.mpl-avec-bande { padding: 0; justify-content: flex-start; }

.mpl-haut { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: calc(6 * var(--u)) calc(6 * var(--u)) calc(2 * var(--u)); }

.mpl-bande {
    width: 100%; padding: calc(3 * var(--u)) 0; background: var(--deep); color: var(--accent-deep);
    font-family: "Montserrat", sans-serif; font-size: calc(2.6 * var(--ut)); font-weight: 500;
    letter-spacing: calc(0.3 * var(--u)); text-transform: uppercase;
}

.mpl-d-numero .mpl-chiffre {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    font-family: "Cormorant Garamond", Georgia, serif; font-size: calc(46 * var(--u));
    line-height: 1; color: var(--accent); opacity: 0.16;
}

.mpl-devant { position: relative; display: flex; flex-direction: column; align-items: center; }

.mpl-planche { display: grid; grid-template-columns: 1fr 1fr; gap: 0; background: #fff; }

.mpl-chevalet { position: relative; }

.mpl-chevalet .mpl-pli { height: 0; border-top: 1px dashed rgba(0,0,0,0.25); }

.mpl-chevalet .mpl-dos { background: var(--bg); }
