/* =========================================================
   Поступашки — календарь олимпиад V11
   Автономные стили блока. Совместимы с текущей темой.
   Отдельный CSS-модуль календаря. Остальные разделы сайта не затрагивает.
========================================================= */

#olcal {
  --oc-bg: var(--color-bg, #eef1fb);
  --oc-surface: #ffffff;
  --oc-text: var(--color-text, #23284b);
  --oc-strong: var(--color-text-strong, #1f2856);
  --oc-muted: var(--color-text-muted, #586482);
  --oc-light: var(--color-text-light, #6f7795);
  --oc-blue: var(--color-primary, #4d80ff);
  --oc-blue-dark: var(--color-primary-dark, #2f63f3);
  --oc-blue-soft: var(--color-primary-pale, #e8eeff);
  --oc-blue-line: rgba(77,128,255,.16);
  --oc-yellow: var(--color-accent, #f1bc43);
  --oc-radius: 24px;
  --oc-radius-sm: 14px;
  --oc-shadow: 0 10px 26px rgba(89,110,181,.09);
  --oc-shadow-blue: 0 10px 20px rgba(47,99,243,.22);

  /* Выходим из возможного узкого WP-контейнера, но остаёмся по центру. */
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: min(1180px, calc(100vw - 40px));
  max-width: none;
  margin: 18px 0 42px;
  color: var(--oc-text);
  font-family: var(--font-main, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  font-size: 16px;
  line-height: 1.4;
}

#olcal,
#olcal *,
#olcal *::before,
#olcal *::after,
#olcal-modal,
#olcal-modal *,
#olcal-modal *::before,
#olcal-modal *::after {
  box-sizing: border-box;
}

#olcal button,
#olcal-modal button {
  font: inherit;
}

#olcal a,
#olcal a:link,
#olcal a:visited,
#olcal-modal a,
#olcal-modal a:link,
#olcal-modal a:visited {
  color: inherit;
  text-decoration: none;
}

#olcal .olcal__shell {
  width: 100%;
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

/* ---------- Верх ---------- */
#olcal .olcal__header {
  margin: 0 0 18px;
  padding: 0;
}

#olcal .olcal__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 0 0 18px;
}

#olcal .olcal__heading { min-width: 0; }

#olcal .olcal__title {
  margin: 0;
  color: var(--oc-strong);
  font-family: var(--font-heading, var(--font-main, Inter, sans-serif));
  font-size: clamp(42px, 4.8vw, 60px);
  font-weight: 900;
  line-height: .96;
  letter-spacing: -.045em;
}

#olcal .olcal__month-nav {
  display: flex;
  flex: 0 0 252px;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  width: 252px;
  min-width: 252px;
  padding: 5px;
  margin: 0;
  border: 1px solid rgba(255,255,255,.70);
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  box-shadow: var(--oc-shadow);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#olcal .olcal__nav-btn {
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  flex: 0 0 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 13px;
  background: #eef3ff;
  color: var(--oc-blue-dark);
  font-size: 21px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, opacity .18s ease;
}

#olcal .olcal__nav-btn:hover:not(:disabled),
#olcal .olcal__nav-btn:focus-visible:not(:disabled) {
  transform: translateY(-1px);
  background: #e3ebff;
  outline: none;
}

#olcal .olcal__nav-btn:disabled { opacity: .35; cursor: default; }

#olcal .olcal__month-label {
  flex: 1 1 auto;
  min-width: 150px;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border-radius: 13px;
  background: linear-gradient(180deg, var(--oc-blue), var(--oc-blue-dark));
  color: #fff;
  box-shadow: var(--oc-shadow-blue);
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
}

/* ---------- Фильтр + легенда ---------- */
#olcal .olcal__toolbar {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.70);
  border-radius: 20px;
  background: rgba(255,255,255,.88);
  box-shadow: var(--oc-shadow);
}

#olcal .olcal__subjects {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 5px;
  width: 100%;
  min-width: 0;
}

#olcal .olcal__subject-btn {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 0 10px;
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: var(--oc-muted);
  font-family: var(--font-ui, var(--font-main, Inter, sans-serif));
  font-size: 14px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

