/* GNU–IBS 2026: Indico public conference layout, 2026-10-19.
   Adapted from ../참고자료/cubes-2026.css (CUBES 2026, W. S. Cho).
   Banner later: replace only the .confheader background declaration below.
   Public conference selectors only; no administration or timetable overrides. */

/* Compact header; title may wrap naturally to two or more lines. */
.confheader {
  background: linear-gradient(135deg, #0e304c, #174968) !important;
  border-color: transparent !important;
}
.confheader .confTitleBox,
.confheader .confSubTitleBox {
  background: transparent !important;
  border-color: transparent !important;
  height: auto !important;
}
.confheader .confTitleBox .confTitle,
.confheader .confSubTitleBox .confSubTitleContent {
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  box-sizing: border-box;
}
.confheader .confTitleBox .confTitle {
  padding: 2.2rem 1.25rem 1.25rem;
}
.confheader .confTitleBox,
.confheader .confTitleBox .confTitle,
.confheader .confTitleBox .confTitle h1 {
  text-align: center !important;
  line-height: 1.2 !important;
}
.confheader .confTitleBox .confTitle h1 {
  margin: 0 !important;
}
.confheader .conference-title-link,
.confheader .confTitle h1 > a {
  display: block !important;
  color: #fff !important;
  font-size: clamp(1.9rem, 3.4vw, 2.8rem) !important;
  line-height: 1.2 !important;
  padding: 0 !important;
  margin: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-align: center !important;
}
.confheader .conference-title-link span[itemprop="title"] {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* Equal outer columns keep date/place centered while search stays right. */
.confheader .confSubTitleBox .confSubTitleContent.flexrow {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
  align-items: center;
  gap: .75rem;
  padding: 0 1.25rem 1.25rem;
}
.confheader .confSubTitleContent.flexrow .confSubTitle {
  grid-column: 2;
  min-width: 0;
  color: #fff !important;
  text-align: center !important;
}
.confheader .confSubTitleContent .datePlace {
  white-space: normal !important;
  overflow-wrap: anywhere;
  line-height: 1.5;
}
.confheader .datePlace .timezone {
  color: #d5e3ef !important;
}
.confheader .confSubTitleContent.flexrow #event-search-box {
  grid-column: 3;
  justify-self: end;
  width: 100%;
  max-width: 240px;
  min-width: 0;
}
.confheader #event-search-box .ui.input {
  width: 100%;
  min-width: 0;
}
.confheader #event-search-box input {
  width: 100% !important;
  min-width: 0;
  box-sizing: border-box;
  background: #fff !important;
  color: #18374e !important;
}
.confheader #event-search-box input::placeholder {
  color: #596b79;
}
.confheader #event-search-box i.search.icon {
  color: #36526a !important;
}

/* Preserve the legacy menu/body structure within a centered fluid container. */
#confSectionsBox {
  width: calc(100% - 2.5rem) !important;
  max-width: 1100px !important;
  margin: 1.75rem auto !important;
  box-sizing: border-box;
  display: flow-root;
}
#confSectionsBox .conf_leftMenu {
  float: left;
  width: 200px !important;
  box-sizing: border-box;
  overflow-wrap: anywhere;
}
#confSectionsBox .confBodyBox {
  float: none !important;
  width: calc(100% - 230px) !important;
  max-width: none !important;
  min-width: 0;
  margin-left: 230px !important;
  box-sizing: border-box;
  overflow-wrap: anywhere;
}
#confSectionsBox #main-content.conferenceDetails,
#confSectionsBox .description.js-mathjax.editor-output,
#confSectionsBox .description.js-mathjax.editor-output > div {
  width: auto !important;
  max-width: 100% !important;
  min-width: 0;
  box-sizing: border-box;
}
#confSectionsBox .description.js-mathjax.editor-output h2 {
  font-size: clamp(1.6rem, 2.4vw, 2rem) !important;
  line-height: 1.25 !important;
  text-align: center !important;
  margin: 0 0 1.5rem;
}
#confSectionsBox .description.js-mathjax.editor-output h3 {
  font-size: 1.2rem;
  line-height: 1.4;
  margin-top: 1.6rem;
  /* Existing blue left border, color and padding remain in the overview HTML. */
}
#confSectionsBox .description.js-mathjax.editor-output p {
  line-height: 1.7;
  text-align: left !important;
}
#confSectionsBox .description.js-mathjax.editor-output > div > h2 + p {
  text-align: center !important;
}
#confSectionsBox .description :is(ul, ol) {
  padding-inline-start: 1.4em;
  line-height: 1.65;
}
#confSectionsBox .description li { margin-bottom: .35rem; }
#confSectionsBox .confBodyBox a {
  white-space: normal;
  overflow-wrap: anywhere;
}
#confSectionsBox .description table {
  width: 100% !important;
  max-width: 100%;
  table-layout: fixed;
}
#confSectionsBox .description :is(th, td) {
  white-space: normal;
  overflow-wrap: anywhere;
  vertical-align: top;
}
#confSectionsBox .description img { max-width: 100%; height: auto; }

@media (max-width: 768px) {
  .confheader .confTitleBox .confTitle { padding: 1.6rem 1rem 1rem; }
  .confheader .confSubTitleBox .confSubTitleContent.flexrow {
    grid-template-columns: minmax(0, 1fr);
    padding: 0 1rem 1rem;
  }
  .confheader .confSubTitleContent.flexrow .confSubTitle,
  .confheader .confSubTitleContent.flexrow #event-search-box {
    grid-column: 1;
    justify-self: center;
  }
  .confheader .confSubTitleContent.flexrow #event-search-box { max-width: 320px; }
  #confSectionsBox { width: calc(100% - 2rem) !important; margin: 1rem auto !important; }
  #confSectionsBox .conf_leftMenu {
    float: none;
    width: 100% !important;
    margin: 0 0 1.25rem;
  }
  #confSectionsBox .confBodyBox {
    clear: both;
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* Wrap the public event toolbar instead of widening narrow screens. */
@media (max-width: 768px) {
  .event-page-header .main-action-bar,
  .event-page-header .button-bar,
  .event-page-header .button-bar .toolbar,
  .event-page-header .button-bar .group {
    flex-wrap: wrap;
  }
  .event-page-header .button-bar,
  .event-page-header .button-bar .toolbar {
    min-width: 0;
    max-width: 100%;
  }
  .event-page-header .session-bar { margin-left: auto; }
}