/* Dopolavoro · scenografie e componenti (child theme) */
.dlg-scena{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:inherit;pointer-events:none}
.dlg-scena .crest{pointer-events:none}
.dlg-scena .crest{position:absolute;top:-2px;left:50%;transform:translateX(-50%);z-index:9;width:120px;height:62px;background:#F2EEEC;clip-path:polygon(0 0,100% 0,82% 100%,18% 100%);display:grid;place-items:center}
.dlg-scena .crest img{height:46px;margin-top:-4px}
.dlg-scena .valance{position:absolute;top:0;left:0;right:0;height:66px;z-index:8;background:radial-gradient(circle at 50% 0,#A00D24 0 31px,transparent 32px) 0 0/66px 66px repeat-x,linear-gradient(#A00D24,#A00D24) 0 0/100% 34px no-repeat;filter:drop-shadow(0 6px 0 #0005)}
.dlg-scena .valance::after{content:"";position:absolute;left:0;right:0;top:30px;height:7px;background:repeating-linear-gradient(90deg,#F2EEEC 0 9px,transparent 9px 15px)}
.dlg-scena .curt{position:absolute;top:0;bottom:0;width:52%;z-index:7;background:repeating-linear-gradient(90deg,#A00D24 0 34px,#A00D24 34px 52px,#C8102E 52px 70px);transition:transform 2.4s cubic-bezier(.7,0,.2,1) .25s}
.dlg-scena .curt::after{content:"";position:absolute;top:44%;width:44px;height:16px;background:#F2EEEC;border-radius:8px;box-shadow:0 3px 0 #0005}
.dlg-scena .curt.l{left:0;border-right:4px solid #6E0A17}
.dlg-scena .curt.l::after{right:-10px}
.dlg-scena .curt.r{right:0;border-left:4px solid #6E0A17}
.dlg-scena .curt.r::after{left:-10px}
.dlg-scena.open .curt.l{transform:translateX(-88%)}
.dlg-scena.open .curt.r{transform:translateX(88%)}
.dlg-scena .rays{position:absolute;left:50%;bottom:-60%;width:200%;aspect-ratio:1;transform:translateX(-50%);background:repeating-conic-gradient(from 0deg,#F2EEEC14 0 5deg,transparent 5deg 10deg);border-radius:50%;animation:spin 140s linear infinite;z-index:0}
@keyframes spin{to{transform:translateX(-50%) rotate(360deg)}}
@keyframes twinkle{from{opacity:.5}to{opacity:1}}
.dlg-scena .waves{position:absolute;left:0;right:0;bottom:0;z-index:4;height:110px;pointer-events:none}
.dlg-scena .wave{position:absolute;left:0;right:0;bottom:0;background-repeat:repeat-x}
.dlg-scena .wave.w1{height:92px;bottom:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='92'%3E%3Cpath d='M0 26 Q37 6 75 26 T150 26 T225 26 T300 26 V92 H0Z' fill='%23A00D24'/%3E%3Cpath d='M0 26 Q37 6 75 26 T150 26 T225 26 T300 26' fill='none' stroke='%23FFFFFF' stroke-opacity='.5' stroke-width='2'/%3E%3C/svg%3E");animation:wave 14s linear infinite}
.dlg-scena .wave.w2{height:70px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='70'%3E%3Cpath d='M0 22 Q30 4 60 22 T120 22 T180 22 T240 22 V70 H0Z' fill='%236E0A17'/%3E%3Cpath d='M0 22 Q30 4 60 22 T120 22 T180 22 T240 22' fill='none' stroke='%23F2EEEC' stroke-opacity='.55' stroke-width='2'/%3E%3C/svg%3E");animation:wave 9s linear infinite reverse}
@keyframes wave{to{background-position:600px 0}}
.dlg-scena .car{position:absolute;bottom:58px;right:22%;width:120px;z-index:4;animation:bob 4.2s ease-in-out infinite;transform-origin:50% 80%}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-9px) rotate(4deg)}}
.dlg-scena .spot{position:absolute;inset:0;z-index:6;pointer-events:none;background:radial-gradient(circle 260px at var(--mx,50%) var(--my,40%),#FFFFFF22,transparent 70%);mix-blend-mode:screen;transition:background .1s}
.dlg-ribalta{position:relative;z-index:10;max-width:1180px;margin:0 auto;height:40px;background:#3D0610;border-top:6px solid #F2EEEC;display:flex;justify-content:space-around;align-items:flex-start}
.dlg-ribalta i{width:26px;height:13px;border-radius:0 0 26px 26px;background:#FFFFFF;box-shadow:0 -16px 34px 12px #FFFFFF55;animation:glow 3s ease-in-out infinite}
.dlg-ribalta i:nth-child(odd){animation-delay:-1.5s}
@keyframes glow{0%,100%{box-shadow:0 -16px 34px 12px #FFFFFF55}50%{box-shadow:0 -16px 40px 16px #FFFFFF88}}
.dlg-assi{height:28px;max-width:1180px;margin:0 auto;background:repeating-linear-gradient(90deg,#6E0A17 0 120px,#3D0610 120px 122px)}
.dlg-scena .stage.mini .waves{height:80px}
.dlg-scena .stage.mini .wave.w1{height:66px}
.dlg-scena .stage.mini .wave.w2{height:50px}
@keyframes tick{to{transform:translateX(-100%)}}
@keyframes spin2{to{transform:rotate(360deg)}}
@keyframes paneIn{from{opacity:0;transform:perspective(900px) rotateX(-10deg) translateY(12px)}to{opacity:1;transform:none}}
@keyframes sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.dlg-scena .scn{position:absolute;inset:0;z-index:0;overflow:hidden}
.dlg-scena .scn .sv{position:absolute;inset:0;width:100%;height:100%}
.dlg-scena .scn .sv *{transform-box:fill-box}
.dlg-scena .scn .px{transition:transform .6s ease-out}
.dlg-scena .scn .tw{animation:twk 3s ease-in-out infinite alternate}
@keyframes twk{from{opacity:.25}to{opacity:1}}
.dlg-scena .scn .win{animation:winf 7s steps(1) infinite}
@keyframes winf{0%,70%{opacity:1}72%,80%{opacity:.2}82%,100%{opacity:1}}
.dlg-scena .rain{position:absolute;inset:0;z-index:1;background:repeating-linear-gradient(105deg,transparent 0 22px,#FFFFFF22 22px 23px);background-size:60px 60px;animation:rain .5s linear infinite}
@keyframes rain{to{background-position:-14px 60px}}
.dlg-scena .scan{position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(0deg,#14101212 0 2px,transparent 2px 4px);animation:scanf 4s steps(1) infinite}
@keyframes scanf{0%,90%{opacity:1}92%{opacity:.3}94%,100%{opacity:1}}
@keyframes spinS{to{transform:rotate(360deg)}}
.dlg-scena .flm{transform-origin:50% 100%;animation:flk .5s ease-in-out infinite alternate}
@keyframes flk{0%{transform:scale(1,1) skewX(0)}50%{transform:scale(.92,1.08) skewX(3deg)}100%{transform:scale(1.05,.94) skewX(-3deg)}}
.dlg-scena .scn .flag{transform-origin:0% 50%;animation:flagw 2.2s ease-in-out infinite alternate}
.dlg-scena .scn .flag.f2, .dlg-scena .scn .flag.f1{animation-delay:-1.1s}
.dlg-scena .scn .flag.f3{animation-delay:-.6s}
@keyframes flagw{from{transform:skewY(-5deg) scaleX(.96)}to{transform:skewY(5deg) scaleX(1.03)}}
.dlg-scena .scn .beam{transform-origin:50% 100%;animation:beam 8s ease-in-out infinite alternate}
.dlg-scena .scn .beam.b2{animation-delay:-4s}
@keyframes beam{from{transform:rotate(-12deg)}to{transform:rotate(12deg)}}
.dlg-scena .scn .note{animation:note 6s linear infinite;opacity:0}
@keyframes note{0%{opacity:0;transform:translate(0,0) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translate(30px,-420px) rotate(20deg)}}
.dlg-scena .scn .page{animation:page 9s linear infinite}
@keyframes page{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(40px,200px) rotate(90deg)}50%{transform:translate(-20px,420px) rotate(200deg)}75%{transform:translate(30px,620px) rotate(280deg)}100%{transform:translate(0,840px) rotate(360deg)}}
.dlg-scena .scn .cst{animation:twk 2.5s ease-in-out infinite alternate}
.dlg-scena .scn .shoot{animation:shoot 7s ease-in infinite;opacity:0}
@keyframes shoot{0%,70%{opacity:0;transform:translate(260px,60px)}72%{opacity:1}86%{opacity:0;transform:translate(820px,250px)}100%{opacity:0;transform:translate(820px,250px)}}
.dlg-scena .scn .orb{transform-origin:50% 50%;animation:spinS 9s linear infinite}
.dlg-scena .scn .tele{transform-origin:100% 50%;animation:tele 5s ease-in-out infinite alternate}
@keyframes tele{from{transform:rotate(16deg)}to{transform:rotate(34deg)}}
.dlg-scena .scn .slit{transform-origin:50% 100%;animation:slit 5s ease-in-out infinite alternate}
@keyframes slit{from{transform:scaleY(.3)}to{transform:scaleY(1)}}
.dlg-scena .scn .pisa{transform-origin:50% 100%;animation:pisa 6s ease-in-out infinite}
@keyframes pisa{0%,30%{transform:rotate(8deg)}45%,75%{transform:rotate(0)}90%,100%{transform:rotate(8deg)}}
.dlg-scena .scn .pusher{animation:push 6s ease-in-out infinite}
@keyframes push{0%,30%{transform:translateX(0)}45%,75%{transform:translateX(18px)}90%,100%{transform:translateX(0)}}
.dlg-scena .scn .ex{transform-origin:50% 100%;animation:ex 6s ease-in-out infinite;opacity:0}
@keyframes ex{0%,44%{opacity:0;transform:scale(.3)}50%,72%{opacity:1;transform:scale(1)}80%,100%{opacity:0}}
.dlg-scena .scn .cloud{animation:cloud 18s ease-in-out infinite alternate}
@keyframes cloud{to{transform:translateX(var(--dx))}}
.dlg-scena .scn .birds{animation:birds 16s linear infinite}
@keyframes birds{from{transform:translateX(-400px)}to{transform:translateX(1300px)}}
.dlg-scena .scn .stem{stroke-dasharray:200;animation:stem 7s ease-in-out infinite}
@keyframes stem{0%{stroke-dashoffset:200}30%,100%{stroke-dashoffset:0}}
.dlg-scena .scn .lf{transform-origin:50% 100%;animation:lf 7s ease-in-out infinite}
.dlg-scena .scn .lf.l2{animation-delay:.3s}
.dlg-scena .scn .lf.l3{animation-delay:.6s}
@keyframes lf{0%,22%{transform:scale(0)}38%,100%{transform:scale(1)}}
.dlg-scena .scn .bud{transform-origin:50% 100%;animation:bud 7s cubic-bezier(.3,1.6,.5,1) infinite}
@keyframes bud{0%,34%{transform:scale(0)}46%,100%{transform:scale(1)}}
.dlg-scena .scn .ht{animation:ht 4s ease-out infinite;opacity:0}
.dlg-scena .scn .ht.h2{animation-delay:1.3s}
.dlg-scena .scn .ht.h3{animation-delay:2.6s}
@keyframes ht{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translateY(-120px) scale(1.2)}}
.dlg-scena .scn .lan{transform-origin:50% 0%;animation:lan 3s ease-in-out infinite alternate}
@keyframes lan{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}
.dlg-scena .scn .lglow{animation:twk 1.4s ease-in-out infinite alternate}
.dlg-scena .scn .ff{animation:ff 6s ease-in-out infinite alternate}
@keyframes ff{0%{transform:translate(0,0);opacity:.2}50%{opacity:1}100%{transform:translate(var(--fx),-60px);opacity:.3}}
.dlg-scena .scn .mula{animation:mula 6s ease-in-out infinite}
@keyframes mula{0%,20%{transform:translateY(90px)}35%,70%{transform:translateY(0)}85%,100%{transform:translateY(90px)}}
.dlg-scena .scn .ear{transform-origin:50% 100%;animation:ear .6s ease-in-out infinite alternate}
.dlg-scena .scn .ear.e2{animation-delay:-.3s}
@keyframes ear{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}
.dlg-scena .scn .sig{stroke-dasharray:220;animation:sig 4s ease-in-out infinite}
@keyframes sig{0%{stroke-dashoffset:220}70%,100%{stroke-dashoffset:0}}
.dlg-scena .scn .qu{animation:qu 4s ease-in-out infinite}
@keyframes qu{0%{transform:translate(0,0)}20%{transform:translate(30px,-10px)}40%{transform:translate(60px,4px)}55%{transform:translate(90px,-8px)}70%,100%{transform:translate(124px,0)}}
.dlg-scena .scn .scr{animation:scr 6s cubic-bezier(.3,1.5,.5,1) infinite;opacity:0}
.dlg-scena .scn .scr.s1{animation-delay:.5s}
.dlg-scena .scn .scr.s2{animation-delay:1s}
@keyframes scr{0%{opacity:0;transform:translateY(-300px) rotate(-20deg)}18%,85%{opacity:1;transform:none}100%{opacity:0}}
.dlg-scena .scn .carr{animation:carr 14s linear infinite}
@keyframes carr{from{transform:translateX(-360px)}to{transform:translateX(1300px)}}
.dlg-scena .scn .whl{transform-origin:50% 50%;animation:spinS 1.2s linear infinite}
.dlg-scena .scn .leaf{animation:leaf 8s linear infinite}
@keyframes leaf{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(50px,400px) rotate(240deg)}100%{transform:translate(-20px,820px) rotate(520deg)}}
.dlg-scena .scn .awn{transform-origin:50% 0%;animation:awn 2.6s ease-in-out infinite alternate}
.dlg-scena .scn .awn.s2{animation-delay:-.9s}
.dlg-scena .scn .awn.s3{animation-delay:-1.7s}
@keyframes awn{from{transform:skewX(-2deg)}to{transform:skewX(2deg)}}
.dlg-scena .scn .sign{transform-origin:50% 0%;animation:lan 2.4s ease-in-out infinite alternate}
.dlg-scena .scn .jug{animation:jug 1.8s linear infinite}
.dlg-scena .scn .jug.j1{animation-delay:-.6s}
.dlg-scena .scn .jug.j2{animation-delay:-1.2s}
@keyframes jug{0%{transform:translate(0,0)}25%{transform:translate(60px,-120px)}50%{transform:translate(120px,0)}75%{transform:translate(60px,40px)}100%{transform:translate(0,0)}}
.dlg-scena .scn .tear{animation:tear 2.4s ease-in infinite;opacity:0}
@keyframes tear{0%{opacity:0;transform:translateY(0)}10%{opacity:1}100%{opacity:0;transform:translateY(700px)}}
.dlg-scena .scn .ban{transform-origin:50% 0%;animation:awn 3s ease-in-out infinite alternate}
.dlg-scena .scn .chand{transform-origin:50% 0%;animation:lan 4s ease-in-out infinite alternate}
.dlg-scena .scn .laugh{animation:laugh .35s ease-in-out infinite alternate}
@keyframes laugh{from{transform:translateY(0)}to{transform:translateY(-6px)}}
.dlg-scena .scn .fia{transform-origin:50% 100%;animation:fia 5s ease-in-out infinite}
@keyframes fia{0%,15%{transform:rotate(0)}35%,65%{transform:rotate(62deg)}85%,100%{transform:rotate(0)}}
.dlg-scena .scn .drop{animation:drop 5s linear infinite;opacity:0}
.dlg-scena .scn .drop.d1{animation-delay:.2s}
.dlg-scena .scn .drop.d2{animation-delay:.4s}
@keyframes drop{0%,34%{opacity:0;transform:translateY(0)}38%{opacity:1}52%{opacity:1;transform:translateY(46px)}54%,100%{opacity:0}}
.dlg-scena .scn .wine{transform-origin:50% 100%;animation:wine 5s ease-in-out infinite}
@keyframes wine{0%,35%{transform:scaleY(.1)}65%,90%{transform:scaleY(1)}100%{transform:scaleY(.1)}}
.dlg-scena .scn .cl1{animation:cl1 2.4s ease-in-out infinite}
.dlg-scena .scn .cl2{animation:cl2 2.4s ease-in-out infinite}
@keyframes cl1{0%,30%,100%{transform:none}50%,60%{transform:translateX(18px) rotate(10deg)}}
@keyframes cl2{0%,30%,100%{transform:none}50%,60%{transform:translateX(-18px) rotate(-10deg)}}
.dlg-scena .scn .float{animation:floaty 5s ease-in-out infinite alternate}
@keyframes floaty{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-16px) rotate(1deg)}}
.dlg-scena .scn .emb{animation:emb 4s linear infinite;opacity:0}
@keyframes emb{0%{opacity:0;transform:translate(0,0)}15%{opacity:1}100%{opacity:0;transform:translate(30px,-460px)}}
.dlg-scena .scn .lant{transform-origin:50% 0%;animation:lan 2.8s ease-in-out infinite alternate}
.dlg-scena .scn .pet{animation:pet 7s linear infinite}
@keyframes pet{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(120px,180px) rotate(200deg)}100%{transform:translate(260px,420px) rotate(400deg)}}
.dlg-scena .scn .wl{transform-origin:100% 50%;animation:wing .26s ease-in-out infinite alternate}
.dlg-scena .scn .wr{transform-origin:0% 50%;animation:wing .26s ease-in-out infinite alternate}
@keyframes wing{from{transform:scaleX(1)}to{transform:scaleX(.25)}}
.dlg-scena .scn .bf.b1{animation:bf1 9s ease-in-out infinite}
.dlg-scena .scn .bf.b2{animation:bf1 11s ease-in-out infinite reverse}
.dlg-scena .scn .bf.b3{animation:bf2 8s ease-in-out infinite}
@keyframes bf1{0%,100%{transform:translate(0,0)}25%{transform:translate(120px,-60px)}50%{transform:translate(220px,30px)}75%{transform:translate(80px,80px)}}
@keyframes bf2{0%,100%{transform:translate(0,0)}33%{transform:translate(-140px,60px)}66%{transform:translate(100px,90px)}}
.dlg-scena .scn .fwk .rk{animation:rk 3.3s ease-out infinite;animation-delay:inherit;stroke-dashoffset:0}
.dlg-scena .scn .fwk{animation:none}
.dlg-scena .scn .fwk .burst{transform-origin:50% 50%;animation:burst 3.3s ease-out infinite;animation-delay:inherit;opacity:0}
@keyframes rk{0%{opacity:1;stroke-dasharray:0 600}30%{opacity:1;stroke-dasharray:600 0}36%,100%{opacity:0}}
@keyframes burst{0%,30%{opacity:0;transform:scale(.1)}36%{opacity:1}80%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.15) translateY(14px)}}
.dlg-scena .scn .crowd .arm{transform-origin:0% 100%;animation:lan 1s ease-in-out infinite alternate}
.dlg-scena .scn .sunrays{transform-origin:50% 50%;animation:spinS 30s linear infinite}
.dlg-scena .scn .palm{transform-origin:50% 100%;animation:lan 3s ease-in-out infinite alternate}
.dlg-scena .scn .tram{animation:tram 11s linear infinite}
@keyframes tram{from{transform:translateX(1250px)}to{transform:translateX(-420px)}}
.dlg-scena .scn .spark{animation:twk .2s steps(2) infinite}
.dlg-scena .scn .haze{animation:twk 2s ease-in-out infinite alternate}
.dlg-scena .scn .dove{animation:dove 10s linear infinite}
.dlg-scena .scn .dove.dv1{animation-delay:-3.3s}
.dlg-scena .scn .dove.dv2{animation-delay:-6.6s}
@keyframes dove{0%{transform:translate(-700px,120px)}25%{transform:translate(-300px,-60px)}50%{transform:translate(100px,40px)}75%{transform:translate(400px,-120px)}100%{transform:translate(800px,0)}}
.dlg-scena .scn .wg{transform-origin:50% 100%;animation:wgf .3s ease-in-out infinite alternate}
@keyframes wgf{from{transform:scaleY(1)}to{transform:scaleY(-.6)}}
.dlg-scena .scn .winlit{animation:twk 3s ease-in-out infinite alternate}
.dlg-scena .scn .romeo{animation:laugh 1.6s ease-in-out infinite alternate}
.dlg-scena .scn .doc{animation:doc 16s linear infinite}
@keyframes doc{from{transform:translateX(300px)}to{transform:translateX(1000px)}}
.dlg-scena .scn .doc g{animation:laugh .5s ease-in-out infinite alternate}
.dlg-scena .scn .rat{animation:rat 5s linear infinite}
.dlg-scena .scn .rat.r1{animation-delay:-2.5s}
@keyframes rat{from{transform:translateX(200px)}to{transform:translateX(-1100px)}}
.dlg-scena .scn .bob{animation:laugh .18s ease-in-out infinite alternate}
.dlg-scena .scn .fog{animation:fog 14s ease-in-out infinite alternate}
.dlg-scena .scn .fog.f2{animation-duration:10s;animation-direction:alternate-reverse}
@keyframes fog{from{transform:translateX(-80px)}to{transform:translateX(80px)}}
.dlg-scena .scn .horse{animation:horse 9s ease-in-out infinite}
@keyframes horse{0%{transform:translateX(-420px)}45%,70%{transform:translateX(420px)}100%{transform:translateX(-420px)}}
.dlg-scena .scn .peek{transform-origin:50% 100%;animation:peek 9s ease-in-out infinite}
@keyframes peek{0%,48%{transform:scaleY(0)}55%,66%{transform:scaleY(1)}72%,100%{transform:scaleY(0)}}
.dlg-scena .scn .dust{animation:dust 1.2s ease-out infinite;opacity:0}
@keyframes dust{0%{opacity:.8;transform:scale(.4)}100%{opacity:0;transform:scale(1.6) translate(-20px,-10px)}}
.dlg-scena .scn .bunt{transform-origin:50% 0%;animation:awn 2.4s ease-in-out infinite alternate}
.dlg-scena .scn .bunt.b1{animation-delay:-1.2s}
.dlg-scena .scn .blade{animation:blade 3s cubic-bezier(.7,0,.3,1) infinite}
@keyframes blade{0%,30%{transform:translateY(0)}42%,60%{transform:translateY(244px)}90%,100%{transform:translateY(0)}}
.dlg-scena .scn .half{animation:halfl 3s ease-out infinite}
.dlg-scena .scn .half.hr{animation-name:halfr}
@keyframes halfl{0%,40%{transform:none}55%,85%{transform:translate(-20px,4px) rotate(-6deg)}100%{transform:none}}
@keyframes halfr{0%,40%{transform:none}55%,85%{transform:translate(20px,4px) rotate(6deg)}100%{transform:none}}
.dlg-scena .scn .conf{animation:conf 6s linear infinite}
@keyframes conf{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(40px,840px) rotate(720deg)}}
.dlg-scena .scn .boot{stroke-dasharray:2200;animation:boot 9s ease-in-out infinite}
@keyframes boot{0%{stroke-dashoffset:2200;fill-opacity:0}45%{stroke-dashoffset:0;fill-opacity:0}60%,92%{stroke-dashoffset:0;fill-opacity:1}100%{stroke-dashoffset:0;fill-opacity:0}}
.dlg-scena .scn .isl, .dlg-scena .scn .pin{animation:isl 9s ease-in-out infinite}
@keyframes isl{0%,50%{opacity:0}60%,92%{opacity:1}100%{opacity:0}}
.dlg-scena .scn .qm{transform-origin:50% 100%;animation:ex 9s ease-in-out infinite}
.dlg-scena .scn .tric rect{transform-origin:0% 50%;animation:flagw 1.6s ease-in-out infinite alternate}
.dlg-scena .scn .tric rect:nth-child(2){animation-delay:-.4s}
.dlg-scena .scn .tric rect:nth-child(3){animation-delay:-.8s}
.dlg-scena .scn .puff{transform-origin:50% 50%;animation:puff 2.1s ease-out infinite;opacity:0}
@keyframes puff{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(2.2) translate(30px,-30px)}}
.dlg-scena .scn .march{animation:march 14s linear infinite}
@keyframes march{from{transform:translateX(-300px)}to{transform:translateX(1300px)}}
.dlg-scena .scn .leg{animation:laugh .3s ease-in-out infinite alternate}
@keyframes swing{from{transform:rotate(-1.2deg)}to{transform:rotate(1.2deg)}}
@media (prefers-reduced-motion:reduce){.dlg-scena .scn *{animation:none!important}}
@media (max-width:1024px){.dlg-scena .car{right:10%}}
@media (max-width:767px){.dlg-scena .crest{width:84px;height:44px}
.dlg-scena .crest img{height:32px}
.dlg-scena .valance{height:46px;background-size:46px 46px,100% 24px}
.dlg-scena .valance::after{top:20px}
.dlg-scena.open .curt.l{transform:translateX(-95%)}
.dlg-scena.open .curt.r{transform:translateX(95%)}
.dlg-scena .car{width:84px;bottom:46px;right:8%}
.dlg-ribalta i{width:16px;height:9px}}
/* ===== componenti degli shortcode ===== */
.dlg-ribalta,.dlg-assi{max-width:none}
.dlg-cast{list-style:none;margin:0;padding:0;columns:2;column-gap:50px}
.dlg-cast li{break-inside:avoid;display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:2px dotted #3D061033}
.dlg-cast b{font-family:'Alegreya Sans SC',sans-serif;font-weight:500;color:#C8102E;text-align:right}
.dlg-cast-nota{text-align:center;font-style:italic;margin-top:22px}
.dlg-fatti{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border:3px double #3D0610}
.dlg-fatti div{padding:16px 18px;border-right:1px solid #3D061033;border-bottom:1px solid #3D061033}
.dlg-fatti div:nth-child(3n){border-right:0}
.dlg-fatti small{display:block;font-family:'Alegreya Sans SC',sans-serif;font-size:14px;letter-spacing:.12em;color:#C8102E}
.dlg-cerca label{display:block;font-family:'Alegreya Sans SC',sans-serif;letter-spacing:.1em;color:#C8102E;margin-bottom:8px}
.dlg-cerca input{width:100%;font:inherit;font-size:22px;padding:16px 20px;border:3px solid #3D0610;background:#fff;box-shadow:6px 6px 0 #3D0610;outline:none;border-radius:0}
.dlg-cerca input:focus{border-color:#C8102E}
.dlg-cerca-esiti{list-style:none;margin:22px 0 0;padding:0}
.dlg-cerca-esiti li{border-bottom:2px dotted #3D061033}
.dlg-cerca-esiti a{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:12px 4px;text-decoration:none;color:#3D0610}
.dlg-cerca-esiti a:hover{background:#F2EEEC}
.dlg-cerca-esiti b{font-family:'DM Serif Display',serif;font-weight:400;font-size:22px}
.dlg-cerca-esiti small{grid-column:1;font-style:italic;color:#6E0A17}
.dlg-cerca-esiti span{grid-row:1/3;grid-column:2;align-self:center;font-family:'Alegreya Sans SC',sans-serif;color:#C8102E}
.dlg-cerca-esiti .vuoto{padding:12px 4px;font-style:italic}
.dlg-ticker{overflow:hidden;white-space:nowrap;font-family:'Limelight',serif;font-size:22px;letter-spacing:.08em}
.dlg-ticker span{display:inline-block;padding-left:100%;animation:dlgTick 48s linear infinite}
.dlg-ticker em{font-style:normal;color:#E0242C;margin:0 18px}
@keyframes dlgTick{to{transform:translateX(-100%)}}
.dlg-applausi{background:none;border:2px solid #F2EEEC;color:#F2EEEC;font-family:'Alegreya Sans SC',sans-serif;font-size:17px;padding:10px 18px;cursor:pointer;transition:background .2s}
.dlg-applausi:hover{background:#F2EEEC;color:#3D0610}
.dlg-applausi span{font-weight:700;margin-left:6px}
.dlg-confetto{position:fixed;top:-20px;z-index:600;width:10px;height:14px;pointer-events:none;animation:dlgFall linear forwards}
@keyframes dlgFall{to{transform:translateY(110vh) rotate(720deg)}}
.dlg-btn-onlain{display:inline-block;font-family:'Alegreya Sans SC',sans-serif;font-size:19px;letter-spacing:.06em;text-decoration:none;background:#fff;color:#3D0610;padding:13px 24px;box-shadow:5px 5px 0 #000a}
/* vendita biglietti: interruttore in Aspetto → Dopolavoro */
body.dlg-vendita-off .dlg-solo-vendita{display:none!important}
body.dlg-vendita-on .dlg-pre-vendita{display:none!important}
/* menu mobile: la tendina scende da sotto il pulsante, a filo della barra (non sopra il nome e la X) */
.elementor .dlg-header .elementor-nav-menu--dropdown.elementor-nav-menu__container{top:100%!important}
@media (min-width:768px) and (max-width:1024px){.elementor .dlg-header .elementor-nav-menu--dropdown.elementor-nav-menu__container{top:calc(100% + 8px)!important}}
/* linguette della scheda operetta: colori fissati qui, leggibili anche al passaggio del mouse */
.elementor .dlg-schede .e-n-tab-title{background:#FFFFFF!important;color:#3D0610!important;transition:transform .25s,background-color .25s,box-shadow .25s}
.elementor .dlg-schede .e-n-tab-title .e-n-tab-title-text{color:inherit!important}
.elementor .dlg-schede .e-n-tab-title[aria-selected="false"]:hover,.elementor .dlg-schede .e-n-tab-title[aria-selected="false"]:focus-visible{background:#F2EEEC!important;color:#3D0610!important;transform:translateY(-3px);box-shadow:inset 0 -4px 0 #C8102E,4px 4px 0 #3D0610!important}
.elementor .dlg-schede .e-n-tab-title[aria-selected="true"]{background:#C8102E!important;color:#FFFFFF!important;transform:translateY(-6px)}
.elementor .dlg-schede .e-n-tab-title[aria-selected="true"]:hover{background:#A00D24!important}
/* cartellone: con o senza la prossima operetta (body class da cartellone.php) */
body.dlg-prossima-off .dlg-con-prossima{display:none!important}
body.dlg-prossima-on .dlg-senza-prossima{display:none!important}
/* collage di foto di gruppo [dlg_compagnia] */
/* altezza esplicita: dentro i contenitori flex del palco l'altezza in proporzione alla larghezza non viene conteggiata */
.dlg-compagnia{position:relative;width:100%;max-width:560px;height:400px;margin:0 auto}
@media (max-width:1024px){.dlg-compagnia{height:min(504px,calc((100vw - 100px) * .9))}}
.dlg-compagnia figure{position:absolute;margin:0;background:#fff;padding:8px 8px 10px;box-shadow:9px 9px 0 rgba(0,0,0,.5);transition:transform .35s ease}
.dlg-compagnia figure img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05)}
.dlg-compagnia figcaption{font-family:'Alegreya',serif;font-style:italic;font-size:14px;color:#3D0610;text-align:center;padding-top:6px;line-height:1.2}
.dlg-compagnia figure::before{content:"";position:absolute;top:-12px;left:50%;width:84px;height:24px;margin-left:-42px;background:rgba(200,16,46,.88);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35);transform:rotate(-3deg);z-index:2}
.dlg-foto-1{left:6%;top:27%;width:88%;z-index:2;transform:rotate(-2deg)}
.dlg-foto-1 img{aspect-ratio:16/9}
.dlg-foto-2{left:-3%;top:0;width:46%;z-index:1;transform:rotate(-8deg)}
.dlg-foto-3{right:-3%;bottom:0;width:44%;z-index:3;transform:rotate(6deg)}
.dlg-foto-2 img,.dlg-foto-3 img{aspect-ratio:4/3}
.dlg-foto-3::before{left:auto;right:8px;margin:0;transform:rotate(8deg)}
.dlg-compagnia figure:hover{transform:rotate(0) scale(1.04);z-index:4}
.dlg-compagnia-1{height:280px}.dlg-compagnia-1 .dlg-foto-1{top:8%}
.dlg-compagnia-vuota{display:flex;align-items:center;justify-content:center;height:auto}.dlg-compagnia-vuota img{width:60%;max-width:260px}
@media (prefers-reduced-motion:no-preference){
.dlg-compagnia figure{animation:dlgFoto .9s cubic-bezier(.3,1.4,.5,1) both}
.dlg-foto-1{animation-delay:1.1s!important}.dlg-foto-2{animation-delay:1.35s!important}.dlg-foto-3{animation-delay:1.6s!important}
}
@keyframes dlgFoto{from{opacity:0;translate:0 -60px;scale:1.15}to{opacity:1;translate:0 0;scale:1}}
@media (max-width:767px){.dlg-compagnia figure{padding:5px 5px 7px;box-shadow:6px 6px 0 rgba(0,0,0,.5)}.dlg-compagnia figure::before{width:56px;height:18px;margin-left:-28px;top:-9px}}
/* sipario tra le pagine */
.dlg-sipario{position:fixed;inset:0;z-index:450;pointer-events:none}
.dlg-sipario i{position:absolute;top:0;bottom:0;width:50.5%;background:repeating-linear-gradient(90deg,#A00D24 0 34px,#A00D24 34px 52px,#C8102E 52px 70px);transition:transform .55s cubic-bezier(.7,0,.3,1)}
.dlg-sipario i:first-child{left:0;transform:translateX(-101%)}.dlg-sipario i:last-child{right:0;transform:translateX(101%)}
.dlg-sipario.shut i{transform:none!important}
/* canzoniere a palco */
.dlg-palco{position:fixed;inset:0;z-index:99999;background:#3D0610;color:#fff;display:none;flex-direction:column}
.dlg-palco.on{display:flex;animation:dlgIn .4s}
@keyframes dlgIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.dlg-palco-top{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:4px solid #F2EEEC;font-family:'Alegreya Sans SC',sans-serif;font-size:16px}
.dlg-palco-top .t{margin-right:auto;color:#F2EEEC}
.dlg-palco button{font-family:'Alegreya Sans SC',sans-serif;font-size:16px;background:#fff;color:#3D0610;border:0;padding:9px 14px;box-shadow:3px 3px 0 #000a;cursor:pointer}
.dlg-palco button[aria-pressed=true]{background:#E0242C;color:#fff}
.dlg-palco-body{flex:1;overflow:auto;padding:5vh 6vw 10vh;text-align:center}
.dlg-palco-body .aria{font-style:italic;color:#F2EEEC;font-size:18px}
.dlg-palco-body h2{font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(36px,5vw,64px);margin:8px 0 26px;line-height:1.05;color:#fff}
.dlg-palco-body pre{font-family:'Alegreya',serif;white-space:pre-wrap;line-height:1.45;font-size:var(--palco-fs,34px);margin:0;color:#fff;background:none}
.dlg-palco-body pre .ch{font-family:'Alegreya Sans SC',sans-serif;font-size:.55em;color:#E0242C;vertical-align:super;margin:0 2px}
.dlg-palco-nav{display:flex;justify-content:space-between;padding:12px 18px;border-top:4px solid #F2EEEC}
.dlg-palco-nav button{background:#C8102E;color:#fff}
@media (max-width:767px){.dlg-cast{columns:1}.dlg-fatti{grid-template-columns:1fr 1fr}.dlg-fatti div:nth-child(3n){border-right:1px solid #3D061033}.dlg-fatti div:nth-child(2n){border-right:0}.dlg-ticker{font-size:18px}.dlg-palco-top{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){.dlg-ticker span,.dlg-palco,.dlg-sipario i{animation:none!important;transition:none!important}}