#olcal .olcal__subject-btn:hover,
#olcal .olcal__subject-btn:focus-visible {
  background: #eef3ff;
  color: var(--oc-blue-dark);
  outline: none;
}

#olcal .olcal__subject-btn.is-active {
  background: linear-gradient(180deg, var(--oc-blue), var(--oc-blue-dark));
  color: #fff;
  box-shadow: var(--oc-shadow-blue);
}

#olcal .olcal__legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px 16px;
  width: 100%;
  padding: 3px 8px 2px;
  color: var(--oc-light);
  font-family: var(--font-ui, var(--font-main, Inter, sans-serif));
  font-size: 11px;
  font-weight: 700;
  line-height: 1.15;
}

#olcal .olcal__legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

#olcal .olcal__legend-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
}
#olcal .olcal__legend-dot--registration { background: #8caaff; }
#olcal .olcal__legend-dot--start { background: var(--oc-blue); }
#olcal .olcal__legend-dot--end { background: var(--oc-yellow); }
#olcal .olcal__legend-dot--final { background: var(--oc-strong); }

/* ---------- Актуально ---------- */
#olcal .olcal__now {
  margin: 0 0 20px;
  padding: 18px;
  border: 1px solid rgba(77,128,255,.16);
  border-radius: 24px;
  background: linear-gradient(180deg, #4d80ff 0%, #2f63f3 100%);
  box-shadow: 0 14px 30px rgba(47,99,243,.16);
}

#olcal .olcal__now-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 12px;
}

#olcal .olcal__now-title {
  margin: 0;
  color: #fff;
  font-family: var(--font-ui, var(--font-main, Inter, sans-serif));
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.02em;
}

#olcal .olcal__now-note {
  color: rgba(255,255,255,.74);
  font-family: var(--font-ui, var(--font-main, Inter, sans-serif));
  font-size: 11px;
  font-weight: 700;
}

#olcal .olcal__now-list {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 8px;
}

#olcal .olcal__now-card {
  min-width: 0;
  min-height: 58px;
  display: block;
  padding: 11px 12px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 14px rgba(22,42,110,.10);
}

#olcal .olcal__now-card-title,
#olcal .olcal__now-card-meta {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#olcal .olcal__now-card-title { color: var(--oc-strong); font-size: 11px; font-weight: 900; }
#olcal .olcal__now-card-meta { margin-top: 4px; color: var(--oc-blue-dark); font-size: 9px; font-weight: 800; }

#olcal .olcal__now-more {
  grid-column: 1 / -1;
  min-height: 32px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 11px;
  background: rgba(255,255,255,.13);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

#olcal .olcal__now-empty { color: #fff; font-weight: 700; }

/* ---------- Календарь desktop ---------- */
#olcal .olcal__calendar {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#olcal .olcal__weekdays,
#olcal .olcal__grid {
  display: grid;
  grid-template-columns: repeat(7,minmax(0,1fr));
  gap: 9px;
}

#olcal .olcal__weekdays { margin-bottom: 9px; }

#olcal .olcal__weekday {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  border-radius: 11px;
  background: #e5edff;
  color: var(--oc-muted);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
}

#olcal .olcal__day {
  position: relative;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
  min-width: 0;
  aspect-ratio: 1 / 1;
  padding: 10px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 7px 18px rgba(89,110,181,.055);
}

#olcal .olcal__day.is-outside {
  background: rgba(232,238,255,.48);
  border-color: rgba(77,128,255,.06);
  box-shadow: none;
}

#olcal .olcal__day-number {
  width: 27px;
  height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--oc-muted);
  border-radius: 9px;
  font-size: 11px;
  font-weight: 900;
}

#olcal .olcal__day.is-outside .olcal__day-number { opacity: .35; }
#olcal .olcal__day.is-today .olcal__day-number {
  background: linear-gradient(180deg, var(--oc-blue), var(--oc-blue-dark));
  color: #fff;
  box-shadow: 0 6px 12px rgba(47,99,243,.22);
}

#olcal .olcal__events {
  display: grid;
  gap: 6px;
  margin-top: 5px;
}

