/* ==========================================================
   Esmeeting Scientific Program — SP26 Design System v1.1
   WP-safe: all selectors scoped to .sp26 / .sp26-*
   UNIT POLICY: font-size uses em (relative to .sp26's --fs),
   never rem (which depends on WP theme's html font-size).
   ========================================================== */

/* ── Resets (scoped) ──────────────────────────────────────── */
.sp26,.sp26 *,.sp26 *::before,.sp26 *::after{box-sizing:border-box;}
.sp26 p,.sp26 h1,.sp26 h2,.sp26 h3{margin:0;padding:0;}
.sp26 ul,.sp26 ol,.sp26-tl,.sp26-ol,.org-list,.org-sub{list-style:none;margin:0;padding:0;}
.sp26 li{list-style:none;}
.sp26 button{font-family:inherit;cursor:pointer;}

/* Anti-theme: prevent WP theme from injecting its own font-size
   into generic elements (p, li, span) inside .sp26.
   Our class rules below have higher specificity (0,2,0) and
   override this where needed. */
.sp26 p,.sp26 li,.sp26 span,.sp26 div{font-size:inherit;}

/* ── Base + Custom Properties ─────────────────────────────── */
.sp26{
  --cp:#122750;
  --ca:#c75300;
  --cl:#e6eaee;
  --cbreak:#f8f7f3;
  --fs:15px;
  font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:var(--fs);
  color:#1e2030;
  line-height:1.55;
  width:100%;
  overflow-x:hidden;
}

