/* Instituto Realiza — corpo docente em seção expansível, acessível e responsiva */
.faculty-disclosure{margin-top:24px;overflow:hidden;border:1px solid #e4d7ed;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(62,31,84,.06);padding:0!important}
.faculty-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;min-height:92px;padding:21px 24px;transition:background .2s ease}
.faculty-disclosure>summary::-webkit-details-marker{display:none}
.faculty-disclosure>summary:hover,.faculty-disclosure>summary:focus-visible{background:#faf6fc}
.faculty-disclosure>summary:focus-visible{outline:3px solid #8c63b8;outline-offset:-3px}
.faculty-disclosure .faculty-disclosure-label{display:grid;gap:3px}
.faculty-disclosure .faculty-disclosure-label strong{font-size:clamp(1.2rem,3vw,1.55rem);color:#42244e}
.faculty-disclosure .faculty-disclosure-label small{font-size:.89rem;line-height:1.5;color:#725c76}
.faculty-disclosure .faculty-chevron{display:grid;flex:0 0 36px;place-items:center;width:36px;height:36px;border-radius:50%;background:#f2e9f7;color:#61377f;font-weight:800;transition:transform .23s ease}
.faculty-disclosure[open] .faculty-chevron{transform:rotate(180deg)}
.faculty-disclosure .faculty-inner{padding:0 20px 22px}
.public-faculty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:15px}
.public-faculty-card{background:linear-gradient(155deg,#fff,#fcf9fe);border:1px solid #e6dcea;border-radius:18px;padding:20px;min-width:0;box-shadow:0 6px 18px #4022520c}
.public-faculty-card .faculty-head{display:flex;align-items:center;gap:15px}
.public-faculty-card img{flex:0 0 72px;width:72px;height:72px;aspect-ratio:1;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 0 0 1px #e5d7ee,0 5px 16px #472f5c1b;background:#f3edf7}
.public-faculty-card h3{font-size:1.08rem;margin:0 0 4px;line-height:1.3;color:#37213f;overflow-wrap:anywhere}
.public-faculty-card .faculty-title{color:#785985;font-size:.89rem;line-height:1.4;margin:0}
.public-faculty-card .faculty-subjects{margin:16px 0;font-size:.94rem;color:#5c4a63;line-height:1.65}
.public-faculty-card .faculty-biography{font-size:.87rem;line-height:1.5;color:#6e5f74;overflow-wrap:anywhere}
.public-faculty-card .faculty-detail-link,.faculty-footer a{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:11px;background:#63357e;color:#fff;text-decoration:none;font-size:.9rem;font-weight:650;min-height:44px}
.public-faculty-card .faculty-detail-link:hover,.faculty-footer a:hover{background:#51286e}
.faculty-footer{display:flex;justify-content:center;margin-top:20px}
.faculty-load-status{color:#765b7f;padding:12px 4px}
@media(max-width:600px){.faculty-disclosure>summary{padding:17px}.faculty-disclosure .faculty-inner{padding:0 14px 16px}.public-faculty-card{padding:16px}}
@media(prefers-reduced-motion:reduce){.faculty-disclosure .faculty-chevron{transition:none}}

/* Perfil específico: foto e nome são links, com navegação acessível. */
.public-faculty-card .faculty-photo-link{display:inline-flex;flex:0 0 72px;padding:0;background:transparent;border:0;border-radius:50%;min-height:0}
.public-faculty-card .faculty-photo-link img{display:block}
.public-faculty-card .faculty-name-link{color:inherit;text-decoration:none;padding:0;background:transparent}
.public-faculty-card .faculty-name-link:hover{text-decoration:underline}
.public-faculty-card .faculty-photo-link:focus-visible,.public-faculty-card .faculty-name-link:focus-visible{outline:3px solid #7947a1;outline-offset:3px}
.faculty-back-link{margin:0 0 20px}
.faculty-back-link a{color:#63357e;text-decoration:underline;text-underline-offset:3px;font-weight:700}
#faculty .faculty-card img{display:block;width:112px;height:112px;max-width:100%;object-fit:cover;border-radius:50%;background:#f3edf7}

/* Trajetória profissional: leitura integral, respiro e largura responsiva. */
#faculty{min-width:0;width:100%;max-width:100%}
#faculty .faculty-card{
  box-sizing:border-box;min-width:0;max-width:100%;overflow-wrap:break-word;
}
#faculty .faculty-card details{
  box-sizing:border-box;min-width:0;max-width:100%;overflow:hidden;
  border:1px solid #e4d8e6;border-radius:16px;background:#fff;
}
#faculty .faculty-card details>summary{
  box-sizing:border-box;display:list-item;width:100%;padding:17px clamp(15px,3.5vw,24px);
  line-height:1.45;overflow-wrap:break-word;
}
#faculty .faculty-card details>p{
  box-sizing:border-box;max-width:100%;min-width:0;width:100%;
  margin:0;padding:clamp(16px,3.6vw,26px);
  font-size:clamp(1rem,1.2vw + .8rem,1.12rem);
  font-weight:400;line-height:1.75;color:#342a40;
  white-space:pre-line;overflow-wrap:break-word;word-break:normal;
  hyphens:auto;text-align:left;
}
#faculty .faculty-card details[open]>summary{border-bottom:1px solid #e4d8e6}
#faculty .faculty-card a[href*="curriculo-lattes.html"]{
  display:inline-flex;max-width:100%;box-sizing:border-box;
  align-items:center;min-height:44px;margin-top:10px;
  padding:10px 14px;border-radius:12px;text-decoration:none;
  font-size:.93rem;font-weight:650;line-height:1.45;
  overflow-wrap:anywhere;
  background:#66315c;color:white;
}
#faculty .faculty-card a[href*="curriculo-lattes.html"]:focus-visible{
  outline:3px solid #8657b0;outline-offset:3px;
}
@media(max-width:640px){
  #faculty.faculty-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  #faculty .faculty-card{padding:clamp(14px,4vw,20px)}
  #faculty .faculty-card details>p{padding:16px;line-height:1.7;font-size:1rem}
}

/* Corpo docente sem login: somente nome, trajetória profissional e currículo autorizado. */
#faculty .faculty-card-public{max-width:100%;min-width:0;padding:clamp(18px,4vw,28px)}
#faculty .faculty-card-public h2{margin:0 0 20px;overflow-wrap:anywhere}
#faculty .faculty-card-public details{margin:0}
#faculty .faculty-card-public .faculty-download{margin-top:18px}
.public-faculty-card.faculty-public-summary{min-width:0;max-width:100%;padding:clamp(16px,3vw,24px)}
.public-faculty-card.faculty-public-summary h3{margin:0 0 14px;overflow-wrap:anywhere}
.public-faculty-card.faculty-public-summary details{border:1px solid #e5d9ea;border-radius:14px;overflow:hidden;background:#fff}
.public-faculty-card.faculty-public-summary summary{padding:15px 18px;font-weight:650;cursor:pointer;line-height:1.5}
.public-faculty-card.faculty-public-summary details[open] summary{border-bottom:1px solid #e5d9ea}
.public-faculty-card.faculty-public-summary details p{margin:0;padding:16px 18px;white-space:pre-line;overflow-wrap:break-word;word-break:normal;line-height:1.7;font-size:1rem;color:#342a40}
.public-faculty-card.faculty-public-summary .faculty-detail-link{margin-top:15px}
@media(max-width:600px){.public-faculty-card.faculty-public-summary details p{padding:16px;line-height:1.65}}

/* Fotografia pública de perfil: manter formato circular e proporções no mobile. */
#faculty .faculty-card-public img.faculty-public-avatar{
  display:block;width:128px;height:128px;max-width:100%;aspect-ratio:1/1;
  margin:0 0 24px;object-fit:cover;object-position:center;
  border-radius:50%;background:#f3edf7;
  border:3px solid white;box-shadow:0 0 0 1px #e5d7ee,0 6px 20px rgba(65,35,80,.12)
}
.public-faculty-card.faculty-public-summary .faculty-public-head{
  display:flex;align-items:center;gap:14px;min-width:0;margin:0 0 18px
}
.public-faculty-card.faculty-public-summary .faculty-public-head h3{
  margin:0;min-width:0;overflow-wrap:anywhere
}
.public-faculty-card.faculty-public-summary .faculty-public-head .faculty-photo-link{
  flex:0 0 72px;width:72px;height:72px;border-radius:50%;overflow:hidden
}
.public-faculty-card.faculty-public-summary .faculty-public-head img{
  display:block;width:72px;height:72px;object-fit:cover;border-radius:50%
}
@media(max-width:600px){
  #faculty .faculty-card-public img.faculty-public-avatar{width:112px;height:112px;margin-bottom:18px}
  .public-faculty-card.faculty-public-summary .faculty-public-head{gap:12px}
}
