/* =========================
   WP Layout Container
   (single source of truth)
========================= */
.layout-container {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
  padding-inline: var(--wp--style--root--padding-left, 1.5rem);
}

/* =========================
   Restore Gutenberg behavior
========================= */

/* Wide blocks */
.layout-container .alignwide {
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
}

/* Full width blocks */
.layout-container .alignfull {
  width: 100vw;
  max-width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* =========================
   Title / Intro Container
========================= */
.layout-intro {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
  padding-inline: var(--wp--style--root--padding-left, 1.5rem);
}

/* Apply padding ONLY to text elements */
.layout-intro > * {
  /*padding-inline: var(--wp--style--root--padding-left, 1.5rem);*/
}

/* Ensure breakout works */
.event-content {
  overflow: visible;
}


/* =========================
   HERO (full-bleed cover)
========================= */
.events-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

.events-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.events-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Overlay */
.events-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;

  background: linear-gradient(
    to top,
    rgba(0,0,0,0.6),
    rgba(0,0,0,0.2),
    transparent
  );
}

/* Content on top */
.events-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  color: #fff;
  padding-bottom: 3rem;
}


/* =========================
   Typography
========================= */
.events-hero__title {
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.2;
}

.events-hero__subtitle {
  margin-top: 1rem;
  font-size: 1.125rem;
}


/* =========================
   CONTENT LAYOUT
========================= */
.event-body {
  padding: 0; /* no artificial spacing */
}

.event-body__inner {
  display: grid;
  /*grid-template-columns: 1fr 300px;*/
  gap: 2rem;
}

/* main content aligns via layout-container */
.event-content {
  width: 100%;
}

/* sidebar */
.event-aside__inner {
  position: sticky;
  top: 2rem;
}


/* =========================
   Responsive
========================= */
@media (max-width: 900px) {
  .event-body__inner {
    grid-template-columns: 1fr;
  }
}

:where(.wp-site-blocks) > * {
  margin-block-start: 0rem;
}