/* summit-app.css (clean + matches summit-app.js output) */
/* Settings-driven CSS vars */

#summit-app {
  color: var(--summit-text-color);
}
.summit-app {
  background: var(--summit-bg);
    
}

/* your day “pills” / buttons */
.summit-filters button,
.summit-day-tabs button {
  border-radius: var(--summit-pill-radius);
}

/* selected state */
.summit-filters button.is-active,
.summit-day-tabs button.is-active {
  background: var(--summit-primary);
  border-color: var(--summit-primary);
  color: #fff;
}
.summit-app {
  font-size: var(--summit-base-font, 16px);
}

.summit-app .summit-sessions .session-title,
.summit-app .session-card .session-title {
  font-size: var(--summit-session-title, 18px);
}

.summit-app .summit-sessions .session-desc,
.summit-app .session-card .session-desc {
  font-size: var(--summit-session-desc, 15px);
}

.summit-app .pill,
.summit-app .chip,
.summit-app .toggle-button {
  border-radius: var(--summit-pill-radius, 999px);
}

.summit-app .session-card,
.summit-app .summit-panel {
  border-radius: var(--summit-card-radius, 16px);
}

/* Icon scaling (works if icons are SVG or elements with this class) */
.summit-app .summit-icon,
.summit-app svg.summit-icon {
  transform: scale(var(--summit-icon-scale, 1));
  transform-origin: center;
}

/* Language bar alignment helper */
.summit-app .summit-langbar {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}
.summit-app.is-left  .summit-langbar { justify-content: flex-start; }
.summit-app.is-right .summit-langbar { justify-content: flex-end; }

#summit-app{
  --summit-app-side-pad: 16px;
  max-width:1200px;
  margin:0 auto;
  padding:var(--summit-app-side-pad);
  font-family:var(--summit-app-font-family, system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif);
}

#summit-content{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:18px;
  align-items:start;
}
@media (max-width:900px){
  #summit-content{ grid-template-columns:1fr; }
}

