/* MCDC CMS additions — nav dropdowns, ticker, quick-actions widget, locations modal */

.mc-nav-link { white-space: nowrap; }
.mc-dropdown { position: relative; white-space: nowrap; }
.mc-dropdown-menu {
  position: absolute; top: 100%; left: 0; min-width: 240px;
  background: #fff; box-shadow: 0 18px 40px rgba(15,30,40,.18);
  display: none; flex-direction: column; z-index: 40; padding: 6px 0;
}
.mc-dropdown-menu a {
  padding: 14px 22px; font-size: 14px; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; color: #1f3a4d !important; text-decoration: none;
  border-bottom: 1px solid #eef1f2;
}
.mc-dropdown-menu a:last-child { border-bottom: 0; }
.mc-dropdown-menu a:hover { background: #f4f5f6; color: #0000ff !important; }
.mc-dropdown:hover .mc-dropdown-menu { display: flex; }

/* Ticker */
.mc-ticker {
  background: #1f3a4d; display: flex; align-items: stretch; overflow: hidden;
  height: 42px;
}
.mc-ticker-badge {
  flex-shrink: 0; background: #f18a1c; color: #1f3a4d; font-size: 12px; font-weight: 800;
  letter-spacing: .08em; text-transform: uppercase; display: flex; align-items: center;
  padding: 0 22px; white-space: nowrap;
}
.mc-ticker-track-wrap { flex: 1; overflow: hidden; position: relative; }
.mc-ticker-track {
  display: flex; align-items: center; gap: 56px; white-space: nowrap;
  position: absolute; left: 0; top: 0; height: 100%;
  animation: mc-ticker-scroll 34s linear infinite;
  padding-left: 24px;
}
.mc-ticker-track:hover { animation-play-state: paused; }
.mc-ticker-item { color: rgba(255,255,255,.88) !important; font-size: 13px; font-weight: 600; letter-spacing: .02em; text-decoration: none; }
.mc-ticker-item:hover { color: #f18a1c !important; }
@keyframes mc-ticker-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Floating quick-actions widget — collapsed FAB by default, pops open on click */
.mc-quick-actions {
  position: fixed; right: 0; top: 50%; transform: translateY(-50%);
  z-index: 60; display: flex; flex-direction: column; align-items: flex-end; gap: 10px;
}
.mc-quick-fab {
  width: 52px; height: 52px; border-radius: 50% 0 0 50%; border: 0; cursor: pointer;
  background: #0000ff; color: #fff; display: grid; place-items: center;
  box-shadow: 0 6px 18px rgba(0,0,0,.22);
  transition: background .2s ease, transform .45s cubic-bezier(.34,1.56,.64,1);
}
.mc-quick-fab:hover { background: #0000cc; }
.mc-quick-fab svg { transition: transform .35s cubic-bezier(.34,1.56,.64,1); }
.mc-quick-actions.mc-qa-open .mc-quick-fab svg { transform: rotate(180deg); }

.mc-quick-panel {
  display: flex; flex-direction: column; gap: 2px;
  max-height: 0; overflow: hidden; opacity: 0; transform: translateX(24px) scale(.92);
  transform-origin: right center; pointer-events: none;
  transition: max-height .4s cubic-bezier(.34,1.56,.64,1), opacity .3s ease, transform .4s cubic-bezier(.34,1.56,.64,1);
}
.mc-quick-actions.mc-qa-open .mc-quick-panel {
  max-height: 220px; opacity: 1; transform: none; pointer-events: auto;
}
.mc-quick-action {
  display: flex; align-items: center; gap: 10px; background: #0000ff; color: #fff !important;
  text-decoration: none; padding: 14px 18px; font-size: 12px; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase; white-space: nowrap;
  transition: background .2s ease;
}
.mc-quick-action:nth-child(2) { background: #1f3a4d; }
.mc-quick-action:hover { background: #0000cc; }
.mc-quick-action:nth-child(2):hover { background: #16293a; }
.mc-quick-action-icon { flex-shrink: 0; display: grid; place-items: center; }

/* Locations modal */
.mc-locations-modal {
  display: none; position: fixed; inset: 0; background: rgba(15,25,32,.55);
  z-index: 100; align-items: center; justify-content: center; padding: 20px;
}
.mc-locations-modal-panel {
  background: #fff; width: 480px; max-width: 100%; max-height: 80vh; overflow-y: auto;
  padding: 28px; font-family: Archivo, sans-serif; color: #1f3a4d;
}

/* Collapsible card grid (accordion_grid block) */
.mc-accgrid-card {
  background: #fff; border: 1px solid #eef0f2; border-radius: 14px;
  box-shadow: 0 2px 10px rgba(15,30,40,.05); overflow: hidden;
  transition: box-shadow .25s ease, transform .25s ease;
}
.mc-accgrid-card:hover { box-shadow: 0 14px 30px rgba(15,30,40,.12); transform: translateY(-4px); }
.mc-accgrid-card summary::-webkit-details-marker { display: none; }
.mc-accgrid-card summary::after { content: none !important; }
.mc-accgrid-chevron svg { transition: transform .2s ease; }
.mc-accgrid-card[open] .mc-accgrid-chevron { background: #0000ff !important; color: #fff !important; }
.mc-accgrid-card[open] .mc-accgrid-chevron svg { transform: rotate(180deg); }

/* Admission process step grid — same shadow-card language as .mc-accgrid-card */
.mc-step-card {
  background: #fff; border: 1px solid #eef0f2; border-radius: 12px;
  box-shadow: 0 2px 10px rgba(15,30,40,.05); padding: 20px 20px 22px;
  transition: box-shadow .25s ease, transform .25s ease;
}
.mc-step-card:hover { box-shadow: 0 12px 26px rgba(15,30,40,.1); transform: translateY(-3px); }
.mc-step-num {
  display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
  color: #fff; font-size: 13px; font-weight: 800;
}

/* Accordion (details/summary) arrow */
details > summary { list-style: none; position: relative; padding-right: 30px; }
details > summary::-webkit-details-marker { display: none; }
details > summary::after {
  content: ''; position: absolute; right: 0; top: 50%; width: 10px; height: 10px;
  border-right: 2px solid #1f3a4d; border-bottom: 2px solid #1f3a4d;
  transform: translateY(-70%) rotate(45deg); transition: transform .2s ease;
}
details[open] > summary::after { transform: translateY(-30%) rotate(-135deg); }
