/* ============================================================
   COORDENAÇÃO + CORPO DOCENTE — compartilhado entre cursos
============================================================ */
.sec-docente{
  --d-border:#d0d0cc;
  --d-tx:#111;
  --d-tx2:#4a4a46;
  --d-gold:#9A7209;
  --d-goldl:#C49A20;
  padding:5rem 4rem;
  font-family:Georgia,'Times New Roman',serif;
  color:var(--d-tx);
}
.sec-docente *{box-sizing:border-box}
.sec-docente-inner{max-width:1320px;margin:0 auto}
.docente-header{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:2rem;margin-bottom:2.5rem;padding-bottom:1.25rem;
  border-bottom:1px solid var(--d-border);
}
.docente-header-tag{
  font-family:-apple-system,'Helvetica Neue',sans-serif;
  font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:#111;margin-bottom:14px;
  display:inline-flex;align-items:center;gap:10px;
}
.docente-header-tag::before{content:"";width:30px;height:1px;background:#111}
.docente-header h2{
  font-family:'Playfair Display',Georgia,serif;
  font-weight:400;font-size:clamp(24px,2.6vw,34px);
  line-height:1.1;letter-spacing:-.3px;color:#111;margin:0;
}
.docente-header h2 em{font-style:italic;font-weight:400}
.sec-head-link{
  font-family:-apple-system,'Helvetica Neue',sans-serif;
  font-size:13px;color:#111;text-decoration:none;
  border-bottom:1px solid #111;padding-bottom:2px;
  white-space:nowrap;transition:opacity .2s;
}
.sec-head-link:hover{opacity:.65}

.docente-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:12px;align-items:stretch;
}

/* Grid com um ÚNICO card (ex.: curso só com coordenador, sem adjunto/docentes):
   vira flex centralizado pra não deixar o card preso na coluna da esquerda. */
.docente-grid:has(.docente-card:only-child){display:flex;justify-content:center}
.docente-grid:has(.docente-card:only-child) .docente-card{width:100%;max-width:360px}

.docente-card{
  background:#fff;border:1px solid var(--d-border);
  padding:1.25rem 1.25rem 1rem;min-height:160px;
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  cursor:pointer;text-decoration:none;color:inherit;
  transition:background .3s,border-color .3s,box-shadow .3s,transform .25s,padding-right .35s cubic-bezier(.16,1,.3,1);
}
.docente-card:hover{
  background:#111;border-color:#111;transform:translateY(-2px);
  box-shadow:0 8px 32px rgba(0,0,0,.2);
}
.docente-card:has(.docente-card-img){overflow:visible;padding-right:9rem;min-height:180px}

.docente-card-img{
  position:absolute !important;top:-56px !important;right:1.25rem !important;
  width:148px !important;height:148px !important;max-width:none !important;
  border-radius:50% !important;
  object-fit:cover !important;object-position:center top !important;
  border:3px solid #fff !important;
  box-shadow:0 10px 24px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.18) !important;
  opacity:0;transform:translateY(40px);
  transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s ease,box-shadow .3s ease;
  display:block !important;pointer-events:none;
}
.docente-card:hover .docente-card-img{
  opacity:1 !important;transform:translateY(0) !important;
  box-shadow:0 14px 30px rgba(0,0,0,.45), 0 0 0 1px rgba(196,154,32,.55) !important;
}
.docente-card-img--ini{
  background:#1a1a1a;
  display:flex !important;align-items:center;justify-content:center;
  font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:500;
  font-size:48px;letter-spacing:-.02em;color:var(--d-goldl);
  text-transform:uppercase;
}
.docente-card-name{
  font-family:'Playfair Display',Georgia,serif;font-weight:600;
  font-size:18px;line-height:1.15;letter-spacing:-.01em;
  color:#111;margin:0 0 .55rem;transition:color .3s;
}
.docente-card:hover .docente-card-name{color:#fff}
.docente-card-desc{
  font-family:Georgia,'Times New Roman',serif;font-size:12.5px;line-height:1.45;
  color:var(--d-tx2);margin:0 0 auto;transition:color .3s;
}
.docente-card:hover .docente-card-desc{color:rgba(255,255,255,.75)}

.docente-card-foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:.85rem;padding-top:.7rem;border-top:1px solid var(--d-border);
  transition:border-color .3s;
}
.docente-card:hover .docente-card-foot{border-top-color:rgba(255,255,255,.2)}
.docente-lattes{
  display:inline-flex;align-items:center;gap:6px;
  font-family:-apple-system,'Helvetica Neue',sans-serif;
  font-size:10px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--d-tx2);text-decoration:none;padding:5px 8px;border:1px solid var(--d-border);
  background:transparent;transition:all .2s;
  white-space:nowrap;flex-shrink:0;
}
.docente-lattes:hover{border-color:#111;color:#111;background:#fff}
.docente-card:hover .docente-lattes{border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.85)}
.docente-card:hover .docente-lattes:hover{background:#fff;color:#111;border-color:#fff}
.docente-card-more{
  font-family:-apple-system,'Helvetica Neue',sans-serif;
  font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--d-tx2);opacity:0;transform:translateX(-4px);
  transition:opacity .25s,transform .25s,color .25s;
}
.docente-card:hover .docente-card-more{opacity:1;transform:translateX(0);color:rgba(255,255,255,.85)}