/* Filters */
.summit-filter{ margin-bottom:16px; }
.summit-btnrow{ display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
.summit-filter-label{
  color: inherit;
  font-weight: 800;
}

.summit-btn{
  border:1px solid #d0d0d0;
  background:#f6f6f6;
  padding:10px 14px;
  border-radius:999px;
  cursor:pointer;
  font-weight:800;
  font-size:14px;
  line-height:1;
}
.summit-btn.is-active{
  background:#111;
  color:#fff;
  border-color:#111;
}

.summit-empty,.summit-loading{
  opacity:.7;
  font-weight:800;
}

/* Sessions */
.summit-session{
  border:1px solid #e1e1e1;
  border-left:4px solid var(--session-type-color,var(--summit-session-type-default,#6c757d));
  border-radius:16px;
  padding:14px;
  background:#fff;
  cursor:pointer;
  margin-bottom:14px;
}
.summit-session.is-expanded{
  border-color:#cfcfcf;
  border-left-color:var(--session-type-color,var(--summit-session-type-default,#6c757d));
}

.summit-session-group-header{
  display:flex;
  align-items:center;
  gap:12px;
  margin:14px 0 12px;
  padding:14px 16px;
  border-radius:18px;
  background:var(--summit-concurrent-bg,#f3edff);
  color:var(--summit-concurrent-text,#6f42c1);
  border:1px solid color-mix(in srgb,var(--group-accent,var(--summit-concurrent-icon,#6f42c1)) 18%,transparent);
  box-shadow:0 8px 22px rgba(15,23,42,.05);
}

.summit-session-group-header__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:999px;
  background:#fff;
  color:var(--group-accent,var(--summit-concurrent-icon,#6f42c1));
  border:2px solid color-mix(in srgb,var(--group-accent,var(--summit-concurrent-icon,#6f42c1)) 28%,transparent);
}

.summit-session-group-header__icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.summit-session-group-header__main{
  flex:1 1 auto;
  min-width:0;
}

.summit-session-group-header__time{
  display:block;
  font-weight:900;
  line-height:1.1;
}

.summit-session-group-header__count{
  display:block;
  font-size:.9em;
  font-weight:750;
  opacity:.78;
  margin-top:3px;
}

.summit-session-group-header__type-icon{
  color:var(--group-accent,var(--summit-concurrent-icon,#6f42c1));
  font-weight:900;
  font-size:22px;
}

.summit-session__head{
  display:flex;
  justify-content:flex-start;
  gap:16px;
  align-items:flex-start;
}

.summit-session__title{
  flex:1 1 auto;
  min-width:0;
  font-size:18px;
  font-weight:500;
  letter-spacing:.2px;
  margin-bottom:6px;
}

.summit-session__tools{
  display:flex;
  margin-left:auto;
  flex:0 0 auto;
  align-items:center;
  gap:8px;
}

.summit-fav{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid #d7dce5;
  background:#fff;
  color:#111;
  display:grid;
  place-items:center;
  cursor:pointer;
}

.summit-fav svg{
  width:16px;
  height:16px;
}

.summit-fav.is-active{
  border-color:#f4b400;
  background:#fff8dc;
  color:#c98900;
}

.summit-session__meta{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  opacity:.8;
  margin-bottom:10px;
}

.summit-time{
  font-weight:700;
}

/* Top-right translation tool buttons (mic/headphones/pencil) */
.summit-trans-tools{
  display:flex;
  gap:8px;
  align-items:center;
}

.summit-tool{
  display:inline-flex;
  align-items:center;
  gap: var(--summit-lang-tool-gap, 4px);
  padding:5px 9px;
  border-radius:10px;
  border:1px solid #d9d9d9;
  background:#f6f6f6;
  color:#111;
  font-weight:900;
  font-size:12px;
  line-height:1;
  user-select:none;
}

.summit-tool svg,
.summit-tool img{
  width: var(--summit-lang-icon-size, 18px);
  height: var(--summit-lang-icon-size, 18px);
  display: block;
  flex: 0 0 auto;
}

.summit-tool svg{
  fill:currentColor;
  opacity:.9;
}

.summit-tool img{
  object-fit: contain;
}

.summit-language-filter-modal .summit-filter-chip[data-group="langmode"] .tag--icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.summit-language-filter-modal .summit-filter-chip[data-group="langmode"] .tag--icon svg{
  width: var(--summit-lang-icon-size, 18px);
  height: var(--summit-lang-icon-size, 18px);
  display: block;
  fill: currentColor;
}

.summit-language-filter-modal .summit-filter-chip[data-group="langmode"] .tag--icon img{
  width: var(--summit-lang-icon-size, 18px);
  height: var(--summit-lang-icon-size, 18px);
  display: block;
  object-fit: contain;
}

/* Expand caret */
.summit-expand{
  border:1px solid #d9d9d9;
  background:#f6f6f6;
  color:#111;
  border-radius:10px;
  padding:6px 10px;
  cursor:pointer;
  font-weight:900;
  line-height:1;
}

/* Chips row under meta */
.summit-session__chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.summit-session__chips .summit-chip,
.summit-session__chips .summit-pill,
.summit-session__chips .summit-view-room{
  display:inline-flex;
  width:auto !important;
  flex:0 0 auto !important;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  line-height:1.2;
  white-space:normal;
}
.summit-chip{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  background:#f1f1f1;
  border:1px solid #e0e0e0;
  font-size:12px;
  font-weight:800;
  opacity:.95;
}



.summit-pill{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  background:#ededed;
  border:1px solid #dedede;
  font-size:12px;
  font-weight:900;
  opacity:.95;
}
.summit-session__chips{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 10px !important;
}
/* Keep room + floor on the same line (wrap only if needed) */
.summit-session__chips .summit-chip,
.summit-session__chips .summit-pill,
.summit-session__chips .summit-view-room{
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.summit-session__category-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  line-height:1;
  color:var(--session-type-color,var(--summit-session-type-default,#6c757d));
  background:color-mix(in srgb,var(--session-type-color,var(--summit-session-type-default,#6c757d)) 14%,#fff);
  border:1px solid color-mix(in srgb,var(--session-type-color,var(--summit-session-type-default,#6c757d)) 35%,transparent);
}

/* Keep emoji feedback on its own row */
.summit-session__chips .summit-feedback{
  flex-basis: 100% !important;
  margin-top: 8px !important;
}
/* EN/FR pills beside floor */
.summit-langpill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid #d6def3;
  background:#eef3ff;
  color:#1e3a8a;
  font-weight:900;
  font-size:12px;
}

/* Ended */
.summit-ended{
  display:inline-block;
  padding:4px 10px;
  border-radius:999px;
  background:#e9f8ee;
  border:1px solid #bde6c8;
  color:#0f6a2d;
  font-weight:900;
  font-size:12px;
  line-height:1.2;
}

/* Expanded body */
.summit-session__body{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #eee;
}

.summit-session__desc{
  font-size:14px;
  line-height:1.5;
  opacity:.92;
}

/* View Room button */
.summit-view-room{
  margin:0;
  border:1px solid #cfcfcf;
  background:#f6f6f6;
  color:inherit;
  border-radius:12px;
  padding:8px 10px;
  font-weight:900;
  font-size:12px;
  line-height:1;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex:0 0 auto;
  white-space:nowrap;
}

.summit-view-room--icon{
  width:34px !important;
  height:34px;
  padding:0;
  border-radius:999px;
}

.summit-view-room--pill{
  border-radius:999px;
}

.summit-view-room__icon{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.summit-view-room__icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Map container */
#summit-map{
  border:1px solid #e1e1e1;
  border-radius:16px;
  padding:12px;
  background:#fff;
  overflow:auto;
}

/* Room highlight */
.summit-room-active,
.summit-room-active *{
  stroke:#ff2d55 !important;
  stroke-width:6 !important;
  fill-opacity:.85 !important;
}
/* ===============================
   STATUS BADGES
   - LIVE: green dot
   - ENDED: pill
   =============================== */

/* Put the status badge in-line nicely */
#summit-app .status-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

/* LIVE = green dot */
#summit-app .badge.badge--live{
  width:10px;
  height:10px;
  border-radius:999px;
  background:#36c96f;
  display:inline-block;
  position:relative;
}

/* Soft glow ring */
#summit-app .badge.badge--live::after{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:999px;
  background:rgba(54,201,111,.25);
}

/* ENDED = pill */
#summit-app .badge.badge--ended{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  background:#e9f8ee;
  border:1px solid #bde6c8;
  color:#0f6a2d;
  font-weight:900;
  font-size:12px;
  line-height:1.2;
}

.summit-live-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:#36c96f;
  display:inline-block;
  position:relative;
}
.summit-live-dot::after{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:999px;
  background:rgba(54,201,111,.25);
}



/* Feedback (discrete) */
.summit-feedback{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #eee;
  --summit-feedback-icon-size:52px;
  --summit-feedback-active-bg:#111111;
}

.summit-feedback__prompt{
  margin:0 0 10px;
  font-size:14px;
  font-weight:900;
  line-height:1.25;
  color:inherit;
}

.summit-feedback__row{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}

.summit-emo{
  border:1px solid #d9d9d9;
  background:#f6f6f6;
  border-radius:10px;
  width:var(--summit-feedback-icon-size);
  min-height:calc(var(--summit-feedback-icon-size) * .85);
  padding:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:16px;
  line-height:1;
  opacity:.75;
  color:#a17b10;
}

.summit-emo:hover,
.summit-emo.is-active{
  opacity:1;
  background:var(--summit-feedback-active-bg);
  border-color:var(--summit-feedback-active-bg);
  color:#fff;
}

.summit-emo__glyph{
  display:inline-block;
  font-size:26px;
  line-height:1;
}

.summit-emo__img{
  width:calc(var(--summit-feedback-icon-size) * .62);
  height:calc(var(--summit-feedback-icon-size) * .62);
  object-fit:contain;
  display:block;
  opacity:1;
}

.summit-feedback__reset{
  margin-left:auto;
  border:1px solid #d9d9d9;
  background:#fff;
  border-radius:10px;
  padding:6px 10px;
  font-weight:800;
  cursor:pointer;
  opacity:.7;
}

.summit-feedback__panel{
  margin-top:10px;
}

.summit-feedback__hint{
  font-size:12px;
  font-weight:800;
  opacity:.7;
  margin-bottom:6px;
}

.summit-feedback__text{
  width:100%;
  border:1px solid #d9d9d9;
  border-radius:10px;
  padding:10px;
  font-family:inherit;
  font-size:13px;
  resize:vertical;
}

.summit-feedback__actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:8px;
}

.summit-feedback__save{
  border:1px solid #d9d9d9;
  background:#f6f6f6;
  border-radius:10px;
  padding:8px 12px;
  font-weight:900;
  cursor:pointer;
}

.summit-feedback__status{
  font-size:12px;
  font-weight:800;
  opacity:.75;
}

.summit-feedback__status.is-ok{ opacity:1; }
.summit-feedback__status.is-err{ opacity:1; }

/* === Canonical stacked layout (desktop + mobile) === */

#summit-app {
  max-width: 1100px;
  margin: 0 auto;
  padding: 16px;
}

/* Sessions always first */
#summit-sessions-panel {
  margin-bottom: 24px;
}

/* Map block always last */
#summit-map-panel {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,0.08);
}

/* Floor map label */
.summit-map-title {
  margin: 0 0 8px 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.75;
}

/* Floor selector buttons */
#summit-floor-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

/* Map container */
#summit-map {
  width: 100%;
  overflow: auto;
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.1);
  padding: 12px;
}

/* SVG responsiveness */
#summit-map svg {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Graphic header */
.summit-hero{
  width: 100%;
  height: var(--summit-hero-height, 160px);
  background-size: cover;
  background-position: center;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}

.summit-hero__logo{
  position: absolute;
  top: var(--summit-logo-top, 14px);
  left: var(--summit-logo-left, 14px);
  max-width: var(--summit-logo-max-width, 170px);
  max-height: var(--summit-logo-max-height, 58px);
  width: auto;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
}

@media (max-width: 900px) {
  #summit-app{
    --summit-app-side-pad: var(--summit-app-side-pad-mobile, 16px);
  }
}

@media (max-width: 720px) {
  body.summit-app-page #summit-app .summit-hero{
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .summit-title--structured .summit-structured-title{
    gap: 2px;
  }

  .summit-structured-title__overline{
    font-size: var(--summit-typo-overline-size-mobile, 12px);
    letter-spacing: .2em;
  }

  .summit-structured-title__main{
    font-size: var(--summit-typo-main-title-size-mobile, clamp(40px, 11vw, 56px));
  }

  .summit-structured-title__suffix{
    font-size: var(--summit-typo-title-suffix-size-mobile, clamp(24px, 7vw, 34px));
  }

  .summit-subtitle--structured{
    margin-top: 14px;
  }

  .summit-structured-intro{
    gap: 14px;
  }

  .summit-structured-event__row{
    font-size: var(--summit-typo-event-info-size-mobile, 16px);
  }

  .summit-structured-intro__text{
    font-size: var(--summit-typo-intro-text-size-mobile, 18px);
    line-height: var(--summit-typo-intro-text-line-height, 1.48);
  }
}

/* Title + subtitle area */
.summit-intro{
  padding: 16px 0 8px 0;
}

.summit-intro__head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.summit-title{
  margin: 0 0 6px 0;
  font-weight: 600;
  flex: 1 1 auto;
  min-width: 0;
}

.summit-subtitle{
  margin: 0 0 12px 0;
  opacity: .85;
}

.summit-title--structured,
.summit-subtitle--structured{
  opacity: 1;
}

.summit-title--structured .summit-structured-title{
  display: flex;
  flex-direction: column;
  gap: var(--summit-typo-title-stack-gap, 8px);
  padding: 4px 0 0;
}

.summit-structured-title__overline{
  color: var(--summit-pill-active-bg, #4f46e5);
  font-size: var(--summit-typo-overline-size, clamp(12px, 1.45vw, 15px));
  font-weight: var(--summit-typo-overline-weight, 900);
  letter-spacing: .24em;
  line-height: 1.25;
  text-transform: uppercase;
}

.summit-structured-title__main{
  color: var(--summit-accent-color, #111111);
  font-size: var(--summit-typo-main-title-size, clamp(40px, 6vw, 78px));
  font-weight: var(--summit-typo-main-title-weight, 900);
  letter-spacing: -.045em;
  line-height: var(--summit-typo-main-title-line-height, .96);
}

.summit-structured-title__suffix{
  color: rgba(15, 23, 42, .9);
  font-size: var(--summit-typo-title-suffix-size, clamp(24px, 3.2vw, 38px));
  font-weight: var(--summit-typo-title-suffix-weight, 600);
  letter-spacing: -.02em;
  line-height: var(--summit-typo-title-suffix-line-height, 1.08);
}

.summit-subtitle--structured{
  margin-top: 18px;
}

.summit-structured-intro{
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 760px;
}

.summit-structured-event{
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 4px 0;
  max-width: 640px;
}

.summit-structured-event__row{
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  column-gap: 18px;
  color: #0f172a;
  font-size: var(--summit-typo-event-info-size, clamp(16px, 1.7vw, 20px));
  font-weight: var(--summit-typo-event-info-weight, 800);
  line-height: 1.3;
}

.summit-structured-event__row::before{
  content: "";
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background-color: rgba(236, 22, 141, .10);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 22px 22px;
  justify-self: start;
}

.summit-structured-event__row--date::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ec168d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='15' rx='2'/%3E%3Cpath d='M8 3v4M16 3v4M4 10h16M9 14h2M13 14h2M9 17h2'/%3E%3C/svg%3E");
}

.summit-structured-event__row--place::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ec168d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-5.1 7-11a7 7 0 1 0-14 0c0 5.9 7 11 7 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

.summit-structured-event__text{
  min-width: 0;
}

.summit-structured-event__row--place{
  color: rgba(15, 23, 42, .82);
  font-weight: var(--summit-typo-event-info-weight, 650);
}

.summit-structured-event__row--place .summit-structured-event__text{
  padding-top: 0;
  border-top: 0;
}

.summit-structured-event__row > :not(.summit-structured-event__text){
  display: none !important;
}

.summit-structured-intro__text{
  color: rgba(15, 23, 42, .88);
  font-size: var(--summit-typo-intro-text-size, clamp(17px, 2vw, 22px));
  font-weight: var(--summit-typo-intro-text-weight, 400);
  line-height: var(--summit-typo-intro-text-line-height, 1.55);
}

.summit-structured-intro__text p{
  margin: 0 0 .85em;
}

.summit-structured-intro__text p:last-child{
  margin-bottom: 0;
}

.summit-structured-intro__text ul,
.summit-structured-intro__text ol{
  margin: .65em 0 .9em 1.25em;
  padding: 0;
}

.summit-structured-intro__text a{
  color: var(--summit-pill-active-bg, #4f46e5);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 720px) {
  .summit-title--structured .summit-structured-title{
    gap: var(--summit-typo-title-stack-gap-mobile, 10px);
  }

  .summit-structured-title__overline{
    font-size: var(--summit-typo-overline-size-mobile, 12px);
    letter-spacing: .2em;
  }

  .summit-structured-title__main{
    font-size: var(--summit-typo-main-title-size-mobile, clamp(40px, 11vw, 56px));
  }

  .summit-structured-title__suffix{
    font-size: var(--summit-typo-title-suffix-size-mobile, clamp(24px, 7vw, 34px));
  }

  .summit-subtitle--structured{
    margin-top: 14px;
  }

  .summit-structured-intro{
    gap: 14px;
  }

  .summit-structured-event__row{
    font-size: var(--summit-typo-event-info-size-mobile, 16px);
    grid-template-columns: 66px minmax(0, 1fr);
    column-gap: 14px;
  }

  .summit-structured-event__row::before{
    width: 54px;
    height: 54px;
    border-radius: 16px;
  }

  .summit-structured-intro__text{
    font-size: var(--summit-typo-intro-text-size-mobile, 18px);
    line-height: var(--summit-typo-intro-text-line-height, 1.48);
  }
}

.summit-intro-quick-links{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.summit-intro-quick-link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 14px;
  border: 2px solid var(--summit-pill-border, #cbd5e1);
  border-radius: 999px;
  background: #fff;
  color: var(--summit-accent-color, #111);
  font-weight: 800;
  line-height: 1.1;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .06);
}

.summit-intro-quick-link:hover,
.summit-intro-quick-link:focus{
  color: var(--summit-pill-active-text, #fff);
  background: var(--summit-pill-active-bg, #111);
  border-color: var(--summit-pill-active-bg, #111);
}

.summit-intro-quick-link__icon{
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex: 0 0 auto;
}

.summit-intro-quick-link__icon--default{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(15, 23, 42, .08);
}

.summit-content-callouts{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin:16px 0 18px;
}

.summit-content-callout{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  align-items:center;
  gap:22px;
  padding:22px 26px;
  border:1px solid var(--callout-border, #e9d5ff);
  border-radius:var(--callout-radius, 22px);
  background:var(--callout-bg, #fff5f7);
  color:var(--callout-text, #0f172a);
  box-shadow:0 18px 34px rgba(15, 23, 42, .09);
}

.summit-content-callout__icon{
  width:68px;
  height:68px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:rgba(255, 255, 255, .82);
  box-shadow:0 10px 22px rgba(15, 23, 42, .08);
  color:#e11d8d;
  font-weight:900;
  letter-spacing:.02em;
}

.summit-content-callout__icon img{
  display:block;
  width:44px;
  height:44px;
  object-fit:contain;
}

.summit-content-callout__body{
  min-width:0;
}

.summit-content-callout__title{
  margin:0;
  color:inherit;
  font-size:var(--callout-title-size, 28px);
  line-height:1.12;
  font-weight:850;
  letter-spacing:0;
}

.summit-content-callout__description{
  margin:6px 0 0;
  color:inherit;
  opacity:.72;
  font-size:15px;
  line-height:1.4;
}

.summit-content-callout__button{
  min-height:58px;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:15px 26px;
  border-radius:18px;
  background:var(--callout-button-bg, #e11d8d);
  color:#fff !important;
  text-decoration:none;
  font-size:var(--callout-button-size, 18px);
  line-height:1;
  font-weight:850;
  white-space:nowrap;
  box-shadow:0 12px 24px rgba(85, 60, 255, .22);
}

.summit-content-callout__button-label{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  text-align:center;
}

.summit-content-callout__button-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  font-size:22px;
  line-height:1;
}

@media (max-width: 720px){
  .summit-content-callout{
    grid-template-columns:56px minmax(0, 1fr);
    gap:14px;
    padding:16px;
  }

  .summit-content-callout__icon{
    width:56px;
    height:56px;
    border-radius:15px;
  }

  .summit-content-callout__icon img{
    width:36px;
    height:36px;
  }

  .summit-content-callout__title{
    font-size:var(--callout-title-size-mobile, 20px);
  }

  .summit-content-callout__button{
    grid-column:1 / -1;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    min-height:50px;
    padding:13px 16px;
    border-radius:15px;
    font-size:var(--callout-button-size-mobile, 16px);
    white-space:normal;
  }
}

.summit-live-update-wrap{
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 10px 0 12px;
  width: 100%;
  padding: 0 8px;
  box-sizing: border-box;
  max-width: 100%;
  overflow-x: hidden;
  --summit-live-blinks: 5;
}

.summit-live-update-toggle{
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 12px;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid #f2b2b8;
  border-radius: 999px;
  background: #fff7f8;
  color: #991b1b;
  font-weight: 800;
  text-align: left;
  line-height: 1;
  cursor: pointer;
}

.summit-live-update-toggle__icon{
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 900;
  color: #ffffff;
  background: #dc2626;
}

.summit-live-update-toggle__text{
  font-size: 14px;
  letter-spacing: .01em;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.summit-live-update{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #f3c4c8;
  border-left: 4px solid #dc2626;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff6f7 0%, #fff1f2 100%);
  max-height: 480px;
  opacity: 1;
  transform: translateY(0);
  overflow: hidden;
  transition: max-height .24s ease, opacity .20s ease, transform .20s ease, padding .20s ease, border-width .20s ease;
}

.summit-live-update-wrap.is-collapsed .summit-live-update{
  max-height: 0;
  opacity: 0;
  transform: translateY(-4px);
  padding-top: 0;
  padding-bottom: 0;
  border-top-width: 0;
  border-bottom-width: 0;
  border-left-width: 0;
  border-right-width: 0;
}

@keyframes summit-live-alert-blink {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0);
  }
  50% {
    opacity: .35;
    box-shadow: 0 0 0 6px rgba(220, 38, 38, 0.14);
  }
}

.summit-live-update-wrap.is-attention .summit-live-update-toggle,
.summit-live-update-wrap.is-attention .summit-live-update-toggle__icon{
  animation-name: summit-live-alert-blink;
  animation-duration: .64s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: var(--summit-live-blinks);
}

.summit-live-update-wrap.has-no-panel .summit-live-update-toggle{
  cursor: default;
}

.summit-live-update__icon{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  flex: 0 0 22px;
  margin-top: 1px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  color: #ffffff;
  background: #dc2626;
}

.summit-live-update__content{
  min-width: 0;
}

.summit-live-update__label{
  margin: 0 0 2px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #991b1b;
}

.summit-live-update__message{
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  color: #7f1d1d;
}

.summit-live-update__messages{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.summit-live-update__entry{
  padding-top: 8px;
  border-top: 1px dashed rgba(153, 27, 27, 0.25);
}

.summit-live-update__entry:first-child{
  border-top: 0;
  padding-top: 0;
}

.summit-live-update__entry.is-latest .summit-live-update__message{
  font-weight: 700;
}

.summit-live-update__message > :first-child{
  margin-top: 0;
}

.summit-live-update__message > :last-child{
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .summit-intro__head{
    gap: 8px;
  }

  .summit-live-update-wrap{
    padding: 0 10px;
    margin: 8px 0 12px;
  }

  .summit-live-update-toggle{
    max-width: 100%;
    min-height: 38px;
    padding: 7px 11px;
  }

  .summit-live-update{
    padding: 11px 12px;
  }

  .summit-live-update-toggle__text{
    font-size: 13px;
  }

  .summit-live-update__message{
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .summit-live-update,
  .summit-live-update-wrap.is-attention .summit-live-update-toggle,
  .summit-live-update-wrap.is-attention .summit-live-update-toggle__icon{
    transition: none !important;
    animation: none !important;
  }
}

/* Right-align the EN / FR toggle under the header */
#summit-langbar {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
  margin-bottom: 8px;
}

/* Ensure buttons stay compact */
#summit-langbar .summit-btnrow {
  display: inline-flex;
  gap: 10px;
}

/* Prevent it from stretching full width on mobile */
@media (max-width: 768px) {
  #summit-langbar {
    justify-content: flex-start; /* mobile UX: left is better */
  }
}

/* Remove excessive top padding above summit app */
#summit-app {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.site-content,
.site-main,
.entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Header row layout */
.summit-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* Keep title from wrapping weirdly */
.summit-title {
  margin: 0;
}

/* Language bar alignment */
#summit-langbar {
  margin: 0;
}

/* If feedback is the FIRST thing in the expanded body (no description),
   remove the extra top spacing + border so layout doesn't look "shifted". */
.summit-session__body > .summit-feedback:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* Keep chips compact and prevent huge stretched pills */
.summit-session__chips {
  align-items: center;
}



.summit-session__chips .summit-chip,
.summit-session__chips .summit-pill,
.summit-session__chips .summit-view-room {
  white-space: nowrap !important;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 0 0 auto !important;
}


/* Chips: emojis ABOVE, labels on one row */
#summit-app .summit-session__chips{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 10px !important;
}

/* Put feedback (emoji row) FIRST */
#summit-app .summit-session__chips .summit-feedback{
  order: -1 !important;
  flex: 0 0 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Keep emoji row aligned left */
#summit-app .summit-session__chips .summit-feedback__row{
  justify-content: flex-start !important;
}

/* Keep room + floor side-by-side */
#summit-app .summit-session__chips .summit-chip,
#summit-app .summit-session__chips .summit-pill,
#summit-app .summit-session__chips .summit-view-room{
  order: 0 !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* === Feedback ABOVE room/level labels === */
#summit-app .summit-session__chips{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Move feedback row to the top */
#summit-app .summit-session__chips .summit-feedback{
  order: -1 !important;
  flex: 0 0 100% !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Keep emojis aligned left */
#summit-app .summit-session__chips .summit-feedback__row{
  justify-content: flex-start !important;
}

/* Room + Level stay on same line */
#summit-app .summit-session__chips .summit-chip,
#summit-app .summit-session__chips .summit-pill,
#summit-app .summit-session__chips .summit-view-room{
  order: 0 !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}


/* Tighten subtitle spacing */
.summit-subtitle {
  margin-top: 6px;
}
.summit-btn.is-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}
@media (max-width: 768px) {
  .summit-header {
    flex-direction: column;
    align-items: flex-start;
  }

  #summit-langbar {
    align-self: flex-start;
    margin-top: 8px;
  }
}
body.summit-app-page #summit-app .summit-mini-toolbar,
body.summit-app-page #summit-app .summit-mini-toolbar *{
  pointer-events: auto !important;
}

body.summit-app-page #summit-app .summit-mini-toolbar{
  position: relative;
  z-index: 99999;
}

body.summit-app-page #summit-app .summit-mini-toolbar__filter{
  position: relative;
  z-index: 100000;
  pointer-events: auto !important;
  touch-action: manipulation;
}

/* Dark-mode toggle beside EN/FR */
#summit-app #summit-langbar .summit-theme-toggle{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  padding: 6px 8px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.18);
  background: #ffffff;
  color: #111111;
}

#summit-app #summit-langbar .summit-theme-toggle svg{
  width: 16px;
  height: 16px;
  display: block;
  pointer-events: none;
}

#summit-app #summit-langbar .summit-theme-toggle.is-active,
#summit-app #summit-langbar .summit-theme-toggle[aria-pressed="true"]{
  background: #111111;
  color: #ffffff;
  border-color: rgba(255,255,255,.35);
}

/* Global dark-mode surface defaults */
#summit-app.summit-theme-dark{
  --summit-app-bg: #000000;
  --summit-bg: #000000;
  --summit-text-color: #f5f5f5;
  --summit-pill-inactive-bg: #0f0f0f;
  --summit-pill-inactive-text: #f0f0f0;
  --summit-pill-border: #2f2f2f;
}

#summit-app.summit-theme-dark,
#summit-app.summit-theme-dark .summit-app{
  background: var(--summit-app-bg) !important;
  color: var(--summit-text-color) !important;
}

#summit-app.summit-theme-dark .summit-title,
#summit-app.summit-theme-dark .summit-session__title,
#summit-app.summit-theme-dark .summit-map-title,
#summit-app.summit-theme-dark .summit-filter-label,
#summit-app.summit-theme-dark .summit-pill,
#summit-app.summit-theme-dark .summit-chip,
#summit-app.summit-theme-dark .summit-view-room{
  color: #f1f5f9 !important;
}

#summit-app.summit-theme-dark .summit-title,
#summit-app.summit-theme-dark .summit-title *{
  background: transparent !important;
  background-color: transparent !important;
  color: #f1f5f9 !important;
}

#summit-app.summit-theme-dark .summit-subtitle,
#summit-app.summit-theme-dark .summit-session__meta{
  color: #cbd5e1 !important;
  opacity: 1 !important;
}

#summit-app.summit-theme-dark .summit-subtitle,
#summit-app.summit-theme-dark .summit-subtitle *{
  background: transparent !important;
  background-color: transparent !important;
  color: #e5e7eb !important;
}

