/* Event detail page — v0252
   Scoped page CSS only. Event Card v1.1 and ticketmodal stay in styles/components/cards.css.
*/

.event-detail-page{
  background:var(--cream);
}

.event-detail-main,
.event-detail-template{
  background:var(--cream);
}

.event-detail-template .wrap{
  width:min(1180px, calc(100% - 48px));
  margin-inline:auto;
  padding-inline:0;
}

.event-detail-row-hero{
  position:relative;
  overflow:hidden;
  padding:132px 0 0;
  background:var(--cream);
}

.event-detail-hero-grid{
  display:grid;
  grid-template-columns:minmax(0, 7fr) minmax(300px, 3fr);
  gap:clamp(36px,5vw,64px);
  align-items:start;
}

.event-detail-hero-copy{
  min-width:0;
  padding-bottom:36px;
}

.event-detail-back-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  margin-bottom:26px;
  color:var(--terracotta);
  font-size:.95rem;
  font-weight:800;
  text-decoration:none;
}

.event-detail-back-link span{
  transition:transform .22s ease;
}

.event-detail-back-link:hover span{
  transform:translateX(-3px);
}

.event-detail-hero-copy h1{
  max-width:13.4ch;
  margin:20px 0 22px;
  color:var(--ink);
  font-size:clamp(2.85rem,5.5vw,4.85rem);
  letter-spacing:-.045em;
  line-height:1.02;
}

.event-detail-hero-copy h1 em{
  color:var(--terracotta);
  font-style:italic;
}

.event-detail-excerpt{
  max-width:660px;
  margin:0;
  color:var(--ink-soft);
  font-family:var(--serif);
  font-size:clamp(1.24rem,1.8vw,1.58rem);
  font-style:italic;
  line-height:1.56;
}

.event-detail-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px;
}

.event-detail-primary-action,
.event-detail-secondary-action,
.event-detail-sidebar-ticket{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  border-radius:999px;
  font-family:var(--sans);
  font-size:.96rem;
  font-weight:600;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  transition:transform .22s ease, background .22s ease, border-color .22s ease;
}

.event-detail-primary-action,
.event-detail-sidebar-ticket{
  border:0;
  padding:0 28px;
  background:var(--terracotta);
  color:var(--cream);
  box-shadow:0 18px 38px -24px rgba(181,98,62,.75);
}

.event-detail-primary-action:hover,
.event-detail-sidebar-ticket:hover{
  background:var(--terracotta-deep);
  transform:translateY(-2px);
}

.event-detail-secondary-action{
  min-height:50px;
  padding:0 24px;
  border:1.5px solid rgba(44,38,32,.18);
  color:var(--ink);
  background:rgba(255,255,255,.34);
}

.event-detail-secondary-action:hover{
  border-color:var(--terracotta);
  color:var(--terracotta);
  transform:translateY(-2px);
}

.event-detail-cover{
  position:relative;
  margin:0;
  align-self:start;
  overflow:hidden;
  border-radius:30px;
  background:rgba(252,250,243,.68);
  box-shadow:0 32px 70px -50px rgba(44,38,32,.58);
}

.event-detail-cover img{
  display:block;
  width:100%;
  aspect-ratio:16 / 10.2;
  height:auto;
  object-fit:cover;
}

.event-detail-cover-caption{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.event-detail-date-badge,
.event-detail-price-badge{
  position:absolute;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 14px 28px -22px rgba(44,38,32,.5);
}

.event-detail-date-badge{
  top:16px;
  left:16px;
  display:grid;
  min-width:64px;
  min-height:64px;
  padding:8px;
  border-radius:17px;
  background:rgba(255,252,246,.94);
  text-align:center;
}

.event-detail-date-badge strong{
  color:var(--terracotta);
  font-family:var(--serif);
  font-size:1.75rem;
  line-height:.9;
}

.event-detail-date-badge small{
  color:var(--ink-soft);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.event-detail-price-badge{
  top:18px;
  right:18px;
  min-height:34px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--terracotta);
  color:#fff;
  font-size:.86rem;
  font-weight:800;
}

.event-detail-row-meta{
  background:#f4eddf;
}

.event-detail-meta-grid{
  display:grid;
  grid-template-columns:minmax(0, 7fr) minmax(300px, 3fr);
  gap:clamp(36px,5vw,64px);
  align-items:center;
  padding:24px 0;
  border-top:1px solid rgba(44,38,32,.12);
  border-bottom:1px solid rgba(44,38,32,.12);
}

.event-detail-host-block{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:center;
  min-width:0;
}

.event-detail-host-avatars{
  display:flex;
  align-items:center;
}

.event-detail-host-avatar{
  display:block;
  width:54px;
  height:54px;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.76);
  border-radius:50%;
  background:var(--sand);
  box-shadow:0 12px 26px -22px rgba(44,38,32,.52);
}

