/* "Събития" (templates/events.php, mch_events_sheet() in inc/calendar.php, assets/js/events.js): a wall calendar on a
   nail. Every month is a sheet with a picture of its season (snow, flowers, the summer sun, falling leaves – the
   site's own drawings), the days with the events' icons and today circled in red; the events are notes stuck beside
   it. The next month tears the sheet off and it falls; the month before comes back down onto the pad. On arrival
   the two sheets before this month are torn off first. */

.ev { position: relative; padding: 20px 0 110px; overflow-x: clip; }
.ev-wrap { padding: 0 30px; }
/* Cabin Sketch has no Cyrillic letters: the Bulgarian pages use Neucha, like the rest of the site */
.bg .ev .ev-month, .bg .ev .ev-day__n, .bg .ev .ev-note__date, .bg .ev .ev-note__title { font-family: 'Neucha', Arial, sans-serif; }

.ev-board { display: grid; grid-template-columns: minmax(0, 600px) minmax(0, 440px); justify-content: center; align-items: start; gap: 40px 70px; }

/* ---------- The calendar on its nail ---------- */
.ev-wall { position: relative; padding-top: 74px; }
.ev-pad { position: relative; }
/* the months still under this one */
.ev-pad::after { content: ''; position: absolute; z-index: 1; inset: 0; border-radius: 4px 4px 8px 8px; background: #f3ede3; box-shadow: 0 4px 0 -1px #ece4d6, 0 8px 0 -2px #e4dacb, 0 12px 0 -3px #dccfbd, 0 34px 44px -26px rgba(70, 45, 20, .6); }
.ev-nail { position: absolute; z-index: 4; left: 50%; top: -70px; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff 0 14%, #c3cbd0 32%, #6d777d); box-shadow: 0 3px 4px rgba(0, 0, 0, .3); }
.ev-hanger { position: absolute; z-index: 3; left: 50%; top: -64px; width: 130px; height: 62px; margin-left: -65px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 62'%3E%3Cpath d='M3 62 65 3l62 59' fill='none' stroke='%237d878d' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%; }
/* the wire binding, through the holes of the sheet */
.ev-wire { position: absolute; z-index: 5; left: 22px; right: 22px; top: -13px; height: 28px; background: radial-gradient(ellipse 4.5px 12px at 8px 14px, transparent 0 2.4px, #8a949a 2.8px 4.4px, transparent 4.8px) 0 0 / 16px 28px repeat-x; filter: drop-shadow(0 2px 1px rgba(0, 0, 0, .2)); pointer-events: none; }

.ev-sheet { position: relative; z-index: 2; padding: 30px 26px 28px; border-radius: 4px 4px 8px 8px; background: #fffefb; box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.ev-sheet::before { content: ''; position: absolute; left: 22px; right: 22px; top: 9px; height: 8px; background: radial-gradient(circle at 8px 4px, #d8cdbf 0 3px, transparent 3.5px) 0 0 / 16px 8px repeat-x; }
.ev-js .ev-pad:not(.is-set) .ev-sheet { visibility: hidden; }

/* the season's picture */
.ev-pic { position: relative; height: 150px; margin: 0 0 18px; overflow: hidden; border-radius: 4px; }
.ev-pic i { position: absolute; }
.ev-pic__sky { inset: 0; background: linear-gradient(#7cc4f5, #d6efff); }
.ev-pic__far { left: -10%; right: -10%; bottom: 12%; height: 55%; background: url('../images/hills1.svg') repeat-x 50% 100% / auto 100%; }
.ev-pic__near { left: 0; right: 0; bottom: 0; height: 24%; background: linear-gradient(#86d763, #5fbf4a); }
.ev-pic__near::before { content: ''; position: absolute; left: 0; right: 0; top: -10px; height: 18px; background: url('../images/background-grass-top.svg') repeat-x 0 100% / auto 100%; }
.ev-pic__thing { background: no-repeat center / contain; }
.ev-pic__fall { inset: 0; pointer-events: none; }
/* winter: snow on the hills, snow falling */
.ev-pic--winter .ev-pic__sky { background: linear-gradient(#a9cbe6, #eef6fc); }
.ev-pic--winter .ev-pic__far { filter: saturate(0) brightness(2.1); opacity: .9; }
.ev-pic--winter .ev-pic__near { background: linear-gradient(#fff, #e4eef6); }
.ev-pic--winter .ev-pic__near::before { filter: saturate(0) brightness(2.4); }
.ev-pic--winter .ev-pic__thing { right: 12%; bottom: 14%; width: 74px; height: 68px; background-image: url('../images/house.svg'); }
.ev-pic--winter .ev-pic__fall { background: radial-gradient(circle, #fff 0 1.6px, transparent 2.2px) 0 0 / 22px 22px, radial-gradient(circle, rgba(255, 255, 255, .85) 0 1.1px, transparent 1.6px) 9px 5px / 15px 15px; animation: ev-snow 7s linear infinite; }
@keyframes ev-snow { to { background-position: 22px 110px, -15px 75px; } }
/* spring: flowers in the grass, the site's bird flying over them (the drawing looks left: it flies to the left) */
.ev-pic--spring .ev-pic__thing { right: 6%; bottom: 4%; width: 46%; height: 72%; background-image: url('../images/flowers.svg'); background-position: 50% 100%; transform-origin: 50% 100%; animation: ev-sway 4s ease-in-out infinite alternate; }
.ev-pic--spring .ev-pic__fall { inset: 14% auto auto 100%; width: 44px; height: 25px; background: url('../images/bird-2.svg') no-repeat center / contain; animation: ev-fly 11s linear infinite; }
@keyframes ev-sway { from { rotate: -3deg; } to { rotate: 3deg; } }
@keyframes ev-fly { 0% { translate: 0 0; } 25% { translate: -180px 14px; } 50% { translate: -360px -6px; } 75% { translate: -540px 10px; } 100% { translate: -720px 0; } }
/* summer – June, July, August: the sea (Влайо, 2026-11-11: "Юни юли и август - сложи море"). The sun, the waves
   rolling along (the site's wave.svg), a fish jumping out of them, a crab on the sand */
.ev-pic--summer .ev-pic__sky { background: linear-gradient(#3fa2ea, #bfe6ff); }
.ev-pic--summer .ev-pic__thing { right: 7%; top: 8%; width: 84px; height: 84px; background-image: url('../images/sun.svg'); animation: ev-spin 30s linear infinite; }
.ev-pic--summer .ev-pic__far { left: 0; right: 0; bottom: 13%; height: 52%; filter: none; background: url('../images/wave.svg') repeat-x 0 0 / 554px 30px, linear-gradient(transparent 24px, #2fa8e7 24px, #1f86cc); animation: ev-waves 9s linear infinite; }
@keyframes ev-waves { to { background-position: 554px 0, 0 0; } }
.ev-pic--summer .ev-pic__near { height: 17%; background: linear-gradient(#f7e2a8, #eac579); }
.ev-pic--summer .ev-pic__near::before { top: -5px; height: 9px; background: radial-gradient(ellipse 13px 5px at 50% 100%, rgba(255, 255, 255, .95) 0 62%, transparent 66%) 0 0 / 26px 9px repeat-x; filter: none; animation: ev-foam 2.6s ease-in-out infinite alternate; }
@keyframes ev-foam { to { translate: 10px 1px; opacity: .7; } }
.ev-pic--summer .ev-pic__near::after { content: ''; position: absolute; left: 10%; bottom: 14%; width: 34px; height: 30px; background: url('../images/crab.svg') no-repeat center / contain; animation: ev-crab 10s ease-in-out infinite alternate, ev-scuttle .3s steps(2) infinite; }
@keyframes ev-crab { from { translate: 0 0; } to { translate: 250px 0; } }
@keyframes ev-scuttle { from { rotate: -5deg; } to { rotate: 5deg; } }
.ev-pic--summer .ev-pic__fall { inset: auto auto 28% 24%; width: 34px; height: 24px; background: url('../images/fish-1.svg') no-repeat center / contain; opacity: 0; animation: ev-jump 6s ease-in-out infinite; }
@keyframes ev-jump {
	0%, 52% { opacity: 0; translate: 0 22px; rotate: -40deg; }
	58% { opacity: 1; translate: 14px -14px; rotate: -32deg; }
	68% { opacity: 1; translate: 42px -46px; rotate: 0deg; }
	78% { opacity: 1; translate: 70px -14px; rotate: 34deg; }
	84%, 100% { opacity: 0; translate: 80px 24px; rotate: 45deg; }
}
/* autumn: the hills turn orange, a few leaves fall, a squirrel with an acorn hops along (it looks right: it goes
   right; 2026-11-11 in place of the snail – Влайо: "сложи катерица") */
.ev-pic--autumn .ev-pic__sky { background: linear-gradient(#f6c98f, #fff0d9); }
.ev-pic--autumn .ev-pic__far { filter: hue-rotate(-70deg) saturate(1.2); }
.ev-pic--autumn .ev-pic__near { background: linear-gradient(#c8b44a, #a99a3a); }
.ev-pic--autumn .ev-pic__near::before { filter: hue-rotate(-60deg); }
.ev-pic--autumn .ev-pic__thing { left: -90px; bottom: 5%; width: 78px; height: 65px; background-image: url('../images/squirrel.svg'); filter: drop-shadow(0 0 1.5px rgba(255, 255, 255, .9)) drop-shadow(0 4px 3px rgba(90, 45, 0, .3)); animation: ev-crawl 22s linear -7s infinite, ev-hop .42s ease-in-out infinite alternate; }
@keyframes ev-crawl { from { left: -90px; } to { left: 100%; } }
@keyframes ev-hop { from { translate: 0 0; rotate: 0deg; } to { translate: 0 -9px; rotate: -5deg; } }
.ev-pic--autumn .ev-pic__fall { background: radial-gradient(ellipse 6px 3.5px, #ff7b05 0 90%, transparent) 0 0 / 110px 84px, radial-gradient(ellipse 5px 3px, #ff5736 0 90%, transparent) 40px 30px / 86px 70px, radial-gradient(ellipse 5px 3px, #e6b800 0 90%, transparent) 70px 50px / 130px 96px; animation: ev-leaves 12s linear infinite; }
@keyframes ev-leaves { to { background-position: 110px 252px, -86px 210px, 130px 288px; } }
@keyframes ev-spin { to { rotate: 360deg; } }

/* the month and the buttons to turn it */
.ev-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; }
.ev .ev-month { margin: 0; font: 400 40px/1.05 'Cabin Sketch', 'Neucha', Arial, sans-serif; color: #3c4741; text-align: center; }
.ev-month b { font-weight: 400; color: #ff5736; }
.ev-turn { position: relative; flex: none; width: 46px; height: 46px; border-radius: 50%; background: #52aae8; box-shadow: 0 4px 0 #2f7fb8; transition: translate .12s, box-shadow .12s, background .25s; -webkit-tap-highlight-color: transparent; }
.ev-turn::before { content: ''; position: absolute; left: 50%; top: 50%; width: 11px; height: 11px; margin: -7px 0 0 -9px; border: solid #fff; border-width: 0 4px 4px 0; rotate: -45deg; }
.ev-turn--prev::before { margin-left: -4px; rotate: 135deg; }
.ev-turn:hover, .ev-turn:focus-visible { background: #ff5736; box-shadow: 0 4px 0 #c43c20; }
.ev-turn:active { translate: 0 3px; box-shadow: 0 1px 0 #c43c20; }

/* the days */
.ev-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; margin: 0; padding: 0; list-style: none; }
.ev-days li { margin: 0; }
.ev-days li::before { display: none; }
.ev-wd { padding: 4px 0 6px; font: 700 12px/1 'Open Sans', Arial, sans-serif; letter-spacing: .05em; text-align: center; text-transform: uppercase; color: #8a8f8c; }
.ev-wd.is-weekend { color: #ff5736; }
.ev-day { position: relative; display: flex; flex-wrap: wrap; align-content: flex-end; justify-content: flex-end; min-height: 66px; padding: 4px; border-radius: 6px; background: #f6f3ee; transition: background .25s, box-shadow .25s; }
.ev-day.is-blank { background: none; }
.ev-day.is-weekend { background: #fdf0ea; }
.ev-day__n { position: absolute; left: 8px; top: 6px; font: 400 20px/1 'Cabin Sketch', 'Neucha', Arial, sans-serif; color: #3c4741; }
.ev-day.is-weekend .ev-day__n { color: #ff5736; }
.ev-day.has-ev { background: #fff6c9; box-shadow: inset 0 0 0 2px #ffd23f; }
.ev-day.is-lit { background: #ffe680; }
.ev .ev-day__ev { position: relative; margin: 0; transition: scale .3s cubic-bezier(.34, 1.6, .64, 1); }
.ev-day__ev:hover, .ev-day.is-lit .ev-day__ev { scale: 1.15; }
/* today, circled in red pencil */
.ev-day__ring { position: absolute; left: -2px; top: -4px; width: 44px; height: 36px; overflow: visible; pointer-events: none; }
.ev-day__ring path { fill: none; stroke: #ff5736; stroke-width: 3; stroke-linecap: round; }
.ev-js .ev-day__ring path { stroke-dasharray: 1 1; stroke-dashoffset: 1; }
.ev-js .ev-pad.is-set .ev-sheet:not(.is-torn) .ev-day__ring path { animation: ev-ring .8s cubic-bezier(.5, 0, .3, 1) var(--ring, 1.9s) forwards; }
@keyframes ev-ring { to { stroke-dashoffset: 0; } }

/* a sheet torn off: the torn edge on top, it swings down on its last ring and falls */
.ev-sheet.is-torn { position: absolute; z-index: 4; left: 0; right: 0; top: 0; transform-origin: 7% 0; clip-path: var(--zig); pointer-events: none; animation: ev-tear 1.15s linear forwards; }
@keyframes ev-tear {
	0% { transform: none; animation-timing-function: cubic-bezier(.4, 0, .6, 1); }
	22% { transform: rotate(6deg); animation-timing-function: cubic-bezier(.4, 0, .6, 1); }
	34% { transform: translate(4px, 8px) rotate(4deg); animation-timing-function: cubic-bezier(.55, 0, .9, .5); }
	100% { transform: translate(-8vw, 95vh) rotate(-30deg); opacity: .2; }
}
.ev-sheet.is-quick { animation-duration: .8s; }
/* a month back: its sheet comes down onto the pad */
.ev-sheet.is-under { position: absolute; z-index: 1; left: 0; right: 0; top: 0; }
.ev-sheet.is-back { animation: ev-back .75s cubic-bezier(.3, 1.25, .5, 1) both; }
@keyframes ev-back { from { transform: translate(5vw, -60vh) rotate(-12deg); opacity: 0; } 30% { opacity: 1; } to { transform: none; opacity: 1; } }

/* ---------- The notes ---------- */
.ev-side { padding-top: 90px; }
.ev-notes { display: grid; gap: 34px; margin: 0; padding: 0; list-style: none; }
.ev-note { position: relative; display: flex; align-items: flex-start; gap: 18px; margin: 0; padding: 28px 26px 24px; background: var(--c); rotate: var(--r); box-shadow: 0 18px 24px -16px rgba(70, 45, 20, .5), 0 1px 2px rgba(0, 0, 0, .06); transition: rotate .45s cubic-bezier(.34, 1.5, .64, 1), translate .45s cubic-bezier(.34, 1.5, .64, 1), box-shadow .45s; }
.ev-note::before { display: none; }
.ev-note:hover, .ev-note.is-lit { rotate: 0deg; translate: 0 -6px; box-shadow: 0 28px 30px -18px rgba(70, 45, 20, .55), 0 1px 2px rgba(0, 0, 0, .06); }
/* a strip of washi tape holds it */
.ev-note__tape { position: absolute; left: 50%; top: -12px; width: 96px; height: 26px; margin-left: -48px; background: repeating-linear-gradient(45deg, rgba(255, 255, 255, .55) 0 6px, rgba(255, 255, 255, .35) 6px 12px); box-shadow: 0 1px 2px rgba(0, 0, 0, .1); rotate: -4deg; }
.ev-note__when { flex: 0 0 70px; text-align: center; }
.ev-note__body { flex: 1 1 auto; min-width: 0; }
.ev-note__date { display: block; font-family: 'Cabin Sketch', 'Neucha', Arial, sans-serif; color: #3c4741; }
.ev-note__date b { display: block; font-size: 46px; font-weight: 400; line-height: 1; color: #ff5736; white-space: nowrap; }
.ev-note__date span { display: block; margin-top: 2px; font-size: 17px; line-height: 1.1; }
.ev .ev-note__icon { width: 42px; height: 42px; margin: 10px auto 0; box-shadow: 0 2px 6px -2px rgba(70, 45, 20, .25); }
.ev-note__type { font: 700 12px/1.3 'Open Sans', Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #7a7f7c; }
/* the group it is for (2026-11-11): a little tag beside the category */
.ev-note__group { display: inline-flex; align-items: center; gap: 5px; margin: 0 0 2px 8px; padding: 2px 9px; border-radius: 999px; background: rgba(255, 255, 255, .7); font: 700 12px/1.4 'Open Sans', Arial, sans-serif; color: #3c4741; box-shadow: 0 1px 2px rgba(70, 45, 20, .12); vertical-align: 1px; }
.ev-note__group::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #ff5736; }
.ev-note__type + .ev-note__group { margin-left: 8px; }
.ev-note__body > .ev-note__group:first-child { margin-left: 0; }
.ev .ev-note__title { margin: 4px 0 6px; font: 400 26px/1.2 'Cabin Sketch', 'Neucha', Arial, sans-serif; color: #3c4741; }
.ev .ev-note__time { margin: 0; font: 700 15px/1.4 'Open Sans', Arial, sans-serif; color: #2f7fb8; }
.ev-note__time::before { content: ''; display: inline-block; width: 14px; height: 14px; margin: 0 7px -2px 0; border: 2px solid currentColor; border-radius: 50%; background: linear-gradient(currentColor, currentColor) 6px 2px / 2px 6px no-repeat, linear-gradient(currentColor, currentColor) 6px 6px / 4px 2px no-repeat; box-sizing: border-box; }
.ev .ev-note__text { margin: 8px 0 0; font: 400 15px/1.6 'Open Sans', Arial, sans-serif; color: #555; }
/* a month without events: one white note with the sentence */
.ev-note--none { display: block; padding: 34px 30px 30px; text-align: center; }
.ev .ev-note--none .ev-note__title { margin: 0; font-size: 28px; color: #7a7f7c; }

/* the notes come one after another and are slapped on */
.ev-js .ev-note:not(.is-in) { opacity: 0; }
.ev-note.is-in { animation: ev-slap .5s cubic-bezier(.3, 1.5, .5, 1) calc(var(--k, 0) * .12s) backwards; }
@keyframes ev-slap { from { opacity: 0; scale: 1.3; translate: 0 -24px; } to { opacity: 1; scale: 1; translate: 0 0; } }
/* its day was clicked: the note wiggles (after the slap above, so it wins) */
.ev-note.is-wiggle { animation: ev-wiggle .6s ease; }
@keyframes ev-wiggle { 20% { rotate: -4deg; } 45% { rotate: 3deg; } 70% { rotate: -1.5deg; } }
.ev-side.is-out .ev-note { opacity: 0; translate: 30px 0; transition: opacity .25s, translate .25s; }

/* ---------- Past, today, picked (the client, 2026-11-12) ----------
   The coming events first; the ones already over come after their own line, faded, with a stamp "Отминало". The event
   asked for (its day clicked, "Детайли" on the home page) is moved to the top, ringed in red and pinned (events.js). */
.ev .ev-notes .ev-notes__past { display: flex; align-items: center; gap: 12px; margin: 4px 0 -14px; padding: 0; font: 700 12px/1.3 'Open Sans', Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #8a8f8c; }
.ev .ev-notes .ev-notes__past::before, .ev .ev-notes .ev-notes__past::after { content: ''; position: static; display: block; flex: 1 1 auto; width: auto; height: 0; margin: 0; padding: 0; border: 0; border-top: 2px dashed #d8cdbd; border-radius: 0; background: none; }
.ev .ev-notes .ev-notes__past[hidden] { display: none; }
.ev-js .ev-notes__past:not(.is-in) { opacity: 0; }
.ev-notes__past.is-in { animation: ev-fade .5s ease calc(var(--k, 0) * .12s) backwards; }
@keyframes ev-fade { from { opacity: 0; } }
.ev-note.is-past { background: color-mix(in srgb, var(--c) 30%, #f3f1ee); box-shadow: 0 10px 16px -14px rgba(70, 45, 20, .45), 0 1px 2px rgba(0, 0, 0, .05); }
.ev-note.is-past > .ev-note__when, .ev-note.is-past > .ev-note__body { opacity: .55; filter: grayscale(.7); transition: opacity .3s, filter .3s; }
.ev-note.is-past:hover > .ev-note__when, .ev-note.is-past:hover > .ev-note__body, .ev-note.is-past.is-lit > .ev-note__when, .ev-note.is-past.is-lit > .ev-note__body,
.ev-note.is-past.is-picked > .ev-note__when, .ev-note.is-past.is-picked > .ev-note__body { opacity: .9; filter: grayscale(.3); }
.ev-note__stamp { position: absolute; right: 14px; top: 12px; z-index: 1; padding: 3px 10px 2px; border: 2.5px solid currentColor; border-radius: 7px; font: 400 17px/1.1 'Cabin Sketch', 'Neucha', Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #a8584d; rotate: -9deg; opacity: .85; pointer-events: none; }
.bg .ev-note__stamp { font-family: 'Neucha', Arial, sans-serif; font-weight: 700; }
.ev-note__stamp--now { color: #2f9a4c; rotate: 6deg; }
.ev-note.is-past .ev-note__body, .ev-note.is-now .ev-note__body { padding-right: 78px; }
.en .ev-note.is-now .ev-note__body { padding-right: 70px; }
.ev-note.is-picked { z-index: 2; rotate: 0deg; box-shadow: 0 0 0 4px #fff, 0 0 0 7px #ff5736, 0 30px 34px -18px rgba(70, 45, 20, .55); }
.ev-note.is-picked .ev-note__tape { opacity: 0; }
/* a red pin instead of the tape */
.ev-note.is-picked::after { content: ''; position: absolute; left: 50%; top: -11px; width: 22px; height: 22px; margin-left: -11px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ff9a85 0 18%, #ff5736 42%, #c2361c 100%); box-shadow: 0 3px 4px rgba(70, 20, 10, .35); animation: ev-pin .45s cubic-bezier(.3, 1.6, .5, 1) backwards; }
@keyframes ev-pin { from { opacity: 0; translate: 0 -14px; scale: 1.5; } }
/* the days already over on the sheet: their events faded */
.ev-day.is-past .ev-day__n { opacity: .55; }
.ev-day.is-past .ev-day__ev { opacity: .5; filter: grayscale(.6); transition: opacity .25s, filter .25s, scale .3s cubic-bezier(.34, 1.6, .64, 1), box-shadow .25s; }
.ev-day.is-past .ev-day__ev:hover, .ev-day.is-past.is-lit .ev-day__ev { opacity: .9; filter: grayscale(.2); }
@media (prefers-reduced-motion: reduce) {
	.ev-note.is-picked::after { animation: none; }
}

/* ---------- Bigger, with the events written in their days (the client's notes of 2026-11-05) ---------- */
.ev-board { grid-template-columns: minmax(0, 820px) minmax(0, 380px); gap: 40px 50px; }
.ev-day { flex-direction: column; flex-wrap: nowrap; align-content: stretch; align-items: stretch; justify-content: flex-start; gap: 4px; min-height: 104px; padding: 32px 5px 6px; }
/* 2026-11-11 (Влайо: the icons as in the panel, the calendar perfect): an event is a label in its category's colours
   (--evc, --evs from mch_event_vars()) – the panel's icon on a white tile, the name under it on the whole width */
.ev .ev-day__ev { display: block; min-width: 0; padding: 5px 5px 6px; border-radius: 9px; background: var(--evs); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--evc) 25%, transparent); color: color-mix(in srgb, var(--evc) 62%, #1f2622); text-decoration: none; transition: scale .3s cubic-bezier(.34, 1.6, .64, 1), box-shadow .25s; }
.ev-day__ev:hover, .ev-day.is-lit .ev-day__ev { scale: 1.05; box-shadow: inset 0 0 0 1.5px var(--evc), 0 6px 12px -6px color-mix(in srgb, var(--evc) 60%, transparent); }
.ev .ev-day__ev .ev-day__icon { display: grid; width: 24px; height: 24px; margin: 0 0 4px; border-radius: 8px; background: #fff !important; box-shadow: 0 1px 2px color-mix(in srgb, var(--evc) 30%, transparent); }
.ev .ev-day__icon svg { width: 16px; height: 16px; }
.ev-day__t { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; font: 700 11px/1.25 'Open Sans', Arial, sans-serif; overflow-wrap: break-word; hyphens: auto; }
/* a day with an event: white, so the colours of the labels speak */
.ev-day.has-ev { background: #fff; box-shadow: inset 0 0 0 1.5px #efe3cf, 0 4px 10px -8px rgba(70, 45, 20, .35); }
.ev-day.has-ev.is-weekend { background: #fffaf7; }
.ev-day.is-lit { background: #fffbea; }
/* what every symbol means, under the calendar */
.ev-legend { position: relative; margin: 46px 0 0; padding: 20px 24px 14px; border-radius: 8px; background: rgba(255, 255, 255, .75); box-shadow: 0 10px 22px -16px rgba(70, 45, 20, .45); }
.ev-legend .legend-title { display: block; margin: 0 0 8px; font: 400 24px/1.1 'Cabin Sketch', 'Neucha', Arial, sans-serif; color: #3c4741; }
.bg .ev-legend .legend-title { font-family: 'Neucha', Arial, sans-serif; }
.ev-legend .legend-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 2px 14px; margin: 0; padding: 0; list-style: none; }
.ev-legend .legend-list li { display: flex; align-items: center; gap: 8px; margin: 0; padding: 3px 0; font: 400 14px/1.3 'Open Sans', Arial, sans-serif; color: #3c4741; }
.ev-legend .legend-list li::before { display: none; }
.ev-legend .event-icon { flex: none; width: 30px; height: 30px; margin: 0; scale: 1; }

@media only screen and (max-width: 1100px) {
	.ev-board { grid-template-columns: minmax(0, 640px); }
	.ev-side { padding-top: 10px; }
	.ev-day { min-height: 92px; }
}
@media only screen and (max-width: 860px) {
	.ev-board { grid-template-columns: minmax(0, 600px); }
	.ev-side { padding-top: 10px; }
}
@media only screen and (max-width: 768px) {
	.ev { padding-bottom: 80px; }
	.ev-wrap { padding: 0 16px; }
	.ev-wall { padding-top: 64px; }
	.ev-sheet { padding: 26px 12px 16px; }
	.ev-pic { height: 110px; margin-bottom: 12px; }
	.ev .ev-month { font-size: 30px; }
	.ev-turn { width: 40px; height: 40px; }
	.ev-days { gap: 3px; }
	.ev-wd { font-size: 10px; letter-spacing: 0; }
	/* a phone: the symbols only, the notes under the calendar tell the rest */
	.ev-day { flex-flow: row wrap; align-content: flex-end; justify-content: flex-end; gap: 2px; min-height: 52px; padding: 3px; }
	.ev-day__n { left: 5px; top: 4px; font-size: 16px; }
	.ev .ev-day__ev { padding: 0; border-radius: 50%; background: none; box-shadow: none; }
	.ev-day__t { display: none; }
	/* a phone: the symbol alone, round in its soft colour */
	.ev .ev-day__ev .ev-day__icon { width: 24px; height: 24px; margin: 0; border-radius: 50%; background: var(--evs) !important; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--evc) 30%, transparent); }
	.ev .ev-day__icon svg { width: 14px; height: 14px; }
	.ev-day__ev:hover, .ev-day.is-lit .ev-day__ev { scale: 1.15; box-shadow: none; }
	.ev-legend { margin-top: 36px; padding: 16px 14px 10px; }
	/* the names one after another as long as each is (no word broken in two, as "Благотворителн-ост" was) */
	.ev-legend .legend-list { display: flex; flex-wrap: wrap; gap: 0 14px; }
	.ev-legend .legend-list li { gap: 6px; font-size: 13px; }
	.ev-legend .event-icon { width: 26px; height: 26px; margin: 0; scale: 1; }
	.ev-day__ring { left: -4px; top: -5px; width: 36px; height: 30px; }
	.ev-pic--summer .ev-pic__thing { width: 60px; height: 60px; }
	@keyframes ev-crab { from { translate: 0 0; } to { translate: 170px 0; } }
	.ev-pic--autumn .ev-pic__thing { width: 60px; height: 50px; }
	@keyframes ev-fly { 0% { translate: 0 0; } 50% { translate: -230px 10px; } 100% { translate: -460px 0; } }
	.ev-note { gap: 14px; padding: 26px 18px 20px; }
	.ev-note__when { flex-basis: 56px; }
	.ev-note__date b { font-size: 38px; }
	.ev .ev-note__title { font-size: 23px; }
}

@media (prefers-reduced-motion: reduce) {
	.ev-pic__fall, .ev-pic__thing, .ev-pic__far, .ev-pic__near::before, .ev-pic__near::after { animation: none !important; }
	.ev-pic--summer .ev-pic__fall { opacity: 0; }
}
