/* Billets Mini-Nguon — gabarit commun (site + impression) */
@font-face{font-family:BMont;src:url(../fonts/montserrat-latin-600-normal.woff2);font-weight:600}
@font-face{font-family:BMont;src:url(../fonts/montserrat-latin-700-normal.woff2);font-weight:700}
@font-face{font-family:BMont;src:url(../fonts/montserrat-latin-800-normal.woff2);font-weight:800}
@font-face{font-family:BMont;src:url(../fonts/montserrat-latin-900-normal.woff2);font-weight:900}
@font-face{font-family:BOswald;src:url(../fonts/oswald-latin-700-normal.woff2);font-weight:700}
@font-face{font-family:BScript;src:url(../fonts/great-vibes-latin-400-normal.woff2)}
@font-face{font-family:BPlay;src:url(../fonts/playfair-display-latin-700-italic.woff2);font-weight:700;font-style:italic}
@font-face{font-family:BPlay;src:url(../fonts/playfair-display-latin-700-normal.woff2);font-weight:700}

.bt{--navy:#0B2A6F;--navy2:#071D52;--gold:#C9A227;--gold2:#E6CD72;--sky:#EEF4FB;
  position:relative;width:200mm;background:#fff;color:var(--navy);font-family:BMont,sans-serif;box-sizing:border-box;overflow:hidden}
.bt *{box-sizing:border-box}
.bt img{display:block}
/* ---------- CLASSIQUE ---------- */
.bt.c{height:92mm;display:flex;gap:0}
.bt.c .main{position:relative;width:151mm;height:100%;border:.5mm solid var(--navy);border-radius:2.5mm;padding:3.4mm 3.6mm 2.6mm;display:flex;flex-direction:column}
.bt.c .stub{position:relative;width:47mm;margin-left:2mm;height:100%;border:.5mm solid var(--navy);border-radius:2.5mm;padding:3.4mm 3.2mm;display:flex;flex-direction:column}
.bt.c .main::after{content:"";position:absolute;right:-1.45mm;top:3mm;bottom:3mm;border-right:.35mm dashed #8fa3c7}
.bt .top{display:flex;gap:3mm;flex:1;min-height:0}
.bt .colL{width:31mm;display:flex;flex-direction:column;align-items:center;gap:2.2mm}
.bt .colL .logo{width:29mm;height:29mm;object-fit:contain}
.bt .datebox{width:100%;border:.35mm solid var(--navy);border-radius:2mm;padding:1.4mm 1.8mm;display:flex;gap:1.6mm;align-items:center}
.bt .datebox svg{width:4.2mm;height:4.2mm;flex:none}
.bt .datebox b{display:block;font-family:BOswald;font-size:10.5pt;line-height:1}
.bt .datebox small{display:block;font-size:4.6pt;font-weight:800;color:var(--gold);letter-spacing:.1mm;white-space:nowrap}
.bt .lieu{width:100%;border:.35mm solid var(--navy);border-radius:2mm;padding:1.3mm 1.6mm;display:flex;gap:1.4mm}
.bt .lieu svg{width:3.8mm;height:3.8mm;flex:none;margin-top:.3mm}
.bt .lieu b{display:block;font-size:6.2pt;font-weight:800;line-height:1.15}
.bt .lieu small{display:block;font-size:5pt;font-weight:600;color:#3b4f78;line-height:1.25;margin-top:.4mm}
.bt .colC{flex:1;min-width:0;display:flex;flex-direction:column}
.bt .kicker{font-size:5pt;font-weight:800;letter-spacing:.2mm;color:var(--gold);white-space:nowrap}
.bt .title{display:flex;align-items:flex-end;gap:1.5mm;line-height:.8;margin-top:1mm}
.bt .title .mini{font-family:BScript;font-size:30pt;color:var(--navy);line-height:.8}
.bt .title .ng{font-family:BOswald;font-weight:700;font-size:31pt;letter-spacing:.3mm;color:var(--navy);line-height:.85}
.bt .sub{font-family:BOswald;font-weight:700;font-size:9pt;letter-spacing:.4mm;margin-top:1mm}
.bt .sub i{font-style:normal;color:var(--gold)}
.bt .ribbon{display:flex;align-items:center;gap:2mm;margin:2.2mm 0 1.6mm}
.bt .ribbon:before,.bt .ribbon:after{content:"";flex:1;height:.3mm;background:var(--navy)}
.bt .ribbon span{border:.35mm solid var(--navy);padding:.8mm 3mm;font-family:BOswald;font-weight:700;font-size:9.5pt;letter-spacing:.6mm}
.bt .txt{font-size:5.9pt;font-weight:600;line-height:1.35;color:#24396b}
.bt .txt em{font-family:BPlay;font-style:italic;font-weight:700;color:var(--navy);font-size:6.6pt}
.bt .who{display:flex;align-items:flex-end;gap:1.5mm;margin-top:2mm;font-family:BPlay;font-weight:700;font-size:9pt}
.bt .who .line{flex:1;border-bottom:.3mm dotted var(--navy);min-height:5mm;font-family:BMont;font-weight:900;font-size:10.5pt;letter-spacing:.2mm;padding-left:1mm;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt .prog{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6mm;margin-top:2mm}
.bt .prog div{border-left:.6mm solid var(--gold);padding-left:1.4mm}
.bt .prog small{display:block;font-size:4.9pt;font-weight:800;color:var(--gold);letter-spacing:.15mm}
.bt .prog b{display:block;font-family:BOswald;font-weight:700;font-size:7pt;line-height:1.1}
.bt .colR{width:36mm;display:flex;flex-direction:column;align-items:center}
.bt .photo{position:relative;width:100%;height:21mm;border-radius:1.6mm;overflow:hidden;border:.3mm solid #c9d5e8}
.bt .photo img{width:100%;height:100%;object-fit:cover}
.bt .photo span{position:absolute;right:1mm;top:1mm;background:var(--navy);color:#fff;font-size:4.4pt;font-weight:900;padding:.5mm 1.2mm;border-radius:.6mm;letter-spacing:.15mm}
.bt .cap{font-size:4.6pt;font-weight:800;margin-top:.8mm}
.bt .sign{margin-top:2mm;text-align:center;width:100%}
.bt .sign .h{font-size:4.9pt;font-weight:800}
.bt .sign .ink{position:relative;height:13mm;margin:.5mm 0}
.bt .sign .ink .s{position:absolute;left:-1mm;top:1.5mm;height:10.5mm}
.bt .sign .ink .t{position:absolute;right:0;top:0;height:13mm;opacity:.9}
.bt .sign .n{font-family:BPlay;font-weight:700;font-size:6.6pt;border-top:.3mm solid var(--navy);padding-top:.7mm}
.bt .partners{margin-top:1.6mm}
.bt .partners .pt{display:flex;align-items:center;gap:2mm;font-size:5pt;font-weight:900;letter-spacing:.6mm;color:var(--navy)}
.bt .partners .pt:before,.bt .partners .pt:after{content:"";flex:1;height:.3mm;background:var(--navy)}
.bt .partners .row{display:flex;align-items:center;justify-content:space-between;gap:1mm;height:9mm;margin-top:.8mm}
.bt .partners img{max-height:8mm;max-width:8.6mm;object-fit:contain;flex:0 1 auto;min-width:0}
.bt .partners img.w{max-width:15.5mm;max-height:6.4mm}
/* stub */
.bt .stub .k{font-size:5.4pt;font-weight:800;letter-spacing:.5mm;color:var(--gold)}
.bt .stub .t2{display:flex;align-items:flex-end;gap:1mm;line-height:.8;margin-top:2.4mm}
.bt .stub .t2 .mini{font-family:BScript;font-size:17pt}
.bt .stub .t2 .ng{font-family:BOswald;font-weight:700;font-size:16pt}
.bt .stub .s2{font-size:4.8pt;font-weight:800;letter-spacing:.2mm;margin-top:.6mm}
.bt .stub .f{margin-top:2.2mm}
.bt .stub .f label{display:block;font-size:5pt;font-weight:800;color:#3b4f78}
.bt .stub .f div{border-bottom:.3mm dotted var(--navy);min-height:4.2mm;font-size:7.4pt;font-weight:900;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt .stub .f.num div{font-size:9pt;letter-spacing:.2mm;color:#C8102E}
.bt .stub .db{margin-top:2.4mm;border:.35mm solid var(--navy);border-radius:1.8mm;padding:1.2mm 1.6mm}
.bt .stub .db b{display:block;font-family:BOswald;font-size:9pt;line-height:1}
.bt .stub .db small{display:block;font-size:4.7pt;font-weight:600;line-height:1.25;color:#3b4f78;margin-top:.4mm}
.bt .stub .v{font-size:4.8pt;font-weight:700;line-height:1.35;margin-top:1.6mm}
.bt .stub .inf{margin-top:auto;font-size:4.8pt;font-weight:800;line-height:1.35}
.bt .stub .inf small{display:block;color:var(--gold);letter-spacing:.4mm}
.bt .stub .qr{position:absolute;right:3mm;bottom:3mm;width:15mm;height:15mm}
.bt .stub .qr svg{width:100%;height:100%}
/* ---------- VIP ---------- */
.bt.v{height:134mm;border:.6mm solid var(--navy);border-radius:3mm;padding:4mm 5mm 3mm;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#fff 0%,#fff 70%,#fbf6e6 100%)}
.bt.v:before{content:"";position:absolute;inset:1.6mm;border:.3mm solid var(--gold);border-radius:2mm;pointer-events:none}
.bt.v .vh{display:flex;gap:4mm;align-items:center}
.bt.v .vh .logo{width:31mm;height:31mm;object-fit:contain}
.bt.v .vh .mid{flex:1}
.bt.v .kicker{font-size:6.4pt}
.bt.v .title{margin-top:3mm}.bt.v .title .mini{font-size:40pt;color:var(--gold)}
.bt.v .title .ng{font-size:40pt}
.bt.v .sub{font-size:10.5pt}
.bt.v .vh .photo{width:52mm;height:31mm}
.bt.v .gold{margin:4mm auto 2.6mm;display:flex;align-items:stretch;justify-content:center}
.bt.v .gold span{background:linear-gradient(90deg,#b8901d,#e6cd72 50%,#b8901d);color:var(--navy2);font-family:BOswald;font-weight:700;font-size:15pt;letter-spacing:1.2mm;padding:1.4mm 8mm;clip-path:polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%)}
.bt.v .gold em{font-style:normal;background:var(--navy);color:#fff;font-family:BOswald;font-weight:700;font-size:15pt;letter-spacing:1mm;padding:1.4mm 5mm;margin-left:-3mm}
.bt.v .txt{text-align:center;font-size:7pt}
.bt.v .txt em{font-size:8pt}
.bt.v .who{margin:7mm 14mm 0;font-size:11pt}
.bt.v .who .line{font-size:13pt}
.bt.v .vb{display:flex;gap:3.5mm;margin-top:7mm;align-items:flex-start}
.bt.v .vb .colL{width:34mm;gap:1.6mm}
.bt.v .vb .mid{flex:1}
.bt.v .vb .prog{margin-top:0}
.bt.v .vb .prog b{font-size:7.6pt}
.bt.v .acc{margin-top:2.4mm;font-size:6pt;font-weight:600;border-top:.3mm solid var(--gold);padding-top:1.2mm}
.bt.v .acc b{color:var(--gold);font-weight:900}
.bt.v .vb .sign{width:40mm;margin-top:0}
.bt.v .vnum{position:absolute;right:6mm;top:37mm;text-align:right;font-size:5.4pt;font-weight:800;color:#3b4f78}
.bt.v .vnum b{display:block;font-size:10pt;color:#C8102E;letter-spacing:.3mm}
.bt.v .qr{position:absolute;left:6mm;top:37mm;width:16mm;height:16mm}
.bt.v .qr svg{width:100%;height:100%}
.bt.v .partners{margin-top:auto}
.bt.v .partners .row{height:11mm}
.bt.v .partners img{max-height:10.5mm;max-width:12mm}
.bt.v .partners img.w{max-width:21mm;max-height:8.5mm}
.bt .prov{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-18deg);font-family:BOswald;font-size:30pt;color:rgba(200,16,46,.12);white-space:nowrap;pointer-events:none}

/* compatibilité capture image (html2canvas) */
.bt .title{display:block;white-space:nowrap;line-height:1}
.bt .title .mini,.bt .title .ng{display:inline-block;vertical-align:bottom;line-height:1}
.bt .title .ng{margin-left:1mm}
.bt .stub .t2{display:block;white-space:nowrap;line-height:1}
.bt .stub .t2 .mini,.bt .stub .t2 .ng{display:inline-block;vertical-align:bottom;line-height:1}
.bt .who{align-items:center}
.bt .who .line{height:6.2mm;line-height:6.2mm;min-height:0;text-overflow:clip;padding-top:0}
.bt.v .who .line{height:7.5mm;line-height:7.5mm}
.bt .stub .f div{height:4.6mm;line-height:4.6mm;min-height:0;text-overflow:clip}
.bt.v .gold span,.bt.v .gold em{line-height:1.25;display:flex;align-items:center}
.bt .ribbon span{line-height:1.25}
