/* summit-app-experiments.css
   Page-scoped experiments for Summit app
   Page ID: 462
*/

/* Hide just the "FLOOR MAP" heading + level buttons on page 462 */
body.summit-app-page .summit-map-title{ display:none !important; }
body.summit-app-page #summit-floor-tabs,
body.summit-app-page .summit-floor-tabs{ display:none !important; }

/* --- Remove theme/builder width caps on this page --- */
body.summit-app-page .kioto_fn_wrapper,
body.summit-app-page .kioto_fn_full_page_template,
body.summit-app-page .kioto_fn_full_page_in,
body.summit-app-page .fn_container,
body.summit-app-page .full_content,
body.summit-app-page .kioto_fn_pages,
body.summit-app-page .kioto_fn_pages_in,
body.summit-app-page .kioto_fn_page_ajax,
body.summit-app-page .elementor-section.elementor-section-boxed > .elementor-container,
body.summit-app-page .elementor-container{
  max-width:none !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* --- App canvas --- */
body.summit-app-page #summit-app{
  width:min(1680px, calc(100vw - 64px)) !important;
  margin:0 auto !important;
  padding:24px !important;
  box-sizing:border-box !important;
  overflow-x:clip;
}

@media (max-width:1099px){
  body.summit-app-page #summit-app{
    width:min(980px, calc(100vw - 32px)) !important;
    padding:16px !important;
  }
}

/* Hero/banner */
body.summit-app-page .summit-hero{
  min-height:240px;
  border-radius:18px;
  overflow:hidden;
  background-size:cover !important;
  background-position:center !important;
}

/* =========================================================
   HEADER ACTIONS (Resources + Language toggle)
   Expect JS to insert:
   <div class="summit-header-actions">
     <a class="summit-header-actions__resources">Resources</a>
     <div class="summit-header-actions__langhost">
        <div id="summit-langbar"> ... buttons ... </div>
     </div>
   </div>
   ========================================================= */

body.summit-app-page .summit-intro{
  position:relative;
}

body.summit-app-page .summit-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  margin-top:12px;
  width:100%;
}

body.summit-app-page .summit-header-actions__resources{
  font-weight:700;
  text-decoration:none;
}

body.summit-app-page .summit-header-actions__langhost{
  display:flex;
  align-items:center;
}

/* IMPORTANT: force the moved language bar to be visible */
body.summit-app-page .summit-header-actions #summit-langbar{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  z-index:5 !important;
}

/* Make the EN/FR buttons compact and consistent */
body.summit-app-page .summit-header-actions #summit-langbar .summit-btnrow{
  display:flex !important;
  gap:10px !important;
  white-space:nowrap !important;
}

body.summit-app-page .summit-header-actions #summit-langbar .summit-btn{
  padding:10px 14px;
  border-radius:999px;
  font-weight:900;
}

/* Desktop: pin actions to top-right of intro */
@media (min-width:721px){
  body.summit-app-page .summit-header-actions{
    position:absolute;
    top:0;
    right:0;
    margin-top:0;
    width:auto;
  }
}

/* Mobile: title smaller + actions under subtitle */
@media (max-width:720px){
  body.summit-app-page .summit-intro .summit-title{
    font-size:28px;
    line-height:1.1;
  }
  body.summit-app-page .summit-intro .summit-subtitle{
    margin-top:10px;
  }
  body.summit-app-page .summit-header-actions{
    width:100%;
    justify-content:flex-end;
  }
}

/* =========================================================
   TWO-COLUMN APP AREA (desktop scroll panels)
   ========================================================= */
@media (min-width:1100px){
  body.summit-app-page .summit-main{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 480px !important;
    gap:24px !important;
    align-items:start !important;
    height:calc(100vh - 360px);
    min-height:520px;
  }
    


  body.summit-app-page #summit-sessions-panel,
  body.summit-app-page #summit-map-panel{
    min-width:0;
    height:100%;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    border-radius:18px;
  }

  body.summit-app-page #summit-sessions-panel{ padding-right:6px; }

  body.summit-app-page #summit-map-panel{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body.summit-app-page #summit-map,
  body.summit-app-page #summit-map svg,
  body.summit-app-page #summit-map img{
    max-width:100% !important;
    width:100% !important;
    display:block;
  }
}

