/* One click-selected campus popup shared by map and search. */
.selected-campus-card {
  position: fixed;
  z-index: 14;
  top: auto;
  right: max(clamp(1rem, 3vw, 3rem), env(safe-area-inset-right));
  bottom: max(clamp(1rem, 3vh, 2.25rem), env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "kicker actions"
    "name actions"
    "status actions";
  align-content: center;
  column-gap: 0.8rem;
  box-sizing: border-box;
  width: min(29rem, calc(100vw - 2rem));
  max-height: min(20rem, 45dvh);
  overflow-y: auto;
  min-height: 5rem;
  padding: 0.72rem 2.15rem 0.72rem 0.82rem;
  border: 1px solid rgba(var(--ink-rgb), 0.2);
  border-left: 3px solid var(--selected-campus-accent, var(--ocean));
  background: rgba(var(--paper-2-rgb), 0.9);
  box-shadow: 0 0.8rem 2rem rgba(var(--shadow-rgb), 0.17);
  backdrop-filter: blur(14px) saturate(0.88);
  -webkit-backdrop-filter: blur(14px) saturate(0.88);
}

.selected-campus-card[hidden] { display: none; }

.selected-campus-close {
  position: absolute;
  top: 0.4rem;
  right: 0.42rem;
  width: 1.65rem;
  height: 1.65rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--muted);
  font: 500 1.08rem/1 var(--font-text);
  cursor: pointer;
}

.selected-campus-close:hover { background: rgba(var(--interactive-rgb), 0.08); color: var(--ink); }

.selected-campus-kicker {
  grid-area: kicker;
  margin: 0 0 0.12rem;
  color: var(--ochre);
  font-size: 0.58rem;
  font-weight: 750;
  letter-spacing: 0.11em;
  line-height: 1.2;
  text-transform: uppercase;
}

.selected-campus-card[data-campus-status="active"] .selected-campus-kicker,
.selected-campus-card[data-campus-status="forming"] .selected-campus-kicker { color: var(--sage); }

.selected-campus-name {
  grid-area: name;
  min-width: 0;
  margin: 0;
  font: 650 1.05rem/1.12 var(--font-display);
  letter-spacing: -0.012em;
  overflow-wrap: anywhere;
  white-space: normal;
}

.selected-campus-status {
  grid-area: status;
  min-width: 0;
  margin: 0.22rem 0 0;
  color: var(--copy);
  font-size: 0.65rem;
  line-height: 1.35;
}

.selected-campus-actions {
  grid-area: actions;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 0.35rem;
  min-width: 6.7rem;
}

.selected-campus-link[hidden],
.selected-campus-apply[hidden] { display: none; }

.selected-campus-actions .btn {
  min-height: 2.2rem;
  padding: 0.48rem 0.62rem;
  font-size: 0.67rem;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
}

.selected-campus-another {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ocean);
  font: 650 0.61rem/1.25 var(--font-text);
  text-decoration: underline;
  text-decoration-thickness: 0.07em;
  text-underline-offset: 0.16em;
  cursor: pointer;
}

/* The card stays in the viewport bottom, never beneath the header search. */
@media (max-width: 800px) {
  .selected-campus-card {
    right: max(0.75rem, env(safe-area-inset-right));
    left: max(0.75rem, env(safe-area-inset-left));
    bottom: max(0.75rem, env(safe-area-inset-bottom));
    width: auto;
    max-height: 40dvh;
  }
}

@media (max-width: 420px) {
  .selected-campus-card {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "kicker" "name" "status" "actions";
  }
  .selected-campus-actions {
    flex-direction: row;
    align-items: center;
    gap: 0.7rem;
    margin-top: 0.55rem;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .selected-campus-card {
    background: var(--paper-2);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
