/* College details: Campus & hostel (resources/views/college/campus.blade.php). Prefix: agd-campus-
   Compact: facilities as small icon chips in a dense wrap; campus life + hostel as two cards side by side
   (one column on phones). Motion is transform/opacity only; off under prefers-reduced-motion. */
.agd-campus { min-width: 0; }
.agd-campus-sub { margin: 0 0 8px; display: flex; align-items: center; gap: 6px; font-size: 1rem; font-weight: 700; color: var(--ag-ink); }
.agd-campus-sub i { color: var(--ag-brand); }
.agd-campus-sub--flat { margin: 0; }
.agd-campus-count {
  padding: 1px 8px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 700;
  color: var(--ag-brand);
  background: color-mix(in srgb, var(--ag-brand) 10%, transparent);
}

/* facilities: dense chip wrap */
.agd-campus-fac { min-width: 0; margin: 0 0 12px; }
.agd-campus-grid { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; min-width: 0; }
.agd-campus-tile {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  min-width: 0;
  padding: 4px 10px 4px 4px;
  border: 1px solid var(--ag-line);
  border-radius: 999px;
  background: var(--ag-surface);
  transition: border-color .2s, transform .2s var(--ag-ease), box-shadow .2s;
}
.agd-campus-tile:hover {
  border-color: color-mix(in srgb, var(--ag-brand) 40%, var(--ag-line));
  transform: translateY(-1px);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--ag-brand) 12%, transparent);
}
.agd-campus-ico {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: .74rem;
  color: var(--ag-brand);
  background: color-mix(in srgb, var(--ag-brand) 12%, transparent);
}
.agd-campus-name { font-size: .82rem; font-weight: 600; line-height: 1.25; color: var(--ag-ink); overflow-wrap: anywhere; }

/* campus life + hostel: two compact cards */
.agd-campus-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.agd-campus-pair--one { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 720px) { .agd-campus-pair { grid-template-columns: minmax(0, 1fr); } }
.agd-campus-life, .agd-campus-hostel {
  position: relative;
  min-width: 0;
  padding: 14px 16px 12px;
  background: var(--ag-surface);
  border: 1px solid var(--ag-line);
  border-radius: var(--ag-radius-sm, 12px);
  box-shadow: var(--ag-shadow);
  overflow: clip;
}
.agd-campus-life { border-top: 2px solid #12A37A; }
.agd-campus-hostel { border-top: 2px solid #3B82F6; }
.agd-campus-hostel-head { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 8px; min-width: 0; }
.agd-campus-hostel-ico {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  color: #fff;
  font-size: .95rem;
  background: linear-gradient(135deg, #3B82F6, #4F46E5);
}
.agd-campus-note { margin: 2px 0 0; font-size: .76rem; line-height: 1.4; color: var(--ag-muted); }

.agd-campus-life .agd-prose, .agd-campus-hostel-body { font-size: .9rem; line-height: 1.55; min-width: 0; overflow-wrap: anywhere; }
.agd-campus-life .agd-prose > :first-child, .agd-campus-hostel-body > :first-child { margin-top: 0; }
.agd-campus-life .agd-prose > :last-child, .agd-campus-hostel-body > :last-child { margin-bottom: 0; }
.agd-campus-life .agd-prose p, .agd-campus-hostel-body p { margin: 0 0 .5em; }
.agd-campus-life .agd-prose ul, .agd-campus-hostel-body ul,
.agd-campus-life .agd-prose ol, .agd-campus-hostel-body ol { margin: 0 0 .5em; padding-left: 1.15em; }
.agd-campus-life table, .agd-campus-hostel-body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: .84rem; }
.agd-campus-life td, .agd-campus-life th, .agd-campus-hostel-body td, .agd-campus-hostel-body th { padding: 6px 8px; border: 1px solid var(--ag-line); }
.agd-campus-life img, .agd-campus-hostel-body img { max-width: 100%; height: auto; }

.agd-campus-clamp { position: relative; min-width: 0; }
.agd-campus-clamp.is-clamped:not(.is-open) { max-height: 9.5em; overflow: hidden; }
.agd-campus-clamp.is-clamped:not(.is-open)::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 2.6em;
  background: linear-gradient(to bottom, transparent, var(--ag-surface));
  pointer-events: none;
}
.agd-campus-more {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  padding: 2px 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: .82rem;
  font-weight: 700;
  color: var(--ag-brand);
  cursor: pointer;
}
.agd-campus-more[hidden] { display: none; }
.agd-campus-more i { transition: transform .25s var(--ag-ease); }
.agd-campus-more[aria-expanded="true"] i { transform: rotate(180deg); }
.agd-campus-more:hover { text-decoration: underline; }
.agd-campus-more:focus-visible { outline: 2px solid var(--ag-brand); outline-offset: 2px; border-radius: 4px; }

html[data-theme="dark"] .agd-campus-tile { background: var(--ag-surface-2, var(--ag-surface)); }
html[data-theme="dark"] .agd-campus-life,
html[data-theme="dark"] .agd-campus-hostel { box-shadow: var(--ag-shadow), inset 0 1px 0 rgba(255, 255, 255, .05); }

@media (max-width: 420px) {
  .agd-campus-life, .agd-campus-hostel { padding: 12px 12px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .agd-campus-tile, .agd-campus-more i { transition: none; }
  .agd-campus-tile:hover { transform: none; }
}
