/* Окно мероприятия: вырезка из газеты - пригласительный билет с корешком (логика в sec/evclip.js) */
.evpop{position:fixed;inset:0;z-index:95;visibility:hidden}
.evpop.is-open{visibility:visible}
.evpop-bg{position:absolute;inset:0;background:rgba(12,9,7,.74)}
/* дыра в газете на месте вырезанного куска */
.ec-hole{position:absolute;left:0;top:0;opacity:0;pointer-events:none;background:#c4b597;box-shadow:inset 0 8px 18px rgba(70,48,24,.42),inset 0 0 0 1px rgba(70,48,24,.28)}
/* пунктир, по которому идут ножницы */
.ec-trace{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.ec-td{fill:none;stroke:var(--pink);stroke-width:1.6;stroke-dasharray:7 6}
.ec-sc{position:absolute;left:0;top:0;width:34px;height:22px;margin:-11px 0 0 -31px;transform-origin:31px 11px;color:var(--pink);pointer-events:none;opacity:0;filter:drop-shadow(0 2px 2px rgba(40,25,10,.35))}
.ec-sc svg,.ec-sciss svg{display:block;width:100%;height:100%;overflow:visible}
.evpop.is-cut .ec-sc .ec-ba{animation:ecSnipA .13s ease-in-out infinite alternate}
.evpop.is-cut .ec-sc .ec-bb{animation:ecSnipB .13s ease-in-out infinite alternate}
.ec-ba,.ec-bb{transform-origin:12.6px 11px}
@keyframes ecSnipA{to{transform:rotate(-11deg)}}
@keyframes ecSnipB{to{transform:rotate(11deg)}}

/* сама вырезка: газетная бумага, неровный край от ножниц (clip-path из js), тень по контуру */
.evpop-card{position:absolute;left:0;top:0;width:0;height:0;--sh:1;
  filter:drop-shadow(0 0 .7px rgba(60,40,20,.6)) drop-shadow(0 calc(var(--sh) * 34px) calc(var(--sh) * 38px + 2px) rgba(10,6,2,calc(var(--sh) * .5 + .2)))}
.ec-clip{position:absolute;inset:0;overflow:hidden;background:#ece3cb url(../assets/paper-news.webp) 0 0/900px;color:var(--pink)}
/* перфорация корешка - настоящие отверстия */
.ec-clip.is-perf{
  -webkit-mask:linear-gradient(#000 0 0),radial-gradient(circle,#000 0 3.7px,transparent 4.3px) var(--ppx) var(--ppy)/12px 15px repeat-y;-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0),radial-gradient(circle,#000 0 3.7px,transparent 4.3px) var(--ppx) var(--ppy)/12px 15px repeat-y;mask-composite:exclude}
.is-phone .ec-clip.is-perf{
  -webkit-mask:linear-gradient(#000 0 0),radial-gradient(circle,#000 0 3.7px,transparent 4.3px) var(--ppx) var(--ppy)/15px 12px repeat-x;-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0),radial-gradient(circle,#000 0 3.7px,transparent 4.3px) var(--ppx) var(--ppy)/15px 12px repeat-x;mask-composite:exclude}
.ec-ghost{position:absolute;left:0;top:0;pointer-events:none;transform-origin:0 0}
.ec-ghost *{transition:none!important}
.ec-ghost > *{width:100%;height:100%;margin:0}
.ec-snap{display:block}
.ec-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--ember);color:#fff;text-align:center}
.ec-cell b{font:600 clamp(26px,2.6vw,42px)/1 'Oswald',var(--font)}
.ec-cell span{font:600 11px/1.1 'Oswald',var(--font);letter-spacing:.02em}

.ec-in{position:absolute;left:calc(50% - var(--iw, 0px) / 2);top:calc(50% - var(--ih, 0px) / 2);padding:14px;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;text-shadow:0 0 .6px rgba(40,24,10,.45)}
.ec-in::-webkit-scrollbar{display:none}
/* линия отреза: пунктир с ножницами, внутри - билет в двойной рамке и корешок */
.ec-cut{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 30px clamp(220px,22%,280px);padding:14px;border:1.5px dashed rgba(22,19,15,.62)}
.ec-sciss{position:absolute;left:46px;top:-12px;width:34px;height:22px;color:var(--pink)}
.ec-main{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;padding:clamp(24px,2.5vw,40px) clamp(28px,3vw,46px) clamp(26px,2.6vw,40px);border:3px double var(--pink)}
.ec-main.has-img{grid-template-columns:clamp(160px,14vw,220px) minmax(0,1fr);column-gap:clamp(24px,2.4vw,38px)}
.ec-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:12px;margin-bottom:clamp(20px,2.6vh,32px);border-bottom:2px solid var(--pink)}
.ec-k{font:600 13px/1 'Oswald',var(--font);letter-spacing:.3em;text-transform:uppercase}
.ec-close{position:relative;flex:none;padding:5px 0;font:600 13px/1 'Oswald',var(--font);letter-spacing:.22em;text-transform:uppercase;color:var(--pink);border-bottom:1px solid currentColor;transition:color .3s}
.ec-close::after{content:'';position:absolute;inset:-12px -14px}
.ec-close:hover,.ec-close:focus-visible{color:var(--red)}
.evpop :focus-visible{outline:1.5px dashed var(--red);outline-offset:5px}
.ec-img{margin:0;align-self:start}
.ec-img img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(1) contrast(1.12) brightness(1.04);mix-blend-mode:multiply}
.ec-body{display:flex;flex-direction:column;min-width:0}
.ec-body h3{margin:0 0 .36em;font:700 clamp(38px,3.5vw,62px)/.98 'CormLnum',var(--serif);letter-spacing:-.012em;text-wrap:balance}
.ec-p{margin:0 0 clamp(22px,3vh,32px);max-width:60ch;font:500 clamp(19px,1.45vw,24px)/1.34 'CormLnum',var(--serif);color:var(--pink)}
.ec-meta{display:grid;grid-template-columns:1.4fr 1.15fr 1fr;margin:0 0 clamp(22px,3vh,32px);border-top:2px solid var(--pink);border-bottom:1px solid var(--prule)}
.ec-meta div{min-width:0;padding:14px 16px 14px 0}
.ec-meta div + div{padding-left:16px;border-left:1px solid var(--prule)}
.ec-meta dt{margin:0 0 9px;font:600 12px/1 'Oswald',var(--font);letter-spacing:.24em;text-transform:uppercase;color:var(--red)}
.ec-meta dd{margin:0;font:700 clamp(22px,1.7vw,28px)/1.08 'CormLnum',var(--serif);overflow-wrap:break-word}
.ec-act{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:auto}
.ec-btn{display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 26px;border:2px solid var(--pink);border-radius:4px;background:var(--pink);color:#f1ebe1;font:600 14px/1 'Oswald',var(--font);letter-spacing:.18em;text-transform:uppercase;text-shadow:none;white-space:nowrap;transition:background .3s,border-color .3s,color .3s}
.ec-btn:hover,.ec-btn:focus-visible{background:var(--red);border-color:var(--red)}
.ec-btn-o{background:transparent;color:var(--pink)}
.ec-btn-o:hover,.ec-btn-o:focus-visible{background:transparent;color:var(--red)}
/* штамп для прошедших мероприятий */
.ec-stamp{margin-left:auto;padding:8px 14px;border:3px double var(--red);color:var(--red);font:700 13px/1.15 'Oswald',var(--font);letter-spacing:.2em;text-transform:uppercase;text-align:center;transform:rotate(-5deg)}
/* корешок */
.ec-stub{display:flex;flex-direction:column;align-items:center;min-width:0;padding:clamp(20px,2.2vw,30px) 18px;border:3px double var(--pink);text-align:center}
.ec-ctl{align-self:stretch;padding-bottom:12px;border-bottom:1px solid var(--prule);font:600 12px/1 'Oswald',var(--font);letter-spacing:.34em;text-transform:uppercase}
.ec-date{flex:1;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:18px 0}
.ec-day{display:block;font:700 clamp(112px,10vw,168px)/.84 'CormLnum',var(--serif);letter-spacing:-.02em;color:var(--red);white-space:nowrap}
.ec-wd{display:block;margin-top:16px;font:600 italic clamp(22px,1.7vw,28px)/1.1 var(--serif)}
.ec-city{align-self:stretch;padding-top:12px;border-top:1px solid var(--prule);font:600 clamp(14px,1.05vw,16px)/1.3 'Oswald',var(--font);letter-spacing:.14em;text-transform:uppercase}

/* телефон: корешок снизу, перфорация поперёк */
.is-phone .ec-in{padding:10px}
.is-phone .ec-cut{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 28px auto;padding:10px}
.is-phone .ec-sciss{left:30px}
.is-phone .ec-main,.is-phone .ec-main.has-img{grid-template-columns:minmax(0,1fr);padding:20px 18px 22px}
.is-phone .ec-img{display:none}
.is-phone .ec-top{margin-bottom:18px}
.is-phone .ec-k{font-size:12px;letter-spacing:.2em}
.is-phone .ec-body h3{font-size:34px}
.is-phone .ec-p{font-size:19px}
.is-phone .ec-meta{grid-template-columns:1fr 1fr}
.is-phone .ec-meta div:first-child{grid-column:1/-1;padding-right:0;border-bottom:1px solid var(--prule)}
.is-phone .ec-meta div:nth-child(2){padding-left:0;border-left:0}
.is-phone .ec-act{flex-direction:column;align-items:stretch}
.is-phone .ec-stamp{margin:6px auto 0}
.is-phone .ec-stub{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 18px;align-items:center;padding:16px 18px;text-align:left}
.is-phone .ec-ctl{display:none}
.is-phone .ec-date{display:contents}
.is-phone .ec-day{grid-row:1/3;font-size:84px}
.is-phone .ec-wd{margin:0;align-self:end;font-size:22px}
.is-phone .ec-city{align-self:start;padding-top:8px;font-size:14px}
