/* Boddhi Clinic shared event presentation. Scoped to the event lists and detail pages. */
.event-page{--ev-ink:#263d30;--ev-muted:#59645a;--ev-sage:#526c4a;--ev-line:#dce4d7;--ev-cream:#faf9f4;background:var(--ev-cream);color:var(--ev-ink)}
.event-page .container{max-width:1200px}
.event-page .page-hero{padding:clamp(1.5rem,4vw,3.5rem) 0;background:linear-gradient(120deg,#f5f6ee,#e7eee1)}
.event-page .breadcrumbs{font-size:.78rem;line-height:1.65;flex-wrap:wrap;gap:.45rem;margin-bottom:1.8rem;overflow-wrap:anywhere;color:var(--ev-muted)}
.event-page .eyebrow{font-size:.73rem;letter-spacing:.13em;line-height:1.6;color:#426039;margin:0 0 .9rem;font-weight:750}
.event-page h1{font-size:clamp(2rem,3.7vw,3.4rem);line-height:1.09;letter-spacing:-.035em;margin:0 0 1.25rem;max-width:24ch;overflow-wrap:break-word}
.event-page .lead{font-size:1rem;line-height:1.8;color:var(--ev-muted);max-width:58ch;margin:0}
.event-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.event-photo{margin:0;aspect-ratio:16/10;width:100%;min-width:0;overflow:hidden;border-radius:1.5rem;background:linear-gradient(145deg,#e1e8d9,#f4f1e7);border:1px solid #d9e2d0;box-shadow:0 18px 50px #34452e0c;display:flex;align-items:center;justify-content:center}
.event-photo img{display:block;width:100%!important;height:100%!important;max-width:100%;object-fit:cover!important;object-position:center;border-radius:0!important;transform:none!important}
.event-page .event-content{padding:clamp(2rem,5vw,4.5rem) 0}
.event-content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:clamp(2rem,5vw,5rem);align-items:start;grid-template-areas:'programme facts'}
.event-programme{grid-area:programme;min-width:0;max-width:73ch}
.event-programme>h2:first-child{margin-top:0}
.event-page h2{font-size:clamp(1.6rem,2.5vw,2.2rem);line-height:1.18;letter-spacing:-.02em;margin:2rem 0 1rem;overflow-wrap:break-word}
.event-programme p,.event-programme li{font-size:1rem;line-height:1.9;color:#48554a;overflow-wrap:break-word}
.event-programme p{margin:0 0 1.4rem}
.event-programme ul{padding-left:1.3rem;margin:1rem 0 1.8rem;list-style:disc}
.event-programme li{padding-left:.25rem;margin-bottom:.7rem}
.event-programme .prose{font-size:1rem;line-height:1.9}
.event-practical{grid-area:facts;position:sticky;top:112px;padding:1.5rem;background:#fff;border:1px solid var(--ev-line);border-radius:1.2rem;box-shadow:0 12px 40px #34452e07;min-width:0}
.event-practical .event-practical-title{font-family:var(--font-sans);font-size:1.05rem;letter-spacing:0;margin:0 0 1.2rem;font-weight:750}
.event-practical dl{margin:0}
.event-practical .event-facts>div{padding:1rem 0!important;margin:0!important;border-top:1px solid #e8ede3}
.event-practical dt{font-size:.71rem;letter-spacing:.08em;text-transform:uppercase;color:#687460;margin-bottom:.4rem;line-height:1.5}
.event-practical dd{margin:0!important;font-size:.95rem;line-height:1.7;color:var(--ev-ink);overflow-wrap:anywhere}
.event-practical>p{font-size:.9rem;line-height:1.75;margin:1.1rem 0 0;color:var(--ev-muted);padding:1rem;background:#f0f4eb;border-radius:.75rem}
.event-page a.btn{min-height:48px;white-space:normal;text-align:center;line-height:1.45;max-width:100%}
.event-practical .btn{width:100%;margin-top:1.2rem;justify-content:center;background:#526c4a;color:white}
.event-page a:focus-visible{outline:3px solid #344e2c;outline-offset:5px}
.event-page .cta{margin:0 0 1rem;padding:3rem 0;background:#e9efdf;color:var(--ev-ink)}
.event-page .cta h2{margin:.5rem 0 1rem;max-width:26ch}
.event-page .cta p{color:#4a5848}
.event-page .cta a.btn{background:#526c4a;color:#fff}
.event-page [data-reveal]{opacity:1!important;transform:none!important}
.event-list .page-hero h1{max-width:18ch}
.event-list .event-catalogue{padding:clamp(2rem,5vw,4rem) 0}
.event-list .cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem;align-items:stretch}
.event-list .card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--ev-line);border-radius:1.3rem;overflow:hidden;background:#fff;box-shadow:0 8px 30px #34452e05;transition:border-color .2s,box-shadow .2s;transform:none!important}
.event-list .card:hover{border-color:#adbfa0;box-shadow:0 14px 40px #34452e12}
.event-list .card-image{aspect-ratio:16/10;height:auto!important;min-height:0;overflow:hidden;background:linear-gradient(145deg,#e1e8d9,#f4f1e7);border-bottom:1px solid #e8ede3}
.event-list .card-image img{width:100%;height:100%!important;object-fit:cover!important;object-position:center;transform:none!important}
.event-list .card-body{padding:clamp(1.25rem,3vw,2rem);display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:0}
.event-list .card h2{font-family:var(--font-serif,Georgia,serif)!important;font-size:clamp(1.45rem,2.25vw,2rem)!important;font-weight:400!important;line-height:1.2!important;margin:0 0 1rem!important;letter-spacing:-.02em}
.event-list .card p{font-size:.95rem;line-height:1.8;color:var(--ev-muted);margin:0 0 1.1rem}
.event-list .card p.eyebrow{color:#426039;font-size:.7rem;line-height:1.55;margin-bottom:.8rem}
.event-card-facts{width:100%;padding:1rem 0;margin:.3rem 0 1.25rem;border-top:1px solid #e8ede3;border-bottom:1px solid #e8ede3;display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.25rem}
.event-card-facts>div{min-width:0}
.event-card-facts dt{font-size:.68rem;line-height:1.5;letter-spacing:.07em;text-transform:uppercase;color:#687460;margin-bottom:.2rem}
.event-card-facts dd{font-size:.88rem;line-height:1.6;color:var(--ev-ink);margin:0;overflow-wrap:anywhere}
.event-list .card-link{margin-top:auto;min-height:44px;display:inline-flex;align-items:center;gap:1rem;font-size:.88rem;color:#3e5c34;font-weight:750;text-decoration:none;border-bottom:1px solid #b8c6af}
@media(min-width:1000px){.event-list .cards .card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.event-list .cards .card:first-child .card-image{aspect-ratio:auto;height:100%!important;min-height:360px;border-bottom:0;border-right:1px solid #e8ede3}.event-list .cards .card:first-child .card-body{padding:2.5rem}.event-list .cards .card:first-child h2{font-size:2.25rem!important}}
@media(max-width:900px){.event-hero-grid{grid-template-columns:1fr;gap:1.8rem}.event-page h1{max-width:30ch;font-size:clamp(2rem,5.5vw,3rem)}.event-hero-grid .event-photo{max-width:680px}.event-content-grid{grid-template-columns:minmax(0,1fr) minmax(250px,300px);gap:1.5rem}.event-practical{padding:1.25rem;top:96px}}
@media(max-width:650px){.event-page .container{width:calc(100% - 2.5rem)}.event-page .page-hero{padding:1.5rem 0 2rem}.event-page .breadcrumbs{margin-bottom:1.25rem;font-size:.72rem}.event-page h1{font-size:2rem;line-height:1.12;letter-spacing:-.025em}.event-page .lead{font-size:.94rem;line-height:1.75}.event-photo{border-radius:1rem}.event-content-grid{grid-template-columns:1fr;grid-template-areas:'facts' 'programme';gap:2.25rem}.event-practical{position:static;padding:1.3rem}.event-programme p,.event-programme li{font-size:.98rem;line-height:1.85}.event-list .cards{grid-template-columns:1fr;gap:1.5rem}.event-card-facts{gap:.8rem}.event-page .cta{padding:2.25rem 0}.event-list .card-body{padding:1.4rem}}
@media(prefers-reduced-motion:reduce){.event-page *{scroll-behavior:auto!important;transition:none!important}}
.event-content-grid.event-no-facts{grid-template-columns:minmax(0,800px);grid-template-areas:'programme'}

/* Project rule: photos fill their area edge to edge; never coloured frames. */
.event-photo,.event-list .card-image{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
.event-list .card{border:0}
.event-photo img,.event-list .card-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 40%!important}
.event-detail .event-photo:has(img[src$="sex-workshop.webp"]){aspect-ratio:677/903;max-width:420px;margin-inline:auto}
.event-list .card-image:has(img[src$="sex-workshop.webp"]){aspect-ratio:677/903;height:auto!important;min-height:0!important}
.event-photo:has(img[src$="vagus.webp"]),.event-list .card-image:has(img[src$="vagus.webp"]){aspect-ratio:800/729}
.event-photo:has(img[src$="open-house.webp"]),.event-list .card-image:has(img[src$="open-house.webp"]){aspect-ratio:1400/230}
@media(min-width:1000px){.event-list .cards .card:first-child:has(img[src$="sex-workshop.webp"]){grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}.event-list .cards .card:first-child .card-image:has(img[src$="sex-workshop.webp"]){height:auto!important;min-height:0!important;aspect-ratio:677/903}}
