/* Zumi Events: shared public catalog + landing preview. */
.ze-public-wrap{max-width:1100px;margin:0 auto;padding:26px 22px 62px;box-sizing:border-box;color:#342749}
.ze-public-hero{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:26px;overflow:hidden;padding:36px 42px;border:1px solid #e6d6f8;border-radius:30px;background:radial-gradient(circle at 83% 24%,#efe0ff 0,transparent 38%),linear-gradient(115deg,#f6edff 0%,#fffafd 55%,#eff5ff 100%);box-shadow:0 16px 40px #7956bf0c}
.ze-public-hero::after{content:"";position:absolute;inset:auto -50px -128px auto;width:310px;height:310px;border:1px solid #bba1e94f;border-radius:50%;z-index:-1}
.ze-hero-copy{max-width:700px;position:relative;z-index:1}
.ze-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:850;letter-spacing:1.65px;color:#7950bf;text-transform:uppercase}
.ze-eyebrow::before{content:"✦";font-size:16px}
.ze-public-hero h1{font-size:clamp(35px,4.9vw,52px);letter-spacing:-1.9px;line-height:1.1;margin:12px 0;color:#302446}
.ze-public-hero h1 em{font-style:normal;color:#8358ce}
.ze-public-hero p{max-width:615px;font-size:15px;line-height:1.7;color:#706381;margin:0}
.ze-actions{display:flex;gap:11px;flex-wrap:wrap;align-items:center;margin-top:24px}
.ze-primary,.ze-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 17px;border-radius:13px;font-size:13px;font-weight:800;text-decoration:none}
.ze-primary{background:#7956bf;color:#fff!important;box-shadow:0 6px 18px #7a54c830}
.ze-primary:hover{background:#6745ac;transform:translateY(-1px)}
.ze-secondary{border:1px solid #dfcff4;background:#fff;color:#7956bf!important}
.ze-secondary:hover{background:#f7f1ff}
.ze-signin-note{color:#746a88;font-size:13px}
.ze-primary:focus-visible,.ze-secondary:focus-visible,.ze-card-action:focus-visible,.ze-all-events:focus-visible{outline:3px solid #a68bfa;outline-offset:4px}
.ze-public-section{padding-top:35px;scroll-margin-top:20px}
.ze-section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}
.ze-section-heading{display:flex;align-items:center;gap:12px}
.ze-section-heading h2{margin:0;font-size:clamp(22px,2.8vw,29px);letter-spacing:-.65px;color:#352746}
.ze-section-title>p{font-size:12px;color:#8c7f9d;margin:0}
.ze-section-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:13px;background:#e9f9f0;color:#18885d;font-size:19px}
.ze-section-icon--future{background:#f2eaff;color:#8259ca}
.ze-section-icon--past{background:#f0eef5;color:#8a8398}
.ze-count{display:inline-grid;place-items:center;min-width:23px;height:23px;padding:0 6px;background:#f3effa;border-radius:999px;font-size:12px;font-weight:800;color:#68548c}
.ze-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.ze-event-card{display:flex;flex-direction:column;min-width:0;border:1px solid #e9ddf7;border-radius:21px;padding:20px 21px;background:#fff;box-shadow:0 6px 22px #5d3d990a;transition:border-color .2s,box-shadow .2s,transform .2s}
.ze-event-card:hover{border-color:#cdb6f0;box-shadow:0 15px 28px #6e42b21a;transform:translateY(-2px)}
.ze-event-card--open{background:linear-gradient(150deg,#fff 56%,#f2fff8);border-color:#bcebd6}
.ze-event-card--past{background:#fdfbff;border-color:#e9e5f0}
.ze-event-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ze-status{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:4px 10px;border:1px solid #e8d8fa;border-radius:999px;font-size:11px;font-weight:850;letter-spacing:.2px;color:#7751bb;background:#f4edff}
.ze-status--open{color:#187d58;border-color:#bcebd6;background:#eafbf2}
.ze-status--past{color:#736a86;border-color:#e8e5ed;background:#f2f0f5}
.ze-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor}
.ze-status--open .ze-status-dot{box-shadow:0 0 0 4px #1fbb7540;animation:ze-pulse 2.3s ease-in-out infinite}
.ze-grade-tag{font-size:11px;font-weight:800;color:#746289;background:#f4f0fa;padding:5px 9px;border-radius:9px}
.ze-event-card-main{display:flex;align-items:flex-start;gap:16px;margin:18px 0;min-width:0}
.ze-date-tile{width:68px;min-width:68px;padding:7px 4px 8px;text-align:center;border:1px solid #e4d6f6;border-radius:14px;background:linear-gradient(180deg,#f4edff,#fff);box-shadow:0 3px 0 #eee4f9}
.ze-event-card--open .ze-date-tile{background:linear-gradient(180deg,#e7faef,#fff);border-color:#bee7d2;box-shadow:0 3px 0 #ddf2e7}
.ze-event-card--past .ze-date-tile{background:#f6f3fa;border-color:#e8e3ef;box-shadow:0 3px 0 #efedf3}
.ze-date-month,.ze-date-weekday{display:block;font-size:10px;letter-spacing:.8px;font-weight:900;color:#8258c1;text-transform:uppercase;line-height:1.5}
.ze-date-day{display:block;font-size:29px;line-height:1.15;color:#3a2b57;font-weight:900;font-variant-numeric:tabular-nums}
.ze-date-weekday{color:#9587a5;letter-spacing:.35px}
.ze-event-card-copy{min-width:0}
.ze-event-card-copy h3{font-size:19px;letter-spacing:-.4px;line-height:1.3;color:#352746;margin:1px 0 6px;overflow-wrap:anywhere}
.ze-event-card-copy p{font-size:13px;line-height:1.55;color:#766b86;margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ze-event-card-footer{margin-top:auto;padding-top:15px;border-top:1px solid #eee8f7}
.ze-card-facts{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:#756d82;font-size:12px;line-height:1.5}
.ze-card-facts>span:first-child{white-space:nowrap;font-weight:700}
.ze-facts-divider{width:3px;height:3px;border-radius:50%;background:#b8acc8}
.ze-card-action{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-height:39px;padding:8px 12px;margin-top:13px;border-radius:11px;text-decoration:none;font-size:12px;font-weight:850;color:#6e44b3!important;background:#f3edfe;transition:background .2s}
.ze-card-action:hover{background:#e8dcfd;text-decoration:none}
.ze-event-card--open .ze-card-action{color:#fff!important;background:#7956bf}
.ze-event-card--open .ze-card-action:hover{background:#6745ac}
.ze-event-ended{display:inline-flex;gap:7px;align-items:center;margin-top:13px;color:#8d829a;font-size:12px;font-weight:700}
.ze-empty{display:flex;align-items:center;gap:13px;border:1px dashed #d9c7ed;border-radius:18px;padding:21px;background:linear-gradient(110deg,#fdfaff,#fff)}
.ze-empty-symbol{display:grid;place-items:center;width:39px;height:39px;flex:none;border-radius:12px;background:#f2eaff;color:#7956bf;font-size:19px}
.ze-empty strong{display:block;font-size:14px;color:#4c3b68;margin:0 0 3px}
.ze-empty p{font-size:13px;line-height:1.55;color:#81748f;margin:0}
.ze-fineprint{margin:30px 0 0;font-size:11px;line-height:1.7;color:#8a7e98}
/* Homepage: three color-coded lanes within a single playful event board. */
.ze-home-section{padding:24px 26px 22px;border:1px solid #e8d9f9;border-radius:27px;background:radial-gradient(circle at 96% 0%,#f0e8ff,transparent 33%),linear-gradient(140deg,#fcfaff,#fff);box-shadow:0 8px 30px #6a4a980b}
.ze-home-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}
.ze-home-heading .ze-eyebrow{font-size:clamp(13px,1.35vw,15px);letter-spacing:1.5px}
.ze-home-heading h2{font-size:clamp(22px,3vw,29px);line-height:1.2;letter-spacing:-.7px;margin:7px 0 5px;color:#372a53}
.ze-home-heading p{font-size:13px;line-height:1.5;color:#7d708d;margin:0}
.ze-all-events{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:40px;padding:9px 14px;background:#7956bf;color:white!important;border-radius:12px;text-decoration:none;font-size:12px;font-weight:850}
.ze-all-events:hover{background:#6945ae;text-decoration:none}
.ze-home-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.ze-home-lane{min-width:0}
.ze-home-lane-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;margin-bottom:10px;border-radius:13px;background:#eafbf2;color:#197653}
.ze-home-lane--future .ze-home-lane-header{background:#f1eafd;color:#7651b5}
.ze-home-lane--past .ze-home-lane-header{background:#f2f0f5;color:#746b86}
.ze-home-lane-header h3{font-size:13px;font-weight:850;margin:0;display:flex;align-items:center;gap:7px;color:inherit}
.ze-home-lane-header span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:99px;background:#ffffffad;font-size:12px;font-weight:900}
.ze-home-list{display:grid;gap:10px}
.ze-event-card--compact{padding:14px;border-radius:16px;box-shadow:0 3px 12px #7956bf0b}
.ze-event-card--compact .ze-event-card-main{gap:10px;margin:13px 0}
.ze-event-card--compact .ze-date-tile{width:52px;min-width:52px;border-radius:11px}
.ze-event-card--compact .ze-date-day{font-size:23px}
.ze-event-card--compact .ze-date-month,.ze-event-card--compact .ze-date-weekday{font-size:9px}
.ze-event-card--compact .ze-event-card-copy h3{font-size:15px;margin:0 0 5px}
.ze-event-card--compact .ze-event-card-copy p{font-size:12px;-webkit-line-clamp:2}
.ze-event-card--compact .ze-card-facts{font-size:11px;gap:6px}
.ze-event-card--compact .ze-card-action{margin-top:9px;font-size:11px}
.ze-event-card--compact .ze-status{font-size:10px;min-height:25px}
.ze-event-card--compact .ze-grade-tag{font-size:10px}
.ze-home-empty{min-height:112px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;text-align:center;padding:16px;border:1px dashed #dfd2ef;border-radius:16px;background:#ffffff9c}
.ze-home-empty p{margin:0!important;font-size:12px!important;color:#8a7c99!important;line-height:1.45!important}
.ze-home-section .rv-supporting{margin:14px 0 0;font-size:11px}
@keyframes ze-pulse{50%{box-shadow:0 0 0 6px #1fbb7518}}
@media(max-width:940px){.ze-home-board{grid-template-columns:repeat(2,minmax(0,1fr))}.ze-home-lane--past{grid-column:1/-1}.ze-home-lane--past .ze-home-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.ze-public-wrap{padding:17px 16px 43px}.ze-public-hero{padding:26px 20px;gap:7px}.ze-public-hero h1{font-size:clamp(30px,8vw,40px)}.ze-public-hero p{font-size:14px}.ze-public-grid{grid-template-columns:1fr}.ze-section-title{align-items:start;flex-direction:column;gap:3px}.ze-section-title>p{padding-left:50px}.ze-home-section{padding:19px 16px}.ze-home-heading{align-items:start;flex-direction:column}.ze-home-board{grid-template-columns:1fr}.ze-home-lane--past{grid-column:auto}.ze-home-lane--past .ze-home-list{grid-template-columns:1fr}}
@media(max-width:420px){.ze-public-hero{display:block}.ze-public-hero h1{letter-spacing:-1.2px}.ze-event-card{padding:17px}.ze-event-card--compact{padding:14px}.ze-event-card-main{gap:11px}.ze-date-tile{min-width:59px;width:59px}}
@media(prefers-reduced-motion:reduce){.ze-status-dot{animation:none!important}.ze-event-card,.ze-primary{transition:none!important}.ze-event-card:hover,.ze-primary:hover{transform:none!important}}


/* Illustrated event tickets — one visual system on the homepage and in Explore. */
.rv-landing-hero + .ze-home-section{
  margin-top:48px; /* clear separation from the hero + rotating speech bubble */
  padding-top:30px;
}
.ze-home-section{
  background:
    radial-gradient(circle at 91% -12%,#e6d7ff 0,transparent 34%),
    radial-gradient(circle at 2% 98%,#e9f7ff 0,transparent 35%),
    linear-gradient(142deg,#fcfaff,#fff);
}
.ze-home-heading{margin-bottom:15px}
.ze-home-board{gap:12px}
.ze-home-lane-header{margin-bottom:9px}

/* Full-bleed illustrated header makes the card feel like a mini event ticket. */
.ze-event-card{
  position:relative;
  padding:0;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
  box-shadow:0 7px 20px #503a850f;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.ze-event-card--open,
.ze-event-card--past{background:#fff}
.ze-event-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px #4e347626}
.ze-event-cover{
  position:relative;
  isolation:isolate;
  box-sizing:border-box;
  min-height:99px;
  overflow:hidden;
  padding:11px 14px;
  background:linear-gradient(114deg,#5d3aa9 0%,#8c61dd 57%,#c3aafa 100%);
}
.ze-event-card--open .ze-event-cover{
  background:linear-gradient(116deg,#146f5c 0%,#249c85 60%,#8ce0c0 100%);
}
.ze-event-card--past .ze-event-cover{
  background:linear-gradient(115deg,#6c6889 0%,#9994b0 60%,#d0cbe2 100%);
}
.ze-event-cover::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:
    radial-gradient(circle at 10% 105%,#ffffff35 0 26px,transparent 27px),
    radial-gradient(circle at 82% 13%,transparent 0 34px,#ffffff28 35px 37px,transparent 38px),
    radial-gradient(circle at 53% 66%,#ffffff20 0 6px,transparent 7px),
    linear-gradient(150deg,transparent 65%,#ffffff1a 65% 66%,transparent 66%);
}
.ze-event-cover::after{
  content:"x²  +  ÷";
  position:absolute;
  left:20px;
  bottom:10px;
  color:#fff;
  font-size:20px;
  letter-spacing:12px;
  font-weight:800;
  opacity:.22;
  white-space:nowrap;
}
.ze-event-cover-star{
  position:absolute;
  top:37px;
  left:52%;
  font-size:23px;
  color:#ffedba;
  opacity:.8;
  transform:rotate(-12deg);
}
.ze-event-card-top{position:relative;z-index:2}
.ze-event-cover .ze-status{
  color:#fff;
  background:#ffffff26;
  border:1px solid #ffffff73;
  backdrop-filter:blur(7px);
}
.ze-event-cover .ze-grade-tag{
  color:#fff;
  background:#291c5138;
  border:1px solid #ffffff35;
  backdrop-filter:blur(7px);
}
.ze-event-cover .ze-status-dot{background:#fff}
.ze-event-cover .ze-status--open .ze-status-dot{box-shadow:0 0 0 4px #ffffff3d}
.ze-event-card-main{
  position:relative;
  z-index:3;
  align-items:flex-start;
  gap:11px;
  margin:-20px 0 7px;
  padding:0 14px;
}
.ze-date-tile{
  width:61px;
  min-width:61px;
  padding:6px 4px 7px;
  border:1px solid #ece3f7;
  border-radius:12px;
  background:#fff;
  box-shadow:0 6px 13px #34264c24;
}
.ze-event-card--open .ze-date-tile,
.ze-event-card--past .ze-date-tile{
  background:#fff;
  box-shadow:0 6px 13px #34264c20;
}
.ze-event-card-copy{padding-top:27px}
.ze-event-card-copy h3{font-size:18px;margin:0 0 4px;line-height:1.27}
.ze-event-card-copy p{font-size:12px;line-height:1.48;-webkit-line-clamp:2}
.ze-event-card-footer{
  margin:0 14px;
  padding:9px 0 11px;
  border-top:1px solid #f0eaf6;
}
.ze-card-facts{gap:6px 9px;font-size:11px}
.ze-card-action{
  display:flex;
  box-sizing:border-box;
  width:100%;
  min-height:35px;
  margin-top:8px;
  padding:7px 11px;
  background:#f1e9ff;
  color:#6e44b3!important;
}
.ze-event-card--open .ze-card-action{
  background:#167f6b;
  color:#fff!important;
}
.ze-event-card--open .ze-card-action:hover{background:#0f6655}

/* Narrow homepage lane: less white space but still a readable date + title. */
.ze-event-card.ze-event-card--compact{padding:0}
.ze-event-card--compact .ze-event-cover{min-height:75px;padding:9px 12px}
.ze-event-card--compact .ze-event-cover::after{bottom:7px;left:15px;font-size:16px;letter-spacing:8px}
.ze-event-card--compact .ze-event-cover-star{font-size:16px;top:35px}
.ze-event-card--compact .ze-event-card-main{gap:9px;margin:-17px 0 6px;padding:0 12px}
.ze-event-card--compact .ze-date-tile{width:50px;min-width:50px}
.ze-event-card--compact .ze-event-card-copy{padding-top:24px}
.ze-event-card--compact .ze-event-card-copy h3{font-size:15px;line-height:1.25;margin-bottom:4px}
.ze-event-card--compact .ze-event-card-copy p{font-size:11px;line-height:1.4;-webkit-line-clamp:2}
.ze-event-card--compact .ze-event-card-footer{margin:0 12px;padding:7px 0 9px}
.ze-event-card--compact .ze-card-facts{font-size:10px;gap:4px 7px}
.ze-event-card--compact .ze-card-action{margin-top:6px;padding:6px 10px;min-height:32px}
.ze-event-card--compact .ze-status{padding:3px 8px;min-height:23px}
.ze-event-card--compact .ze-grade-tag{padding:4px 7px}

/* Illustrate empty cards, too — the board should not look unfinished
   before the first event is published. */
.ze-home-empty{
  flex-direction:row;
  justify-content:space-between;
  min-height:126px;
  gap:9px;
  padding:10px 7px 10px 15px;
  border:1px solid #ded4ee;
  background:linear-gradient(125deg,#fff,#f6f0ff);
  text-align:left;
  overflow:hidden;
}
.ze-home-lane--open .ze-home-empty{background:linear-gradient(120deg,#fff,#eafbf5);border-color:#cde8dd}
.ze-home-lane--past .ze-home-empty{background:linear-gradient(120deg,#fff,#f1eff6);border-color:#e7e3ef}
.ze-home-empty::after{
  content:"✦";
  display:grid;
  place-items:center;
  flex:none;
  width:60px;
  height:60px;
  border-radius:18px;
  background:#ece3fa;
  color:#9675c9;
  font-size:32px;
}
.ze-home-lane--open .ze-home-empty::after{background:#def6eb;color:#278b71}
.ze-home-lane--past .ze-home-empty::after{background:#eae7f1;color:#8c829f}
.ze-home-empty p{font-size:12px!important;font-weight:650;line-height:1.4!important}

@media(max-width:940px){
  .rv-landing-hero + .ze-home-section{margin-top:42px}
}
@media(max-width:680px){
  .rv-landing-hero + .ze-home-section{margin-top:33px;padding-top:22px}
  .ze-home-board{gap:12px}
  .ze-event-cover{min-height:100px}
  .ze-home-empty{min-height:116px}
}
@media(max-width:420px){
  .ze-event-card-main{padding:0 12px}
  .ze-event-card-footer{margin:0 12px}
  .ze-date-tile{min-width:56px;width:56px}
}
@media(prefers-reduced-motion:reduce){
  .ze-event-card:hover{transform:none}
}


/* Community event context: low-key, readable parent update copy. */
.ze-home-note{margin:12px 1px 0;color:#766b86;font-size:12px;line-height:1.55}
.ze-public-hero .ze-parent-note{margin-top:13px;max-width:600px;font-size:12px;line-height:1.6;color:#6c5884}
@media(max-width:680px){
  .ze-home-note{font-size:11.5px;line-height:1.5}
  .ze-public-hero .ze-parent-note{font-size:11.5px}
}
