/* themed event pages (wedding, baptism, burial, birthday, fundraiser, board, visitation, custom) and the events index */
.ev{--ea:#c9962f;--ed:#1d4e89;--es:#eef3fa}
.ev-hero,.evf{position:relative;overflow:hidden;color:#fff;isolation:isolate;background:linear-gradient(135deg,var(--ed),color-mix(in srgb,var(--ed) 55%,var(--ea)))}
.ev-hero .bg,.evf .bg{position:absolute;inset:0;z-index:-3;background-size:cover;background-position:center;animation:ev-zoom 40s ease-in-out infinite alternate}
@keyframes ev-zoom{to{transform:scale(1.12)}}
.ev-hero .veil,.evf .veil{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,color-mix(in srgb,var(--ed) 55%,transparent),color-mix(in srgb,var(--ed) 88%,transparent))}
.ev-hero .ico,.evf .ico{position:absolute;right:-30px;bottom:-50px;z-index:-1;font-size:clamp(220px,32vw,420px);line-height:1;color:#fff;opacity:.08;transform:rotate(-8deg)}
.ev-hero{padding:clamp(34px,6vw,70px) 0 clamp(34px,5vw,56px);text-align:center}
.ev-hero .in{display:flex;flex-direction:column;align-items:center;gap:10px}
.ev-hero .back{align-self:flex-start;color:#fff!important;opacity:.8;font-size:13.5px;font-weight:600}.ev-hero .back:hover{opacity:1}
.ev .pill{display:inline-flex;gap:8px;align-items:center;padding:6px 16px;border-radius:99px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(6px)}
.ev-hero .lead{margin:6px 0 0;font-family:var(--ch-serif,'Noto Serif',serif);font-style:italic;font-size:clamp(16px,2vw,20px);opacity:.92}
.ev-hero h1{margin:0;font-family:var(--ch-serif,'Noto Serif',serif);font-weight:600;font-size:clamp(34px,6.5vw,72px);line-height:1.08;color:#fff;text-wrap:balance}
.ev-hero .who small{display:block;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ea);margin-bottom:6px;filter:brightness(1.5)}
.ev-hero .ttl{margin:2px 0 0;font-size:clamp(15px,1.8vw,19px);font-weight:600;opacity:.95;letter-spacing:.04em}
.ev-hero .when{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin:10px 0 0;font-size:15.5px;font-weight:500}.ev-hero .when i{color:var(--ea);filter:brightness(1.4);margin-right:6px}
.ev .cd{display:flex;gap:10px;margin:12px 0 4px}.ev .cd div{min-width:78px;padding:10px 6px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px)}
.ev .cd b{display:block;font-size:clamp(24px,3.4vw,34px);font-variant-numeric:tabular-nums;line-height:1.1}.ev .cd span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.85}
.ev .done{margin:10px 0 0;font-weight:600}.ev .done i{color:var(--ea);filter:brightness(1.4)}
.ev-hero .acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:12px}
.ev-hero .ch-btn-g{background:var(--ea);border-color:var(--ea);color:#1b2430!important}

/* kind touches */
.ev-wedding .ev-hero{background:linear-gradient(135deg,#4a1f31,#8a4b5f 60%,#c79a7a)}.ev-wedding .ev-hero h1{font-style:italic;font-weight:500;letter-spacing:.01em}
.ev-wedding .ev-hero .who:before,.ev-wedding .ev-hero .who:after{content:"";display:block;width:90px;height:1px;background:linear-gradient(90deg,transparent,var(--ea),transparent);margin:0 auto 12px}.ev-wedding .ev-hero .who:after{margin:12px auto 0}
.ev-baptism .ev-hero{background:linear-gradient(180deg,#0e3b5e,#2d8fc4 70%,#8fd0f0)}
.ev-burial .ev-hero{background:linear-gradient(180deg,#232c36,#4a5663 70%,#7a8794)}.ev-burial .ev-hero h1{font-weight:500}
.ev-burial .ev-hero .ico{opacity:.1}
.ev-birthday .ev-hero{background:linear-gradient(135deg,#7a2e57,#e0703a 70%,#f4b860)}
.ev-fundraiser .ev-hero{background:linear-gradient(135deg,#12452e,#2f8f5b 75%,#6fc08e)}
.ev-board .ev-hero{background:linear-gradient(135deg,#0e1f3b,#14284a 60%,#27487f)}.ev-board .ev-hero h1{font-family:inherit;font-weight:700;font-size:clamp(30px,5vw,54px)}
.ev-visitation .ev-hero{background:linear-gradient(135deg,#0f3d4a,#1f8a8a 75%,#6cc1c1)}
.ev-hero .bg~.veil{opacity:.92}

/* animated decoration */
.ev-fx{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.ev-fx i{position:absolute;display:block;left:calc(var(--i)*6.2%);opacity:0;animation-duration:calc(7s + (var(--i)*.55s));animation-delay:calc(var(--i)*-.9s);animation-iteration-count:infinite;animation-timing-function:linear}
.ev-fx.petals i{top:-20px;width:12px;height:16px;border-radius:70% 0 70% 0;background:#f6c9cf;animation-name:ev-fall}
.ev-fx.confetti i{top:-20px;width:8px;height:14px;border-radius:2px;background:hsl(calc(var(--i)*47),85%,62%);animation-name:ev-fall}
.ev-fx.bubbles i{bottom:-30px;width:calc(8px + var(--i)*1.4px);height:calc(8px + var(--i)*1.4px);border-radius:50%;border:1.5px solid rgba(255,255,255,.7);animation-name:ev-rise}
.ev-fx.hearts i{bottom:-30px;width:14px;height:14px;background:#fff;transform:rotate(45deg);animation-name:ev-rise;border-radius:3px 3px 0 3px}
.ev-fx.drift i{top:-20px;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.7);animation-name:ev-fall;animation-duration:calc(11s + (var(--i)*.7s))}
@keyframes ev-fall{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.9}100%{transform:translateY(560px) translateX(40px) rotate(360deg);opacity:0}}
@keyframes ev-rise{0%{transform:translateY(0);opacity:0}15%{opacity:.7}100%{transform:translateY(-560px) translateX(-30px);opacity:0}}

/* body */
.ev-body{background:var(--es);padding:34px 0 50px}
.ev-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:28px;align-items:start}
.ev-main{min-width:0}.ev-side{display:grid;gap:14px;position:sticky;top:84px;min-width:0}
.ev-tag{margin:0 0 14px;font-family:var(--ch-serif,'Noto Serif',serif);font-style:italic;font-size:clamp(19px,2.4vw,24px);line-height:1.4;color:var(--ed)}
.ev-text p{font-size:16px;line-height:1.7;max-width:68ch;margin:0 0 12px}
.ev-h{margin:28px 0 12px;display:flex;align-items:center;gap:12px}.ev-h .ch-kick{color:var(--ea);filter:brightness(.85)}.ev-h:after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--ea) 40%,transparent)}
.ev-card{background:var(--ch-card);border:1px solid color-mix(in srgb,var(--ea) 25%,var(--ch-line));border-radius:var(--ch-r);padding:20px;box-shadow:var(--ch-sh)}
.ev-card h3{margin:0 0 10px;font-size:18px;color:var(--ed)}
.ev-card.lock{text-align:center;padding:40px 20px}.ev-card.lock i{font-size:34px;color:var(--ea)}
.ev-card.fund{margin:6px 0 0}.ev-card.fund .fx{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.ev-card.fund .fx b{font-size:clamp(26px,4vw,38px);color:var(--ed)}.ev-card.fund .fx span{color:var(--ch-mute)}
.ev .bar{height:14px;border-radius:99px;background:color-mix(in srgb,var(--ea) 18%,#fff);overflow:hidden;margin:10px 0 6px}.ev .bar i{display:block;height:100%;width:var(--w);border-radius:99px;background:linear-gradient(90deg,var(--ea),color-mix(in srgb,var(--ea) 60%,#fff));animation:ev-bar 1.4s ease-out}
@keyframes ev-bar{from{width:0}}.ev-card.fund .how{display:flex;gap:8px;align-items:flex-start;background:var(--es);padding:10px 12px;border-radius:10px}
.ev-card.fund .ch-btn{margin-top:6px}
.ev-card.facts{display:grid;gap:14px}.ev-card .f{display:flex;gap:12px}.ev-card .f>i{flex:none;width:38px;height:38px;border-radius:11px;background:var(--es);color:var(--ea);display:grid;place-items:center;font-size:17px;filter:brightness(.9)}
.ev-card .f small{display:block;color:var(--ch-mute);font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:700}.ev-card .f b{display:block;font-size:15px}.ev-card .f a{font-size:13px;font-weight:600;color:var(--ed)!important}
.ev-card.rsvp form{display:grid;gap:10px}.ev-card.rsvp label{display:grid;gap:4px;font-size:12px;font-weight:700;color:var(--ch-mute);text-transform:uppercase;letter-spacing:.05em}
.ev-card.rsvp input,.ev-card.rsvp select,.ev-card.rsvp textarea{font:inherit;font-size:14.5px;text-transform:none;letter-spacing:0;font-weight:400;padding:10px 12px;border:1px solid var(--ch-line);border-radius:10px;background:var(--ch-bg);color:var(--ch-ink);width:100%;min-width:0}
.ev-card.rsvp textarea{min-height:76px;resize:vertical}.ev-card.rsvp .ch-btn{justify-content:center;background:var(--ed);border-color:var(--ed)}
.ev-oh{margin:6px 0 0;font-size:14px;color:var(--ch-mute);text-transform:uppercase;letter-spacing:.08em}
.ev-mini{display:flex;gap:12px;align-items:center;background:var(--ch-card);border:1px solid var(--ch-line);border-radius:12px;padding:10px 12px;color:var(--ch-ink)!important;transition:.2s}.ev-mini:hover{border-color:var(--ea);transform:translateY(-2px)}
.ev-mini>span{flex:none;width:38px;height:38px;border-radius:10px;background:var(--ea);color:#fff;display:grid;place-items:center}.ev-mini b{display:block;font-size:14px}.ev-mini small{color:var(--ch-mute);font-size:12px}
/* programme timeline */
.ev-tl{list-style:none;margin:0;padding:0 0 0 22px;border-left:2px solid color-mix(in srgb,var(--ea) 45%,transparent);display:grid;gap:10px}
.ev-tl li{position:relative;display:flex;gap:16px;align-items:baseline;background:var(--ch-card);border:1px solid var(--ch-line);border-radius:12px;padding:11px 14px}
.ev-tl li:before{content:"";position:absolute;left:-30px;top:17px;width:12px;height:12px;border-radius:50%;background:var(--ea);box-shadow:0 0 0 4px var(--es)}
.ev-tl b{flex:none;min-width:84px;color:var(--ed)}.ev-tl span{color:var(--ch-ink)}
.ev-det{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.ev-det div{background:var(--ch-card);border:1px solid var(--ch-line);border-radius:12px;padding:12px 14px}.ev-det small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ch-mute);font-weight:700}.ev-det b{font-size:15px}
/* gallery */
.ev-gal{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.ev-gal a{display:block;overflow:hidden;border-radius:14px;aspect-ratio:4/3;background:#ddd}.ev-gal img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.ev-gal a:hover img{transform:scale(1.07)}
.ev-gal.n1{grid-template-columns:1fr}.ev-gal.n1 a{aspect-ratio:16/9}.ev-gal.n2{grid-template-columns:1fr 1fr}
.ev-gal.n3 a:first-child,.ev-gal.n5 a:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.ev-wedding .ev-gal a{border-radius:50% 50% 14px 14px / 30% 30% 14px 14px}.ev-wedding .ev-gal.n1 a,.ev-wedding .ev-gal.n2 a{border-radius:var(--ch-r)}
@media (max-width:940px){.ev-grid{grid-template-columns:1fr}.ev-side{position:static}}
@media (max-width:560px){.ev-gal{grid-template-columns:1fr 1fr}.ev .cd div{min-width:62px}.ev-tl li{flex-direction:column;gap:2px}}

/* events index */
.ev-chips{margin-bottom:18px}.ev-chips a i{margin-right:4px}
.evf{display:block;border-radius:20px;padding:clamp(28px,5vw,56px);margin-bottom:8px;min-height:300px;display:flex;align-items:flex-end;color:#fff!important;transition:transform .3s,box-shadow .3s}.evf:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.25)}
.evf .in{max-width:640px}.evf h2{margin:10px 0 4px;font-family:var(--ch-serif,'Noto Serif',serif);font-size:clamp(28px,4.4vw,48px);color:#fff;line-height:1.1}.evf .nm{margin:0;font-size:clamp(18px,2.4vw,26px);font-style:italic;opacity:.95}.evf .wh{margin:8px 0 14px;opacity:.9}
.evf .go{display:inline-flex;gap:8px;align-items:center;font-weight:700;padding:9px 18px;border-radius:99px;background:var(--ea);color:#1b2430}
.evf .pill{display:inline-flex;gap:8px;align-items:center;padding:6px 14px;border-radius:99px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.ev-sec{margin:30px 0 12px;font-size:20px}
.evg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.evc{display:flex;flex-direction:column;background:var(--ch-card);border:1px solid var(--ch-line);border-radius:16px;overflow:hidden;color:var(--ch-ink)!important;transition:.25s}.evc:hover{transform:translateY(-4px);box-shadow:var(--ch-sh);border-color:var(--ea)}
.evc .pic{position:relative;height:150px;overflow:hidden;background:linear-gradient(135deg,var(--ed),var(--ea));display:block}
.evc .pic .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s}.evc:hover .pic .bg{transform:scale(1.08)}
.evc .pic .ico{position:absolute;right:-8px;bottom:-22px;font-size:110px;line-height:1;color:#fff;opacity:.22}
.evc .dt{position:absolute;left:12px;top:12px;font-style:normal;text-align:center;background:#fff;color:#1b2430;border-radius:11px;padding:5px 10px;font-size:11px;font-weight:700;text-transform:uppercase;line-height:1.1;box-shadow:0 3px 10px rgba(0,0,0,.2)}.evc .dt b{display:block;font-size:20px}
.evc .tag{position:absolute;right:10px;top:12px;font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--ea);color:#fff;border-radius:99px;padding:3px 10px}
.evc .tx{padding:14px 16px 16px;display:grid;gap:3px}.evc .tx b{font-size:16px}.evc .tx .nm{font-style:italic;color:var(--ea);filter:brightness(.8);font-size:14px}.evc .tx small{color:var(--ch-mute)}
.evc.past{filter:saturate(.7)}.evc.past .pic:after{content:"Remembering";position:absolute;left:0;right:0;bottom:0;padding:5px 12px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.55))}
.evc[hidden],.evf[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.ev-fx,.ev-hero .bg,.evf .bg{animation:none}.ev-fx{display:none}}

/* hero bar: this Sabbath's theme, speaker and verse */
.ch-bar .ch-bi.sab{min-width:0}.ch-bar .ch-bi.sab b,.ch-bar .ch-bi.sab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-bar button.ch-bi{font:inherit;color:inherit;border:0;border-left:1px solid rgba(255,255,255,.18);background:transparent;cursor:pointer;transition:background .2s}
.ch-bar button.ch-bi:hover{background:rgba(255,255,255,.12)}.ch-bar button.ch-bi b:after{content:"\F138";font-family:"bootstrap-icons";font-weight:400;margin-left:8px;font-size:.8em;color:var(--ch-gold)}

/* this Sabbath: speakers with passport photos, banner, details window */
.ch-sab .ban,.ch-sabm .ban{display:block;width:100%;max-height:340px;object-fit:cover;border-radius:12px;margin-bottom:14px}
.ch-sab .ban{max-height:380px}
.ch-spks{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:8px}
.ch-spk1{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;background:var(--ch-bg);border:1px solid var(--ch-line);border-radius:14px;padding:16px 14px}
.ch-spk1 .ph{width:96px;height:120px;border-radius:12px;overflow:hidden;background:var(--ch-denim-l);display:grid;place-items:center;font-size:44px;color:var(--ch-denim);margin-bottom:8px;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--ch-line)}
.ch-spk1 .ph img{width:100%;height:100%;object-fit:cover}.ch-spk1 b{font-size:16px}.ch-spk1 em{font-style:normal;color:var(--ch-denim);font-weight:600;font-size:13px}.ch-spk1 p{margin:6px 0 0;font-size:13.5px;color:var(--ch-body)}
.ch-spk1 .ch-spk-links{justify-content:center;margin-top:10px}
.ch-sabm{max-width:760px!important;padding:0!important;overflow:hidden}.ch-sabm .bd{padding:20px 24px 22px;max-height:min(80vh,720px);overflow:auto}.ch-sabm .ban{border-radius:0;margin:0;max-height:300px}
.ch-sabm h3{margin:2px 0 8px;font-size:clamp(22px,3vw,28px)}.ch-sabm .vs{font-family:var(--ch-serif,'Noto Serif',serif);font-style:italic;margin:0 0 8px}.ch-sabm .vs small{font-style:normal;font-weight:700;color:var(--ch-gold)}
.ch-sabm .mt{display:flex;gap:8px 18px;flex-wrap:wrap;margin:0;color:var(--ch-body);font-size:14px}.ch-sabm .mt i{color:var(--ch-gold);margin-right:4px}
.ch-sabm .ch-more{display:inline-block;margin-top:12px}.ch-sabm .x{z-index:3;background:rgba(255,255,255,.9);border-radius:50%;width:32px;height:32px;top:10px;right:10px}
/* bar cells: one tidy line each, never cut mid-word on small text */
.ch-bar .ch-bi.sab b{font-size:15.5px}.ch-bar .ch-bi.sab span{font-size:12.5px}

/* downloads: locked certificates, my certificates */
.ch-lockbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:var(--ch-gold-l);border:1px solid #ecd9a6;border-radius:var(--ch-r);padding:14px 18px;margin-bottom:14px}.ch-lockbar>i{font-size:24px;color:var(--ch-gold)}.ch-lockbar div{flex:1;min-width:220px}.ch-lockbar b{display:block}.ch-lockbar span{font-size:13.5px;color:var(--ch-mute)}
.ch-mycerts{background:var(--ch-card);border:1px solid var(--ch-line);border-radius:var(--ch-r);padding:16px 18px;margin-bottom:16px}.ch-mycerts .row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--ch-line);margin:0}.ch-mycerts .row:first-of-type{border-top:0}
.ch-mycerts .ic{width:38px;height:38px;border-radius:10px;background:var(--ch-denim-l);color:var(--ch-denim);display:grid;place-items:center}.ch-mycerts .approved .ic{background:#e3f4ea;color:#1f7a45}.ch-mycerts .rejected .ic{background:#fdeceb;color:#b42318}
.ch-mycerts .row>div:nth-child(2){flex:1;min-width:200px}.ch-mycerts b{display:block}.ch-mycerts span:not(.ic){font-size:13px;color:var(--ch-mute)}.ch-mycerts .a{display:flex;gap:8px;flex-wrap:wrap}
