/* Public event presentation. Loaded after the shared site theme. */
body.public-event {
  --event-ink: var(--public-ink);
  --event-muted: var(--public-muted);
  --event-accent: var(--public-action);
  --event-accent-hover: var(--public-action-hover);
  --event-line: var(--public-line);
  --event-surface: var(--public-surface-alt);
  --experience-ink: var(--event-ink);
  --experience-muted: var(--event-muted);
  --experience-pink: var(--event-accent);
  --experience-purple: var(--event-ink);
  --experience-page-bg: #fff;
  --experience-card-shadow: none;
  --experience-card-shadow-strong: 0 8px 24px rgb(11 32 72 / 7%);
  color: var(--event-ink);
  background: #fff;
}

body.public-event #main-content :is(h1, h2, h3, h4, p, a, span, strong, small, button) {
  letter-spacing: 0;
}

.congress-public-sections section[id] {
  scroll-margin-top: 144px;
}

html.motion-ready :is(.congress-editorial, .congress-public-sections) [data-reveal],
html.motion-ready .congress-public-sections > [data-reveal] {
  opacity: 1;
  transform: none;
  transition: none;
}

.congress-editorial,
.congress-editorial .congress-hero-media {
  min-height: 0;
  color: var(--event-ink);
  background: var(--event-surface);
}

.congress-editorial::before,
.congress-editorial::after,
.congress-public-sections .congress-pricing-section::before {
  content: none;
}

.congress-editorial .congress-hero-media img {
  object-fit: cover;
  object-position: center;
  filter: none;
  transform: none;
}

.congress-editorial .congress-hero-media::after {
  background: rgb(255 255 255 / 78%);
}

.congress-editorial .congress-hero-inner {
  display: flex;
  align-items: center;
  min-height: min(620px, calc(100svh - var(--public-header-offset, 134px) - 110px));
  padding-block: 64px;
}

.congress-editorial .congress-hero-copy {
  width: 100%;
  max-width: 960px;
}