/* ── NAV: 2×2 grid on mobile ──────────────────────────────── */
.sp26-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-bottom:1.5em;
}
.sp26-tab{
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  background:#f0f4f8;
  border:2px solid #dde4ec;
  border-radius:10px;
  padding:.6em .5em;
  font-size:.84em;font-weight:700;
  color:#7a90a8;
  cursor:pointer;text-align:center;
  line-height:1.25;transition:all .15s;
  white-space:normal;min-height:54px;
}
.sp26-tab .st{
  display:block;font-size:.73em;font-weight:400;
  opacity:.8;margin-top:2px;
}
.sp26-tab.on{background:var(--cp);border-color:var(--cp);color:white;}
.sp26-tab.on .st{opacity:.85;}
.sp26-tab:hover:not(.on){border-color:var(--cp);color:var(--cp);background:#eef3fa;}

/* ── NAV: horizontal bar ≥560px ───────────────────────────── */
@media(min-width:560px){
  .sp26-nav{
    display:flex;overflow-x:auto;scrollbar-width:none;
    border-bottom:2px solid var(--cl);
    gap:0;margin-bottom:1.5em;
    -webkit-overflow-scrolling:touch;
  }
  .sp26-nav::-webkit-scrollbar{display:none;}
  .sp26-tab{
    background:none;border:none;
    border-bottom:3px solid transparent;
    border-radius:0;margin-bottom:-2px;
    padding:.75em 1em .8em;
    font-size:1em;font-weight:700;color:#a8b4c0;
    text-align:left;align-items:flex-start;justify-content:flex-start;
    white-space:normal;max-width:190px;word-break:normal;min-height:auto;
    transition:color .12s;flex-shrink:0;
  }
  .sp26-tab .st{font-size:.84em;opacity:.75;margin-top:3px;}
  .sp26-tab.on{
    background:none;border-color:transparent;
    border-bottom-color:var(--cp);color:var(--cp);
  }
  .sp26-tab.on .st{opacity:1;}
  .sp26-tab:hover:not(.on){color:#667080;background:none;border-color:transparent;}
}

/* ── LEGEND ───────────────────────────────────────────────── */
.sp26-legend{
  display:flex;flex-wrap:wrap;gap:5px 16px;
  margin-bottom:1.3em;padding:10px 14px;
  background:#f8f9fb;border:1px solid #e2e8ef;border-radius:8px;
}
.sp26 .leg-item{
  display:inline-flex;align-items:center;gap:7px;
  font-size:.76em;font-weight:600;color:#3a4050;white-space:nowrap;
}
.sp26-legend .leg-chip{
  width:13px;height:13px;border-radius:3px;
  flex-shrink:0;border:1px solid rgba(0,0,0,.10);
}

/* ── DAYS ─────────────────────────────────────────────────── */
.sp26-day{display:none;}
.sp26-day.on{display:block;}

/* ── TIMELINE ─────────────────────────────────────────────── */
.sp26-tl{list-style:none;padding:0 0 20px;margin:0;position:relative;}
.sp26-tl::before{
  content:'';position:absolute;
  left:62px;top:8px;bottom:8px;
  width:1px;background:var(--cl);
}
.sp26-li{
  display:flex;align-items:flex-start;
  margin-bottom:11px;
  position:relative;
}
.sp26-tc{
  width:62px;min-width:62px;
  padding:9px 10px 0 0;
  text-align:right;flex-shrink:0;
}
/* Time digits — prefixed .sp26 to beat theme specificity */
.sp26 .sp26-t0{
  display:block;font-size:1.1em;font-weight:900;
  color:var(--cp);line-height:1.1;
  letter-spacing:-.02em;white-space:nowrap;
}
.sp26 .sp26-t1{
  display:block;font-size:.7em;color:#b0bbc6;
  font-weight:500;margin-top:3px;white-space:nowrap;
}
.sp26-dot{
  width:9px;height:9px;min-width:9px;border-radius:50%;
  background:#fff;border:1.5px solid #ccd4dd;
  margin-top:13px;flex-shrink:0;position:relative;z-index:1;
}
/* Block types — dots */
.sp26-li.ft .sp26-dot{background:var(--cp);border-color:var(--cp);}
.sp26-li.sc .sp26-dot{background:var(--ca);border-color:var(--ca);}
.sp26-li.br .sp26-dot{background:#d0cdc5;border-color:#d0cdc5;}
.sp26-li.or .sp26-dot{background:#5a8090;border-color:#5a8090;}

/* Block card */
.sp26-c{
  flex:1;margin-left:10px;
  border:1px solid var(--cl);border-radius:6px;
  padding:10px 12px;background:#fff;
  min-width:0;
}
/* Block types — cards */
.sp26-li.ft .sp26-c{border-left:3px solid var(--cp);background:#f8fafd;}
.sp26-li.br .sp26-c{background:var(--cbreak);border-color:#dedad3;}
.sp26-li.sc .sp26-c{background:#fdf9f3;border-color:#e6ddd0;}
.sp26-li.or .sp26-c{background:#eef5f8;border-color:#b8d0db;}

/* ── CONTENT — prefixed .sp26 to beat theme (0,2,0) vs (0,1,1) */
.sp26 .sp26-badge{
  display:block;font-size:.7em;font-weight:700;
  text-transform:uppercase;letter-spacing:.07em;
  color:var(--ca);margin-bottom:4px;
}
.sp26-li.or .sp26-badge{color:#2c6e8a;}

.sp26 .sp26-ttl{font-size:1em;font-weight:700;color:var(--cp);line-height:1.4;margin:0;}
.sp26-li.br .sp26-ttl{color:#6b6860;font-weight:500;}
.sp26-li.sc .sp26-ttl{color:#4a3500;}
.sp26-li.or .sp26-ttl{color:#1a3a50;}

.sp26 .sp26-mod{font-size:.88em;font-style:italic;color:#778;margin:6px 0 0;line-height:1.55;}
.sp26 .sp26-mod b{font-style:normal;font-weight:600;color:#3a4050;}

.sp26-ol{list-style:none;padding:0;margin:6px 0 0;}
.sp26-ol>li{border-top:1px solid var(--cl);padding:5px 0 5px 12px;position:relative;}
.sp26-ol>li::before{
  content:'';position:absolute;left:0;top:12px;
  width:4px;height:4px;border-radius:50%;background:var(--ca);
}
.sp26-ol>.sp26-sub{
  padding:6px 0 3px;font-size:.72em;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;color:#8a95a0;
}
.sp26-ol>.sp26-sub::before{display:none;}

.sp26 .li-t{display:block;font-size:.88em;font-weight:600;color:#1e2030;line-height:1.4;}
.sp26 .li-p{display:block;font-size:.8em;color:#8a909a;font-style:italic;margin-top:2px;line-height:1.4;}
.sp26 .sp26-disc{
  display:block;font-size:.86em;font-weight:600;
  font-style:italic;color:var(--ca);margin-top:8px;
}

/* ── ORG BLOCKS ───────────────────────────────────────────── */
.org-body{margin-top:10px;}
.org-sect{margin-bottom:10px;}
.sp26 .org-sect-ttl{
  font-size:.72em;font-weight:700;color:#2c5a70;
  text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;
}
.org-list{list-style:none;margin:0;padding:0;}
.sp26 .org-list>li{font-size:.82em;color:#2a3e50;line-height:1.55;padding:2px 0 2px 14px;position:relative;}
.sp26 .org-list>li::before{position:absolute;left:0;top:3px;color:#5a8090;}
.org-list.bul>li::before{content:'\2013';}
.org-list.num{counter-reset:oc;}
.org-list.num>li{counter-increment:oc;padding-left:22px;}
.org-list.num>li::before{content:counter(oc)'.';font-weight:700;color:#2c6e8a;}
.org-sub{list-style:none;margin:4px 0 2px 4px;padding:0;}
.sp26 .org-sub li{font-size:.79em;color:#445060;line-height:1.4;padding:2px 0 2px 12px;position:relative;}
.org-sub li::before{content:'\00B7';position:absolute;left:0;top:2px;color:#7090a0;}
.org-metrics{display:grid;grid-template-columns:1fr;gap:8px;margin:0;}
.sp26 .org-metric{
  font-size:.82em;color:#3a4a58;line-height:1.5;
  padding:9px 11px;background:#eef4f7;border-radius:7px;
}
.sp26 .org-metric b{
  display:block;color:#1a3a50;font-size:.75em;font-weight:800;
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;
}

/* ── DESKTOP ≥640px ───────────────────────────────────────── */
@media(min-width:640px){
  .sp26{--fs:16px;}
  .sp26-tab{font-size:1.1em;padding:.85em 1.6em .9em;}
  .sp26-tab .st{font-size:.9em;margin-top:4px;}
  .sp26-tl::before{left:96px;}
  .sp26-tc{width:96px;min-width:96px;padding:10px 13px 0 0;}
  .sp26 .sp26-t0{font-size:1.6em;}
  .sp26 .sp26-t1{font-size:.76em;}
  .sp26-dot{margin-top:19px;}
  .sp26-c{padding:12px 16px;margin-left:13px;}
  .sp26 .sp26-ttl{font-size:1.08em;}
  .sp26 .sp26-mod{font-size:.95em;}
  .sp26 .li-t{font-size:.95em;}
  .sp26 .li-p{font-size:.85em;}
  .sp26 .sp26-disc{font-size:.92em;}
  .org-metrics{grid-template-columns:1fr 1fr;gap:8px;}
}

/* ── VIEW ALL ─────────────────────────────────────────────── */
.sp26 .day-hdr{
  display:none;font-size:1.05em;font-weight:800;
  color:var(--cp);padding:0 0 14px;
  margin-bottom:16px;border-bottom:2px solid var(--ca);
}
.sp26.view-all .sp26-day{display:block;}
.sp26.view-all .sp26-day+.sp26-day{margin-top:40px;padding-top:4px;}
.sp26.view-all .day-hdr{display:block;}

/* ── ICS BUTTONS ──────────────────────────────────────────── */
.sp26 .ics-zone{margin-top:10px;}
.sp26 .ics-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 12px;
  border:1.5px solid var(--ca);border-radius:20px;
  background:white;color:var(--ca);
  font-size:.72em;font-weight:700;
  cursor:pointer;text-decoration:none;
  transition:all .15s;font-family:inherit;line-height:1.4;
}
@media(hover:hover){.sp26 .ics-btn:hover{background:var(--ca);color:white;}}
.sp26 .ics-btn:active{background:var(--ca);color:white;}
.sp26 .ics-btn svg{width:13px;height:13px;flex-shrink:0;}
.sp26.ics-off .ics-zone{display:none;}