#olcal .olcal__event {
  --event-color: var(--oc-blue);
  position: relative;
  min-width: 0;
  display: block;
  padding: 7px 8px 7px 11px;
  border: 1px solid #e3e9f8;
  border-radius: 10px;
  background: #fff;
  color: var(--oc-strong);
  overflow: hidden;
}

#olcal .olcal__event::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 3px;
  border-radius: 4px;
  background: var(--event-color);
}

#olcal .olcal__event[data-type="registration"] { --event-color:#8caaff; }
#olcal .olcal__event[data-type="start"] { --event-color:var(--oc-blue); }
#olcal .olcal__event[data-type="end"] { --event-color:var(--oc-yellow); background:#fffaf0; }
#olcal .olcal__event[data-type="final"] { --event-color:var(--oc-strong); }
#olcal .olcal__event.is-past { opacity:.56; }

#olcal .olcal__event-head {
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
#olcal .olcal__event-title {
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--oc-strong);
  font-size:10px;
  font-weight:900;
  line-height:1.18;
}
#olcal .olcal__level {
  flex:0 0 auto;
  padding:2px 5px;
  border-radius:999px;
  background:#f1f4fa;
  color:#6f7795;
  font-size:7px;
  font-weight:800;
  line-height:1.1;
}
#olcal .olcal__event-type {
  margin-top:4px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--event-color);
  font-size:8px;
  font-weight:800;
  line-height:1.15;
}

#olcal .olcal__more {
  width:100%;
  min-height:28px;
  border:1px solid #dce5ff;
  border-radius:9px;
  background:#edf3ff;
  color:var(--oc-blue-dark);
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}

/* КРИТИЧНО: мобильная лента не должна существовать визуально на desktop. */
#olcal .olcal__agenda { display:none !important; }

/* ---------- Модалка ---------- */
body.olcal-modal-open { overflow:hidden !important; }
#olcal-modal {
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  font-family:var(--font-main,Inter,system-ui,sans-serif);
}
#olcal-modal.is-open { display:flex; }
#olcal-modal .olcal-modal__overlay { position:absolute; inset:0; background:rgba(26,36,75,.30); backdrop-filter:blur(5px); }
#olcal-modal .olcal-modal__card {
  position:relative;
  z-index:1;
  width:min(520px,100%);
  max-height:min(680px,86vh);
  overflow:auto;
  border-radius:24px;
  background:#fff;
  box-shadow:0 24px 70px rgba(31,40,86,.22);
}
#olcal-modal .olcal-modal__head {
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  padding:18px 20px;
  border-bottom:1px solid #e8ecf5;
  background:#fff;
}
#olcal-modal .olcal-modal__date { margin:0; color:var(--oc-strong,#1f2856); font-size:21px; font-weight:900; }
#olcal-modal .olcal-modal__subject { margin-top:4px; color:#6f7795; font-size:12px; font-weight:700; }
#olcal-modal .olcal-modal__close {
  width:36px;height:36px;min-width:36px;border:0;border-radius:11px;background:#eef3ff;color:#2f63f3;font-size:23px;line-height:1;cursor:pointer;
}
#olcal-modal .olcal-modal__events { display:grid; gap:9px; padding:16px 18px 20px; }
#olcal-modal .olcal__event { --event-color:#4d80ff; position:relative;display:block;padding:11px 12px 11px 15px;border:1px solid #e3e9f8;border-radius:13px;background:#fff;overflow:hidden; }
#olcal-modal .olcal__event::before { content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:4px;background:var(--event-color); }
#olcal-modal .olcal__event[data-type="registration"]{--event-color:#8caaff}
#olcal-modal .olcal__event[data-type="start"]{--event-color:#4d80ff}
#olcal-modal .olcal__event[data-type="end"]{--event-color:#f1bc43;background:#fffaf0}
#olcal-modal .olcal__event[data-type="final"]{--event-color:#1f2856}
#olcal-modal .olcal__event-head {display:flex;align-items:center;gap:7px}
#olcal-modal .olcal__event-title{flex:1;color:#1f2856;font-size:13px;font-weight:900}
#olcal-modal .olcal__level{padding:3px 6px;border-radius:999px;background:#f1f4fa;color:#6f7795;font-size:8px;font-weight:800}
#olcal-modal .olcal__event-type{margin-top:4px;color:var(--event-color);font-size:11px;font-weight:800}
#olcal-modal .olcal__event-profile{margin-top:6px;color:#586482;font-size:11px;font-weight:700}
#olcal-modal .olcal__event-note{margin-top:6px;color:#6f7795;font-size:11px;line-height:1.35}

