/* Event page refresh — Direction A. Loaded only on the event detail page.
   All selectors namespaced .evt- to avoid colliding with the Canvas theme. */

.evt {
  --evt-navy:#262262;
  --evt-red:#d95350;
  --evt-blue:#2b99b9;
  --evt-ink:#3a3a42;
  --evt-muted:#5b5b63;
  --evt-line:#e7e4dd;
  --evt-tint:#f6f4ef;
  --evt-wrap:1140px;
  color:var(--evt-ink);
  font-family:'Raleway','Lato',-apple-system,BlinkMacSystemFont,sans-serif;
  line-height:1.6;
}
.evt *{box-sizing:border-box;}
.evt img{max-width:100%;height:auto;}
.evt a{color:var(--evt-blue);}

/* ---- Hero ---- */
.evt-hero{
  position:relative;
  width:100%;                 /* column-flex container won't fill its block parent on its own */
  background:#262262 center/cover no-repeat;
  min-height:380px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:34px 0 38px;
}
.evt-hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(28,24,64,.30) 0%,rgba(28,24,64,.86) 100%);
}
.evt-hero-in{position:relative;width:92%;max-width:var(--evt-wrap);margin:0 auto;}
.evt-crumb{font-size:12px;letter-spacing:.04em;color:rgba(255,255,255,.6);margin-bottom:auto;}
.evt-crumb a{color:rgba(255,255,255,.6);text-decoration:none;}
.evt-pill{
  display:inline-block;background:var(--evt-red);color:#fff;
  font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  padding:5px 12px;border-radius:20px;margin:26px 0 10px;
}
.evt-pill.is-muted{background:#6c6a82;}
.evt-hero h1{
  color:#fff;font-weight:800;letter-spacing:-.01em;
  font-size:clamp(28px,4vw,46px);line-height:1.12;margin:0 0 8px;
}
.evt-when{color:#f0d9d8;font-size:clamp(15px,1.6vw,19px);font-weight:600;margin:0;}

/* ---- Layout ---- */
.evt-wrap{
  width:92%;max-width:var(--evt-wrap);margin:0 auto;
  display:grid;grid-template-columns:1fr 300px;gap:42px;
  padding:46px 0;
}
.evt-main{min-width:0;}
.evt-aside{min-width:0;}

/* ---- Type / sections ---- */
.evt-eyebrow{
  color:var(--evt-red);font-size:12px;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;
}
.evt-h{color:var(--evt-navy);font-weight:800;font-size:24px;letter-spacing:-.01em;margin:0 0 14px;}
.evt-main p{font-size:16px;}
.evt-section{margin:0 0 38px;}
.evt-section:last-child{margin-bottom:0;}
.evt-divider{height:1px;background:var(--evt-line);border:0;margin:34px 0;}
.evt-figure{margin:20px 0;border-radius:8px;overflow:hidden;}

/* ---- Inline notices ---- */
.evt-notice{
  background:#fbf3e6;border:1px solid #e7cf9f;border-left:4px solid #d99b29;
  border-radius:6px;padding:14px 16px;margin:0 0 20px;font-size:14.5px;
}
.evt-notice.is-alert{background:#fbe9e8;border-color:#e0928e;border-left-color:var(--evt-red);}
.evt-notice strong{color:var(--evt-navy);}

/* ---- Partner panel ---- */
.evt-partner{background:var(--evt-tint);border:1px solid var(--evt-line);border-radius:10px;padding:26px;}
.evt-partner-row{display:flex;gap:22px;align-items:flex-start;}
.evt-partner-logo{
  flex:0 0 130px;background:#fff;border:1px solid var(--evt-line);border-radius:8px;
  padding:14px;display:flex;align-items:center;justify-content:center;
}
.evt-partner-body h3{color:var(--evt-navy);font-size:19px;margin:0 0 6px;}
.evt-partner-body p{color:var(--evt-muted);font-size:14.5px;}

/* ---- Food service (inside the info card) ---- */
.evt-card-food{
  display:flex;gap:11px;align-items:center;
  margin-top:13px;padding-top:14px;border-top:1px solid #f0eee8;
}
.evt-card-food-logo{
  flex:0 0 50px;width:50px;height:50px;object-fit:contain;
  background:#fff;border:1px solid var(--evt-line);border-radius:6px;padding:5px;
}
.evt-card-food-label{
  font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--evt-red);
}
.evt-card-food-name{font-size:14px;font-weight:700;color:var(--evt-navy);line-height:1.3;}
.evt-card-food-name a{color:var(--evt-navy);text-decoration:none;}
.evt-card-food-name a:hover{color:var(--evt-blue);}

/* ---- Buttons ---- */
.evt-btn{
  display:inline-block;background:var(--evt-red);color:#fff;text-decoration:none;
  font-weight:700;font-size:15px;padding:12px 22px;border-radius:8px;text-align:center;
}
.evt-btn:hover{background:#c4433f;color:#fff;}
.evt-btn-outline{
  display:inline-block;border:1.5px solid var(--evt-navy);color:var(--evt-navy);
  text-decoration:none;font-weight:700;font-size:13px;padding:8px 18px;border-radius:24px;
}
.evt-btn-block{display:block;width:100%;}

/* ---- Sponsors ---- */
.evt-sponsors{display:flex;flex-wrap:wrap;gap:18px;align-items:center;}
.evt-sponsors a,.evt-sponsors img{max-height:90px;}

/* ---- Prev / next event nav ---- */
.evt-prevnext{display:flex;gap:16px;}
.evt-eventnav{
  flex:1;display:block;text-decoration:none;
  background:#fff;border:1px solid var(--evt-line);border-radius:10px;
  padding:16px 18px;transition:border-color .15s,box-shadow .15s,transform .15s;
}
.evt-eventnav:hover{
  border-color:var(--evt-blue);box-shadow:0 6px 18px rgba(38,34,98,.10);transform:translateY(-2px);
}
.evt-eventnav.is-next{text-align:right;}
.evt-eventnav-label{
  display:block;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--evt-red);margin-bottom:6px;
}
.evt-eventnav-title{display:block;font-size:15px;font-weight:700;color:var(--evt-navy);line-height:1.3;}
.evt-eventnav-date{display:block;font-size:13px;color:var(--evt-muted);margin-top:3px;}

/* ---- Info card ---- */
.evt-card{
  background:#fff;border:1px solid var(--evt-line);border-radius:12px;
  box-shadow:0 8px 26px rgba(38,34,98,.10);padding:22px;
  position:sticky;top:24px;
}
.evt-card-row{
  display:flex;gap:11px;font-size:14px;padding:11px 0;
  border-bottom:1px solid #f0eee8;align-items:flex-start;
}
.evt-card-row:last-of-type{border-bottom:none;}
.evt-card-ic{flex:0 0 20px;font-size:15px;line-height:1.4;}
.evt-card-row b{color:var(--evt-navy);}
.evt-card .evt-btn{margin-top:16px;}
.evt-card-cal{display:block;text-align:center;margin-top:12px;font-weight:700;font-size:13px;}

/* ---- Location ---- */
.evt-locband{background:var(--evt-tint);border-top:1px solid var(--evt-line);}
.evt-locband-in{width:92%;max-width:var(--evt-wrap);margin:0 auto;padding:40px 0;}
.evt-map{height:340px;border-radius:8px;overflow:hidden;margin:8px 0 14px;}

/* ---- Subscribe ---- */
.evt-subscribe{width:92%;max-width:var(--evt-wrap);margin:0 auto;padding:40px 0;}
.evt-subscribe-card{
  background:var(--evt-tint);border:1px solid var(--evt-line);border-radius:12px;
  padding:34px 36px;text-align:center;
}
.evt-subscribe-card .evt-eyebrow{margin-bottom:6px;}
.evt-subscribe-h{color:var(--evt-navy);font-size:24px;font-weight:800;margin:0 0 8px;}
.evt-subscribe-text{color:var(--evt-muted);font-size:15px;max-width:560px;margin:0 auto 20px;}
.evt-subscribe-fields{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;max-width:520px;margin:0 auto;}
.evt-subscribe-input{
  flex:1 1 240px;min-width:0;font-size:15px;padding:12px 15px;
  border:1px solid var(--evt-line);border-radius:8px;background:#fff;color:var(--evt-ink);
}
.evt-subscribe-input:focus{outline:none;border-color:var(--evt-blue);box-shadow:0 0 0 3px rgba(43,153,185,.15);}
.evt-subscribe-btn{flex:0 0 auto;border:0;cursor:pointer;}
.evt-subscribe-success{
  background:#eaf3ee;border:1px solid #b7d8c4;border-radius:8px;
  padding:14px 16px;margin-bottom:18px;text-align:left;
}
.evt-subscribe-success h3{color:var(--evt-navy);font-size:16px;margin:0 0 4px;}
.evt-subscribe-success p{font-size:13.5px;color:var(--evt-muted);margin:0;}
.evt-subscribe-error{display:block;color:var(--evt-red);font-size:13px;font-weight:600;margin-top:9px;}
.evt-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ---- Responsive ---- */
@media (max-width:900px){
  .evt-wrap{grid-template-columns:1fr;gap:30px;padding:30px 0;}
  .evt-aside{order:-1;}            /* info card directly under hero */
  .evt-card{position:static;box-shadow:0 4px 16px rgba(38,34,98,.10);}
  .evt-hero{min-height:280px;}
  .evt-partner-row{flex-direction:column;}
  .evt-partner-logo{flex:0 0 auto;}
  .evt-prevnext{flex-direction:column;}
  .evt-eventnav.is-next{text-align:left;}
}