@media (max-width:1099px){
  body.summit-app-page .summit-main{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
  }
  body.summit-app-page #summit-sessions-panel,
  body.summit-app-page #summit-map-panel{
    height:auto !important;
    overflow:visible !important;
  }
}

/* =========================================================
   MINI TOOLBAR (filters)
   ========================================================= */

body.summit-app-page .summit-header{
  display:block !important;
}

body.summit-app-page .summit-mini-toolbar{
  width:100% !important;
  background:#f4f7fb;
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  padding:16px 18px;
  margin:18px 0;
  box-sizing:border-box;
}

body.summit-app-page .summit-mini-toolbar__row{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

/* Day row */
body.summit-app-page .summit-mini-toolbar__days .summit-btnrow{
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch;
  gap:12px !important;
  padding-bottom:6px !important;
}

body.summit-app-page .summit-mini-toolbar__days .summit-btn{
  flex:0 0 auto;
  border-radius:10px !important;
  padding:10px 16px !important;
  border:2px solid var(--summit-pill-border, rgba(180,195,220,.90)) !important;
  background:var(--summit-pill-inactive-bg, #eef3fb) !important;
  color:var(--summit-pill-inactive-text, #0f172a) !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

body.summit-app-page .summit-mini-toolbar__days .summit-btn.is-active{
  background:var(--summit-pill-active-bg, #111) !important;
  color:var(--summit-pill-active-text, #fff) !important;
  border-color:var(--summit-pill-active-bg, #111) !important;
}

/* Category row */
body.summit-app-page .summit-mini-toolbar__cats{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  min-width:0;
}

body.summit-app-page .summit-mini-toolbar__cats::before{
  content:"Category";
  font-weight:900;
  font-size:16px;
  color:#111;
  margin-right:6px;
  flex:0 0 auto;
}

body.summit-app-page .summit-mini-toolbar__catrow{
  flex:1 1 auto;
  min-width:0;
}

body.summit-app-page .summit-mini-toolbar__catrow .summit-btnrow{
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch;
  gap:12px !important;
  padding-bottom:6px !important;
}

body.summit-app-page .summit-mini-toolbar__catrow .summit-btn{
  flex:0 0 auto;
  border-radius:999px !important;
  padding:10px 16px !important;
  border:2px solid var(--summit-pill-border, rgba(180,195,220,.90)) !important;
  background:var(--summit-pill-inactive-bg, #eef3fb) !important;
  color:var(--summit-pill-inactive-text, #0f172a) !important;
  font-weight:900 !important;
  white-space:nowrap !important;
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.summit-app-page .summit-mini-toolbar__catrow .summit-btn.is-active{
  background:var(--summit-pill-active-bg, #111) !important;
  color:var(--summit-pill-active-text, #fff) !important;
  border-color:var(--summit-pill-active-bg, #111) !important;
}

/* Filter pill */
body.summit-app-page .summit-mini-toolbar__filter{
  margin-left:auto;
  flex:0 0 auto;
  border-radius:999px;
  padding:10px 16px;
  border:2px solid rgba(180,195,220,.90);
  background:#fff;
  font-weight:900;
  white-space:nowrap;
}

/* Hide scrollbars visually (nice) */
body.summit-app-page .summit-mini-toolbar .summit-btnrow::-webkit-scrollbar{ height:8px; }
body.summit-app-page .summit-mini-toolbar .summit-btnrow::-webkit-scrollbar-thumb{
  background:rgba(0,0,0,.18);
  border-radius:999px;
}

/* Mobile: toolbar closer to edges */
@media (max-width:720px){
  body.summit-app-page .summit-mini-toolbar{
    margin-left:-12px;
    margin-right:-12px;
    padding-left:12px;
    padding-right:12px;
    border-radius:0;
  }
}

/* =========================================================
   SESSION THUMB PLACEHOLDER
   ========================================================= */
body.summit-app-page .summit-session__head{
  align-items:flex-start;
}

body.summit-app-page .summit-session__thumb{
  width:46px;
  height:46px;
  border-radius:12px;
  background:#eef3fb;
  border:2px solid rgba(180,195,220,.55);
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

body.summit-app-page .summit-session__thumb::after{
  content:"";
  width:18px;
  height:18px;
  border-radius:999px;
  background:rgba(0,0,0,.10);
}

/* =========================================================
   SPEAKERS PANEL
   ========================================================= */
body.summit-app-page #summit-speakers-panel{
  margin-top:14px;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  padding:14px 16px;
}
body.summit-app-page #summit-speakers-panel.is-hidden{ display:none !important; }

body.summit-app-page .summit-speakers__title{
  font-weight:900;
  margin:0 0 10px 0;
}

body.summit-app-page .summit-speaker{
  display:flex;
  gap:12px;
  align-items:flex-start;
  cursor:pointer;
}
body.summit-app-page .summit-speaker:hover{ background:rgba(0,0,0,0.02); }

body.summit-app-page .summit-speaker__avatar{
  width:44px;
  height:44px;
  border-radius:999px;
  background:#eef3fb;
  border:1px solid rgba(0,0,0,.12);
  flex:0 0 auto;
  overflow:hidden;
}

body.summit-app-page .summit-speaker__name{ font-weight:900; margin:0; }
body.summit-app-page .summit-speaker__role{
  opacity:.75;
  margin:2px 0 8px 0;
  font-size:13px;
}
body.summit-app-page .summit-speaker__bio{
  margin:0;
  line-height:1.35;
  opacity:.9;
}

/* =========================================================
   MODAL (Speaker + Map)
   ========================================================= */

/* Ensure modal uses the same font as the Summit app */
#summit-app .summit-modal,
#summit-app .summit-modal * {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

#summit-app .summit-modal__name {
  font-size: 1.25em;
  font-weight: 600;
  margin: 0;
}

#summit-app .summit-modal__role {
  font-size: 0.95em;
  font-weight: 500;
  opacity: 0.7;
  margin: 0;
}

#summit-app .summit-modal__bio {
  font-size: 1em;
  line-height: 1.5;
  margin-top: 0.75em;
}
body.summit-app-page .summit-modal[hidden]{ display:none !important; }



body.summit-app-page .summit-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  padding:18px;
}

body.summit-app-page .summit-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,17,17,.55);
}

body.summit-app-page .summit-modal__panel{
  position:relative;
  width:min(720px, calc(100vw - 36px));
  max-height:min(80vh, 720px);
  overflow:auto;
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.12);
  box-shadow:0 18px 60px rgba(0,0,0,.25);
  padding:18px;
}

body.summit-app-page .summit-modal__close{
  position:absolute;
  top:12px;
  right:12px;
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  cursor:pointer;
  font-weight:900;
  line-height:1;
}

body.summit-app-page .summit-modal__header{
  display:flex;
  gap:14px;
  align-items:center;
  padding-right:46px;
  margin-bottom:10px;
}

body.summit-app-page .summit-modal__avatar{
  width:54px;
  height:54px;
  border-radius:999px;
  background:#eef3fb;
  border:2px solid rgba(180,195,220,.9);
  flex:0 0 auto;
}

body.summit-app-page .summit-modal__name{
  font-size:20px;
  font-weight:900;
  margin:0;
}
body.summit-app-page .summit-modal__role{
  margin:2px 0 0;
  opacity:.75;
  font-weight:700;
}
body.summit-app-page .summit-modal__bio{
  margin-top:12px;
  line-height:1.5;
}

/* Mobile modal sizing */
@media (max-width:1099px){
  body.summit-app-page .summit-modal__panel{
    width:min(920px, calc(100vw - 24px));
    max-height:85vh;
  }

  body.summit-app-page .summit-modal__panel .summit-modal__mapwrap{
    border:1px solid rgba(0,0,0,.10);
    border-radius:14px;
    overflow:auto;
    padding:10px;
    margin-top:12px;
    background:#fff;
  }

  body.summit-app-page .summit-modal__panel .summit-modal__actions{
    display:flex;
    gap:10px;
    justify-content:flex-end;
    margin-top:12px;
  }

  body.summit-app-page .summit-modal__panel .summit-modal__btn{
    border:1px solid rgba(0,0,0,.16);
    background:#fff;
    padding:10px 14px;
    border-radius:999px;
    font-weight:900;
    cursor:pointer;
  }
}

/* =========================================================
   MOBILE SESSION CARD WRAP FIXES
   ========================================================= */
@media (max-width:640px){
  body.summit-app-page .summit-session__head{
    display:flex;
    align-items:flex-start;
    gap:10px;
    flex-wrap:wrap;
  }

  body.summit-app-page .summit-session__title{
    font-size:18px;
    line-height:1.2;
    font-weight:900;
    flex:1 1 220px;
    min-width:0;
    word-break:break-word;
  }

  body.summit-app-page .summit-session__tools{
    flex:1 1 auto;
    min-width:0;
    display:flex;
    gap:8px;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
  }

  body.summit-app-page .summit-tool{
    font-size:12px;
    padding:6px 10px;
    border-radius:999px;
    line-height:1.1;
    white-space:nowrap;
  }

  body.summit-app-page .summit-session__chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
}
/* =========================================================
   CONSOLIDATED MOBILE FIXES (summit app page)
   - Session cards wrap cleanly
   - Mini toolbar aligns with cards
   - Days WRAP (no scroll)
   - Categories SCROLL (smaller pills + end padding)
   ========================================================= */

@media (max-width: 720px){

  /* ===== Mini toolbar container: match cards width ===== */
  body.summit-app-page .summit-mini-toolbar{
    width:100% !important;
    max-width:100% !important;
    margin:16px 0 !important;
    padding:14px 14px !important;
    border-radius:18px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  body.summit-app-page .summit-mini-toolbar__row{
    width:100% !important;
  }

  body.summit-app-page .summit-mini-toolbar__days,
  body.summit-app-page .summit-mini-toolbar__cats,
  body.summit-app-page .summit-mini-toolbar__catrow{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  /* Category label on its own line */
  body.summit-app-page .summit-mini-toolbar__cats{
    flex-wrap:wrap !important;
  }
  body.summit-app-page .summit-mini-toolbar__cats::before{
    width:100% !important;
    display:block !important;
    margin:0 0 10px 0 !important;
    font-size:14px !important;
  }

  /* Filter stays to the right */
  body.summit-app-page .summit-mini-toolbar__filter{
    margin-left:auto !important;
    flex:0 0 auto !important;
    align-self:center !important;
  }

  /* ===== DAYS: WRAP (no horizontal scrolling) ===== */
  body.summit-app-page .summit-mini-toolbar__days .summit-btnrow{
    display:flex !important;
    flex-wrap:wrap !important;
    overflow-x:visible !important;
    gap:10px !important;
    padding:0 !important;
    margin:0 !important;
  }

  body.summit-app-page .summit-mini-toolbar__days .summit-btn{
    padding:8px 12px !important;
    border-radius:12px !important;
    font-size:13px !important;
    white-space:nowrap !important;
  }

  /* ===== CATEGORIES: SCROLL (single row) ===== */
  body.summit-app-page .summit-mini-toolbar__catrow .summit-btnrow{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
    gap:10px !important;

    /* IMPORTANT: end padding prevents last pill clipping */
    padding:0 28px 6px 10px !important;
    margin:0 !important;
    box-sizing:border-box !important;

    scrollbar-width:none !important; /* Firefox */
  }

  body.summit-app-page .summit-mini-toolbar__catrow .summit-btnrow::-webkit-scrollbar{
    display:none !important; /* Safari/Chrome */
  }

  body.summit-app-page .summit-mini-toolbar__catrow .summit-btn{
    flex:0 0 auto !important;
    font-size:13px !important;
    padding:8px 12px !important;
    border-radius:999px !important;
    white-space:nowrap !important;

    /* safety for long FR labels */
    max-width:240px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}

/* =========================================================
   MOBILE SESSION CARD WRAP FIXES
   ========================================================= */
@media (max-width: 640px){

  body.summit-app-page .summit-session__head{
    display:flex;
    align-items:flex-start;
    gap:10px;
    flex-wrap:wrap;
  }

  body.summit-app-page .summit-session__title{
    font-size:18px;
    line-height:1.2;
    font-weight:900;
    flex:1 1 220px;
    min-width:0;
    word-break:break-word;
  }

  body.summit-app-page .summit-session__tools{
    flex:1 1 auto;
    min-width:0;
    display:flex;
    gap:8px;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
  }

  body.summit-app-page .summit-tool{
    font-size:12px;
    padding:6px 10px;
    border-radius:999px;
    line-height:1.1;
    white-space:nowrap;
  }

  body.summit-app-page .summit-session__chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
}
/* Desktop: align Resources + lang pills with the H1 baseline */
@media (min-width: 721px){
  body.summit-app-page .summit-intro{
    position: relative;
  }

  body.summit-app-page .summit-intro .summit-title{
    position: relative;
    margin: 0;
  }

  body.summit-app-page .summit-header-actions{
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(18px);
    margin-top: 0;
  }
}

/* Desktop map-panel padding tweak */
@media (min-width:1100px){
  body.summit-app-page #summit-map-panel{
    padding-top: 0 !important;
    margin-top: 0 !important;
    align-self: start !important;
  }

  body.summit-app-page .summit-main{
    gap: 12px !important;
  }

  body.summit-app-page #summit-map-panel.summit-panel{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.summit-app-page #summit-map{
    padding: 12px !important;
    box-sizing: border-box;
  }

  body.summit-app-page #summit-map > *{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.summit-app-page #summit-map-panel .summit-map-title{
    margin-top: 0 !important;
  }
}

/* ==========================
   FILTER BUTTON (icon + label)
   ========================== */
#summit-app .summit-mini-toolbar__filter{
  display:inline-flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
}

#summit-app .summit-mini-toolbar__tags{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:10px 16px;
  border:2px solid rgba(180,195,220,.90);
  background:#fff;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}

#summit-app .summit-mini-toolbar__agenda{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-left:10px;
  border-radius:999px;
  padding:10px 16px;
  border:2px solid rgba(180,195,220,.90);
  background:#fff;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}

#summit-app .summit-mini-toolbar__agenda::before{
  content:"";
  width:16px;
  height:16px;
  display:inline-block;
  background-repeat:no-repeat;
  background-size:16px 16px;
  background-position:center;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23111'%3E%3Cpath d='M12 17.3l-6.18 3.73 1.64-7.03L1.9 9.24l7.2-.62L12 2l2.9 6.62 7.2.62-5.56 4.76 1.64 7.03z'/%3E%3C/svg%3E");
  opacity:.9;
}

@media (max-width:1099px){
  #summit-app .summit-mini-toolbar__agenda{
    display:none !important;
  }
}

#summit-app .summit-mini-toolbar__tags::before{
  content:"#";
  font-weight:900;
  font-size:14px;
  line-height:1;
  opacity:.75;
}

/* sliders icon */
#summit-app .summit-mini-toolbar__filter::before{
  content:"";
  width:18px;
  height:18px;
  display:inline-block;
  background-repeat:no-repeat;
  background-size:18px 18px;
  background-position:center;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='21' x2='4' y2='14'/%3E%3Cline x1='4' y1='10' x2='4' y2='3'/%3E%3Cline x1='12' y1='21' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12' y2='3'/%3E%3Cline x1='20' y1='21' x2='20' y2='16'/%3E%3Cline x1='20' y1='12' x2='20' y2='3'/%3E%3Cline x1='1' y1='14' x2='7' y2='14'/%3E%3Cline x1='9' y1='8' x2='15' y2='8'/%3E%3Cline x1='17' y1='16' x2='23' y2='16'/%3E%3C/svg%3E");
  opacity:.85;
}

/* Active state: red text/icon only (NOT filled pill) */
#summit-app .summit-mini-toolbar__filter.is-active{
  color:#c81e1e;
  border-color:#c81e1e;
  background:#fff;
}