/* ---------- Планшет: лента 2 колонки ---------- */
@media (max-width: 900px) {
  #olcal {
    width: min(760px, calc(100vw - 24px));
    margin-top: 10px;
  }
  #olcal .olcal__top {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    margin-bottom: 14px;
  }
  #olcal .olcal__title { font-size: clamp(38px, 7vw, 52px); }
  #olcal .olcal__month-nav {
    width:100%;
    min-width:0;
    flex-basis:auto;
  }
  #olcal .olcal__toolbar {
    gap:8px;
    padding:8px;
  }
  #olcal .olcal__subjects { grid-template-columns:repeat(5,minmax(0,1fr)); }
  #olcal .olcal__legend {
    justify-content:flex-start;
    padding:4px 6px 2px;
  }
  #olcal .olcal__now { margin-bottom:26px; }
  #olcal .olcal__now-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #olcal .olcal__weekdays,
  #olcal .olcal__grid { display:none !important; }
  #olcal .olcal__agenda {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  #olcal .olcal__agenda-day {
    min-width:0;
    padding:14px;
    border-radius:20px;
    background:#fff;
    box-shadow:0 7px 18px rgba(89,110,181,.06);
  }
  #olcal .olcal__agenda-date {
    display:flex;
    align-items:baseline;
    gap:8px;
    margin-bottom:10px;
  }
  #olcal .olcal__agenda-date strong { color:var(--oc-strong);font-size:15px;font-weight:900; }
  #olcal .olcal__agenda-date span { color:var(--oc-light);font-size:10px;font-weight:700; }
  #olcal .olcal__agenda-events { display:grid;gap:7px; }
  #olcal .olcal__agenda .olcal__event { padding:8px 9px 8px 12px; }
  #olcal .olcal__agenda .olcal__event-title { font-size:10px; }
  #olcal .olcal__agenda .olcal__event-type { font-size:8px; }
  #olcal .olcal__empty { grid-column:1/-1;padding:18px;border-radius:18px;background:#fff;color:var(--oc-muted);font-weight:700; }
}

/* ---------- Телефон: лента 1 колонка ---------- */
@media (max-width: 600px) {
  #olcal {
    width: calc(100vw - 16px);
    margin-top: 6px;
    margin-bottom: 24px;
  }
  #olcal .olcal__header { margin-bottom:12px; }
  #olcal .olcal__title { font-size:31px; line-height:.98; letter-spacing:-.035em; }
  #olcal .olcal__top { gap:10px;margin-bottom:10px; }
  #olcal .olcal__month-nav { gap:4px;padding:4px;border-radius:15px; }
  #olcal .olcal__nav-btn { width:34px;height:34px;min-width:34px;min-height:34px;flex-basis:34px;border-radius:10px;font-size:18px; }
  #olcal .olcal__month-label { min-width:0;min-height:34px;border-radius:10px;font-size:11px;padding:0 8px; }
  #olcal .olcal__toolbar { border-radius:18px;padding:6px;gap:7px; }
  #olcal .olcal__subjects {
    display:flex;
    flex-direction:column;
    grid-template-columns:none;
    gap:4px;
    width:100%;
    overflow:visible;
    padding:0;
  }
  #olcal .olcal__subject-btn {
    flex:0 0 auto;
    width:100%;
    min-width:0;
    min-height:36px;
    font-size:11px;
    padding:0 12px;
    border-radius:11px;
    white-space:nowrap;
    text-align:center;
  }
  #olcal .olcal__subject-btn[data-subject="all"] { grid-column:auto; }
  #olcal .olcal__legend { gap:5px 10px;padding:4px 5px;font-size:8px; }
  #olcal .olcal__legend-item { width:calc(50% - 5px);white-space:normal; }
  #olcal .olcal__legend-dot { width:6px;height:6px;flex-basis:6px; }
  #olcal .olcal__now { margin-bottom:22px;padding:12px;border-radius:18px; }
  #olcal .olcal__now-head { margin-bottom:9px; }
  #olcal .olcal__now-title { font-size:18px; }
  #olcal .olcal__now-note { font-size:8px;text-align:right; }
  #olcal .olcal__now-list { grid-template-columns:1fr;gap:6px; }
  #olcal .olcal__now-card { min-height:50px;padding:9px 10px;border-radius:12px; }
  #olcal .olcal__now-card-title { font-size:10px; }
  #olcal .olcal__now-card-meta { font-size:8px; }
  #olcal .olcal__now-more { min-height:28px;font-size:9px; }
  #olcal .olcal__agenda { grid-template-columns:1fr;gap:8px; }
  #olcal .olcal__agenda-day { padding:11px;border-radius:17px; }
  #olcal .olcal__agenda-date strong { font-size:13px; }
  #olcal .olcal__agenda-date span { font-size:9px; }
  #olcal .olcal__agenda-events { gap:6px; }
  #olcal .olcal__agenda .olcal__event { padding:7px 8px 7px 11px; }
  #olcal .olcal__agenda .olcal__event-title { font-size:9px; }
  #olcal .olcal__agenda .olcal__event-type { font-size:7px; }
  #olcal .olcal__agenda .olcal__level { font-size:6px; }
}


