.kt-generator{--kt-paper-width:320px;position:relative;box-sizing:border-box;width:100%;height:0;margin:0 auto;overflow:visible;z-index:5}
.kt-ticket-overlay{position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(calc(100vw - 32px),420px);overflow:hidden;pointer-events:none;z-index:30}
/* Le ticket entier glisse depuis derrière le bord supérieur.
   Le conteneur, absolu et masqué, ne pousse jamais le contenu Elementor. */
.kt-result{padding:0 8px;display:flex;justify-content:center;transform:translate3d(0,calc(-100% - 12px),0);opacity:1;transition:transform 1150ms cubic-bezier(.22,.65,.3,1);will-change:transform}
.kt-open .kt-result{transform:translate3d(0,0,0)}
.kt-feedback{position:absolute;left:50%;top:22px;transform:translateX(-50%);margin:0;font:13px/1.4 system-ui,sans-serif;color:inherit;z-index:45;background:rgba(245,242,236,.96);padding:6px 10px;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.08)}.kt-feedback[hidden]{display:none!important}
.kt-generator .kt-ticket-wrap{margin:0 auto;pointer-events:auto}.kt-ticket-wrap{max-width:420px;margin:0 auto;color:#151515}
.kt-ticket{position:relative;box-sizing:border-box;background:#fffdf7;color:#161616;width:min(100%,var(--kt-paper-width,320px));margin:auto;padding:36px 24px 35px;box-shadow:0 8px 36px rgba(0,0,0,.13);font-family:'Courier New',monospace;font-size:12px;text-align:center}
.kt-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#292421;font:normal 28px/1 Arial,sans-serif;cursor:pointer;padding:0;box-shadow:none;z-index:2}
.kt-close:hover,.kt-close:focus-visible{background:rgba(0,0,0,.08);outline-offset:2px}
.kt-overline{font-size:9px;letter-spacing:1.5px}.kt-brand{font:bold 28px/1.6 'Courier New',monospace;letter-spacing:2px}.kt-creature svg{width:150px;height:auto;display:block;margin:0 auto 8px}.kt-rule{border-top:1px dashed #161616;margin:17px 0}.kt-line{display:flex;justify-content:space-between;text-align:left;gap:12px;margin:8px 0}.kt-total{font-size:15px}.kt-message{font:italic 13px/1.55 'Courier New',monospace;white-space:normal}.kt-bars{height:44px;margin:20px 0 8px;background:repeating-linear-gradient(90deg,#151515 0,#151515 2px,transparent 2px,transparent 5px,#151515 5px,#151515 6px,transparent 6px,transparent 10px)}.kt-ending{font-size:9px;letter-spacing:1px}.kt-actions{display:flex;align-items:center;justify-content:center;margin:24px auto 0;padding-top:14px;border-top:1px dashed rgba(0,0,0,.35)}.kt-save{display:inline-flex;align-items:center;justify-content:center;max-width:100%;border:1px solid #222;border-radius:4px;padding:9px 12px;background:#fffdf7;color:#171717;cursor:pointer;font:600 12px/1.3 system-ui,sans-serif;box-shadow:none}.kt-save:hover,.kt-save:focus-visible{background:#f2efe8;color:#171717}.kt-footnote{font-size:9px;text-align:left}.kt-error{color:#b22;font-size:14px;margin:12px auto}
@media(max-width:480px){.kt-generator{--kt-paper-width:min(100vw - 56px,300px)}}
@media(max-width:350px){.kt-generator{--kt-paper-width:calc(100vw - 52px)}}
@media(prefers-reduced-motion:reduce){.kt-result{transition:none!important}}
@media print{.kt-close,.kt-actions{display:none!important}}

/* Fermeture : arrachage horizontal sous le bord supérieur, puis chute du papier.
   La couche reste visible pendant toute la fermeture sans déplacer la page. */
.kt-closing .kt-ticket-overlay{overflow:visible}
.kt-closing .kt-result{transform:translate3d(0,0,0);transition:none;pointer-events:none}
.kt-closing .kt-ticket-wrap{transform-origin:50% 12px;animation:kt-ticket-tear-fall 1300ms cubic-bezier(.28,.14,.52,1) both;pointer-events:none}
.kt-closing .kt-ticket{animation:kt-ticket-tear-edge 1300ms steps(1,end) both}
@keyframes kt-ticket-tear-edge{
  0%,12%{clip-path:inset(0 0 0 0)}
  13%,100%{clip-path:polygon(0 18px,4% 16px,8% 20px,12% 15px,16% 19px,20% 16px,24% 21px,28% 17px,32% 19px,36% 15px,40% 20px,44% 17px,48% 21px,52% 16px,56% 19px,60% 15px,64% 20px,68% 17px,72% 21px,76% 16px,80% 19px,84% 15px,88% 20px,92% 17px,96% 19px,100% 16px,100% 100%,0 100%)}
}
@keyframes kt-ticket-tear-fall{
  0%,12%{transform:translate(0,0) rotate(0deg);opacity:1}
  22%{transform:translate(0,8px) rotate(-1deg);opacity:1}
  55%{transform:translate(10px,calc(var(--kt-fall-distance, 700px) * .38)) rotate(4deg);opacity:1}
  100%{transform:translate(28px,var(--kt-fall-distance, 700px)) rotate(9deg);opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .kt-closing .kt-ticket-wrap,.kt-closing .kt-ticket{animation:none!important}
  .kt-closing .kt-result{transform:translate3d(0,-110%,0)!important}
}
/* Code réel (lien du site) : QR ou code-barres, sans service externe */
.kt-code {margin:18px auto 10px;display:flex;justify-content:center;align-items:center;max-width:100%;}
.kt-code svg{display:block;max-width:100%;height:auto;}
.kt-code .kt-qr-svg{width:138px;height:138px;}
.kt-code .kt-barcode-svg{width:100%;max-width:265px;height:50px;}

/* Pognou 1.5.2 — apparence inspirée du ticket de contribution vintage. */
.kt-generator{--kt-paper-width:340px}
.kt-ticket{background:#fcf0dc;color:#302317;width:min(100%,var(--kt-paper-width,340px));padding:16px 14px 18px;box-shadow:0 9px 30px rgba(35,23,12,.23);font-family:Georgia,'Times New Roman',serif}
.kt-print-area{position:relative;padding:16px 12px 13px;border:2px double #66513a;outline:1px solid rgba(95,65,38,.65);outline-offset:-6px;background:linear-gradient(145deg,rgba(255,255,255,.32),rgba(183,143,94,.035)),repeating-linear-gradient(6deg,rgba(106,71,37,.012) 0px,rgba(106,71,37,.012) 1px,transparent 1px,transparent 4px);}
.kt-overline{font:700 9px/1.5 'Courier New',monospace;letter-spacing:1.7px;text-transform:uppercase;min-height:14px;margin:0 12px 3px}
.kt-brand{font:900 clamp(35px,9vw,48px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:-2px;margin:0 0 7px;color:#2d2117;text-shadow:.4px 0 currentColor}
.kt-banner{margin:0 auto 12px;background:#3c281b;color:#fff5e6;width:max-content;max-width:100%;padding:6px 12px;font:700 10px/1.2 Georgia,serif;letter-spacing:.45px}
.kt-number{font:700 24px/1.3 Georgia,serif;letter-spacing:1px;margin:8px auto}
.kt-rule{height:0;border:0;border-top:2px dotted #856e56;margin:12px 0}
.kt-details{font:700 11px/1.4 'Courier New',monospace;padding:0 8px}
.kt-details .kt-line{margin:4px 0}
.kt-line strong{font-weight:700}
.kt-portrait{margin:8px -12px 2px;overflow:hidden}
.kt-portrait img{display:block;width:100%;height:auto;max-width:none;object-fit:cover;mix-blend-mode:multiply}
.kt-highlight{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 5px;font:700 17px/1.2 Georgia,'Times New Roman',serif;text-align:left}
.kt-highlight strong{font-size:20px;white-space:nowrap}
.kt-human{background:#f3dfc0;border-radius:3px;padding-left:9px;padding-right:9px;margin:4px -3px 12px}
.kt-footnote{font:9px/1.3 'Courier New',monospace;text-align:left;margin:3px 0 11px;color:#5f5344}
.kt-code{margin:12px auto 7px}
.kt-code .kt-qr-svg{width:115px;height:115px}
.kt-code .kt-barcode-svg{width:100%;max-width:260px;height:50px}
.kt-bars{margin:12px 0;height:42px}
.kt-ending{font:700 9px/1.45 'Courier New',monospace;letter-spacing:.7px;text-transform:uppercase;margin:11px 0}
.kt-message{border-top:2px dotted #967f61;padding:15px 8px 4px;margin:10px 0 2px;font:italic 700 15px/1.4 Georgia,serif}
.kt-actions{border-top:1px dashed rgba(80,57,32,.45);padding-top:12px;margin:13px auto 0}
.kt-save{font-size:11px;background:#35251a;color:#fff7ec;border-color:#35251a;border-radius:5px}
.kt-save:hover,.kt-save:focus-visible{background:#513b2a;color:white}
.kt-close{top:20px;right:19px;background:#2a211a;color:white;border-radius:50%;width:25px;height:25px;font-size:22px}
.kt-close:hover,.kt-close:focus-visible{background:#4f3929;color:white}
@media(max-width:480px){.kt-generator{--kt-paper-width:min(100vw - 42px,340px)}.kt-ticket{padding:14px 12px}.kt-print-area{padding:16px 9px 12px}.kt-brand{font-size:38px}.kt-highlight{font-size:15px}.kt-highlight strong{font-size:18px}}

/* Pognou 1.5.3 : ticket compact, sans toucher à ses animations. */
.kt-ticket{padding:9px 10px 11px}
.kt-print-area{padding:10px 9px 9px}
.kt-overline{margin:0 8px 1px;font-size:8px;line-height:1.25;min-height:0}
.kt-brand{font-size:40px;line-height:1.03;margin:0 0 4px}
.kt-banner{margin:0 auto 5px;padding:4px 10px;font-size:9px}
.kt-number{font-size:22px;line-height:1.1;margin:3px auto}
.kt-rule{margin:7px 0;border-top-width:1px}
.kt-details{font-size:10px;line-height:1.25;padding:0 6px}
.kt-details .kt-line{margin:2px 0}
.kt-portrait{margin:3px -9px 0}
.kt-portrait img{height:145px;object-fit:cover;object-position:center 49%}
.kt-highlight{padding:5px 4px;font-size:15px;line-height:1.1}
.kt-highlight strong{font-size:18px}
.kt-human{margin:2px -2px 5px;padding-left:7px;padding-right:7px}
.kt-code{margin:6px auto 3px}
.kt-code .kt-qr-svg{width:88px;height:88px}
.kt-code .kt-barcode-svg{max-width:250px;height:39px}
.kt-bars{height:34px;margin:6px 0}
.kt-ending{font-size:8px;line-height:1.25;margin:5px 0}
.kt-message{margin:5px 0 0;padding:7px 4px 1px;font-size:13px;line-height:1.25;border-top-width:1px}
.kt-actions{margin:5px auto 0;padding-top:7px}
.kt-save{padding:7px 10px;font-size:11px}
.kt-close{top:12px;right:12px}
@media(max-width:480px){.kt-ticket{padding:8px 9px}.kt-print-area{padding:9px 7px}.kt-brand{font-size:36px}.kt-portrait{margin-left:-7px;margin-right:-7px}.kt-portrait img{height:133px}.kt-highlight{font-size:14px}.kt-highlight strong{font-size:17px}}

/* Pognou 1.5.4 — fond, cadrage intégral, ciseaux et réglages communs */
.kt-ticket { background:#FFFCF8 !important; }
.kt-print-area { background:transparent; }
.kt-ticket .kt-portrait { height:auto; overflow:visible; margin:8px -9px 5px; }
.kt-ticket .kt-portrait img { display:block; width:100%; height:auto !important; max-width:100%; object-fit:contain !important; object-position:center center; mix-blend-mode:multiply; }
.kt-ticket .kt-close { border-radius:50%; background:#171717; color:#fff; display:flex; align-items:center; justify-content:center; padding:0; }
.kt-ticket .kt-close svg {display:block; flex-shrink:0; width:16px; height:16px;}
.kt-ticket .kt-close:hover, .kt-ticket .kt-close:focus-visible { background:#383838; color:#fff; }
.kt-ticket .kt-brand { font-size:var(--kt-font-title,40px) !important; }
.kt-ticket .kt-banner { font-size:var(--kt-font-banner,9px) !important; }
.kt-ticket .kt-overline, .kt-ticket .kt-details, .kt-ticket .kt-number, .kt-ticket .kt-ending { font-size:var(--kt-font-standard,11px) !important; }
.kt-ticket .kt-number { font-size:calc(var(--kt-font-standard,11px) * 1.65) !important; }
.kt-ticket .kt-highlight, .kt-ticket .kt-highlight strong { font-size:var(--kt-font-values,18px) !important; }
.kt-ticket .kt-message { font-size:var(--kt-font-final,13px) !important; }
@media(max-width:480px){.kt-ticket .kt-portrait{margin-left:-7px;margin-right:-7px;}}
