/* Pognou 2.4.1 — design commun des tickets modernes.
 * Contrats CSS : .pv-header, .pv-meta, .pv-title, .pv-intro, .pv-item,
 * .pv-total, .pv-note et .pv-footnote sont communs aux tickets.
 * Les blocs optionnels n'occupent aucune place s'ils sont absents.
 * Le ticket historique V1 continue d'utiliser ticket.css.
 */
.kt-ticket:has(.pgn-modern-invoice),
.kt-ticket.pv-contribution {
  color:#111!important;
  background:#fff!important;
  padding:35px 14px 30px!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
.kt-ticket:has(.pgn-modern-invoice) > .kt-print-area,
.kt-ticket.pv-contribution > .kt-print-area {
  border:0!important;
  outline:0!important;
  background:none!important;
  padding:0!important;
  text-align:left;
}
.pgn-modern-invoice,.pv-content {
  font:13px/1.5 Arial,Helvetica,sans-serif!important;
  color:#111;
  text-align:left;
}
.pv-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  padding:20px 0;
  border-bottom:1px solid #111;
  font:700 17px/1.3 Arial,sans-serif;
  text-transform:uppercase;
}
.pv-header span {font:13px/1.3 Arial,sans-serif;text-align:right;max-width:55%;}
.pv-meta {display:flex;justify-content:space-between;gap:8px;font:13px/1.5 'Courier New',monospace;padding:9px 0 0;}
.kt-ticket .pv-title {
  font:800 37px/1.03 Arial,Helvetica,sans-serif!important;
  letter-spacing:-1.3px!important;
  text-align:left!important;
  color:#111;
  margin:23px 0 18px!important;
  padding:0!important;
  text-transform:none!important;
  overflow-wrap:break-word;
}
.pgn-modern-invoice .pv-intro {font:15px/1.5 Arial,sans-serif;margin:0 0 20px;}
.pv-item {display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #111;padding:12px 0;font:13px/1.5 Arial,sans-serif;}
.pv-item strong {white-space:nowrap;font-weight:400;}
.pv-total {display:flex;justify-content:space-between;align-items:center;padding:18px 0;gap:8px;border-bottom:1px solid #111;}
.pv-total span {font:700 17px Arial,sans-serif;}
.pv-total strong {font:800 36px/1.1 Arial,sans-serif;letter-spacing:-1px;white-space:nowrap;}
.pv-note {font:11px/1.5 Arial,sans-serif;text-align:center;margin:18px 0 5px;}
.pv-footnote {font:9px/1.5 Arial,sans-serif;text-align:center;margin:17px 0 0;color:#444;}
.pgn-shared-receipt .pgn-invoice-status:empty {display:none!important;}
.pgn-shared-receipt .pgn-invoice-pay {
  display:flex!important;align-items:center;justify-content:center;
  width:100%!important;min-height:54px!important;
  border:1px solid #111!important;border-radius:20px!important;
  background:#fa7047!important;color:#000!important;
  font:700 19px/1.3 Arial,sans-serif!important;cursor:pointer!important;
}
/* Bloc spécifique contribution : montant et QR sur la même rangée. */
.pv-portrait {display:block;width:100%;height:auto;margin:0 0 12px;mix-blend-mode:multiply;}
.pv-amount-row {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #111;border-bottom:1px solid #111;min-height:108px;}
.pv-amount-row .pv-amount {flex:1;min-width:0;}
.pv-amount span {display:block;font:700 12px/1.4 Arial,sans-serif;}
.pv-amount strong {display:block;font:800 44px/1.15 Arial,sans-serif;letter-spacing:-1.5px;margin-top:5px;overflow-wrap:anywhere;}
.pv-contribution .pv-amount-row .kt-code {flex:0 0 100px;width:100px;height:100px;margin:0!important;display:flex;align-items:center;justify-content:center;}
.pv-contribution .pv-amount-row .kt-code .kt-qr-svg {display:block;width:100px!important;height:100px!important;max-width:100%;}
.pv-contribution .pv-amount-row .kt-code[data-code-type="barcode"] {flex-basis:100px;height:auto;}
.pv-contribution .pv-amount-row .kt-bars {margin:0!important;max-width:100px;}
.pv-message {font:700 17px/1.3 Arial,sans-serif;margin:16px 0!important;}
.pv-under {font:9px/1.4 Arial,sans-serif;text-align:center;margin:8px 0;}
.pv-save-v2 {font:600 12px/1.4 Arial,sans-serif;background:#111;color:#fff;border:1px solid #111;padding:8px 12px;cursor:pointer;border-radius:4px;}
.pv-save-v2:hover {background:#333;color:#fff;border-color:#111;}
@media(max-width:350px) {
  .kt-ticket .pv-title {font-size:32px!important;}
  .pv-header {font-size:15px;}
  .pv-header span {font-size:11px;}
  .pv-meta {font-size:11px;}
  .pv-total strong {font-size:32px;}
  .pv-contribution .pv-amount-row .kt-code {flex-basis:80px;width:80px;height:80px;}
  .pv-contribution .pv-amount-row .kt-code .kt-qr-svg {width:80px!important;height:80px!important;}
  .pv-amount strong {font-size:37px;}
}
@media(max-width:480px) {.kt-ticket .pgn-shared-receipt .pv-title {font-size:33px!important;}}

/* Motif de la contribution : champ optionnel commun aux paiements. */
.pv-contribution .pv-motif{display:flex;flex-direction:column;gap:3px;padding:10px 0 4px;color:#111;}
.pv-contribution .pv-motif span{font-size:10px;letter-spacing:.04em;}
.pv-contribution .pv-motif strong{font-size:13px;line-height:1.3;overflow-wrap:anywhere;}

/* Vignette facultative : seulement le ticket Service des rencontres. */
.pgn-shared-receipt[data-receipt-type="selfie"] .pv-selfie-thumbnail {
  display:block; width:108px; height:144px; max-width:38%;
  object-fit:cover; margin:0 auto 12px; border:0; background:#fff;
}
