:root{--rom-green:#163d31;--rom-cream:#f6f1e7;--rom-paper:#fbf8f1;--rom-ink:#17322d;--rom-orange:#c7633d;--rom-mustard:#d6ad32;--rom-lake:#65a1ae;--rom-spring:#8ca34d;--rom-border:rgba(24,61,49,.11)}
.rom-events-section,.rom-events-compact{position:relative;box-sizing:border-box;max-width:1500px;margin:0 auto;padding:42px 30px;color:var(--rom-ink);font-family:Arial,"Helvetica Neue",sans-serif;background:radial-gradient(circle at 22% 0,rgba(255,255,255,.9),transparent 34%),var(--rom-cream);overflow:hidden}
.rom-events-section:before,.rom-events-compact:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E")}
.rom-events-section:after{content:"";position:absolute;right:-25px;bottom:-35px;width:180px;height:230px;opacity:.25;transform:rotate(-16deg);background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 140' fill='none' stroke='%23214638' stroke-width='1'%3E%3Cpath d='M50 140C51 105 48 68 56 18M52 107c-16-8-27-21-32-39 17 5 29 17 34 34M53 83c16-9 27-24 31-42-17 6-27 19-31 36M55 54C44 45 38 34 37 20c12 5 19 15 19 29M56 36c11-7 17-17 20-29-11 3-18 12-20 24'/%3E%3C/svg%3E")}
.rom-events-heading{position:relative;z-index:1;margin:0 0 22px}.rom-events-heading h2,.rom-events-compact h2,.rom-upcoming h3{margin:0;font-family:Georgia,"Times New Roman",serif;color:#12372e;font-weight:700}.rom-events-heading h2{font-size:clamp(42px,5vw,72px);line-height:1}.rom-events-heading p{font:28px/1.2 Georgia,serif;margin:6px 0 0}.rom-events-heading>span{position:absolute;left:min(50%,690px);top:16px;color:#a28c77;font:italic 18px/1.15 "Segoe Print","Bradley Hand",cursive;transform:rotate(-7deg);max-width:190px;text-align:center}.rom-events-heading>span:after{content:"⌁ ♡";display:block;font-size:30px;margin-top:2px}
.rom-events{position:relative;z-index:1}.rom-events__filters{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px}.rom-events__filters button{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 22px;border:1px solid var(--rom-border);border-radius:999px;color:var(--rom-ink);background:rgba(255,255,255,.38);font:600 15px/1 Arial;cursor:pointer;transition:.2s}.rom-events__filters button:hover,.rom-events__filters button.is-active{color:#fff;background:var(--rom-green);box-shadow:0 7px 16px rgba(22,61,49,.15)}.rom-events svg{width:22px;height:22px;flex:0 0 auto}
.rom-events__main{display:grid;grid-template-columns:minmax(620px,1.08fr) minmax(520px,.92fr);gap:14px}.rom-calendar,.rom-event-detail{background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.8);border-radius:22px;box-shadow:0 12px 30px rgba(42,48,39,.08);backdrop-filter:blur(8px)}.rom-calendar{padding:20px}.rom-calendar>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.rom-calendar>header>div{display:flex;align-items:center;gap:12px;font:700 20px/1.2 Georgia,serif}.rom-calendar>header nav{display:flex;gap:5px}.rom-calendar>header button{width:34px;height:34px;border:0;background:transparent;border-radius:50%;font-size:30px;line-height:28px;color:var(--rom-green);cursor:pointer}.rom-calendar>header button:hover{background:#eef0e9}.rom-calendar__months{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rom-month{min-width:0;padding:10px;border:1px solid var(--rom-border);border-radius:10px;background:rgba(255,255,255,.42)}.rom-month h4{margin:0 0 8px;font:700 13px/1.2 Georgia,serif}.rom-month__week,.rom-month__days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.rom-month__week i{font:normal 8px/1.3 Arial;color:#6f7c78}.rom-month__days i,.rom-month__days button{height:19px;min-width:0;padding:0;border:0;background:transparent;border-radius:5px;font:600 8px/19px Arial;color:#334842}.rom-month__days button{position:relative;cursor:default}.rom-month__days button.has-event{cursor:pointer;color:#18372f}.rom-month__days button.has-event:before{content:"";position:absolute;inset:1px -1px;border-radius:5px;background:var(--event-color);opacity:.72;z-index:-1}.rom-month__days button.has-event:hover,.rom-month__days button.is-selected{outline:2px solid var(--rom-green);outline-offset:1px}.is-terracotta,.rom-month__days .is-terracotta{--event-color:#e9a184}.is-mustard,.rom-month__days .is-mustard{--event-color:#e2bd3d}.is-lake,.rom-month__days .is-lake{--event-color:#76afbb}.is-spring,.rom-month__days .is-spring{--event-color:#9aad60}.rom-calendar__legend{display:flex;flex-wrap:wrap;gap:22px;margin-top:14px;padding:0 4px;font-size:11px}.rom-calendar__legend span{display:flex;align-items:center;gap:8px}.rom-calendar__legend span:before{content:"";width:15px;height:15px;border-radius:50%;background:var(--event-color)}
.rom-event-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.82fr);padding:20px;gap:18px;min-height:520px}.rom-event-detail__copy{display:flex;flex-direction:column}.rom-event-detail h3{font:700 clamp(30px,2.6vw,44px)/1 Georgia,serif;margin:2px 0 12px;letter-spacing:-1px}.rom-event-detail__date{display:flex;align-items:center;gap:10px;font-weight:700;margin-bottom:13px}.rom-event-detail__date svg{color:#ab765e}.rom-event-detail__tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.rom-event-detail__tags span{display:flex;align-items:center;gap:6px;border-radius:99px;background:#f3e2da;color:#af5638;padding:7px 12px;font-size:12px}.rom-event-detail__tags span:last-child{background:#eeece6;color:#4d5955}.rom-event-detail__tags svg{width:17px;height:17px}.rom-event-detail__copy>p{font-size:13px;line-height:1.4;color:#58635f;min-height:54px}.rom-event-detail__program{margin-top:4px}.rom-event-detail__program>strong{display:block;margin-bottom:10px}.rom-event-detail__program ul{list-style:none;padding:0;margin:0}.rom-event-detail__program li{display:flex;align-items:center;gap:10px;margin:9px 0;font-size:12px}.rom-event-detail__program li svg{width:20px;height:20px}.rom-event-detail__bottom{margin-top:auto;padding-top:15px;border-top:1px solid var(--rom-border)}.rom-event-detail__price{font:20px/1.2 Georgia,serif;margin-bottom:12px}.rom-event-detail__price b{font-size:31px;color:#b74f30}.rom-events__cta{display:flex;align-items:center;justify-content:center;gap:16px;min-height:51px;padding:0 22px;border-radius:16px;background:linear-gradient(135deg,#d37c52,#bd4c29);color:#fff!important;text-decoration:none!important;font-weight:700;box-shadow:0 10px 18px rgba(184,78,44,.18);transition:.2s}.rom-events__cta:hover{transform:translateY(-2px);box-shadow:0 14px 22px rgba(184,78,44,.25)}.rom-events__cta b{font-size:23px}.rom-event-detail__visual{display:grid;grid-template-rows:1fr auto;gap:12px}.rom-event-detail__image{position:relative;min-height:330px;border-radius:13px;background:#d6ddd4 center/cover no-repeat;overflow:hidden}.rom-event-detail__image:before{content:"";position:absolute;inset:-2px;background:inherit;clip-path:polygon(0 2%,100% 0,99% 93%,94% 100%,85% 96%,72% 100%,58% 97%,44% 100%,30% 96%,15% 100%,1% 96%)}.rom-event-detail__image span{position:absolute;z-index:1;right:14px;bottom:13px;max-width:145px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);font:italic 17px/1.15 "Segoe Print","Bradley Hand",cursive;text-align:right;transform:rotate(-5deg);white-space:pre-line}.rom-event-detail__offer{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:13px 15px;border-radius:13px;background:linear-gradient(110deg,#ebefd5,#f6f3e7);font-size:11px}.rom-event-detail__offer b{font-size:12px}.rom-event-detail__offer span{grid-column:1}.rom-event-detail__offer time{grid-column:2;grid-row:1/3;align-self:center;font-weight:700;border-left:1px solid rgba(23,50,45,.15);padding-left:10px;white-space:nowrap}.rom-event-detail__offer[hidden]{display:none}
.rom-upcoming{margin-top:14px}.rom-upcoming>header{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}.rom-upcoming h3{font-size:30px}.rom-upcoming>header>a{color:#ad4f31;font-size:12px}.rom-upcoming__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rom-upcoming__card{display:grid;grid-template-columns:145px 1fr 34px;align-items:center;min-height:100px;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.72);box-shadow:0 7px 20px rgba(42,48,39,.06);color:var(--rom-ink)!important;text-decoration:none!important}.rom-upcoming__image{height:100%;background:var(--event-color) center/cover no-repeat;clip-path:polygon(0 0,100% 0,96% 17%,100% 31%,96% 47%,100% 65%,96% 81%,100% 100%,0 100%)}.rom-upcoming__card>span:nth-child(2){padding:12px}.rom-upcoming__card strong{display:block;font:700 16px/1.15 Georgia,serif;margin-bottom:8px}.rom-upcoming__card small{display:flex;align-items:center;gap:7px;margin:5px 0;font-size:10px}.rom-upcoming__card small svg{width:15px;height:15px}.rom-upcoming__card>b{display:grid;place-items:center;width:30px;height:30px;border:1px solid #c4a044;border-radius:50%;font-size:23px;font-weight:400}.rom-upcoming__card:hover> b{background:#c4a044;color:#fff}
.rom-events-compact{padding-top:28px;padding-bottom:30px}.rom-events-compact__top{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:12px}.rom-events-compact__top span{display:block;color:#9d806c;font:italic 15px "Segoe Print",cursive;transform:rotate(-2deg);margin-bottom:4px}.rom-events-compact h2{font-size:38px}.rom-events-compact__toggle{min-height:48px;padding:0 22px;border:0;border-radius:14px;background:var(--rom-green);color:#fff;font-weight:700;cursor:pointer}.rom-events-compact__toggle b{font-size:20px;margin-left:8px}.rom-events-compact__drawer{margin-top:22px}.rom-events-compact__drawer[hidden]{display:none}.rom-events--embedded .rom-upcoming{display:none}.rom-events-empty{padding:35px;border-radius:18px;background:#fff;text-align:center}
.rom-single-event{margin:28px 0;color:var(--rom-ink)}.rom-single-event__facts{display:flex;gap:12px;flex-wrap:wrap}.rom-single-event__facts span{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:99px;background:#f3e2da}.rom-single-event svg{width:20px;height:20px}.rom-single-event__program{display:grid;gap:10px;padding:0;counter-reset:item;list-style:none}.rom-single-event__program li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:15px;border-left:5px solid var(--event-color);background:var(--rom-paper);border-radius:0 10px 10px 0}.rom-single-event__gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:210px;gap:10px;margin:20px 0}.rom-single-event__gallery img{width:100%;height:100%;object-fit:cover;border-radius:14px}.rom-single-event__gallery img:first-child{grid-row:span 2}.rom-single-event__offer{display:flex;gap:18px;margin:18px 0;padding:18px;border-radius:14px;background:#ebefd5}.rom-single-event>.rom-events__cta{max-width:420px}
@media(max-width:1150px){.rom-events__main{grid-template-columns:1fr}.rom-event-detail{min-height:480px}.rom-upcoming__grid{grid-template-columns:1fr}.rom-upcoming__card{grid-template-columns:180px 1fr 40px}.rom-events-heading>span{display:none}}
@media(max-width:760px){.rom-events-section,.rom-events-compact{padding:26px 15px}.rom-events-heading h2{font-size:42px}.rom-events-heading p{font-size:20px}.rom-events__filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rom-events__filters button{justify-content:center;padding:8px 10px;font-size:12px}.rom-calendar{padding:14px}.rom-calendar__months{grid-template-columns:repeat(2,1fr)}.rom-calendar__legend{gap:10px 16px}.rom-event-detail{grid-template-columns:1fr;padding:15px}.rom-event-detail__visual{grid-row:1}.rom-event-detail__image{min-height:300px}.rom-event-detail h3{font-size:34px}.rom-event-detail__copy>p{min-height:0}.rom-event-detail__bottom{margin-top:18px}.rom-upcoming h3{font-size:25px}.rom-upcoming__card{grid-template-columns:105px 1fr 34px}.rom-upcoming__card strong{font-size:15px}.rom-events-compact__top{align-items:stretch;flex-direction:column}.rom-events-compact__toggle{width:100%}.rom-single-event__gallery{grid-template-columns:1fr 1fr;grid-auto-rows:160px}.rom-single-event__gallery img:first-child{grid-column:span 2;grid-row:auto}.rom-single-event__program li{grid-template-columns:1fr;gap:4px}}
@media(max-width:420px){.rom-calendar__months{grid-template-columns:1fr}.rom-event-detail__image{min-height:260px}.rom-upcoming__card{grid-template-columns:90px 1fr 30px}.rom-upcoming__card>span:nth-child(2){padding:9px}.rom-event-detail__offer{grid-template-columns:1fr}.rom-event-detail__offer time{grid-column:1;grid-row:auto;border:0;padding:4px 0 0}}
@media(prefers-reduced-motion:reduce){.rom-events *{scroll-behavior:auto!important;transition:none!important}}

/* 1.2 layout corrections after verification in the production theme. */
.rom-events-heading{min-height:118px;padding-right:255px}
.rom-events-heading>span{right:34px;left:auto;top:23px;max-width:195px}
.rom-event-detail{grid-template-columns:minmax(270px,1.15fr) minmax(220px,.85fr)}
.rom-event-detail__copy{min-width:0}
.rom-event-detail h3{font-size:clamp(28px,2.15vw,38px);line-height:1.04;letter-spacing:-.7px;text-wrap:balance}
.rom-event-detail__image{border-radius:10px;clip-path:polygon(2% 1%,16% 2%,30% 0,46% 2%,61% 0,76% 2%,91% 0,100% 3%,99% 20%,100% 37%,98% 54%,100% 70%,98% 87%,100% 98%,84% 99%,68% 97%,51% 100%,35% 98%,17% 100%,1% 97%,2% 80%,0 63%,2% 46%,0 28%)}
.rom-event-detail__image:after{content:"";position:absolute;z-index:0;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),inset 0 -80px 80px -65px rgba(8,28,22,.5);pointer-events:none}
.rom-event-detail__image span{z-index:2}
.rom-upcoming__image{height:calc(100% - 8px);margin:4px 0 4px 4px;clip-path:polygon(0 3%,15% 1%,31% 3%,47% 0,62% 2%,80% 0,96% 3%,100% 15%,96% 29%,100% 44%,96% 60%,100% 76%,96% 91%,100% 98%,82% 100%,63% 97%,45% 100%,27% 97%,8% 100%,0 96%)}
@media(max-width:1150px){.rom-events-heading{min-height:auto;padding-right:0}.rom-event-detail{grid-template-columns:minmax(300px,1.1fr) minmax(270px,.9fr)}}
@media(max-width:760px){.rom-event-detail{grid-template-columns:1fr}.rom-events-heading{padding-right:0}}

/* Configurable header photograph. */
.rom-events-heading.has-photo{min-height:145px;padding-right:48%}
.rom-events-heading.has-photo>span{right:43%;top:32px;z-index:2}
.rom-events-heading__photo{position:absolute;z-index:1;top:-42px;right:-30px;width:43%;height:190px;background-position:center;background-size:cover;clip-path:polygon(2% 10%,12% 5%,25% 9%,38% 3%,52% 7%,66% 2%,80% 6%,100% 1%,99% 91%,88% 94%,75% 91%,61% 97%,48% 92%,34% 98%,19% 93%,2% 98%,5% 80%,1% 61%,4% 43%,0 25%);filter:drop-shadow(0 8px 14px rgba(21,45,37,.12))}
.rom-events-heading__photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,241,231,.28),transparent 30%,rgba(11,32,26,.08))}
.rom-events-heading__photo i{position:absolute;z-index:2;right:35px;bottom:24px;color:#fff;text-align:right;text-shadow:0 2px 8px rgba(0,0,0,.5);font:italic 17px/1.15 "Segoe Print","Bradley Hand",cursive;transform:rotate(-5deg)}
@media(max-width:1150px){.rom-events-heading.has-photo{min-height:280px;padding-right:0}.rom-events-heading.has-photo>span{display:none}.rom-events-heading__photo{top:125px;right:-15px;width:70%;height:155px}}
@media(max-width:760px){.rom-events-heading.has-photo{min-height:300px}.rom-events-heading__photo{top:130px;right:-10px;width:100%;height:165px}.rom-events-heading__photo i{right:22px;bottom:18px;font-size:14px}}

/* 1.5 organic photo masks and hand-drawn background details. */
.rom-events-section{background-image:url("../images/leaves-left.svg"),url("../images/leaves-right.svg"),radial-gradient(circle at 22% 0,rgba(255,255,255,.9),transparent 34%);background-repeat:no-repeat,no-repeat,no-repeat;background-position:-72px 32px,calc(100% + 58px) 74%,0 0;background-size:210px auto,190px auto,100% 100%}
.rom-events-section:after{display:none}
.rom-events-heading:after{content:"";position:absolute;z-index:0;left:44%;top:48px;width:230px;height:78px;background:url("../images/pencil-landscape.svg") center/contain no-repeat;opacity:.72;pointer-events:none}
.rom-events-heading.has-photo:after{left:40%;top:84px;width:175px;height:56px}
.rom-events-heading__photo{clip-path:none;border-radius:0;-webkit-mask:url("../images/mask-header.svg") center/100% 100% no-repeat;mask:url("../images/mask-header.svg") center/100% 100% no-repeat;filter:drop-shadow(0 8px 12px rgba(21,45,37,.14))}
.rom-event-detail__image{clip-path:none;border-radius:0;-webkit-mask:url("../images/mask-photo.svg") center/100% 100% no-repeat;mask:url("../images/mask-photo.svg") center/100% 100% no-repeat;filter:drop-shadow(0 6px 10px rgba(21,45,37,.12))}
.rom-upcoming__image{clip-path:none;-webkit-mask:url("../images/mask-card.svg") center/100% 100% no-repeat;mask:url("../images/mask-card.svg") center/100% 100% no-repeat}
.rom-upcoming{position:relative}.rom-upcoming:after{content:"Хорошие люди — здесь ♡";position:absolute;right:34px;bottom:-28px;max-width:120px;color:#ad927b;font:italic 14px/1.15 "Segoe Print","Bradley Hand",cursive;text-align:center;transform:rotate(-7deg);pointer-events:none}
@supports not ((mask-image:url("")) or (-webkit-mask-image:url(""))){.rom-events-heading__photo,.rom-event-detail__image,.rom-upcoming__image{border-radius:18px;overflow:hidden}}
@media(max-width:1150px){.rom-events-heading:after{left:auto;right:15%;top:42px}.rom-events-heading.has-photo:after{left:10%;right:auto;top:190px}.rom-upcoming:after{display:none}}
@media(max-width:760px){.rom-events-heading:after{display:none}.rom-events-section{background-position:-105px 18px,calc(100% + 95px) 78%,0 0;background-size:180px auto,160px auto,100% 100%}}

/* 1.7 unified botanical paper background and stable card arrows. */
.rom-events-section,.rom-events-compact{background-color:#f6f0e5;background-image:linear-gradient(rgba(248,244,236,.16),rgba(248,244,236,.16)),url("../images/botanical-pencil-background.png");background-repeat:no-repeat;background-position:center;background-size:100% 100%}
.rom-events-heading:after{display:none}
.rom-upcoming__card{grid-template-columns:minmax(105px,145px) minmax(0,1fr) 48px}
.rom-upcoming__card>span:nth-child(2){min-width:0;overflow:hidden}
.rom-upcoming__card>b{position:relative;z-index:3;box-sizing:border-box;justify-self:center;align-self:center;margin:0;width:32px;height:32px;line-height:28px;text-align:center}
@media(max-width:1150px){.rom-upcoming__card{grid-template-columns:minmax(120px,180px) minmax(0,1fr) 52px}}
@media(max-width:760px){.rom-upcoming__card{grid-template-columns:105px minmax(0,1fr) 42px}}
@media(max-width:420px){.rom-upcoming__card{grid-template-columns:88px minmax(0,1fr) 38px}}