#summit-app.summit-theme-dark .summit-structured-title__overline{
  color: var(--summit-pill-active-bg, #818cf8) !important;
}

#summit-app.summit-theme-dark .summit-structured-title__main,
#summit-app.summit-theme-dark .summit-structured-title__suffix,
#summit-app.summit-theme-dark .summit-structured-event__row,
#summit-app.summit-theme-dark .summit-structured-intro__text{
  color: #f1f5f9 !important;
}

#summit-app.summit-theme-dark .summit-intro-quick-link{
  background: #111111;
  border-color: #333333;
  color: #f1f5f9 !important;
}

#summit-app.summit-theme-dark .summit-intro-quick-link:hover,
#summit-app.summit-theme-dark .summit-intro-quick-link:focus{
  background: var(--summit-pill-active-bg, #4f46e5);
  border-color: var(--summit-pill-active-bg, #4f46e5);
  color: var(--summit-pill-active-text, #ffffff) !important;
}

#summit-app.summit-theme-dark .summit-live-update-toggle{
  background: #190b0d !important;
  border-color: #6f1d1f !important;
  color: #fecaca !important;
}

#summit-app.summit-theme-dark .summit-live-update-toggle__icon{
  background: #ef4444 !important;
  color: #ffffff !important;
}

#summit-app.summit-theme-dark .summit-live-update{
  border-color: #7f1d1d !important;
  border-left-color: #ef4444 !important;
  background: linear-gradient(180deg, #1a0a0a 0%, #140708 100%) !important;
}

