/* College details: Admission (resources/views/college/admission.blade.php). Prefix: agd-adm-
   Compact: hue-tinted cards in a 2-column grid (1 on phones), small icon tile, clamped prose with Read more,
   process list as a tight timeline with small nodes. Motion is transform/opacity only; off under reduced motion. */
.agd-adm-stack { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.agd-adm-stack--one { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 720px) { .agd-adm-stack { grid-template-columns: minmax(0, 1fr); } }

.agd-adm-c-green  { --agd-c1: #12A37A; --agd-c2: #05664F; }
.agd-adm-c-blue   { --agd-c1: #3B82F6; --agd-c2: #4F46E5; }
.agd-adm-c-violet { --agd-c1: #8B5CF6; --agd-c2: #C026D3; }
.agd-adm-c-coral  { --agd-c1: #F97316; --agd-c2: #E11D48; }
.agd-adm-c-gold   { --agd-c1: #F5B53F; --agd-c2: #E8962A; }

.agd-adm-block {
  position: relative;
  min-width: 0;
  padding: 14px 16px 12px;
  background:
    radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--agd-c1, #12A37A) 7%, transparent), transparent 60%),
    var(--ag-surface);
  border: 1px solid var(--ag-line);
  border-radius: var(--ag-radius-sm, 12px);
  box-shadow: var(--ag-shadow);
  overflow: clip;
  transition: border-color .25s, box-shadow .25s var(--ag-ease);
}
html[data-theme="dark"] .agd-adm-block {
  background:
    radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--agd-c1, #12A37A) 12%, transparent), transparent 60%),
    var(--ag-surface);
}
.agd-adm-block::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, var(--agd-c1, #12A37A), var(--agd-c2, #05664F));
  opacity: .85;
}
.agd-adm-block:hover {
  border-color: color-mix(in srgb, var(--agd-c1, #12A37A) 38%, var(--ag-line));
  box-shadow: var(--ag-shadow), 0 10px 24px color-mix(in srgb, var(--agd-c1, #12A37A) 12%, transparent);
}

.agd-adm-head { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; min-width: 0; }
.agd-adm-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, var(--agd-c1, #12A37A), var(--agd-c2, #05664F));
  box-shadow: 0 4px 10px color-mix(in srgb, var(--agd-c1, #12A37A) 28%, transparent);
}
.agd-adm-title { margin: 0; min-width: 0; font-size: 1rem; font-weight: 700; line-height: 1.3; color: var(--ag-ink); overflow-wrap: anywhere; }
.agd-adm-badge {
  margin-left: auto;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 700;
  color: #8a5a00;
  background: color-mix(in srgb, #F5B53F 22%, transparent);
}
html[data-theme="dark"] .agd-adm-badge { color: #F5C66A; background: color-mix(in srgb, #F5B53F 16%, transparent); }

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

/* clamp: the server decides (is-clamped), the button toggles is-open */
.agd-adm-clamp { position: relative; min-width: 0; }
.agd-adm-clamp.is-clamped:not(.is-open) { max-height: 9.5em; overflow: hidden; }
.agd-adm-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-adm-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-adm-more i { transition: transform .25s var(--ag-ease); }
.agd-adm-more[aria-expanded="true"] i { transform: rotate(180deg); }
.agd-adm-more:hover { text-decoration: underline; }
.agd-adm-more:focus-visible { outline: 2px solid var(--ag-brand); outline-offset: 2px; border-radius: 4px; }

/* process steps: tight timeline, small numbered nodes */
.agd-adm-steps ol, .agd-adm-steps ul { list-style: none; padding-left: 0; counter-reset: agd-step; }
.agd-adm-steps li { position: relative; counter-increment: agd-step; margin: 0; padding: 0 0 8px 28px; }
.agd-adm-steps li::before {
  content: counter(agd-step);
  position: absolute;
  left: 0;
  top: .1em;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  font-size: .66rem;
  font-weight: 800;
  line-height: 1;
  color: #fff;
  background: linear-gradient(135deg, var(--agd-c1, #3B82F6), var(--agd-c2, #4F46E5));
}
.agd-adm-steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 8.5px;
  top: calc(.1em + 20px);
  bottom: 2px;
  width: 1px;
  background: color-mix(in srgb, var(--agd-c1, #3B82F6) 35%, var(--ag-line));
}
.agd-adm-steps li:last-child { padding-bottom: 0; }

.agd-adm-schol { border-color: color-mix(in srgb, #F5B53F 30%, var(--ag-line)); }
html[data-theme="dark"] .agd-adm-schol { border-color: color-mix(in srgb, #F5B53F 22%, var(--ag-line)); }

@media (max-width: 420px) {
  .agd-adm-block { padding: 12px 12px 10px; }
  .agd-adm-badge { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .agd-adm-block, .agd-adm-more i { transition: none; }
}
