/* ===== admissions.css ===== */

/* Sections */
.ad-hero{
  padding: 72px 0 48px;
  background: linear-gradient(120deg, rgba(63,0,92,.08), rgba(156,82,242,.06));
  border-bottom: 1px solid var(--border);
}
.ad-hero__title{
  font-size: clamp(1.6rem, 1.1rem + 2vw, 2.2rem);
  font-weight: 900;
  color: var(--cotinga);
  letter-spacing: .3px;
}
.ad-hero__subtitle{
  margin-top: .6rem;
  font-size: var(--fs-16);
  color: #3a2b4c;
}
.ad-hero__cta{
  margin-top: 1.1rem;
  display: flex; gap: .75rem; flex-wrap: wrap;
}
.ad-hero__link{
  display: inline-block;
  padding: .72rem 1.05rem;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--cotinga);
  text-decoration: none;
  font-weight: 700;
}
.ad-hero__link:hover{ background: var(--surface-soft); }

/* Eligibility & cards */
.ad-eligibility{ padding: 28px 0; }
.ad-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--r);
  box-shadow: var(--shadow-md);
  padding: 18px 18px 8px;
}
.ad-list{ margin: .6rem 0 .4rem; padding-left: 1.1rem; }
.ad-list li{ margin: .25rem 0; }

/* Process (stepper) */
.ad-process{ padding: 36px 0; }
.ad-steps{
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  counter-reset: adstep;
  position: relative;
}
.ad-step{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px 18px;
  align-items: start;
  padding: 16px 12px;
  border-radius: 14px;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.ad-step + .ad-step{ margin-top: 10px; }
.ad-step:hover{
  background: var(--surface-soft);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}
.ad-step__icon{
  width: 40px; height: 40px;
  border-radius: 50%;
  display: grid; place-items: center;
  font-weight: 900; color: #fff;
  background: linear-gradient(160deg, var(--cotinga), var(--aconite));
  box-shadow: 0 6px 18px rgba(63,0,92,.25);
}
.ad-step__content h3{
  font-size: 1rem; font-weight: 800; color: var(--cotinga);
  margin: 2px 0 6px;
}
.ad-step__content p{ color: #3a2b4c; }

/* Gallery */
.ad-gallery{
  margin-top: 18px;
  display: grid; gap: 10px;
  grid-template-columns: repeat(3, 1fr);
}
.ad-shot{
  overflow: hidden; border-radius: 12px;
  border: 1px solid var(--border); background: #fff;
}
.ad-shot img{
  display: block; width: 100%; height: 180px; object-fit: cover;
  transform: scale(1.01);
  transition: transform .35s ease;
}
.ad-shot:hover img{ transform: scale(1.06); }

/* Apply / form */
.ad-apply{ padding: 36px 0 56px; }
.ad-intro{ margin: .5rem 0 1rem; color: #3a2b4c; }

.ad-form{ margin-top: .5rem; }
.ad-grid{
  display: grid; gap: 14px;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}
.field{ display: grid; gap: 6px; }
.field--wide{ grid-column: 1 / -1; }
label{ font-weight: 800; color: var(--cotinga); font-size: .92rem; }
input[type="text"], input[type="email"], input[type="tel"], input[type="file"], textarea{
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: .7rem .8rem;
  font-size: var(--fs-16);
  outline: none;
  background: #fff;
  color: var(--text);
}
textarea{ resize: vertical; min-height: 140px; }
.hint{ color: #6d6580; font-size: .85rem; }
.file-info{ display: block; margin-top: .25rem; color: #6d6580; font-size: .85rem; }

input:focus, textarea:focus{
  border-color: rgba(156,82,242,.55);
  box-shadow: 0 0 0 3px rgba(156,82,242,.18);
}

/* Consents */
.ad-consents{
  margin-top: 10px;
  display: grid; gap: .5rem;
  background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: .8rem;
}
.checkbox{ display: grid; grid-template-columns: 18px 1fr; gap: .55rem; align-items: start; }
.checkbox input{ margin-top: .2rem; }

/* Actions */
.ad-actions{
  margin-top: 12px;
  display: grid; gap: 8px;
}
.legal-inline{ color: #3a2b4c; font-size: .92rem; }

/* Responsive */
@media (max-width: 980px){
  .ad-grid{ grid-template-columns: 1fr; }
  .ad-gallery{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px){
  .ad-hero{ padding: 56px 0 36px; }
  .ad-gallery{ grid-template-columns: 1fr; }
  .ad-step{ grid-template-columns: 40px 1fr; }
}