#summit-app.summit-theme-dark .summit-live-update__icon{
  background: #ef4444 !important;
  color: #ffffff !important;
}

#summit-app.summit-theme-dark .summit-live-update__label{
  color: #fca5a5 !important;
}

#summit-app.summit-theme-dark .summit-live-update__message{
  color: #fecaca !important;
}

#summit-app.summit-theme-dark .summit-emo{
  background:#121212 !important;
  border-color:#2f2f2f !important;
  color:#f4d35e !important;
}

#summit-app.summit-theme-dark .summit-emo:hover,
#summit-app.summit-theme-dark .summit-emo.is-active{
  background:var(--summit-feedback-active-bg) !important;
  border-color:var(--summit-feedback-active-bg) !important;
  color:#ffffff !important;
}

#summit-app.summit-theme-dark .summit-session,
#summit-app.summit-theme-dark .summit-panel,
#summit-app.summit-theme-dark .summit-mini-toolbar,
#summit-app.summit-theme-dark .summit-map-modal .summit-modal__sheet,
#summit-app.summit-theme-dark .summit-filter-modal__panel{
  background: #0a0a0a !important;
  border-color: #2a2a2a !important;
  color: #f0f0f0 !important;
}

#summit-app.summit-theme-dark .summit-session{
  border-left-color:var(--session-type-color,var(--summit-session-type-default,#6c757d)) !important;
}

#summit-app.summit-theme-dark .summit-session__category-badge{
  background:color-mix(in srgb,var(--session-type-color,var(--summit-session-type-default,#6c757d)) 20%,#0a0a0a) !important;
  border-color:color-mix(in srgb,var(--session-type-color,var(--summit-session-type-default,#6c757d)) 40%,#2f2f2f) !important;
  color:#f8fafc !important;
}

#summit-app.summit-theme-dark .summit-session-group-header{
  background:var(--summit-concurrent-dark-bg,#3b1d64) !important;
  border-color:color-mix(in srgb,var(--summit-concurrent-dark-icon,var(--group-accent,#c084fc)) 55%,transparent) !important;
  color:var(--summit-concurrent-dark-text,#f8f5ff) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.28) !important;
}

#summit-app.summit-theme-dark .summit-session-group-header__icon{
  background:rgba(0,0,0,.28) !important;
  color:var(--summit-concurrent-dark-icon,var(--group-accent,#c084fc)) !important;
  border-color:color-mix(in srgb,var(--summit-concurrent-dark-icon,var(--group-accent,#c084fc)) 60%,transparent) !important;
}

#summit-app.summit-theme-dark .summit-session-group-header__type-icon{
  color:var(--summit-concurrent-dark-icon,var(--group-accent,#c084fc)) !important;
}

#summit-app.summit-theme-dark .summit-session-group-header__count{
  opacity:.9 !important;
}

#summit-app.summit-theme-dark .summit-chip,
#summit-app.summit-theme-dark .summit-pill,
#summit-app.summit-theme-dark .summit-view-room,
#summit-app.summit-theme-dark .summit-tool,
#summit-app.summit-theme-dark .summit-expand,
#summit-app.summit-theme-dark .summit-header-actions__policies,
#summit-app.summit-theme-dark .summit-header-actions__resources{
  background: #141414 !important;
  border-color: #2f2f2f !important;
  color: #f0f0f0 !important;
}

/* Backend-managed schedule/category filter pills */
.summit-btn--day{
  min-width: 118px;
  padding: 9px 16px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  line-height: 1.05;
}

.summit-btn__date{
  font-weight: 900;
  font-size: 1em;
}

.summit-btn__weekday{
  font-weight: 700;
  font-size: .78em;
  opacity: .9;
}

.summit-btn--category{
  min-width: 140px;
  white-space: nowrap;
}

.summit-btn--category[data-cat="programming"]{
  min-width: 170px;
}

.summit-btn--category[data-cat="special"]{
  min-width: 190px;
}

/* App shell fixes: top snap, safe mobile viewport, fixed footer hit targets. */
html:has(body.summit-app-standalone-page),
body.summit-app-standalone-page{
  margin: 0 !important;
  padding: 0 !important;
  min-height: 100dvh;
  overscroll-behavior-y: none;
}

body.summit-app-standalone-page.admin-bar{
  margin-top: 0 !important;
}

body.summit-app-standalone-page #wpadminbar{
  display: none !important;
}

body.summit-app-page #summit-app,
body.summit-app-standalone-page #summit-app{
  min-height: 100dvh;
  margin-top: 0 !important;
  padding-top: 0 !important;
  box-sizing: border-box;
}

body.summit-app-standalone-page #summit-app{
  width: 100%;
  max-width: none;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: var(--summit-app-side-pad) !important;
  padding-right: var(--summit-app-side-pad) !important;
}

body.summit-app-page #summit-app .summit-hero,
body.summit-app-standalone-page #summit-app .summit-hero{
  margin-top: 0 !important;
}

body.summit-app-standalone-page #summit-app .summit-intro,
body.summit-app-standalone-page #summit-app .summit-header,
body.summit-app-standalone-page #summit-app .summit-main{
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

body.summit-app-standalone-page #summit-app .summit-header-actions,
body.summit-app-page #summit-app .summit-header-actions{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.summit-app-standalone-page #summit-app .summit-content-callout,
body.summit-app-page #summit-app .summit-content-callout{
  box-sizing: border-box;
  max-width: 100%;
  overflow: hidden;
}

body.summit-app-standalone-page #summit-app .summit-content-callout__button,
body.summit-app-page #summit-app .summit-content-callout__button{
  margin-right: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.summit-app-page .summit-bottomnav{
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  contain: layout paint;
  touch-action: manipulation;
}

body.summit-app-page .summit-bottomnav__btn{
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

body.summit-app-page.summit-has-bottomnav #summit-app,
body.summit-app-page.summit-has-bottomnav #summit-sessions-panel{
  padding-bottom: 0 !important;
}

body.summit-app-page.summit-has-bottomnav #summit-app #summit-sessions{
  padding-bottom: calc(64px + env(safe-area-inset-bottom)) !important;
}

body.summit-app-page #summit-map-panel{
  min-height: calc(100dvh - 56px - env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
}

body.summit-app-page #summit-map{
  flex: 1 1 auto;
  min-height: 55dvh;
  max-height: none;
}

/* 0.7.14.1: prevent duplicate legacy icons in the event date/location block. */
body.summit-app-page #summit-app .summit-structured-event,
body.summit-app-standalone-page #summit-app .summit-structured-event{
  --summit-event-icon-size: 54px;
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: 8px !important;
  align-items: stretch !important;
  max-width: 640px !important;
}

body.summit-app-page #summit-app .summit-structured-event__row,
body.summit-app-standalone-page #summit-app .summit-structured-event__row{
  display: grid !important;
  grid-template-columns: var(--summit-event-icon-size) minmax(0, 1fr) !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  column-gap: 18px !important;
  align-items: center !important;
  padding: 0 !important;
}

body.summit-app-page #summit-app .summit-structured-event__row::before,
body.summit-app-standalone-page #summit-app .summit-structured-event__row::before{
  width: var(--summit-event-icon-size) !important;
  height: var(--summit-event-icon-size) !important;
  margin: 0 !important;
  justify-self: center !important;
}

body.summit-app-page #summit-app .summit-structured-event__row > :not(.summit-structured-event__text),
body.summit-app-standalone-page #summit-app .summit-structured-event__row > :not(.summit-structured-event__text),
body.summit-app-page #summit-app .summit-structured-event__row .summit-structured-event__icon,
body.summit-app-standalone-page #summit-app .summit-structured-event__row .summit-structured-event__icon{
  display: none !important;
}

/* 0.7.14.2: neutralize older Custom CSS that added wrapper-level duplicate icons. */
body.summit-app-page #summit-app .summit-structured-event::before,
body.summit-app-page #summit-app .summit-structured-event::after,
body.summit-app-standalone-page #summit-app .summit-structured-event::before,
body.summit-app-standalone-page #summit-app .summit-structured-event::after{
  content: none !important;
  display: none !important;
}

body.summit-app-page #summit-app .summit-structured-event > :first-child::after,
body.summit-app-standalone-page #summit-app .summit-structured-event > :first-child::after{
  content: none !important;
  display: none !important;
}

