/* ZÄHLWIESE v117 — ONE coherent reward scene, never layered copies */
.zw107 .zw107-trip{display:none!important}
.zw107 .zw109-feast{display:none!important}
.zw107.zw117-arrived .zw107-garden{
 opacity:0!important;visibility:hidden!important;pointer-events:none!important;
 animation:none!important;transition:opacity .3s ease,visibility .4s!important
}
.zw107.zw117-arrived .zw107-garden::before{display:none!important}
.zw107.zw117-arrived .zw109-round-flowers{opacity:0!important}
.zw107.zw117-arrived .zw107-order,
.zw107.zw117-arrived .zw107-tray{display:none!important}
.zw107 .zw117-reward{
 position:absolute;left:3%;top:39%;width:94%;height:37%;
 z-index:35;overflow:visible;pointer-events:none;
 opacity:0;transform:translateY(17px) scale(.94);
 transition:opacity .65s ease,transform .8s cubic-bezier(.25,.84,.27,1)
}
.zw107.zw117-arrived .zw117-reward{opacity:1;transform:none}
.zw107 .zw117-reward>img{position:absolute;display:block;object-fit:contain;pointer-events:none}
.zw107 .zw117-reward-blanket{
 z-index:1;left:2%;bottom:4%;width:96%;height:39%;object-fit:fill!important;
 filter:drop-shadow(0 6px 4px #65744e6e)
}
.zw107 .zw117-reward-friend{
 z-index:5;width:41%;height:79%;bottom:18%;
 filter:drop-shadow(0 3px 2px #67513e58)
}
.zw107 .zw117-reward-moritz{left:-2%;object-position:center bottom}
.zw107 .zw117-reward-igor{right:-2%;object-position:center bottom}
.zw107 .zw117-reward-basket{
 z-index:3;left:31%;width:38%;height:73%;bottom:25%;
 filter:drop-shadow(0 3px 3px #6b482d70)
}
.zw107 .zw117-reward-foods{
 position:absolute;z-index:8;bottom:10%;left:23%;width:54%;height:18%;
 display:flex;align-items:center;justify-content:center;gap:1%;
 pointer-events:none
}
.zw107 .zw117-reward-food{
 display:block;flex:0 1 20%;min-width:0;max-height:100%;height:100%;
 filter:drop-shadow(0 2px 2px #59453264)
}
.zw107 .zw117-reward-food img{display:block;width:100%;height:100%;object-fit:contain}
.zw107.zw117-arrived .zw107-next-wrap{top:79%!important;right:10%!important;z-index:70!important}
@media(min-aspect-ratio:6/5){
 .zw107 .zw117-reward{left:23%;top:31%;width:54%;height:47%}
 .zw107 .zw117-reward-friend{width:41%;height:84%;bottom:12%}
 .zw107 .zw117-reward-basket{width:40%;left:30%;height:74%;bottom:24%}
 .zw107 .zw117-reward-blanket{height:44%;bottom:2%}
 .zw107 .zw117-reward-foods{bottom:8%;left:23%;width:54%;height:21%}
 .zw107.zw117-arrived .zw107-next-wrap{top:72%!important;right:9%!important}
}
@media(max-width:360px) and (orientation:portrait){
 .zw107 .zw117-reward{left:2%;top:40%;width:96%;height:35%}
 .zw107 .zw117-reward-friend{width:40%}
 .zw107 .zw117-reward-basket{width:40%;left:30%}
}
@media(prefers-reduced-motion:reduce){
 .zw107 .zw117-reward{transition:none!important}
}

/* Eliminate the accidental food illustration used as the Next button. */
#app .zw107 .zw107-next{
 background-image:url('/picnic-v117/next-arrow.webp')!important;
 background-size:contain!important;
 border:0!important;outline:0!important;
 width:clamp(65px,14vw,81px)!important;
 height:clamp(65px,14vw,81px)!important;
 min-width:65px!important;min-height:65px!important;
}
#app .zw107 .zw107-next:focus-visible{
 outline:4px solid #fff2a9!important;outline-offset:3px!important;
}

/* Feathered pencil meadow eliminates rectangular cutout seams in reward and gameplay. */
#app .zw107 .zw108-painting{
 background-image:url('/picnic-v117/meadow-seamless-portrait.webp')!important;
 background-position:center center!important;
 background-size:100% 100%!important;
}
@media(min-aspect-ratio:6/5){
 #app .zw107 .zw108-painting{
  background-image:url('/picnic-v117/meadow-seamless-landscape.webp')!important;
 }
}

/* v117 final QA: no stacked picnic blankets at any point. */
.zw107.zw117-arrived .zw107-garden,
.zw107.zw117-arrived .zw107-trip,
.zw107.zw117-arrived .zw109-feast{
  display:none!important;visibility:hidden!important;opacity:0!important;
  animation:none!important;transition:none!important;
}
.zw107.zw107-walk:not(.zw117-arrived) .zw107-garden::before{
  display:none!important;
}
.zw107.zw117-arrived .zw117-reward{
  z-index:40!important;
  opacity:1;transform:none;
  animation:zw117-reward-enter .7s ease-out both!important;
}
@keyframes zw117-reward-enter{
 from{opacity:0;transform:translateY(10px) scale(.96)}
 to{opacity:1;transform:translateY(0) scale(1)}
}
/* Replaces previously accidental next-button image (orange juice + milk). */
#app .zw107 .zw107-next{
 background-image:url('/picnic-v117/next-arrow.webp')!important;
 background-color:transparent!important;background-position:center!important;
 background-size:contain!important;background-repeat:no-repeat!important;
 width:clamp(59px,11vw,77px)!important;height:clamp(59px,11vw,77px)!important;
 min-width:59px!important;min-height:59px!important;
 border:0!important;border-radius:50%!important;
 box-shadow:none!important;filter:drop-shadow(0 4px 3px #5e633e7c)!important;
 opacity:1!important;
}
#app .zw107.zw117-arrived .zw107-next-wrap{
 top:auto!important;bottom:16%!important;right:7%!important;
 pointer-events:auto!important;z-index:80!important;opacity:1!important;
}
#app .zw107.zw117-arrived .zw107-next:focus-visible{
 outline:4px solid #f9df7b!important;outline-offset:3px!important;
}
@media (min-aspect-ratio:6/5){
 #app .zw107.zw117-arrived .zw107-next-wrap{
  top:45%!important;bottom:auto!important;right:9%!important;
 }
}
@media (prefers-reduced-motion:reduce){
 .zw107.zw117-arrived .zw117-reward{animation:none!important}
}
