/* ===== Cards Secretaria (igual Graduação) ===== */
.cards-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 22px;
}
@media (max-width: 1199px){ .cards-grid{ gap:18px; } }
@media (max-width: 991px){ .cards-grid{ grid-template-columns: repeat(6, 1fr); } }
@media (max-width: 575px){ .cards-grid{ grid-template-columns: repeat(2, 1fr); } }

.card-service {
  grid-column: span 4;              /* 3 cards por linha (12/4) */
  position: relative;
  height: 340px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0,0,0,.15);
  transition: transform .25s ease, box-shadow .25s ease;
  background: #111;
}
@media (max-width: 991px){ .card-service{ grid-column: span 6; height: 300px; } }
@media (max-width: 575px){ .card-service{ grid-column: span 2; height: 240px; } }

.card-service img{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  transform: scale(1.05);
  transition: transform .5s ease;
}
.card-service::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.65) 78%, rgba(0,0,0,.9) 100%);
}
.card-service:hover{ transform: translateY(-2px); box-shadow: 0 10px 26px rgba(0,0,0,.18); }
.card-service:hover img{ transform: scale(1.12); }

.card-badge{
  position:absolute; top:14px; left:14px;
  background:#ff6b00; color:#fff; font-weight:700;
  font-size:.82rem; padding:6px 10px; border-radius: 999px;
  letter-spacing:.2px;
}

.card-content{
  position:absolute; left:0; right:0; bottom:0;
  padding:18px 18px 16px;
  color:#fff; z-index:2;
  display:flex; flex-direction:column; gap:10px;
}

/*.card-title{
  display:flex; align-items:center; gap:10px;
  font-size:1.1rem; font-weight:800; line-height:1.3;
}*/


.card-title {
  font-weight: bold;              /* deixa em negrito */
  text-shadow: 2px 2px 4px rgba(0,0,0,0.7); /* sombra */
  color: #fff;                    /* texto branco (melhor contraste) */
  font-size: 1.2rem;              /* ajusta o tamanho */
}



.card-title i{ font-size:1.1rem; }

.card-link{
  display:inline-flex; width:fit-content;
  align-items:center; gap:8px;
  margin-top:4px; padding:8px 12px;
  background: rgba(255,255,255,.1);
  color:#fff; border-radius:10px; font-weight:600;
  text-decoration:none; transition: background .2s ease;
}
.card-link:hover{ background: rgba(255,255,255,.18); color:#fff; }





.card-secretaria {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}

/* imagem */
.card-secretaria img {
  /*width: 100%;
  height: auto;*/
  display: block;
}

/* sombra no rodapé */
.card-secretaria::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px; /* controla a altura da sombra */
  background: linear-gradient(to top, rgba(0,0,0,0.85), rgba(0,0,0,0));
  pointer-events: none;
}

/* título */
.card-secretaria .titulo {
  position: absolute;
  bottom: 50px;
  left: 15px;
  font-weight: bold;
  font-size: 1.1rem;
  color: #fff;
  text-shadow: 2px 2px 6px rgba(0,0,0,0.9);
}

/* botão */
.card-secretaria .btn {
  position: absolute;
  bottom: 10px;
  left: 15px;
  background: rgba(0,0,0,0.6); /* fundo preto semitransparente */
  color: #fff;
  border: none;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.3s ease;
}

.card-secretaria .btn:hover {
  background: rgba(255, 94, 0, 0.9); /* hover laranja */
}


/* ===== HERO / FAIXA (estilo Unimar) ===== */
.ufb-hero{
  position: relative;
  min-height: 360px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: #fff;
}

.ufb-hero-bg{
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1.02);
  filter: saturate(1.05);
}

.ufb-hero-overlay{
  position: absolute;
  inset: 0;
  /* gradiente suave do topo para a base, como no exemplo */
  background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.65) 75%, rgba(0,0,0,.75) 100%);
}

.ufb-hero-content{
  position: relative;
  padding: 64px 0 88px;
}

.ufb-hero-title{
  margin: 0;
  font-weight: 800;
  line-height: 1.1;
  /* tamanhos fluidos */
  font-size: clamp(28px, 6vw, 56px);
  letter-spacing: .2px;
}

.ufb-hero-sub{
  margin-top: 8px;
  opacity: .9;
  font-size: clamp(14px, 1.8vw, 18px);
}

/* Barra inferior com CTA (faixa) */
.ufb-hero-bar{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  background: rgba(3, 28, 54, .92); /* azul escuro translúcido */
  backdrop-filter: saturate(120%) blur(2px);
  padding: 10px 0;
}

.ufb-hero-bar-text{
  color: rgba(255,255,255,.9);
  font-weight: 500;
}

.ufb-hero-btn{
  border: 1px solid rgba(255,255,255,.7);
  color: #fff !important;
  border-radius: 999px;
  padding: 6px 18px;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s ease;
}
.ufb-hero-btn:hover{
  background: #fff;
  color: #0b1d39 !important;
}

/* Responsivo */
@media (max-width: 576px){
  .ufb-hero{ min-height: 300px; }
  .ufb-hero-content{ padding: 48px 0 80px; }
}