/* 0.7.14.12: optional per-floor directions note shown above map popups/panels. */
body.summit-app-page .summit-map-guidance-host[hidden],
body.summit-app-standalone-page .summit-map-guidance-host[hidden]{
  display: none !important;
}

body.summit-app-page .summit-map-modal .summit-map-guidance-host,
body.summit-app-standalone-page .summit-map-modal .summit-map-guidance-host{
  padding: 10px 22px 0 !important;
  box-sizing: border-box !important;
}

body.summit-app-page .summit-map-modal .summit-map-guidance,
body.summit-app-standalone-page .summit-map-modal .summit-map-guidance,
body.summit-app-page #summit-map .summit-map-guidance,
body.summit-app-standalone-page #summit-map .summit-map-guidance{
  margin: 0 0 12px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(203, 213, 225, .9) !important;
  border-radius: 10px !important;
  background: rgba(248, 250, 252, .78) !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
}

body.summit-app-page.summit-app-theme-dark .summit-map-modal .summit-map-guidance,
body.summit-app-standalone-page.summit-app-theme-dark .summit-map-modal .summit-map-guidance,
body.summit-app-page #summit-app.summit-theme-dark .summit-map-modal .summit-map-guidance,
body.summit-app-standalone-page #summit-app.summit-theme-dark .summit-map-modal .summit-map-guidance,
body.summit-app-page.summit-app-theme-dark #summit-map .summit-map-guidance,
body.summit-app-standalone-page.summit-app-theme-dark #summit-map .summit-map-guidance,
body.summit-app-page #summit-app.summit-theme-dark #summit-map .summit-map-guidance,
body.summit-app-standalone-page #summit-app.summit-theme-dark #summit-map .summit-map-guidance{
  background: rgba(15, 23, 42, .72) !important;
  border-color: rgba(71, 85, 105, .88) !important;
  color: #d1d5db !important;
}