.congress-editorial .section-kicker,
.congress-public-sections .section-kicker {
  margin-bottom: 16px;
  color: var(--event-accent);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

.congress-editorial h1 {
  max-width: 18ch;
  color: var(--event-ink);
  font-size: var(--public-title-size);
  font-weight: 700;
  line-height: 1.06;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.congress-editorial .congress-subtitle {
  max-width: 620px;
  margin-top: 20px;
  color: var(--public-hero-text);
  font-size: 20px;
  line-height: 1.6;
}

.congress-editorial .congress-meta {
  gap: 12px 24px;
  margin-top: 28px;
}

.congress-editorial .congress-meta span {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  min-height: 0;
  min-width: 0;
  padding: 0;
  color: var(--event-ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  backdrop-filter: none;
  overflow-wrap: anywhere;
}

.congress-editorial .congress-meta i {
  flex: 0 0 auto;
  color: var(--event-accent);
}

.congress-editorial .congress-actions {
  gap: 12px;
  margin-top: 32px;
}


.congress-editorial-summary {
  background: #fff;
  border-bottom: 1px solid var(--event-line);
}

.congress-editorial-summary .congress-hero-signal {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 40px;
  margin: 0;
  padding-block: 24px;
}

.congress-editorial-summary .congress-hero-signal span {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  min-height: 0;
  padding: 0;
  color: var(--event-muted);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: 14px;
  font-weight: 400;
  backdrop-filter: none;
}

.congress-editorial-summary .congress-hero-signal strong {
  color: var(--event-ink);
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
}

.congress-editorial-summary .congress-section-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 24px;
  margin: 0;
  padding-block: 12px;
  border-top: 1px solid var(--event-line);
}

.congress-editorial-summary .congress-section-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 4px;
  color: var(--event-ink);
  background: transparent;
  border: 0;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

.congress-editorial-summary .congress-section-nav a:hover {
  color: var(--event-accent);
  text-decoration: underline;
  text-underline-offset: 6px;
}

.congress-public-sections > .section,
.congress-public-sections > .section.section-alt {
  padding-block: var(--public-section-space);
  color: var(--event-ink);
  background: #fff;
  border-radius: 0;
}

.congress-public-sections > .section:is(.congress-countdown-section, .congress-gallery-section, .congress-pricing-section, .congress-venue-section) {
  background: var(--event-surface);
}

.congress-public-sections .section-title,
.congress-public-sections .event-occurrences-heading .section-title {
  max-width: 900px;
  margin-bottom: 24px;
  color: var(--event-ink);
  font-size: var(--public-heading-size);
  font-weight: 600;
  line-height: 1.15;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.congress-public-sections :is(.section-lead, .cms-rich-html) {
  color: var(--event-muted);
  font-size: 17px;
  line-height: 1.75;
}

.congress-public-sections :is(.event-occurrences-heading, .congress-pricing-intro, .congress-sponsors-intro, .section-heading-row) {
  gap: 20px;
  margin-bottom: 28px;
}

.congress-public-sections :is(.event-occurrence, .agenda-item, .workshop-card, .congress-speaker-card, .simple-pricing-card, .sponsor-brand) {
  background: #fff;
  border-color: var(--event-line);
  border-radius: 8px;
  box-shadow: none;
}

.congress-public-sections :is(.event-occurrence, .agenda-item, .workshop-card, .congress-speaker-card, .simple-pricing-card, .sponsor-brand):is(:hover, :focus-within) {
  border-color: #a5b1c1;
  box-shadow: 0 6px 20px rgb(11 32 72 / 6%);
  transform: none;
}

.congress-public-sections :is(.agenda-day, .sponsor-tier, .collaborator-level-panel, .congress-venue-band) {
  padding: 24px 0 32px;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--event-line);
  border-radius: 0;
  box-shadow: none;
}

.congress-public-sections :is(.event-occurrence-meta span, .agenda-room-label, .agenda-slot-kicker, .agenda-slot-choice, .agenda-slot-count) {
  color: var(--event-ink);
}

.congress-public-sections :is(.event-occurrence time strong, .simple-pricing-price strong) {
  color: var(--event-ink);
  font-size: 32px;
}

.congress-public-sections .agenda-slot {
  padding: 24px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--event-line);
  border-radius: 0;
  box-shadow: none;
}

.congress-public-sections .agenda-slot.is-parallel {
  background: transparent;
  border-color: #b6d5da;
}

.congress-public-sections .agenda-slot::before { content: none; }
.congress-public-sections .agenda-item { background: var(--event-surface); }
.congress-public-sections .agenda-item > time { color: var(--event-ink); background: #e6ecf2; }
.congress-public-sections .agenda-slot.is-parallel .agenda-room-label { color: #075e6c; background: #e7f3f5; }

.congress-public-sections :is(.agenda-tags span, .simple-pricing-badge, .simple-pricing-offer, .pricing-audience-icon) {
  color: var(--event-ink);
  background: var(--event-surface);
  border-color: var(--event-line);
}

.congress-public-sections .simple-pricing-card {
  padding: 28px;
}

.congress-public-sections .simple-pricing-card.is-recommended {
  border-color: var(--event-accent);
  outline: none;
}

.congress-public-sections .congress-pricing-signal {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  color: var(--event-ink);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.congress-public-sections .congress-pricing-signal :is(strong, span, i) {
  color: var(--event-ink);
}

.congress-public-sections .congress-pricing-signal :is(strong, i) { font-size: 20px; }

.congress-public-sections .congress-price-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.congress-public-sections .congress-price-summary div {
  min-height: 0;
  padding: 12px 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
}

.congress-public-sections .congress-price-summary strong { font-size: 24px; }
.congress-public-sections .congress-price-summary span { font-size: 12px; line-height: 1.5; text-transform: none; }

.congress-public-sections .simple-pricing-card .price-card-actions .btn-secondary {
  color: var(--event-muted);
  background: #edf0f3;
  border-color: var(--event-line);
  border-radius: 6px;
}

.congress-public-sections .congress-gallery-carousel {
  background: transparent;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
}

.congress-public-sections .congress-gallery-carousel .carousel-item img {
  object-fit: contain;
  background: var(--event-surface);
}

.congress-public-sections .congress-countdown {
  padding: 0;
  color: var(--event-ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.congress-public-sections .congress-countdown :is(h2, p, strong, span) {
  color: var(--event-ink);
}

.congress-public-sections .congress-countdown .cms-countdown-grid > div {
  min-width: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.congress-public-sections .congress-countdown .cms-countdown-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.congress-public-sections .cms-countdown-grid strong {
  font-size: 36px;
  font-variant-numeric: tabular-nums;
}

.congress-public-sections .congress-countdown h2 {
  font-size: 24px;
}

@media (max-width: 991.98px) {
  .congress-editorial .congress-hero-inner {
    min-height: 0;
    padding-block: 48px;
  }
  .congress-public-sections :is(.congress-pricing-intro, .congress-sponsors-intro, .event-occurrences-heading, .section-heading-row) {
    align-items: flex-start;
  }
}

@media (max-width: 575.98px) {
  .congress-editorial .container-xxl,
  .congress-editorial-summary .container-xxl,
  .congress-public-sections .container-xxl { padding-inline: 20px; }

  .congress-editorial .congress-hero-inner { padding-block: 32px; }
  .congress-editorial h1 { line-height: 1.1; }
  .congress-editorial .section-kicker { margin-bottom: 12px; }
  .congress-editorial .congress-subtitle { margin-top: 16px; font-size: 17px; line-height: 1.5; }
  .congress-editorial .congress-meta { gap: 8px 16px; margin-top: 20px; }
  .congress-editorial .congress-meta span { flex: 0 1 auto; width: auto; font-size: 14px; }
  .congress-editorial .congress-actions { display: flex; flex-wrap: wrap; margin-top: 24px; gap: 10px; }
  .congress-editorial .congress-actions .btn { flex: 1 1 130px; width: auto; padding-inline: 12px; }
  .congress-editorial-summary .congress-hero-signal { gap: 16px 24px; padding-block: 20px; }
  .congress-editorial-summary .congress-hero-signal strong { font-size: 24px; }
  .congress-editorial-summary .congress-hero-signal span { flex: 0 1 auto; width: auto; font-size: 13px; }
  .congress-editorial-summary .congress-section-nav { gap: 0 20px; }
  .congress-public-sections :is(.section-lead, .cms-rich-html) { font-size: 16px; }
  .congress-public-sections .simple-pricing-card { padding: 22px; }
  .congress-public-sections .cms-countdown-grid strong { font-size: 28px; }
  body:has(.congress-editorial) .floating-whatsapp { width: 48px; height: 48px; right: 16px; }
}

/* Detail content shares the catalog's scale without changing admin section order. */
.public-event .congress-public-sections :is(.agenda-day > h3, .pricing-audience-heading h3, .workshop-card h3) {
  color: var(--event-ink);
  font-size: 22px;
  line-height: 1.35;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.public-event .congress-public-sections :is(.agenda-item h4, .congress-speaker-card h3) {
  color: var(--event-ink);
  font-size: 20px;
  line-height: 1.4;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.public-event .congress-public-sections :is(.pricing-audience-group, .congress-editorial-cta) {
  padding: 24px 0;
  background: transparent;
  border: 0;
  border-block: 1px solid var(--event-line);
  border-radius: 0;
  box-shadow: none;
}
.public-event .congress-public-sections .agenda-item {
  background: var(--public-surface);
}
.public-event .congress-public-sections .agenda-slot.is-parallel .agenda-item > time {
  color: var(--event-ink);
  background: var(--event-surface);
  border: 1px solid var(--event-line);
  border-radius: 4px;
}
.public-event .congress-public-sections .agenda-slot.is-parallel .agenda-slot-choice {
  color: #075e6c;
  background: #e7f3f5;
  border: 0;
  border-radius: 4px;
  box-shadow: none;
}
.public-event .congress-public-sections .agenda-slot.is-parallel .agenda-slot-kicker {
  color: #075e6c;
}
.public-event .congress-public-sections .agenda-slot-meta .agenda-slot-count {
  color: var(--event-muted);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.public-event .congress-public-sections :is(.agenda-item, .event-occurrence, .workshop-card, .simple-pricing-card, .sponsor-brand, .congress-speaker-card) {
  border-radius: var(--public-radius);
}
.public-event .congress-public-sections :is(.agenda-item, .event-occurrence, .workshop-card, .simple-pricing-card, .sponsor-brand, .congress-speaker-card):is(:hover, :focus-within) {
  box-shadow: none;
  transform: none;
}
.public-event .congress-public-sections :is(.agenda-tags span, .event-occurrence-meta span) {
  border-radius: 4px;
}
.public-event .congress-public-sections .agenda-room-label {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: 14px;
}
.public-event .congress-public-sections .congress-speaker-card {
  display: flex;
  flex-direction: column;
}
.public-event .congress-speaker-card > img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  background: var(--event-surface);
}
.public-event .congress-speaker-card > .speaker-card-content {
  flex: 1;
  padding: 24px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.public-event .speaker-featured-label {
  color: var(--event-accent);
  font-size: 13px;
  font-weight: 600;
}
.public-event :is(.speaker-icon-link, .speaker-profile-icon-link) {
  width: 44px;
  height: 44px;
  color: var(--event-accent);
  background: var(--public-surface);
  border: 1px solid var(--event-line);
  border-radius: var(--public-radius);
  box-shadow: none;
  transform: none;
}
.public-event :is(.speaker-icon-link, .speaker-profile-icon-link):hover {
  color: var(--event-accent-hover);
  background: var(--event-surface);
  border-color: var(--event-accent);
  box-shadow: none;
  transform: none;
}
.public-event .speaker-profile-link {
  min-height: 44px;
  color: var(--event-accent);
  background: transparent;
  border: 0;
  border-radius: 0;
  padding-inline: 0;
  box-shadow: none;
  font-size: 15px;
  flex-wrap: wrap;
}
.public-event .speaker-profile-link:hover {
  color: var(--event-accent-hover);
  background: transparent;
  box-shadow: none;
}
.public-event .congress-gallery-open {
  height: auto;
  aspect-ratio: 16 / 10;
  background: var(--event-surface);
}
.public-event .congress-gallery-open:hover img,
.public-event .congress-gallery-open:focus-visible img {
  transform: none;
  filter: none;
}
.public-event .congress-gallery-carousel .carousel-caption {
  position: static;
  max-width: none;
  padding: 20px 0;
  color: var(--event-ink);
  background: transparent;
  border-radius: 0;
  text-align: left;
  overflow-wrap: anywhere;
}
.public-event .congress-gallery-carousel .carousel-caption h3 {
  color: var(--event-ink);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
}
.public-event .congress-gallery-carousel .carousel-caption p {
  color: var(--event-muted);
  font-size: 16px;
  line-height: 1.6;
}
.public-event .congress-gallery-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding-block: 12px;
}
.public-event .congress-gallery-toolbar .carousel-indicators {
  position: static;
  display: flex;
  flex-wrap: wrap;
  flex: 1 1 100px;
  gap: 0;
  margin: 0;
  max-width: 440px;
}
.public-event .congress-gallery-toolbar .carousel-indicators button {
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  opacity: 1;
  position: relative;
}
.public-event .congress-gallery-toolbar .carousel-indicators button::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  inset: 17px;
  border: 1px solid var(--event-muted);
  border-radius: 50%;
}
.public-event .congress-gallery-toolbar .carousel-indicators button.active::before {
  background: var(--event-accent);
  border-color: var(--event-accent);
}
.public-event .congress-gallery-toolbar :is(.carousel-control-prev, .carousel-control-next) {
  position: static;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  color: var(--event-ink);
  border: 1px solid var(--event-line);
  border-radius: var(--public-radius);
  opacity: 1;
  background: var(--public-surface);
  font-size: 22px;
}
.public-event .congress-gallery-toolbar button:focus-visible {
  outline: 3px solid var(--public-focus);
  outline-offset: 2px;
}
.public-event .congress-gallery-expand {
  width: 44px;
  height: 44px;
  color: var(--event-ink);
  background: var(--public-surface);
  border: 1px solid var(--event-line);
  border-radius: var(--public-radius);
  box-shadow: none;
  backdrop-filter: none;
}
.public-event .sponsor-level-plaque {
  width: 220px;
  max-width: 100%;
  height: auto;
  opacity: .82;
  object-fit: contain;
}
.public-event :is(.sponsor-tier, .collaborator-level-panel) {
  padding-block: 24px 32px;
}
.public-event .sponsor-brand {
  min-height: 160px;
  padding: 24px;
}
.public-event :is(.sponsor-brand, .collaborator-brand) img {
  object-fit: contain;
}
.public-event .event-empty-state {
  padding-block: 24px;
  color: var(--event-muted);
  border-block: 1px solid var(--event-line);
}
.public-speaker .speaker-profile-section {
  padding-block: var(--public-section-space);
  background: var(--public-surface);
}
.public-speaker .speaker-return {
  margin-bottom: 24px;
}
.public-speaker .speaker-return a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: var(--event-accent);
  font-size: 15px;
}
.public-speaker .speaker-profile {
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  align-items: start;
  gap: 48px;
}
.public-speaker .speaker-profile-media {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  padding: 0;
  background: var(--event-surface);
  border-radius: var(--public-radius);
  box-shadow: none;
}
.public-speaker .speaker-profile-media > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.public-speaker .speaker-profile h1 {
  color: var(--event-ink);
  font-size: 36px;
  font-weight: 600;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.public-speaker .speaker-profile :is(.section-lead, .cms-rich-html) {
  color: var(--event-muted);
  font-size: 17px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
@media (max-width: 767.98px) {
  .public-speaker .speaker-profile {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .public-speaker .speaker-profile-media {
    max-width: 320px;
  }
  .public-speaker .speaker-profile h1 {
    font-size: 28px;
  }
  .public-event .congress-speaker-card > .speaker-card-content {
    padding: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .congress-editorial .btn,
  .congress-public-sections .btn { transition: none; }
}