/* Make icon follow currentColor when active (swap icon to red) */
#summit-app .summit-mini-toolbar__filter.is-active::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23c81e1e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='21' x2='4' y2='14'/%3E%3Cline x1='4' y1='10' x2='4' y2='3'/%3E%3Cline x1='12' y1='21' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12' y2='3'/%3E%3Cline x1='20' y1='21' x2='20' y2='16'/%3E%3Cline x1='20' y1='12' x2='20' y2='3'/%3E%3Cline x1='1' y1='14' x2='7' y2='14'/%3E%3Cline x1='9' y1='8' x2='15' y2='8'/%3E%3Cline x1='17' y1='16' x2='23' y2='16'/%3E%3C/svg%3E");
}

@media (max-width:720px){
  #summit-app .summit-mini-toolbar__tags{
    padding:10px 14px !important;
    border-radius:999px !important;
  }
}

/* Clear filter X button */
#summit-app .summit-mini-toolbar__clearfilter{
  margin-left: 10px;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 2px solid #c81e1e;
  background: #fff;
  color: #c81e1e;
  display: none; /* JS shows/hides */
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}
#summit-app .summit-mini-toolbar__clearfilter:hover{
  background:#c81e1e;
  color:#fff;
}

/* ==========================
   FILTER MODAL (global; modal appended to <body>)
   ========================== */
