/* One clipping plane shared by the resting paper and the moving ticket. */
.kt-slot-machine{isolation:isolate}
.kt-slot-machine .kt-slot-back,.kt-slot-machine .kt-slot-front{position:absolute;left:50%;top:0;transform:translateX(-50%);width:calc(var(--kt-paper-width,340px) + 24px);height:calc((var(--kt-paper-width,340px) + 24px) / 20);overflow:hidden;pointer-events:none;box-sizing:border-box}
.kt-slot-machine .kt-slot-back{z-index:10}
.kt-slot-machine .kt-slot-front{z-index:40;clip-path:inset(55% 0 0 0)}
.kt-slot-machine .kt-slot-back img,.kt-slot-machine .kt-slot-front img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:104%;height:auto;max-width:none!important;pointer-events:none}
.kt-slot-machine .kt-idle-paper{position:absolute;top:calc((var(--kt-paper-width,340px) + 24px) / 40);left:50%;transform:translateX(-50%);width:var(--kt-paper-width,340px);height:28px;background:#FFFCF8;z-index:20;pointer-events:none;filter:drop-shadow(0 3px 3px #0001)}
.kt-slot-machine:has(.pv-contribution) .kt-idle-paper,.kt-slot-machine:has(.pgn-modern-invoice) .kt-idle-paper{background:#fff}
.kt-slot-machine .kt-idle-paper,.kt-slot-machine .kt-ticket-wrap{clip-path:polygon(0 0,100% 0,100% calc(100% - 3px),96% 100%,92% calc(100% - 2px),88% 100%,84% calc(100% - 4px),80% calc(100% - 1px),76% calc(100% - 3px),72% 100%,68% calc(100% - 2px),64% 100%,60% calc(100% - 3px),56% 100%,52% calc(100% - 2px),48% 100%,44% calc(100% - 4px),40% calc(100% - 1px),36% calc(100% - 3px),32% 100%,28% calc(100% - 2px),24% 100%,20% calc(100% - 3px),16% 100%,12% calc(100% - 2px),8% 100%,4% calc(100% - 3px),0 100%)}
.kt-slot-machine:has(.kt-result .kt-ticket) .kt-idle-paper{visibility:hidden}
.kt-slot-machine .kt-ticket-overlay{top:calc((var(--kt-paper-width,340px) + 24px) / 40);width:calc(var(--kt-paper-width,340px) + 16px);max-width:calc(100vw - 16px);z-index:30}
.kt-slot-machine .kt-result{transform:translate3d(0,calc(-100% + 28px),0)}
.kt-slot-machine.kt-open .kt-result,.kt-slot-machine.kt-closing .kt-result{transform:translate3d(0,0,0)}
.kt-slot-machine .kt-ticket-wrap{width:100%;max-width:var(--kt-paper-width,340px);flex:0 0 100%;margin:0 auto}
.kt-slot-machine.kt-closing .kt-idle-paper{visibility:visible!important;animation:kt-stub-renew 1350ms linear both}
@keyframes kt-stub-renew{0%,14%{opacity:0}22%,100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.kt-slot-machine.kt-closing .kt-idle-paper{animation:none}.kt-slot-machine.kt-closing .kt-result{transform:translate3d(0,-110%,0)!important}}

/* 2.2.1 — wider inner opening and continuous paper shadow. */
.kt-slot-machine{--kt-slot-height:24px;--kt-slot-mouth:11px;--kt-rest-paper:22px}
.kt-slot-machine .kt-slot-back,.kt-slot-machine .kt-slot-front{height:var(--kt-slot-height);filter:drop-shadow(0 2px 1px #37271833)}
.kt-slot-machine .kt-slot-back img,.kt-slot-machine .kt-slot-front img{width:104%;height:calc(var(--kt-slot-height) * 7.25);object-fit:fill}
.kt-slot-machine .kt-slot-front{clip-path:inset(65% 0 0 0);filter:none}
.kt-slot-machine .kt-idle-paper,.kt-slot-machine .kt-ticket-overlay{top:var(--kt-slot-mouth)}
.kt-slot-machine .kt-idle-paper{height:var(--kt-rest-paper);background:linear-gradient(to bottom,#b0aaa2 0,#e1ddd8 5px,#FFFCF8 14px,#FFFCF8 100%);filter:drop-shadow(0 2px 2px #00000012)}
.kt-slot-machine:has(.pv-contribution) .kt-idle-paper,.kt-slot-machine:has(.pgn-modern-invoice) .kt-idle-paper{background:linear-gradient(to bottom,#b0aaa2 0,#e7e4df 5px,#fff 14px,#fff 100%)}
.kt-slot-machine .kt-ticket-overlay::after{content:"";position:absolute;z-index:5;top:0;left:8px;right:8px;height:15px;background:linear-gradient(to bottom,#30282050,transparent);pointer-events:none}
.kt-slot-machine.kt-closing .kt-ticket-overlay::after{display:none}
.kt-slot-machine .kt-result{transform:translate3d(0,calc(-100% + var(--kt-rest-paper)),0)}
.kt-slot-machine.kt-open .kt-result,.kt-slot-machine.kt-closing .kt-result{transform:translate3d(0,0,0)}
.kt-slot-machine .kt-ticket .kt-close{top:15px!important;right:12px!important}

.kt-slot-machine .kt-idle-paper,.kt-slot-machine .kt-ticket-wrap{clip-path:polygon(0 0,100% 0,100% calc(100% - 2px),99% calc(100% - 1.8px),98% calc(100% - 1.4px),97% calc(100% - 2.8px),96% calc(100% - 1px),95% calc(100% - 1px),94% calc(100% - 1px),93% calc(100% - 0.6px),92% calc(100% - 2.8px),91% calc(100% - 2.2px),90% calc(100% - 2.2px),89% calc(100% - 1.8px),88% calc(100% - 2.2px),87% calc(100% - 1px),86% calc(100% - 0px),85% calc(100% - 0px),84% calc(100% - 0.6px),83% calc(100% - 1.4px),82% calc(100% - 2.8px),81% calc(100% - 2.2px),80% calc(100% - 1.4px),79% calc(100% - 1px),78% calc(100% - 2.8px),77% calc(100% - 1.8px),76% calc(100% - 2.8px),75% calc(100% - 1px),74% calc(100% - 2.2px),73% calc(100% - 2.8px),72% calc(100% - 2.2px),71% calc(100% - 2.2px),70% calc(100% - 1.4px),69% calc(100% - 0.6px),68% calc(100% - 1.8px),67% calc(100% - 0px),66% calc(100% - 0.6px),65% calc(100% - 2.8px),64% calc(100% - 2.8px),63% calc(100% - 0.6px),62% calc(100% - 0.6px),61% calc(100% - 2.2px),60% calc(100% - 1.8px),59% calc(100% - 1.8px),58% calc(100% - 2.8px),57% calc(100% - 2.2px),56% calc(100% - 0.6px),55% calc(100% - 1px),54% calc(100% - 1.8px),53% calc(100% - 0px),52% calc(100% - 2.2px),51% calc(100% - 2.2px),50% calc(100% - 0px),49% calc(100% - 1px),48% calc(100% - 1.4px),47% calc(100% - 0px),46% calc(100% - 1.8px),45% calc(100% - 2.8px),44% calc(100% - 1.4px),43% calc(100% - 2.2px),42% calc(100% - 1.8px),41% calc(100% - 0.6px),40% calc(100% - 2.2px),39% calc(100% - 2.8px),38% calc(100% - 1.4px),37% calc(100% - 2.8px),36% calc(100% - 1.8px),35% calc(100% - 1px),34% calc(100% - 0px),33% calc(100% - 1.4px),32% calc(100% - 1px),31% calc(100% - 1.8px),30% calc(100% - 0px),29% calc(100% - 2.8px),28% calc(100% - 2.2px),27% calc(100% - 1px),26% calc(100% - 0px),25% calc(100% - 1.4px),24% calc(100% - 1px),23% calc(100% - 1.8px),22% calc(100% - 2.8px),21% calc(100% - 0px),20% calc(100% - 2.8px),19% calc(100% - 1.4px),18% calc(100% - 0.6px),17% calc(100% - 0px),16% calc(100% - 1.8px),15% calc(100% - 0.6px),14% calc(100% - 0.6px),13% calc(100% - 1.8px),12% calc(100% - 1px),11% calc(100% - 0px),10% calc(100% - 1px),9% calc(100% - 0px),8% calc(100% - 2.8px),7% calc(100% - 1px),6% calc(100% - 0.6px),5% calc(100% - 2.2px),4% calc(100% - 1.8px),3% calc(100% - 2.8px),2% calc(100% - 1.8px),1% calc(100% - 1.8px),0 calc(100% - 1px))}
@media(prefers-reduced-motion:reduce){.kt-slot-machine.kt-closing .kt-result{transform:translate3d(0,-110%,0)!important}}

/* 2.2.2 — the upper lip is foreground; paper covers the lower lip. */
.kt-slot-machine .kt-slot-back{z-index:10;filter:drop-shadow(0 3px 2px #28190f40)}
.kt-slot-machine .kt-slot-front{z-index:40;clip-path:inset(0 0 48% 0);filter:none}
/* Image layers use the same geometry: no mismatch between the two halves. */
.kt-slot-machine .kt-ticket-overlay{width:calc(var(--kt-paper-width,340px) + 40px);max-width:none;overflow:hidden}
.kt-slot-machine .kt-result{padding:0 20px}
.kt-slot-machine .kt-ticket-wrap{filter:drop-shadow(0 7px 9px #2d1e142b) drop-shadow(0 2px 2px #0000000d)}
.kt-slot-machine .kt-ticket{box-shadow:none!important}
/* This shadow stays attached to the mouth while the sheet moves. */
.kt-slot-machine .kt-ticket-overlay::after{left:20px;right:20px;height:17px;z-index:5;background:linear-gradient(to bottom,rgba(27,20,15,.32) 0,rgba(44,31,21,.15) 5px,rgba(44,31,21,.045) 11px,transparent 17px)}
.kt-slot-machine .kt-idle-paper{background:linear-gradient(to bottom,#bdb6ad 0,#efebe6 7px,#FFFCF8 17px,#FFFCF8 100%);filter:drop-shadow(0 3px 3px #30201426)}
.kt-slot-machine:has(.pv-contribution) .kt-idle-paper,.kt-slot-machine:has(.pgn-modern-invoice) .kt-idle-paper{background:linear-gradient(to bottom,#bdb6ad 0,#eeebe7 7px,#fff 17px,#fff 100%)}
.kt-slot-machine.kt-closing .kt-ticket-overlay{height:var(--kt-close-viewport-height,100vh);overflow:hidden;overflow:clip}

/* Keep the shadow outside the torn silhouette rather than cutting it off. */
.kt-slot-machine .kt-ticket-wrap{clip-path:none}

.kt-slot-machine:not(.kt-closing) .kt-ticket{clip-path:polygon(0 0,100% 0,100% calc(100% - 2px),99% calc(100% - 1.8px),98% calc(100% - 1.4px),97% calc(100% - 2.8px),96% calc(100% - 1px),95% calc(100% - 1px),94% calc(100% - 1px),93% calc(100% - 0.6px),92% calc(100% - 2.8px),91% calc(100% - 2.2px),90% calc(100% - 2.2px),89% calc(100% - 1.8px),88% calc(100% - 2.2px),87% calc(100% - 1px),86% calc(100% - 0px),85% calc(100% - 0px),84% calc(100% - 0.6px),83% calc(100% - 1.4px),82% calc(100% - 2.8px),81% calc(100% - 2.2px),80% calc(100% - 1.4px),79% calc(100% - 1px),78% calc(100% - 2.8px),77% calc(100% - 1.8px),76% calc(100% - 2.8px),75% calc(100% - 1px),74% calc(100% - 2.2px),73% calc(100% - 2.8px),72% calc(100% - 2.2px),71% calc(100% - 2.2px),70% calc(100% - 1.4px),69% calc(100% - 0.6px),68% calc(100% - 1.8px),67% calc(100% - 0px),66% calc(100% - 0.6px),65% calc(100% - 2.8px),64% calc(100% - 2.8px),63% calc(100% - 0.6px),62% calc(100% - 0.6px),61% calc(100% - 2.2px),60% calc(100% - 1.8px),59% calc(100% - 1.8px),58% calc(100% - 2.8px),57% calc(100% - 2.2px),56% calc(100% - 0.6px),55% calc(100% - 1px),54% calc(100% - 1.8px),53% calc(100% - 0px),52% calc(100% - 2.2px),51% calc(100% - 2.2px),50% calc(100% - 0px),49% calc(100% - 1px),48% calc(100% - 1.4px),47% calc(100% - 0px),46% calc(100% - 1.8px),45% calc(100% - 2.8px),44% calc(100% - 1.4px),43% calc(100% - 2.2px),42% calc(100% - 1.8px),41% calc(100% - 0.6px),40% calc(100% - 2.2px),39% calc(100% - 2.8px),38% calc(100% - 1.4px),37% calc(100% - 2.8px),36% calc(100% - 1.8px),35% calc(100% - 1px),34% calc(100% - 0px),33% calc(100% - 1.4px),32% calc(100% - 1px),31% calc(100% - 1.8px),30% calc(100% - 0px),29% calc(100% - 2.8px),28% calc(100% - 2.2px),27% calc(100% - 1px),26% calc(100% - 0px),25% calc(100% - 1.4px),24% calc(100% - 1px),23% calc(100% - 1.8px),22% calc(100% - 2.8px),21% calc(100% - 0px),20% calc(100% - 2.8px),19% calc(100% - 1.4px),18% calc(100% - 0.6px),17% calc(100% - 0px),16% calc(100% - 1.8px),15% calc(100% - 0.6px),14% calc(100% - 0.6px),13% calc(100% - 1.8px),12% calc(100% - 1px),11% calc(100% - 0px),10% calc(100% - 1px),9% calc(100% - 0px),8% calc(100% - 2.8px),7% calc(100% - 1px),6% calc(100% - 0.6px),5% calc(100% - 2.2px),4% calc(100% - 1.8px),3% calc(100% - 2.8px),2% calc(100% - 1.8px),1% calc(100% - 1.8px),0 calc(100% - 1px))}
