/* Event page composition only. Card/Badge/Button internals live in Octopus. */
.cinf-event {
    /* No-JS fallback: display line + card top padding + date divider spacing. */
    --cinf-event-overlap:calc(var(--type-display-size) * var(--type-display-leading) + var(--space-component-lg) * 3 + 1px);
    color:var(--color-text-primary);
}
.cinf-event__reading { padding-bottom:var(--space-structural-lg); }
.cinf-event:not([data-hero-overlap]) .cinf-event__reading { padding-top:var(--space-structural-md); }
.cinf-event__layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,24rem);gap:var(--space-structural-md);align-items:start; }
.cinf-event__booking { grid-column:2;grid-row:1;min-width:0;position:relative;z-index:1; }
.cinf-event[data-hero-overlap] .cinf-event__booking { margin-top:calc(-1 * var(--cinf-event-overlap)); }
.cinf-event__booking[data-sticky-fit] { position:sticky;top:var(--cinf-event-sticky-top); }
.cinf-event__article { grid-column:1;grid-row:1;min-width:0;max-width:76ch; }
.cinf-event__article > .octopus-editorial-navigation:first-child { margin-bottom:var(--space-component-xl); }
.cinf-event__article > .octopus-editorial-navigation:not(:first-child) { margin-top:var(--space-structural-md); }
.cinf-event__article > .octopus-editorial-navigation + .octopus-author-card { margin-top:var(--space-component-xl); }
.cinf-event[data-hero-overlap] .cinf-event__article { padding-top:var(--space-structural-md); }
.cinf-event__body { font-size:var(--type-body-lead-size);line-height:var(--type-body-leading);overflow-wrap:anywhere; }
.cinf-event__body > * { margin:0; }
.cinf-event__body > * + * { margin-top:var(--space-component-lg); }
.cinf-event__article-media { width:100%; }
.cinf-event__article-image { display:block;width:100%;height:auto;border-radius:16px; }
.cinf-event__body :is(h2,h3,h4) { color:var(--color-text-primary);scroll-margin-top:var(--cinf-event-sticky-top,8rem); }
.cinf-event__body h2 { font-size:var(--type-heading-2-size);line-height:var(--type-heading-2-leading);font-weight:var(--type-heading-2-weight);letter-spacing:var(--type-heading-2-tracking); }
.cinf-event__body h3 { font-size:var(--type-heading-3-size);line-height:var(--type-heading-3-leading);font-weight:var(--type-heading-3-weight); }
.cinf-event__body > :is(h2,h3,h4):not(:first-child) { margin-top:var(--space-structural-sm); }
.cinf-event__body :is(ul,ol) { padding-inline-start:var(--space-component-lg); }
.cinf-event__body li + li { margin-top:var(--space-component-xs); }
.cinf-event__body :is(img,video) { max-width:100%;height:auto; }
.cinf-event__body img { border-radius:16px; }
.cinf-event__body :is(iframe,table) { max-width:100%; }
.cinf-event__body :is(pre,.wp-block-table) { overflow:auto;max-width:100%;scrollbar-width:thin; }
.cinf-event__body a { color:var(--color-text-brand);text-decoration:underline; }
.cinf-event__share { display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-component-sm);padding-top:var(--space-component-xl);margin-top:var(--space-structural-md);border-top:1px solid var(--color-border-subtle);font-size:var(--type-body-secondary-size); }
.cinf-event__share [role=status]:empty { display:none; }
.cinf-event__article > .octopus-author-card { margin-top:var(--space-structural-md); }
.site-main > .cinf-event { animation:none;transform:none;opacity:1; }

@media(max-width:63.9375rem){
    /* Keep the full-width overlap clear of even a long Hero title/CTA. */
    .single-cinf_event .site-hero__inner { padding-bottom:calc(var(--hero-padding) + var(--cinf-event-hero-clearance,128px)); }
    .cinf-event__layout { grid-template-columns:minmax(0,1fr);gap:var(--space-structural-sm); }
    .cinf-event__booking,.cinf-event__article { grid-column:auto;grid-row:auto;max-width:none; }
    .cinf-event__booking[data-sticky-fit] { position:relative;top:auto; }
    .cinf-event[data-hero-overlap] .cinf-event__article { padding-top:0; }
}

@media(max-width:39.9375rem){
    .cinf-event { --cinf-event-overlap:calc(var(--type-display-size) * var(--type-display-leading) + var(--primitive-space-300) + var(--space-component-lg) + 1px); }
    .cinf-event__body { font-size:var(--type-body-size); }
}