.summit-filter-modal[hidden]{ display:none !important; }

.summit-filter-modal{
  position:fixed;
  inset:0;
  z-index:9999999;
  display:grid;
  place-items:center;
  padding:18px;
}

.summit-filter-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,17,17,.45);
}

.summit-filter-modal__panel{
  position:relative;
  width:min(720px, calc(100vw - 36px));
  max-height:calc(100vh - 36px);
  overflow:auto;
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.12);
  box-shadow:0 18px 60px rgba(0,0,0,.25);
}

.summit-filter-modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 18px 12px;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.summit-filter-modal__title{
  font-weight:900;
  font-size:22px;
  margin:0;
}

.summit-filter-modal__close{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  cursor:pointer;
  font-weight:900;
  line-height:1;
}

.summit-filter-modal__body{ padding:16px 18px 8px; }

.summit-filter-section{
  padding:10px 0 14px;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.summit-filter-section:last-child{ border-bottom:none; }

.summit-filter-section__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.summit-filter-section__label{
  font-weight:900;
  margin:0;
}

.summit-filter-section__clear{
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  border-radius:999px;
  padding:6px 12px;
  font-weight:800;
  font-size:12px;
  line-height:1;
  cursor:pointer;
}

.summit-filter-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.summit-filter-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:2px solid var(--summit-pill-border, rgba(180,195,220,.90));
  background:var(--summit-pill-inactive-bg, #eef3fb);
  color:var(--summit-pill-inactive-text, #0f172a);
  border-radius:999px;
  padding:10px 14px;
  font-weight:900;
  cursor:pointer;
  user-select:none;
}
.summit-filter-chip input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.summit-filter-chip.is-active{
  background:var(--summit-pill-active-bg, #111);
  color:var(--summit-pill-active-text, #fff);
  border-color:var(--summit-pill-active-bg, #111);
}

.summit-filter-chip .tag{
  font-size:12px;
  font-weight:900;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(0,0,0,.08);
}
.summit-filter-chip.is-active .tag{
  background:rgba(255,255,255,.20);
}

.summit-filter-modal__foot{
  display:flex;
  gap:12px;
  justify-content:flex-end;
  padding:14px 18px 18px;
  border-top:1px solid rgba(0,0,0,.08);
}

.summit-filter-btn{
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  padding:12px 16px;
  border-radius:12px;
  font-weight:900;
  cursor:pointer;
}
.summit-filter-btn.primary{
  background:#111;
  color:#fff;
  border-color:#111;
}

/* =========================================================
   FILTER MODAL – typography + consistency reset
   (Fixes “weird font”, heavy tracking, odd heading styles)
   ========================================================= */

/* Force the modal to use the same base font as the app */
.summit-filter-modal,
.summit-filter-modal *{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  font-variant: normal !important;
  font-style: normal !important;
}

/* Title: look like your app headers (bold but not “display font”) */
.summit-filter-modal__title{
  font-size: 28px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  margin: 0 !important;
  color: #111 !important;
}

/* Section label (“Language”) */
.summit-filter-section__label{
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  margin: 0 !important;
  color: #111 !important;
}

/* Chips text */
.summit-filter-chip{
  font-size: 15px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}

/* Chip “tag” pills (EN/FR / 🎧 FR etc.) */
.summit-filter-chip .tag{
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* Buttons in footer */
.summit-filter-btn{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.summit-filter-section__clear{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* Keep heartbeat modal headings legible in dark mode. */
body.summit-app-page.summit-app-theme-dark .summit-heartbeat-modal .summit-filter-modal__title,
body.summit-app-page.summit-app-theme-dark .summit-heartbeat-modal .summit-filter-section__label{
  color: #ffffff !important;
}

/* Close button: keep it clean */
.summit-filter-modal__close{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 900 !important;
  font-size: 22px !important;
}

/* Optional: make the modal feel tighter / closer to your UI */
.summit-filter-modal__head{
  padding: 22px 22px 14px !important;
}

.summit-filter-modal__body{
  padding: 18px 22px 10px !important;
}

.summit-filter-modal__foot{
  padding: 14px 22px 22px !important;
}

/* Mobile: prevent the title from looking huge */
@media (max-width: 720px){
  .summit-filter-modal__title{
    font-size: 24px !important;
  }
}


/* ==========================
   RESOURCES BUTTON
   ========================== */

body.summit-app-page .summit-header-actions__resources{
  display:inline-flex;
  align-items:center;
  gap:8px;

  padding:10px 16px;
  border-radius:999px;

  border:2px solid rgba(180,195,220,.9);
  background:#fff;

  font-weight:900;
  font-size:14px;
  line-height:1;
  text-decoration:none !important;

  color:#111;
  cursor:pointer;
}

body.summit-app-page .summit-header-actions__resources .summit-header-actions__custom-icon{
  display:none;
}

body.summit-app-page .summit-header-actions__resources .summit-header-actions__label{
  display:inline;
}

/* Hover */
body.summit-app-page .summit-header-actions__resources:hover{
  background:#eef3fb;
}

/* Active / focus */
body.summit-app-page .summit-header-actions__resources:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(0,0,0,.15);
}

/* ==========================
   CONSISTENT PILL HOVER
   ========================== */

/* Base interactive pills */
#summit-app .summit-btn,
#summit-app .summit-mini-toolbar__filter,
#summit-app .summit-mini-toolbar__tags,
#summit-app .summit-mini-toolbar__agenda,
#summit-app .summit-header-actions__resources,
#summit-app .summit-filter-chip,
#summit-app .summit-filter-btn {
  transition:
    background-color .15s ease,
    border-color .15s ease,
    color .15s ease;
}

/* Hover (inactive only) */
#summit-app .summit-btn:hover,
#summit-app .summit-mini-toolbar__filter:hover,
#summit-app .summit-mini-toolbar__tags:hover,
#summit-app .summit-mini-toolbar__agenda:hover,
#summit-app .summit-header-actions__resources:hover,
#summit-app .summit-filter-chip:hover,
#summit-app .summit-filter-btn:hover {
  background: #eef3fb;
}

/* Agenda modal list */
.summit-agenda-list{
  display:grid;
  gap:10px;
}

.summit-agenda-date{
  font-weight:900;
  font-size:14px;
  opacity:.75;
  margin:2px 0;
}

.summit-agenda-card{
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  background:#fff;
  padding:12px;
  display:grid;
  gap:8px;
}

.summit-tag-result-card{
  cursor:pointer;
}

.summit-tag-result-card:hover{
  background:#f7f9fd;
}

.summit-tags-list{
  display:grid;
  gap:10px;
  margin-top:8px;
}

.summit-agenda-card__row{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.summit-agenda-card__title{
  font-weight:900;
  font-size:18px;
  line-height:1.25;
  flex:1 1 auto;
}

.summit-agenda-card__remove{
  border:2px solid #f0b100;
  background:#fff7d6;
  color:#8a5a00;
  border-radius:999px;
  width:34px;
  height:34px;
  line-height:1;
  display:grid;
  place-items:center;
  font-size:18px;
  cursor:pointer;
}

.summit-agenda-card__meta,
.summit-agenda-card__chips{
  font-size:14px;
  line-height:1.35;
  opacity:.82;
}

.summit-agenda-empty{
  padding:14px;
  border:1px dashed rgba(0,0,0,.18);
  border-radius:14px;
  font-weight:700;
  opacity:.8;
}

/* Active buttons stay solid */
#summit-app .is-active:hover,
#summit-app .summit-filter-btn.primary:hover {
  background: var(--summit-pill-active-bg, #111) !important;
  color: var(--summit-pill-active-text, #fff) !important;
  border-color: var(--summit-pill-active-bg, #111) !important;
}




/* =========================================================
   MOBILE MAP: modal-only + hide desktop map/speakers panel
   ========================================================= */
@media (max-width: 1099px) {
  body.summit-app-page #summit-map-panel,
  body.summit-app-page #summit-map,
  body.summit-app-page #summit-floor-tabs,
  body.summit-app-page #summit-speakers-panel {
    display: none !important;
  }
}
/* =========================================================
   MAP MODAL – force app font (override theme display font)
   Put this at the VERY END of summit-app-experiments.css
   ========================================================= */

body.summit-app-page .summit-map-modal,
body.summit-app-page .summit-map-modal *{
  font-family: var(--iff, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* "Map" */
body.summit-app-page .summit-map-modal .summit-modal__name{
  font-size: 20px !important;
  font-weight: 900 !important;
  margin: 0 !important;
}

/* "Level 4" */
body.summit-app-page .summit-map-modal .summit-modal__role{
  font-size: 14px !important;
  font-weight: 700 !important;
  opacity: .75 !important;
  margin: 2px 0 0 !important;
}

/* Bottom Close button */
body.summit-app-page .summit-map-modal .summit-modal__btn{
  font-size: 14px !important;
  font-weight: 900 !important;
}

/* Top-right X button */
body.summit-app-page .summit-map-modal .summit-modal__close{
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

/* Hide avatar bubble */
body.summit-app-page .summit-map-modal .summit-modal__avatar{
  display: none !important;
}

/* =========================================
   MOBILE: Align Resources + Language toggle
   ========================================= */
@media (max-width: 720px){

  /* Header actions container */
  body.summit-app-page .summit-header-actions{
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 12px !important;
  }

  /* Ensure Resources behaves like a pill button */
  body.summit-app-page .summit-header-actions__resources{
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
  }

  /* Language host should NOT stretch */
  body.summit-app-page .summit-header-actions__langhost{
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
  }

  /* Language bar buttons alignment */
  body.summit-app-page #summit-langbar{
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 !important;
  }
/* Speaker modal typography — force override (theme is styling <p> tags) */
body.summit-app-page .summit-modal__panel,
body.summit-app-page .summit-modal__panel * ,
body.summit-app-page .summit-modal__panel p,
body.summit-app-page .summit-modal__panel h1,
body.summit-app-page .summit-modal__panel h2,
body.summit-app-page .summit-modal__panel h3{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  font-variant: normal !important;
  font-style: normal !important;
}

/* Also make the name look “app-like” (900 often looks like a logo font) */
body.summit-app-page .summit-modal__name{
  font-weight: 800 !important; /* or 700 */
  letter-spacing: 0 !important;
    } }
    /* =========================================================
   SPEAKER MODAL – force app font (modal is appended to <body>)
   Put this at the VERY END of summit-app-experiments.css
   ========================================================= */

body.summit-app-page .summit-modal,
body.summit-app-page .summit-modal *{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  font-variant: normal !important;
  font-style: normal !important;
}

/* Optional: make name less “logo-like” */
body.summit-app-page .summit-modal .summit-modal__name{
  font-weight: 800 !important; /* try 700 if you want lighter */
  letter-spacing: 0 !important;

}

/* =========================================================
   DARK MODE (page 462)
   ========================================================= */
body.summit-app-page #summit-app.summit-theme-dark .summit-header-actions__resources,
body.summit-app-page #summit-app.summit-theme-dark .summit-mini-toolbar,
body.summit-app-page #summit-app.summit-theme-dark #summit-sessions-panel,
body.summit-app-page #summit-app.summit-theme-dark #summit-map-panel,
body.summit-app-page #summit-app.summit-theme-dark .summit-session{
  background: #0a0a0a !important;
  border-color: #2a2a2a !important;
  color: #f0f0f0 !important;
}

body.summit-app-page #summit-app.summit-theme-dark .summit-title,
body.summit-app-page #summit-app.summit-theme-dark .summit-subtitle,
body.summit-app-page #summit-app.summit-theme-dark .summit-session__title{
  color: #f5f5f5 !important;
}

body.summit-app-page.summit-app-theme-dark .summit-filter-modal__panel,
body.summit-app-page.summit-app-theme-dark .summit-modal__panel{
  background: #0a0a0a !important;
  border-color: #2a2a2a !important;
  color: #f0f0f0 !important;
}