.event-detail-host-avatar + .event-detail-host-avatar{
  margin-left:-12px;
}

.event-detail-host-avatar img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.event-detail-host-block strong,
.event-detail-host-block span{
  display:block;
}

.event-detail-meta-kicker{
  color:var(--terracotta);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.event-detail-host-block strong{
  color:var(--ink);
  font-size:1rem;
  line-height:1.35;
}

.event-detail-host-block span:last-child{
  color:var(--ink-soft);
  font-size:.92rem;
}

.event-detail-meta-list{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.event-detail-meta-chip{
  display:flex;
  align-items:baseline;
  gap:7px;
  min-height:34px;
  padding:7px 12px;
  border:1px solid rgba(44,38,32,.10);
  border-radius:999px;
  background:rgba(255,255,255,.46);
}

.event-detail-meta-chip span{
  color:var(--ink-soft);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.event-detail-meta-chip time,
.event-detail-meta-chip b{
  color:var(--ink);
  font-size:.9rem;
  font-weight:700;
}

.event-detail-row-body{
  background:var(--cream);
}

.event-detail-body-grid{
  display:grid;
  grid-template-columns:minmax(0, 7fr) minmax(300px, 3fr);
  gap:clamp(36px,5vw,64px);
  align-items:stretch;
  padding-top:34px;
  padding-bottom:86px;
}

.event-detail-body-main{
  min-width:0;
}

.event-detail-prose{
  color:var(--ink);
  font-size:1.08rem;
  line-height:1.82;
}

.event-detail-prose > :first-child{
  margin-top:0;
}

.event-detail-prose > * + *{
  margin-top:1.15em;
}

.event-detail-prose .lead{
  color:var(--ink-soft);
  font-size:1.18rem;
  line-height:1.78;
}

.event-detail-prose h2{
  margin-top:1.45em;
  color:var(--ink);
  font-size:clamp(1.9rem,3vw,2.55rem);
  letter-spacing:-.025em;
  line-height:1.16;
}

.event-detail-prose ul{
  padding-left:1.15em;
}

.event-detail-prose li + li{
  margin-top:.55em;
}

.event-detail-host-card{
  margin-top:58px;
  padding:34px;
  border:1px solid rgba(44,38,32,.09);
  border-radius:28px;
  background:
    radial-gradient(220px 180px at 100% 0%, rgba(181,98,62,.08), transparent 72%),
    rgba(255,252,246,.78);
  box-shadow:0 26px 62px -54px rgba(44,38,32,.38);
}

.event-detail-host-card h2{
  margin:8px 0 18px;
  color:var(--ink);
  font-size:clamp(1.8rem,3vw,2.5rem);
}

.event-detail-host-card p{
  max-width:58em;
  margin:0;
  color:var(--ink-soft);
  font-size:1.02rem;
}

.event-detail-host-card-grid{
  display:flex;
  gap:12px;
  margin:0 0 18px;
}

.event-detail-host-card-grid img{
  width:72px;
  height:72px;
  border-radius:50%;
  object-fit:cover;
  border:3px solid rgba(255,255,255,.8);
  box-shadow:0 16px 28px -22px rgba(44,38,32,.55);
}

.event-detail-sidebar{
  min-width:0;
  height:100%;
  position:relative;
}

.event-detail-sidebar-sticky{
  position:sticky;
  top:96px;
  display:grid;
  gap:18px;
  width:100%;
}

.event-detail-side-card{
  padding:24px;
  border:1px solid rgba(44,38,32,.09);
  border-radius:26px;
  background:rgba(255,252,246,.84);
  box-shadow:0 26px 62px -54px rgba(44,38,32,.38);
}

.event-detail-side-card--cta{
  background:
    radial-gradient(210px 160px at 110% -10%, rgba(181,98,62,.13), transparent 70%),
    rgba(255,252,246,.94);
}

.event-detail-side-label{
  display:block;
  margin-bottom:8px;
  color:var(--terracotta);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.event-detail-side-card--cta strong{
  display:block;
  color:var(--ink);
  font-family:var(--serif);
  font-size:2.35rem;
  font-weight:400;
  line-height:1.05;
}

.event-detail-side-card p{
  margin:12px 0 0;
  color:var(--ink-soft);
  font-size:.96rem;
  line-height:1.62;
}

.event-detail-sidebar-ticket{
  width:100%;
  margin-top:20px;
}

.event-detail-side-card h2{
  margin:0 0 16px;
  color:var(--ink);
  font-family:var(--serif);
  font-size:1.55rem;
}

.event-detail-facts{
  display:grid;
  gap:13px;
  margin:0;
}

.event-detail-facts div{
  display:grid;
  gap:2px;
  padding-bottom:13px;
  border-bottom:1px solid rgba(44,38,32,.09);
}

.event-detail-facts div:last-child{
  padding-bottom:0;
  border-bottom:0;
}

.event-detail-facts dt{
  color:var(--terracotta);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.event-detail-facts dd{
  margin:0;
  color:var(--ink);
  font-size:.96rem;
  line-height:1.42;
}

.event-detail-side-card--soft{
  background:rgba(241,233,212,.58);
}

.event-detail-side-card--soft a{
  display:inline-flex;
  margin-top:14px;
  color:var(--terracotta);
  font-weight:800;
  text-decoration:none;
}

.event-detail-row-related{
  padding:90px 0 116px;
  background:var(--olive);
  color:var(--cream);
}

.event-detail-row-related .eyebrow{
  color:var(--sand);
}

.event-detail-row-related .eyebrow::before{
  background:var(--sand);
}

.event-detail-related-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:24px;
  margin-bottom:42px;
}

.event-detail-related-head h2{
  margin:16px 0 0;
  color:var(--cream);
  font-size:clamp(2.1rem,3.8vw,3.2rem);
}

.event-detail-related-head a{
  color:var(--cream);
  text-decoration:none;
  font-weight:600;
  font-size:.92rem;
  border-bottom:1.5px solid rgba(250,246,236,.4);
  padding-bottom:3px;
}

.event-detail-related-head a:hover{
  border-color:var(--cream);
}

.event-detail-row-related .event-card-grid{
  margin-top:0;
}

@media(max-width:980px){
  .event-detail-template .wrap{
    width:min(1180px, calc(100% - 32px));
  }

  .event-detail-row-hero{
    padding-top:104px;
  }

  .event-detail-hero-grid,
  .event-detail-meta-grid,
  .event-detail-body-grid{
    grid-template-columns:1fr;
    gap:26px;
  }

  .event-detail-hero-copy{
    padding-bottom:0;
  }

  .event-detail-meta-list{
    justify-content:flex-start;
  }

  .event-detail-body-grid{
    padding-top:28px;
    padding-bottom:72px;
    gap:42px;
  }

  .event-detail-sidebar{
    height:auto;
  }

  .event-detail-sidebar-sticky{
    position:static;
    top:auto;
  }
}

@media(max-width:680px){
  .event-detail-template .wrap{
    width:min(1180px, calc(100% - 28px));
  }

  .event-detail-row-hero{
    padding-top:92px;
  }

  .event-detail-hero-copy h1{
    font-size:clamp(2.55rem, 11vw, 4.35rem);
    margin-top:16px;
  }

  .event-detail-excerpt{
    font-size:1.16rem;
  }

  .event-detail-hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .event-detail-primary-action,
  .event-detail-secondary-action{
    width:100%;
  }

  .event-detail-cover{
    border-radius:24px;
  }

  .event-detail-meta-grid{
    padding:20px 0;
  }

  .event-detail-host-block{
    grid-template-columns:1fr;
    gap:12px;
  }

  .event-detail-meta-list{
    display:grid;
    grid-template-columns:1fr;
  }

  .event-detail-meta-chip{
    width:max-content;
    max-width:100%;
  }

  .event-detail-prose{
    font-size:1.02rem;
  }

  .event-detail-host-card,
  .event-detail-side-card{
    padding:22px;
    border-radius:22px;
  }

  .event-detail-row-related{
    padding:72px 0 84px;
  }
}


/* v0254 Eventdetail hero polish
   - top "Terug naar alle events" moved to bottom of related row;
   - hero image now follows the wider blogdetail 50/50 hero rhythm;
   - mobile top spacing above the LifeSkool Event eyebrow is reduced.
*/
.event-detail-template .wrap{
  width:min(1260px, calc(100% - 48px));
}

.event-detail-hero-grid{
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:clamp(42px,5.2vw,78px);
  align-items:start;
}

.event-detail-hero-copy{
  padding-bottom:0;
}

.event-detail-hero-copy .eyebrow{
  margin-bottom:18px;
}

.event-detail-hero-copy h1{
  max-width:12.8ch;
  margin:0 0 24px;
}

.event-detail-cover{
  width:100%;
}

.event-detail-cover img{
  aspect-ratio:16 / 10.2;
}

.event-detail-related-back-row{
  display:flex;
  justify-content:center;
  width:100%;
  margin-top:34px;
}

.event-detail-back-link-bottom{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--cream);
  font-size:.95rem;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(250,246,236,.38);
  padding-bottom:3px;
}

.event-detail-back-link-bottom span{
  transition:transform .22s ease;
}

.event-detail-back-link-bottom:hover{
  color:var(--sand);
  border-color:var(--sand);
}

.event-detail-back-link-bottom:hover span{
  transform:translateX(-3px);
}

@media(max-width:980px){
  .event-detail-template .wrap{
    width:calc(100% - 32px);
  }

  .event-detail-row-hero{
    padding-top:88px;
  }

  .event-detail-hero-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .event-detail-hero-copy .eyebrow{
    margin-bottom:14px;
  }

  .event-detail-hero-copy h1{
    max-width:100%;
    margin-top:0;
  }
}

@media(max-width:680px){
  .event-detail-template .wrap{
    width:calc(100% - 32px);
  }

  .event-detail-row-hero{
    padding-top:76px;
  }

  .event-detail-hero-grid{
    gap:22px;
  }

  .event-detail-hero-copy h1{
    margin-top:0;
  }

  .event-detail-related-back-row{
    margin-top:28px;
  }
}


/* Event detail today status — v0271
   Detail page uses the same today status language as Event Card v1.1.
*/
.event-detail-cover--today{
  border:1px solid rgba(181,98,62,.24);
}

.event-detail-status-badge{
  left:18px;
  bottom:18px;
}

.event-detail-template--today .event-detail-meta-chip:first-child{
  border-color:rgba(181,98,62,.28);
  background:rgba(181,98,62,.06);
}

@media (max-width: 760px){
  .event-detail-status-badge{
    left:14px;
    bottom:14px;
  }
}


/* v0272 — Event detail started/past state
   Detail pages stay available for SEO/archive, but ticket actions close after event_start.
*/
.event-detail-status-notice{
  max-width:640px;
  margin:26px 0 0;
  padding:18px 20px;
  border:1px solid rgba(181,98,62,.18);
  border-radius:22px;
  background:#f4eddf;
  color:var(--ink);
  box-shadow:0 18px 42px -36px rgba(44,38,32,.28);
}

.event-detail-status-notice[hidden]{
  display:none !important;
}

.event-detail-status-notice strong{
  display:block;
  color:var(--ink);
  font-family:var(--serif);
  font-size:1.34rem;
  font-weight:500;
  line-height:1.14;
}

.event-detail-status-notice p{
  margin:8px 0 0;
  color:var(--ink-soft);
  font-size:.98rem;
  line-height:1.58;
}

.event-detail-status-notice a{
  display:inline-flex;
  margin-top:12px;
  color:var(--terracotta);
  font-weight:800;
  text-decoration:none;
}

.event-detail-primary-action.event-ticket-is-disabled,
.event-detail-sidebar-ticket.event-ticket-is-disabled,
.event-detail-primary-action[disabled],
.event-detail-sidebar-ticket[disabled],
.event-detail-primary-action[aria-disabled="true"],
.event-detail-sidebar-ticket[aria-disabled="true"]{
  border-color:rgba(44,38,32,.12);
  background:rgba(44,38,32,.12);
  color:rgba(44,38,32,.62);
  cursor:not-allowed;
  box-shadow:none;
}

.event-detail-ticket-closed-note{
  margin-top:12px !important;
  color:rgba(44,38,32,.62) !important;
  font-size:.9rem !important;
}

.event-detail-ticket-closed-note[hidden]{
  display:none !important;
}

.event-detail-template--in-progress .event-detail-meta-chip:first-child,
.event-detail-template--past .event-detail-meta-chip:first-child{
  border-color:rgba(44,38,32,.14);
  background:rgba(244,237,223,.72);
}

.event-detail-template--past .event-detail-cover img{
  filter:saturate(.82) contrast(.98);
}

@media(max-width:760px){
  .event-detail-status-notice{
    margin-top:22px;
    padding:16px 17px;
    border-radius:20px;
  }
}

/* v0273 — Detail countdown/start state
   Starting-soon uses the same quiet accent language as today.
   Past events keep the detail page, but no past badge is shown over the image.
*/
.event-detail-template--starting-soon .event-detail-meta-chip:first-child{
  border-color:rgba(181,98,62,.28);
  background:rgba(181,98,62,.06);
}

.event-detail-template--starting-soon .event-detail-cover{
  border:1px solid rgba(181,98,62,.22);
}

/* v0274 — Past event detail archive state
   Past event detail pages remain available for SEO/archive, but the ticket CTA/card disappear.
   The page shows a calm archive line with two next-step links instead of a boxed warning.
*/
.event-detail-primary-action[hidden],
.event-detail-sidebar-ticket[hidden],
.event-detail-side-card--cta[hidden],
.event-detail-ticket-closed-note[hidden]{
  display:none !important;
}

.event-detail-archive-state{
  max-width:none;
  margin:28px 0 0;
}

.event-detail-archive-state[hidden]{
  display:none !important;
}

.event-detail-archive-title{
  margin:0;
  color:var(--ink);
  font-family:var(--sans);
  font-size:1.08rem;
  font-weight:500;
  letter-spacing:0;
  line-height:1.65;
}

.event-detail-archive-title time{
  color:var(--terracotta);
  font-style:italic;
}

.event-detail-archive-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:22px;
}

.event-detail-archive-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:14px 22px;
  border-radius:999px;
  border:1px solid rgba(44,38,32,.14);
  color:var(--ink);
  font-family:var(--sans);
  font-size:.96rem;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.event-detail-archive-link--primary{
  border-color:transparent;
  background:var(--terracotta);
  color:var(--cream);
}

.event-detail-archive-link:hover,
.event-detail-archive-link:focus-visible{
  transform:translateY(-1px);
}

@media(max-width:760px){
  .event-detail-archive-state{
    margin-top:28px;
  }

  .event-detail-archive-title{
    font-size:1rem;
    line-height:1.6;
  }

  .event-detail-archive-actions{
    gap:12px;
  }

  .event-detail-archive-link{
    width:100%;
  }
}

/* v0288 — Event detail meta row and body rhythm polish
   - Meta row is compact, borderless and right-aligned on desktop.
   - Hero has breathing room above the meta row.
   - Lead paragraph uses the same typography as normal prose.
   - H2 spacing in event body is reduced.
*/
@media(min-width:681px){
  .event-detail-row-hero{
    padding-bottom:46px !important;
  }
}

.event-detail-meta-grid{
  align-items:center;
  padding:20px 0 18px;
  border-top:0 !important;
  border-bottom:0 !important;
}

.event-detail-meta-list{
  display:grid;
  grid-template-columns:repeat(4, max-content);
  justify-content:end;
  align-items:start;
  gap:clamp(18px, 3.2vw, 38px);
  text-align:right;
}

.event-detail-meta-chip{
  display:grid;
  justify-items:end;
  align-items:start;
  gap:4px;
  min-height:0;
  padding:0;
  border:0 !important;
  border-radius:0;
  background:transparent !important;
}

.event-detail-meta-chip span{
  color:var(--terracotta);
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.16em;
  line-height:1.2;
  text-transform:uppercase;
}

.event-detail-meta-chip time,
.event-detail-meta-chip b{
  color:var(--ink);
  font-size:.94rem;
  font-weight:700;
  line-height:1.35;
  white-space:nowrap;
}

.event-detail-prose .lead{
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
}

.event-detail-prose h2{
  margin-top:.82em;
}

.event-detail-prose p + h2,
.event-detail-prose ul + h2,
.event-detail-prose ol + h2{
  margin-top:1.02em;
}

@media(max-width:980px){
  .event-detail-meta-list{
    grid-template-columns:repeat(2, minmax(0, max-content));
    justify-content:start;
    text-align:left;
  }

  .event-detail-meta-chip{
    justify-items:start;
  }
}

@media(max-width:680px){
  .event-detail-row-hero{
    padding-bottom:24px !important;
  }

  .event-detail-meta-grid{
    padding:18px 0 16px;
  }

  .event-detail-meta-list{
    grid-template-columns:1fr 1fr;
    gap:14px 20px;
    width:100%;
  }

  .event-detail-meta-chip time,
  .event-detail-meta-chip b{
    white-space:normal;
  }

  .event-detail-prose h2{
    margin-top:.9em;
  }
}


/* v0289 — Event detail sidebar newsletter replaces duplicate Eventdetails card.
   Uses the same compact newsletter design language as blog detail. */
.event-detail-side-card--newsletter{
  background:var(--terracotta);
  color:#fff;
  border-color:transparent;
  box-shadow:0 24px 54px -42px rgba(181,98,62,.65);
}

.event-detail-side-card--newsletter .eyebrow{
  color:rgba(255,255,255,.72);
}

.event-detail-side-card--newsletter .eyebrow::before{
  background:rgba(255,255,255,.52);
}

.event-detail-side-card--newsletter h2{
  color:#fff;
  font-size:1.65rem;
  line-height:1.08;
  max-width:12ch;
}

.event-detail-side-card--newsletter p{
  color:rgba(255,255,255,.78);
}

.event-detail-side-card--newsletter .compact-email-form{
  display:grid;
  gap:10px;
  margin-top:18px;
}

.event-detail-side-card--newsletter .compact-email-field{
  width:100%;
  background:var(--cream);
  justify-content:initial;
}

.event-detail-side-card--newsletter .form-error,
.event-detail-side-card--newsletter .form-message--success{
  color:#fff;
}

/* v0290 — Event detail host label and mobile hero action spacing
   Single-host event detail pages use “Host”; multi-host pages use “Hosts”.
   Mobile hero spacing keeps a clear, consistent gap between the ticket CTA and the cover image.
*/
@media(max-width:680px){
  .event-detail-hero-grid{
    gap:34px !important;
  }

  .event-detail-hero-actions{
    margin-bottom:4px;
  }
}

/* v0291 — Event detail newsletter sidebar rhythm
   The “Nieuwe events in je inbox” side card gets its own breathing room
   above and below on desktop and mobile, without changing the shared card design. */
.event-detail-side-card--newsletter{
  margin-block:clamp(18px, 2.2vw, 26px);
}

@media(max-width:980px){
  .event-detail-side-card--newsletter{
    margin-block:24px;
  }
}

@media(max-width:680px){
  .event-detail-side-card--newsletter{
    margin-block:26px 28px;
  }
}
/* Live event detail hardening */
.event-detail-host-avatar,
.event-host-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.event-detail-host-avatar:not(:has(img)),
.event-host-avatar:not(:has(img)) {
  line-height: 1;
  font-weight: 800;
  letter-spacing: .04em;
}

.event-detail-prose > p {
  margin: 0 0 1.05em;
}

.event-detail-prose > h2,
.event-detail-prose > h3 {
  margin: 1.7em 0 .65em;
}

.event-detail-prose > ul,
.event-detail-prose > ol {
  margin: 0 0 1.15em 1.25em;
  padding-left: 1em;
}

.event-detail-prose li + li {
  margin-top: .45em;
}

.event-detail-related-empty {
  max-width: 42rem;
  opacity: .9;
}