/* Card destacado da primeira grid */
.docente-grid:first-of-type .docente-card:first-child{background:#111;border-color:#111}
.docente-grid:first-of-type .docente-card:first-child .docente-card-name{color:#fff}
.docente-grid:first-of-type .docente-card:first-child .docente-card-desc{color:rgba(255,255,255,.75)}
.docente-grid:first-of-type .docente-card:first-child .docente-card-foot{border-top-color:rgba(255,255,255,.2)}
.docente-grid:first-of-type .docente-card:first-child .docente-lattes{border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.85)}
.docente-grid:first-of-type .docente-card:first-child .docente-lattes:hover{background:#fff;color:#111;border-color:#fff}
.docente-grid:first-of-type .docente-card:first-child .docente-card-more{color:rgba(255,255,255,.7)}
.docente-grid:first-of-type .docente-card:first-child .docente-card-img--ini{background:#fff;color:#111}

/* ============================================================
   COORDENAÇÃO (#docentes) — equilíbrio visual dos cards (2026-06-07)
   Escopado SÓ na seção de coordenação (id="docentes"); o corpo docente
   abaixo (sem id) fica intacto. Objetivos:
     • cards uniformes — anula o "card destacado" preto da 1ª grid, todos
       brancos com borda fina (nenhum coordenador parece ter mais destaque);
     • mantém a foto circular flutuando pra fora do card (top:-56px herdado),
       mas SEMPRE visível — não só no hover — pra o detalhe aparecer em repouso;
     • avatar de iniciais ocupa o mesmo espaço flutuante quando não há foto;
     • alturas iguais (flex stretch);
     • grid centralizado com 1 OU 2 cards (não joga pra a esquerda).
   Specificity: o seletor com #id (1,x,0) supera as regras .classe da 1ª grid,
   então não precisa de !important. No mobile, as regras .docente-card-img usam
   !important e continuam mandando — o posicionamento responsivo fica preservado.
============================================================ */
#docentes .docente-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch}
#docentes .docente-grid .docente-card{flex:0 1 360px;max-width:360px}

/* anula o card destacado preto → branco com borda fina, igual ao adjunto */
#docentes .docente-card:first-child{background:#fff;border-color:var(--d-border)}
#docentes .docente-card:first-child .docente-card-name{color:var(--d-tx)}
#docentes .docente-card:first-child .docente-card-desc{color:var(--d-tx2)}
#docentes .docente-card:first-child .docente-card-foot{border-top-color:var(--d-border)}
#docentes .docente-card:first-child .docente-lattes{border-color:var(--d-border);color:var(--d-tx2)}
#docentes .docente-card:first-child .docente-card-img--ini{background:#1a1a1a;color:var(--d-goldl)}

/* foto/avatar flutuante sempre visível na coordenação (no hover já era translateY(0)) */
#docentes .docente-card-img{opacity:1;transform:translateY(0)}

/* MODAL */
.docente-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:200;opacity:0;pointer-events:none;transition:opacity .3s}
.docente-modal-overlay.open{opacity:1;pointer-events:all}
.docente-modal{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-45%);
  width:min(680px,92vw);max-height:88vh;overflow-y:auto;background:#fff;z-index:210;
  opacity:0;pointer-events:none;transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1);
  font-family:Georgia,serif;color:#111;
}
.docente-modal.open{opacity:1;pointer-events:all;transform:translate(-50%,-50%)}
.docente-modal-close{
  position:absolute;top:18px;right:18px;
  background:none;border:1px solid #111;color:#111;cursor:pointer;
  padding:10px 20px;
  font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;
  display:flex;align-items:center;gap:10px;
  transition:all .2s;
}
.docente-modal-close:hover{background:#111;color:#fff;border-color:#111}
.docente-modal-close svg{transition:transform .3s cubic-bezier(.16,1,.3,1)}
.docente-modal-close:hover svg{transform:rotate(90deg)}
.docente-modal-head{
  display:grid;grid-template-columns:140px 1fr;gap:1.75rem;
  padding:2.5rem 2.5rem 1.75rem;border-bottom:1px solid var(--d-border);
}
.docente-modal-photo{width:140px;height:180px;object-fit:cover;background:#f2f2f0}
.docente-modal-photo-fallback{
  width:140px;height:180px;background:#111;display:flex;align-items:center;justify-content:center;
  font-family:'Playfair Display',serif;font-style:italic;font-size:48px;color:var(--d-goldl);
}
.docente-modal-eyebrow{font-family:'Bebas Neue',sans-serif;font-size:12px;letter-spacing:.18em;color:var(--d-goldl);margin-bottom:8px}
.docente-modal-name{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:36px;line-height:1.05;color:#111;margin:0 0 14px}
.docente-modal-role{font-family:Georgia,serif;font-style:italic;font-size:15px;color:var(--d-tx2);margin:0}
.docente-modal-body{padding:1.75rem 2.5rem 2.5rem}
.docente-modal-section{margin-bottom:1.5rem}
.docente-modal-section-label{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:.16em;color:var(--d-gold);margin-bottom:8px}
.docente-modal-section-text{font-family:Georgia,serif;font-size:15px;line-height:1.65;color:#111;margin:0}
.docente-modal-cta{
  display:inline-flex;align-items:center;gap:8px;margin-top:1rem;padding:13px 26px;
  background:#111 !important;color:#fff !important;text-decoration:none;border:1px solid #111;
  font-family:-apple-system,'Helvetica Neue',sans-serif;
  font-size:13px;font-weight:600;letter-spacing:.06em;
  transition:background .2s,color .2s,border-color .2s;
}
.docente-modal-cta:hover{background:#fff !important;color:#111 !important;border-color:#111}
.docente-modal-cta:active,.docente-modal-cta:focus{background:#fff !important;color:#111 !important;border-color:#111;outline:none}

@media (max-width:1024px){
  .sec-docente{padding:3.5rem 1.5rem}
  .docente-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding-bottom:1rem}
  .docente-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}
  .docente-card{padding:14px;min-height:auto}
  .docente-card:has(.docente-card-img){padding-right:108px !important;min-height:auto;overflow:hidden}
  .docente-card-img{top:50% !important;right:10px !important;transform:translateY(-50%) scale(1) !important;width:96px !important;height:96px !important;border-radius:50% !important;opacity:1 !important;border-width:2px !important}
  .docente-card:hover .docente-card-img{transform:translateY(-50%) scale(1) !important;right:10px !important;opacity:1 !important}
  .docente-card-img--ini{font-size:32px}
  .docente-card-name{font-size:18px}
  .docente-card-foot{margin-top:1rem;padding-top:.75rem}
  .docente-card-more{display:none}
  .docente-modal-head{grid-template-columns:100px 1fr;padding:2rem 1.5rem 1.25rem;gap:1rem}
  .docente-modal-photo,.docente-modal-photo-fallback{width:100px;height:130px}
  .docente-modal-photo-fallback{font-size:32px}
  .docente-modal-name{font-size:26px}
  .docente-modal-body{padding:1.5rem}
}
@media (max-width:600px){
  .sec-docente{padding:2rem 1rem}
  .docente-grid{grid-template-columns:1fr}
  .docente-card-img{width:84px !important;height:84px !important}
  .docente-card-img--ini{font-size:28px}
}

/* ===== Modal "Corpo Docente" — redesign editorial (ID-scoped, vence Bootstrap vendor) =====
   Fix-chave do scroll: min-height:0 + flex no .modal-body (senão o body não encolhe e o
   fim da lista é cortado pelo .modal-content overflow:hidden). Visual: creme, leve, lista
   limpa, header/footer fixos, botões Lattes pretos em pílula, mobile sem tabela quebrada. */
#modalCorpoDocente.modal{background:rgba(20,16,12,.42);padding:5vh 20px;align-items:flex-start;justify-content:center}
@supports (backdrop-filter:blur(2px)){#modalCorpoDocente.modal{backdrop-filter:blur(3px)}}
#modalCorpoDocente .modal-dialog{margin:auto;width:100%;max-width:1040px;pointer-events:auto;transform:none}
#modalCorpoDocente .modal-content{display:flex;flex-direction:column;max-height:88vh;overflow:hidden;background:#fbf9f4;border:none;border-radius:18px;box-shadow:0 24px 70px rgba(20,16,12,.28);pointer-events:auto}
#modalCorpoDocente .modal-header{flex:0 0 auto;align-items:center;justify-content:space-between;padding:22px 32px;background:#fbf9f4;border-bottom:1px solid #ece7da}
#modalCorpoDocente .modal-title{font-family:var(--fdisplay);font-weight:500;font-size:22px;letter-spacing:-.3px;color:#16110e;margin:0}
#modalCorpoDocente .modal-header .close{background:none;border:none;font-size:26px;line-height:1;color:#8a8378;cursor:pointer;padding:2px 10px;border-radius:8px;transition:background .15s,color .15s}
#modalCorpoDocente .modal-header .close:hover{color:#16110e;background:#efeada}
#modalCorpoDocente .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:24px 32px;scrollbar-width:thin;scrollbar-color:#cfc7b6 transparent}
#modalCorpoDocente .modal-body::-webkit-scrollbar{width:8px}
#modalCorpoDocente .modal-body::-webkit-scrollbar-thumb{background:#cfc7b6;border-radius:8px}
#modalCorpoDocente .modal-body::-webkit-scrollbar-track{background:transparent}
#modalCorpoDocente .modal-footer{flex:0 0 auto;justify-content:flex-end;padding:16px 32px;background:#fbf9f4;border-top:1px solid #ece7da}
#modalCorpoDocente .dc-modal-leads{margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid #ece7da}
#modalCorpoDocente .table{width:100%;border-collapse:collapse;background:transparent}
#modalCorpoDocente .table thead th{background:transparent;font-family:var(--fsans);font-size:10.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#9a9486;border-bottom:1px solid #ece7da}
#modalCorpoDocente .table tbody td{padding:15px 12px;font-family:var(--fsans);font-size:15px;color:#1a1a1a;border-bottom:1px solid #efeada;vertical-align:middle;background:transparent}
#modalCorpoDocente .table.table-striped tbody tr:nth-child(odd) td{background:transparent}
#modalCorpoDocente .table tbody tr{transition:background .15s}
#modalCorpoDocente .table tbody tr:hover td{background:#f3efe6}
#modalCorpoDocente .table tbody td strong{display:inline-block;margin-left:8px;font-size:11px;font-weight:600;letter-spacing:.3px;color:#8a6d12;background:#f3ecd5;padding:2px 9px;border-radius:999px}
#modalCorpoDocente .table td:last-child{text-align:right;white-space:nowrap}
#modalCorpoDocente .table .btn{display:inline-flex;align-items:center;gap:5px;padding:5px 13px;font-family:var(--fsans);font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;border:1px solid #16110e;border-radius:999px;background:transparent;color:#16110e;text-decoration:none;cursor:pointer;transition:all .18s}
#modalCorpoDocente .table .btn:hover{background:#16110e;color:#fff}
#modalCorpoDocente .modal-footer .btn{padding:9px 22px;font-family:var(--fsans);font-size:11.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;border-radius:999px;border:1px solid #16110e;background:#16110e;color:#fff;cursor:pointer;transition:all .18s}
#modalCorpoDocente .modal-footer .btn:hover{background:#000;border-color:#000}
@media (max-width:768px){
  #modalCorpoDocente.modal{padding:0}
  #modalCorpoDocente .modal-dialog{max-width:100%;height:100%;margin:0}
  #modalCorpoDocente .modal-content{max-height:100vh;height:100%;border-radius:0}
  #modalCorpoDocente .modal-header,#modalCorpoDocente .modal-footer{padding:16px 20px}
  #modalCorpoDocente .modal-body{padding:18px 20px}
  #modalCorpoDocente .table thead{display:none}
  #modalCorpoDocente .table,#modalCorpoDocente .table tbody,#modalCorpoDocente .table tr,#modalCorpoDocente .table td{display:block;width:100%}
  #modalCorpoDocente .table tbody tr{padding:12px 0}
  #modalCorpoDocente .table tbody td{border:none;padding:2px 0}
  #modalCorpoDocente .table tbody tr+tr{border-top:1px solid #efeada}
  #modalCorpoDocente .table td:last-child{text-align:left;margin-top:8px}
}