/* Standalone hardening */
#olcal .olcal__day:not(.is-outside):hover{transform:translateY(-1px);border-color:rgba(77,128,255,.14);box-shadow:0 10px 22px rgba(89,110,181,.09)}
#olcal .olcal__now-card{transition:transform .16s ease,box-shadow .16s ease}
#olcal .olcal__now-card:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(22,42,110,.14)}
#olcal .olcal__event[href]{transition:transform .14s ease,box-shadow .14s ease}
#olcal .olcal__event[href]:hover{transform:translateY(-1px);box-shadow:0 7px 15px rgba(89,110,181,.09)}
#olcal button:focus-visible,#olcal a:focus-visible,#olcal-modal button:focus-visible,#olcal-modal a:focus-visible{outline:3px solid rgba(77,128,255,.22);outline-offset:2px}

/* =========================================================
   FINAL DESKTOP LAYOUT FIX
   Только календарь: фиксируем строку предметов и убираем
   внешний контейнер вокруг переключателя месяца.
========================================================= */
@media (min-width: 601px) {
  #olcal .olcal__month-nav {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    gap: 8px;
  }

  #olcal .olcal__month-label {
    flex: 0 0 150px;
    width: 150px;
    min-width: 150px;
  }

  #olcal .olcal__subjects {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-template-rows: 40px;
    grid-auto-flow: row;
    width: 100%;
  }

  #olcal .olcal__subject-btn:nth-child(1) { grid-column: 1; grid-row: 1; }
  #olcal .olcal__subject-btn:nth-child(2) { grid-column: 2; grid-row: 1; }
  #olcal .olcal__subject-btn:nth-child(3) { grid-column: 3; grid-row: 1; }
  #olcal .olcal__subject-btn:nth-child(4) { grid-column: 4; grid-row: 1; }
  #olcal .olcal__subject-btn:nth-child(5) { grid-column: 5; grid-row: 1; }
}


/* =========================================================
   FINAL DESKTOP LAYOUT FIX v3
   Предметы: flex без переноса. Месяц: компактная белая рамка.
========================================================= */
@media (min-width: 601px) {
  #olcal .olcal__month-nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: none !important;
    gap: 6px !important;
    padding: 5px !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.84) !important;
    box-shadow: 0 8px 20px rgba(89,110,181,.08) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }

  #olcal .olcal__month-label {
    flex: 0 0 150px !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
  }

  #olcal .olcal__subjects {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 5px !important;
  }

  #olcal .olcal__subject-btn,
  #olcal .olcal__subject-btn:nth-child(n) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
    white-space: nowrap !important;
  }
}
