/* =========================
   Specific Pages Container
   ========================= */
.home-custom-css {}
.community-custom-css {}
.agenda-custom-css {}
.speakers-custom-css {}

/* =========================
   Main Container Of Each Section
   ========================= */
.main-app-container {}

/* =========================
   Call-To-Action Buttons
   e.g., Register, Join The Community
   ========================= */
.btn-register {}

/* =========================
   Top Navigation
   ========================= */
.template-nav {}

/* Top navigation bar items container */
#bs-example-navbar-collapse-1 {}

/* =========================
   Social Share Buttons
   ========================= */
.social-share-button {}

.social-share-button.facebook {}
.social-share-button.twitter {}
.social-share-button.linkedin {}
.social-share-button.google {}

/* =========================
   Global Font + Resets
   ========================= */
.global-template,
.global-template *,
.urban-template,
.urban-template *,
.atom-main,
.atom-main *,
.trade-template,
.trade-template * {
  font-family: Barlow !important;
  font-weight: normal;
  font-style: normal !important;
  text-transform: none !important;
  color: #000000;
}

.global-template,
p {
  color: #000000 !important;
}

.trade-template h1,
.trade-template h2,
.trade-template .custom-v14 .btn,
.trade-template .nav-menu-btn {
  text-transform: none;
}

:root {
  --paragraph-font-family: "Barlow", sans-serif;
  color: #000000;
}

html {
  font-family: Barlow;
}

body {
  font-family: Barlow;
}

/* =========================
   Headings
   ========================= */
h2 {
  text-transform: none !important;
  font-weight: 300;
  font-size: 2rem !important;
}

h1 {
  font-size: 2.5rem !important;
  text-transform: none !important;
  font-weight: 300;
}

@media (min-width: 1200px) {
  h2 {
    font-size: 2rem !important;
  }
}

/* =========================
   Lists
   ========================= */
ul li:last-child,
ol li:last-child {
  margin-bottom: 1rem;
}

li {
  list-style: disc;
  font-size: 1rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  color: #000000;
}

/* =========================
   Agenda
   ========================= */

/* ===== Agenda Wrapper ===== */
.agenda {
  width: 90%;
  margin: 0 auto;
  font-size: 1.1rem !important;
}

/* ===== Rows ===== */
.agenda-row {
  display: grid;
  grid-template-columns: 19ch 1fr; /* time | session (12 characters wide) */
}

/* ===== Cells ===== */
.agenda-row > div {
  padding: 16px !important; /* desktop */
  box-sizing: border-box;
  line-height: 1.4;
  border-bottom: 1px solid #e5e5e5 !important;
  background-color: #ffffff !important;
}

/* ===== Alternating Rows ===== */
.agenda-row:nth-child(even) > div {
  background-color: #f5f5f5 !important;
}

/* ===== Time Column ===== */
.agenda-time {
  font-weight: 600;
  white-space: wrap;
}

/* =========================
   Agenda Sections + Headers
   (Headers not part of table)
   ========================= */

/* Section wrapper matches agenda width and centers */
.agenda-section {
 
  margin: 0 auto 48px auto !important; /* extra space between sections */
}

/* Header styling: larger, bold, ALL CAPS, aligned with session column */
.agenda-section .agenda-header {
  font-family: Barlow, sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;

  margin: 32px 0 16px 0 !important;

  /* Align header text to the start of session column (time col = 18%) */
  
  box-sizing: border-box;
}

/* If Bizzabo wraps header text in a <p>, remove default spacing */
.agenda-section .agenda-header p {
  margin: 0 !important;
}

/* =========================
   Mobile Behavior
   ========================= */
@media (max-width: 768px) {
  .agenda {
    width: 100%;
  }

  .agenda-row {
    grid-template-columns: 1fr;
  }

  /* Reduce padding on mobile */
  .agenda-row > div {
    padding: 8px !important;
  }

  /* Remove empty time blocks that cause extra rows */
  .agenda-time:empty {
    display: none !important;
  }

  /* Tighten spacing when time is present */
  .agenda-time {
    padding-bottom: 4px !important;
  }

  /* Section wrapper matches mobile width */
  .agenda-section {
    margin-bottom: 48px !important;
  }

  /* Header aligns left on mobile */
  .agenda-section .agenda-header {
    padding-left: 0 !important;
    margin-top: 24px !important;
  }
}