/* ===== HERO (faixa) */
.ufb-hero{ position:relative; color:#fff; overflow:hidden; min-height:320px; display:flex; align-items:flex-end; margin:0; }
.ufb-hero--full{ left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; width:100vw; position:relative; }
.ufb-hero--tight .ufb-hero-content{ padding:36px 0 64px; }
.ufb-hero--no-gap{ margin-bottom:0; } /* cola no conteúdo abaixo */

.ufb-hero-bg{ position:absolute; inset:0; background:center/cover no-repeat; transform:scale(1.02); }
.ufb-hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(5,32,64,.25) 0%, rgba(5,32,64,.65) 70%, rgba(5,32,64,.85) 100%);
}
.ufb-hero-content{ position:relative; }
.ufb-hero-title{ margin:0; font-weight:800; line-height:1.1; font-size:clamp(28px,6vw,56px); letter-spacing:.2px; }
.ufb-hero-sub{ margin:.25rem 0 0; opacity:.9; font-size:clamp(14px,1.8vw,18px); }

.ufb-hero-bar{ position:absolute; left:0; right:0; bottom:0; padding:8px 0; background:rgba(3,19,37,.92); }
.ufb-hero-bar-text{ color:rgba(255,255,255,.9); font-weight:500; }
.ufb-hero-btn{ border:1px solid rgba(255,255,255,.7); color:#fff!important; border-radius:999px; padding:6px 18px; font-weight:600; text-decoration:none; }
.ufb-hero-btn:hover{ background:#fff; color:#0b1d39!important; }

@media (max-width:576px){
  .ufb-hero{ min-height:280px; }
  .ufb-hero--tight .ufb-hero-content{ padding:28px 0 56px; }
}





/* ===== NOVO CARD – "NEO" ===== */
.ufb-person--neo{
  position: relative;
  border: 1px solid #e8eef6;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 39, 63, .08);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ufb-person--neo:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(17,39,63,.14);
  border-color: #d9e6f6;
}

/* topo com gradiente da marca (azul -> laranja bem leve no canto) */
.ufb-person--neo .neo-header{
  height: 92px;
  background:
    radial-gradient(120px 90px at 92% -20%, rgba(255,111,61,.35), transparent 60%),
    linear-gradient(135deg, #0F4C81 0%, #143a64 60%);
}

/* avatar sobreposto */
.ufb-person--neo .neo-avatar{
  position: absolute;
  top: 46px; left: 20px;
  width: 96px; height: 96px; border-radius: 50%;
  background: #fff; padding: 4px;
  box-shadow: 0 6px 14px rgba(0,0,0,.12);
}
.ufb-person--neo .neo-avatar img{
  width: 100%; height: 100%; border-radius: 50%; object-fit: cover;
}

/* bloco do conteúdo */
.ufb-person--neo .neo-body{
  padding: 68px 18px 18px 18px; /* espaço por causa do avatar */
}

.ufb-person--neo .neo-name{
  margin: 0 0 2px;
  font-size: 20px; font-weight: 800; color: #0d213a;
}
.ufb-person--neo .neo-role{
  color: #6e7a8a; font-weight: 600; margin-bottom: 12px;
}

/* chips de contato */
.ufb-person--neo .neo-contacts{
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-bottom: 10px;
}
.ufb-person--neo .neo-chip{
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 12px; border-radius: 999px;
  background: #f4f7fb; border: 1px solid #e6edf7;
  color: #103051; text-decoration: none; font-weight: 600;
  max-width: 100%;
}
.ufb-person--neo .neo-chip i{ font-size: 18px; opacity: .9; }
.ufb-person--neo .neo-chip:hover{ background: #eef3fb; border-color: #dbe8f8; }

/* linha extra (horário) */
.ufb-person--neo .neo-extra{
  display: flex; align-items: center; gap: 8px;
  padding-top: 8px; border-top: 1px dashed #e6edf7;
  color: #6e7a8a;
}
.ufb-person--neo .neo-extra i{ font-size: 18px; color: #8aa1c1; }

/* responsivo */
@media (max-width: 576px){
  .ufb-person--neo .neo-avatar{ top: 42px; width: 88px; height: 88px; }
  .ufb-person--neo .neo-body{ padding-top: 62px; }
}

.padding-block-4 {
  padding-block: 4rem;
}

/*.course-header {
  background-image: url('https://unifafibe.com.br/secretariaNew/img/cards/card4.jpeg'); 
}

.faltou-prova {
  background-image: url('https://unifafibe.com.br/secretariaNew/img/cards/card1.jpeg'); 
}

.atv-complementar {
  background-image: url('https://unifafibe.com.br/secretariaNew/img/cards/card2.jpeg'); 
}

.course-header,
.faltou-prova,
.atv-complementar {
  position: relative;
  
  background-size: cover;
  background-position: center;
  height: 400px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #ffffff;
  margin: 2rem 5rem 5rem 5rem;
}

.course-header,
.faltou-prova,
.atv-complementar,
.course-header::after,
.faltou-prova::after,
.atv-complementar::after {
  border-radius: 15px;
}


.course-header::after,
.faltou-prova::after,
.atv-complementar::after{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}
.course-header-content{
  position: relative;
  z-index: 2;
}

.course-header-content h1 {
  font-size: 2.5em;
  font-weight: bold;
}

.course-header-content p {
  font-size: 1.2em;
  font-weight: 300;
  margin-top: 10px;
}

@media (max-width: 768px) {
  .course-header {
    margin: 1rem 3rem 3rem 3rem;
  }
  .course-header-content h1 {
    font-size: 2em;
  }
  .course-header-content p {
    font-size: 1em;
  }
}*/


/*@media (max-width: 468px) {
  .course-header,
  .faltou-prova,
  .atv-complementar {
    margin: 0;
  }
  .course-header,
  .faltou-prova,
  .atv-complementar,
  .course-header::after,
  .faltou-prova::after,
  .atv-complementar::after {
    content: "";
    
  }
   {
    border-radius: 0;
  }
}*/