/* ==========================================================================
   PDP Redesign – Graduação
   Escopo: .graduation (não afeta outras páginas)
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. Header
   -------------------------------------------------------------------------- */
.graduation .header.header_default {
  border-top: none;
}
.graduation .header .nav-items {
  display: flex;
  align-items: center;
}
.graduation .header .nav-items > li {
  margin-left: 68px;
}
.graduation .header .nav-items > li:first-child {
  margin-left: 68px;
}
.graduation .header .nav-items > li > a {
  white-space: nowrap;
  padding: 10px 14px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: background-color 0.2s;
}
.graduation .header .nav-items > li > a:hover {
  color: #fff !important;
}
.graduation .header .nav-items .btn-header {
  padding-left: 14px;
}

/* Breadcrumb – fora da gray-section, 12px do header */
.graduation .breadcrumb-wrapper {
  background: #e6e7e6;
  padding: 18px 0 0;
}
.graduation .breadcrumb-wrapper .breadcrumb-path {
  margin-top: 0 !important;
}

/* --------------------------------------------------------------------------
   0.1 Badges de tipo de formação e modalidade
   -------------------------------------------------------------------------- */
.graduation .course-badges {
  display: flex;
  gap: 8px;
  margin: 0 0 12px;
  flex-wrap: wrap;
}
.graduation .course-badge {
  display: inline-flex;
  align-items: center;
  font-family: "Titillium Web", sans-serif;
  font-size: 13px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 20px;
  text-transform: none;
  line-height: 1;
}
.graduation .course-badge.badge-formation {
  background-color: #363634;
  color: #fff;
  border: 1px solid #363634;
}
.graduation .course-badge.badge-modality {
  background-color: transparent;
  color: #363634;
  border: 1px solid #363634;
}

/* --------------------------------------------------------------------------
   0.2 Tipo de formação e nome do curso
   -------------------------------------------------------------------------- */
.graduation .course-formation-type {
  color: #363634;
  font-family: "Neo Sans Std", "Titillium Web", sans-serif;
  font-size: 24px;
  font-style: italic;
  font-weight: 400;
  line-height: 19.55px;
  letter-spacing: -0.51px;
  margin: 0 0 8px;
}
.graduation .title-element {
  color: #363634;
  font-family: "Titillium Web", sans-serif;
  font-size: 38px;
  font-style: normal;
  font-weight: 700;
  line-height: 39.6px;
  letter-spacing: -0.51px;
  margin: 0;
}
.graduation .duration-selo-wrapper {
  display: flex;
  align-items: center;
  gap: 24px;
}
.graduation .selo-empregabilidade {
  width: 140px;
  height: auto;
}

/* --------------------------------------------------------------------------
   1. Footer (dark)
   -------------------------------------------------------------------------- */
.graduation .footer {
  background-color: #1D1D1B;
  color: #C9C9C9;
}
.graduation .footer .h3,
.graduation .footer h3,
.graduation .footer p.h3 {
  color: #FBDB1B;
}
.graduation .footer a {
  color: #C9C9C9;
}
.graduation .footer a:hover,
.graduation .footer ul a:hover {
  color: #fff !important;
}
.graduation .footer ul.list-unstyled li {
  color: #fff;
  list-style-type: disc !important;
  list-style: disc !important;
  margin-left: 16px;
}
.graduation .footer .right-footer .right-mobile {
  text-align: left;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.graduation .footer .socials-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px;
  justify-content: flex-start;
}
.graduation .footer .footer-logo {
  content: url('/public/img/site/logo-uniasselvi-amarela.png');
}
.graduation .footer .socials-grid a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background-color: #FFDD00;
  border-radius: 50%;
  margin-right: 0;
  overflow: hidden;
  flex-shrink: 0;
}
.graduation .footer .socials-grid a img.socials-footer {
  width: 40px;
  height: 40px;
  filter: invert(1);
  mix-blend-mode: multiply;
}
.graduation .footer .wa-btn {
  background-color: #25D366;
  color: #fff;
}
.graduation .footer .wa-btn .whatsapp-ico {
  fill: #fff;
}
.graduation .footer .footer-separator {
  border-color: #363634;
}
.graduation .footer small {
  color: #C9C9C9;
}
.graduation .footer .copyright svg path {
  stroke: #C9C9C9;
}
.graduation .footer .border-down-footer {
  border-color: #363634;
}
.graduation .footer p {
  color: #C9C9C9;
}

/* --------------------------------------------------------------------------
   2. "Sobre o curso" (green-section → fundo branco, texto truncado)
   -------------------------------------------------------------------------- */
.graduation .green-section {
  background-color: #fff !important;
  background-image: none !important;
  background: #fff !important;
  color: #363634;
}
.graduation .green-section::before,
.graduation .green-section:before {
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}
.graduation .green-section h2 {
  color: #1D1D1B;
  font-family: "Titillium Web", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 120%;
  margin-bottom: 24px;
}
.graduation .green-section p {
  color: #1D1D1B;
  font-family: "Titillium Web", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 120%;
}
.graduation .sobre-curso-text {
  position: relative;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.graduation .sobre-curso-text.truncated {
  overflow: hidden;
}
.graduation .sobre-curso-text.truncated::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30px;
  background: linear-gradient(transparent, #fff);
}
.graduation .btn-continuar-lendo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 25px;
  color: #1D1D1B;
  font-family: "Titillium Web", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 130%;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  text-decoration: none;
}
.graduation .btn-continuar-lendo:hover {
  color: #00A59A;
}
.graduation .btn-continuar-lendo .arrow-icon {
  display: inline-block;
  transition: transform 0.3s;
}
.graduation .sobre-curso-text .sobre-hidden {
  display: none;
}
.graduation .sobre-curso-text.truncated::after {
  display: none;
}
.graduation .curso-duracao-box {
  margin-top: 59px;
  margin-bottom: 40px;
  border-radius: 0 0 8px 8px;
  border: 1px solid #C9C9C9;
  background: #FFF;
}
.graduation .curso-duracao-box .content .item {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* --------------------------------------------------------------------------
   3. Seção "Matriz Curricular" (fundo cinza claro, accordion)
   -------------------------------------------------------------------------- */
.graduation .matriz-curricular-section {
  background: #F4F4F4;
  padding: 64px 0;
}
.graduation .matriz-curricular-section > .container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}
.graduation .matriz-curricular-section h2 {
  text-align: left;
  color: #1D1D1B;
  font-family: "Titillium Web", sans-serif;
  font-size: 24px;
  font-weight: 700;
  margin: 0;
}
.graduation .matriz-icon-wrapper {
  display: none;
}
.graduation .matriz-semestres {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  max-width: 650px;
}
.graduation .semestre-block {
  border-radius: 12px;
  border: 1px solid #C9C9C9;
  background: #fff;
  overflow: hidden;
}
.graduation .semestre-header {
  display: flex;
  padding: 16px;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  min-height: 64px;
}
.graduation .semestre-header .semestre-title {
  color: #1D1D1B;
  font-family: "Titillium Web", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 21.43px;
  letter-spacing: -0.51px;
  margin: 0;
}
.graduation .semestre-header.active .semestre-title {
  color: #00A59A;
}
.graduation .semestre-toggle {
  display: flex;
  width: 32px;
  height: 32px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  border-radius: 50px;
  background: #F1FFFE;
}
.graduation .semestre-toggle .material-icons {
  font-size: 24px;
  color: #000;
  line-height: 24px;
}
.graduation .semestre-header.active .semestre-toggle .material-icons {
  color: #00A59A;
}
.graduation .semestre-body {
  display: none;
  padding: 0 16px 16px;
}
.graduation .semestre-body.show {
  display: block;
}
.graduation .semestre-body .disc-list {
  list-style: none;
  padding: 0;
  margin: 13px 0 0;
}
.graduation .semestre-body .disc-list li {
  color: #1D1D1B;
  font-family: "Titillium Web", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 21.43px;
  letter-spacing: -0.51px;
}
.graduation .matriz-footer-box {
  display: flex;
  padding: 24px;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: 650px;
  border-radius: 12px;
  border: 1px solid #C9C9C9;
  background: #fff;
}
.graduation .matriz-footer-box .matriz-footer-text {
  color: #000;
  font-family: "Titillium Web", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 115%;
  max-width: 220px;
}
.graduation .matriz-footer-box .btn-enviar-email {
  display: flex;
  width: 295px;
  padding: 12px 24px;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  background: #00A59A;
  color: #fff;
  text-align: center;
  font-family: "Titillium Web", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.2s;
}
.graduation .matriz-footer-box .btn-enviar-email:hover {
  background: #008f85;
}
/* Hide old matriz elements */
.graduation .matriz-list,
.graduation .matriz-show-more,
.graduation .matriz-hidden,
.graduation .link-matriz-completa {
  display: none;
}

/* --------------------------------------------------------------------------
   4. Seção "Mercado de Trabalho"
   -------------------------------------------------------------------------- */
.graduation .mercado-trabalho-section {
  background-color: #fff;
  padding: 64px 0 48px;
}
.graduation .mercado-trabalho-section h2 {
  color: #1D1D1B;
  font-feature-settings: 'liga' off, 'clig' off;
  font-family: "Titillium Web", sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  margin: 0 0 24px;
}
.graduation .mercado-trabalho-section .mercado-descricao,
.graduation .mercado-trabalho-section .mercado-descricao p,
.graduation .mercado-trabalho-section .mercado-descricao span,
.graduation .mercado-trabalho-section .mercado-descricao strong,
.graduation .mercado-trabalho-section .mercado-descricao b {
  color: #1D1D1B;
  font-feature-settings: 'liga' off, 'clig' off;
  font-family: "Titillium Web", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400 !important;
  line-height: 120%;
  margin: 0;
}
.graduation .mercado-trabalho-section .mercado-descricao p {
  margin-bottom: 16px;
}
.graduation .mercado-trabalho-section .mercado-descricao p:last-child {
  margin-bottom: 0;
}
/* CTA – "Dê o primeiro passo..." + "Inscreva-se agora" */
.graduation .mercado-trabalho-section .mercado-cta {
  margin-top: 64px;
}
.graduation .mercado-trabalho-section .mercado-cta-text {
  color: #1D1D1B;
  font-feature-settings: 'liga' off, 'clig' off;
  font-family: "Titillium Web", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 130%;
}
.graduation .mercado-trabalho-section .mercado-cta-link {
  color: #00A59A;
  font-feature-settings: 'liga' off, 'clig' off;
  font-family: "Titillium Web", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-decoration: none;
}
.graduation .mercado-trabalho-section .mercado-cta-link:hover {
  text-decoration: underline;
}
/* Lista de diferenciais */
.graduation .mercado-trabalho-section .mercado-diferenciais {
  margin-top: 64px;
}
.graduation .mercado-trabalho-section .mercado-diff-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 24px;
}
.graduation .mercado-trabalho-section .mercado-diff-item:last-child {
  margin-bottom: 0;
}
.graduation .mercado-trabalho-section .mercado-diff-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  margin-top: 0;
}
.graduation .mercado-trabalho-section .mercado-diff-text {
  color: #1D1D1B;
  font-feature-settings: 'liga' off, 'clig' off;
  font-family: "Titillium Web", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 130%;
  flex: 1 0 0;
}
.graduation .mercado-trabalho-section .mercado-diff-text strong,
.graduation .mercado-trabalho-section .mercado-diff-text b {
  font-weight: 700;
}
/* PPC download */
.graduation .mercado-trabalho-section .mercado-ppc {
  margin-top: 48px;
}
.graduation .mercado-trabalho-section .mercado-ppc a {
  color: #00A59A;
  font-weight: 600;
  text-decoration: none;
}
.graduation .mercado-trabalho-section .mercado-ppc a:hover {
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   5. Seção "Pré-requisito"
   -------------------------------------------------------------------------- */
.graduation .prerequisito-section {
  background-color: #363634;
  padding: 64px 0;
  color: #fff;
}
.graduation .prerequisito-section h2 {
  color: #FFF;
  font-feature-settings: 'liga' off, 'clig' off;
  font-family: "Titillium Web", sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  margin: 0 0 24px;
}
/* Descrição */
.graduation .prerequisito-section .prereq-descricao p {
  color: #FFF;
  font-feature-settings: 'liga' off, 'clig' off;
  font-family: "Titillium Web", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  margin: 0 0 8px;
}
.graduation .prerequisito-section .prereq-descricao p:last-child {
  margin-bottom: 0;
}
.graduation .prerequisito-section .prereq-descricao .course-name {
  font-weight: 700;
}
/* Colunas de requisitos */
.graduation .prerequisito-section .prereq-columns {
  display: flex;
  gap: 64px;
  margin-top: 24px;
}
.graduation .prerequisito-section .prereq-col {
  flex: 1;
}
.graduation .prerequisito-section .prereq-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.graduation .prerequisito-section .prereq-item:last-child {
  margin-bottom: 0;
}
.graduation .prerequisito-section .prereq-item svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}
.graduation .prerequisito-section .prereq-item span {
  color: #FFF;
  font-feature-settings: 'liga' off, 'clig' off;
  font-family: "Titillium Web", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 130%;
}

/* --------------------------------------------------------------------------
   6. Seção "Por que escolher a UNIASSELVI?"
   -------------------------------------------------------------------------- */
.graduation .porque-escolher-section {
  background-color: #1D1D1B;
  padding: 64px 0;
  color: #fff;
}
/* Badge "Conceito 4 no MEC" */
.graduation .pq-badge {
  display: inline-flex;
  height: 24px;
  padding: 4px 8px;
  align-items: center;
  gap: 4px;
  border-radius: 999px;
  border: 1px solid #FFF8B0;
  background: #FFF8B0;
  margin-bottom: 20px;
}
.graduation .pq-badge svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}
.graduation .pq-badge span {
  color: #000;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 145%;
}
/* Título */
.graduation .porque-escolher-section h2 {
  color: #FFF;
  font-family: "Titillium Web", sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 115%;
  margin: 0 0 56px;
}
/* Lista de razões */
.graduation .pq-reasons-list {
  display: flex;
  flex-direction: column;
  gap: 56px;
}
.graduation .pq-reason-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.graduation .pq-reason-header {
  display: flex;
  align-items: center;
  gap: 12px;
}
.graduation .pq-reason-header svg {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
}
.graduation .pq-reason-title {
  color: #FFF;
  font-family: "Titillium Web", sans-serif;
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: 115%;
}
.graduation .pq-reason-text {
  color: #FFF;
  font-feature-settings: 'liga' off, 'clig' off;
  font-family: "Titillium Web", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 130%;
  margin: 0;
  padding-left: 44px;
}
/* Card de Vídeo */
.graduation .pq-video-card {
  width: 520px;
  max-width: 100%;
  border-radius: 12px;
  border: 1px solid #4F4F4E;
  overflow: hidden;
  margin-top: 56px;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: #FBDB1B;
}
.graduation .pq-video-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.graduation .pq-video-play-icon {
  flex-shrink: 0;
}
.graduation .pq-video-play-icon svg {
  width: 56px;
  height: 40px;
  display: block;
}
.graduation .pq-video-title {
  color: #1D1D1B;
  font-family: "Titillium Web", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 120%;
}
.graduation .pq-video-desc {
  color: #1D1D1B;
  font-family: "Titillium Web", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 140%;
  margin: -14px 0 0;
  padding-left: 72px;
}
.graduation .pq-video-player {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}
.graduation .pq-video-player .embed-responsive {
  border-radius: 8px;
}
.graduation .pq-video-cta {
  display: block;
  color: #1D1D1B;
  font-family: "Titillium Web", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 130%;
}

/* --------------------------------------------------------------------------
   7. Seção "Perguntas Frequentes" (mesmo estilo Matriz Curricular)
   -------------------------------------------------------------------------- */
.graduation .faq-section-wrapper {
  background-color: #F4F4F4;
  padding: 64px 0;
}
.graduation .faq-section-wrapper h2 {
  color: #1D1D1B;
  font-family: "Titillium Web", sans-serif;
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 24px;
}
.graduation .faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 650px;
}
.graduation .faq-acc-block {
  border-radius: 12px;
  border: 1px solid #C9C9C9;
  background: #fff;
  overflow: hidden;
}
.graduation .faq-acc-header {
  display: flex;
  padding: 16px;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  min-height: 64px;
}
.graduation .faq-acc-title {
  color: #1D1D1B;
  font-family: "Titillium Web", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 21.43px;
  letter-spacing: -0.51px;
  margin: 0;
  flex: 1;
  padding-right: 12px;
}
.graduation .faq-acc-header.active .faq-acc-title {
  color: #00A59A;
}
.graduation .faq-acc-header .semestre-toggle {
  display: flex;
  width: 32px;
  height: 32px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  border-radius: 50px;
  background: #F1FFFE;
}
.graduation .faq-acc-header .semestre-toggle .material-icons {
  font-size: 24px;
  color: #000;
  line-height: 24px;
}
.graduation .faq-acc-header.active .semestre-toggle .material-icons {
  color: #00A59A;
}
.graduation .faq-acc-body {
  display: none;
  padding: 0 16px 16px;
  color: #1D1D1B;
  font-family: "Titillium Web", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 21.43px;
  letter-spacing: -0.51px;
}
.graduation .faq-acc-body.show {
  display: block;
}
/* Compartilhar */
.graduation .faq-share {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 32px;
}
.graduation .faq-share-label {
  color: #1D1D1B;
  font-family: "Titillium Web", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 17px;
  letter-spacing: -0.51px;
  white-space: nowrap;
}
.graduation .faq-share-icons {
  display: flex;
  align-items: center;
  gap: 8px;
}
.graduation .faq-share-icons .share-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.graduation .faq-share-icons .share-icon svg {
  width: 32px;
  height: 32px;
}

/* --------------------------------------------------------------------------
   8. Modal "Grade Curricular" (redesign)
   -------------------------------------------------------------------------- */
.graduation #modal-matriz {
  z-index: 10001 !important;
}
/* Backdrop é inserido no body, fora de .graduation */
.modal-backdrop.in,
.modal-backdrop.show {
  z-index: 10000 !important;
}
.graduation #modal-matriz .modal-dialog {
  max-width: 432px;
}
.graduation #modal-matriz .modal-content {
  border-radius: 16px;
  padding: 32px;
  border: 1px solid #C9C9C9;
  position: relative;
}
/* Botão X de fechar */
.graduation #modal-matriz .modal-header {
  border-bottom: none !important;
  padding: 0 !important;
  margin-bottom: 24px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
}
.graduation #modal-matriz .modal-header .btn-close {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer;
  width: 24px;
  height: 24px;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1 !important;
  float: none !important;
}
.graduation #modal-matriz .modal-header .btn-close svg {
  width: 24px;
  height: 24px;
}
/* Título do modal */
.graduation #modal-matriz .modal-header .modal-title,
.graduation #modal-matriz .modal-header h4.modal-title {
  color: #363634 !important;
  font-family: "Titillium Web", sans-serif !important;
  font-size: 20px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  letter-spacing: -0.51px !important;
  margin: 0 !important;
  padding-right: 16px;
}
.graduation #modal-matriz .modal-header .modal-title strong {
  font-weight: 700 !important;
}
/* Body */
.graduation #modal-matriz .modal-body {
  padding: 0 !important;
}
/* Form groups – 24px entre input e próximo label */
.graduation #modal-matriz .modal-body .form-group {
  margin-bottom: 24px !important;
}
.graduation #modal-matriz .modal-body .form-group.form-group-submit {
  margin-bottom: 0 !important;
  margin-top: 24px !important;
}
/* Labels */
.graduation #modal-matriz .modal-body .form-group label {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #000 !important;
  font-family: "Roboto", sans-serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 160% !important;
  margin-bottom: 6px !important;
}
/* Inputs */
.graduation #modal-matriz .modal-body .form-control {
  border-radius: 8px !important;
  height: 46px !important;
  border: 1px solid #C9C9C9 !important;
  font-family: "Roboto", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 160% !important;
  color: #000 !important;
  padding: 0 14px !important;
  box-shadow: none !important;
}
/* Placeholder – todos os prefixos vendor para garantir override */
.graduation #modal-matriz .modal-body .form-control::-webkit-input-placeholder {
  color: #979C9C !important;
  font-family: "Roboto", sans-serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 160% !important;
  opacity: 1 !important;
}
.graduation #modal-matriz .modal-body .form-control::-moz-placeholder {
  color: #979C9C !important;
  font-family: "Roboto", sans-serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 160% !important;
  opacity: 1 !important;
}
.graduation #modal-matriz .modal-body .form-control:-ms-input-placeholder {
  color: #979C9C !important;
  font-family: "Roboto", sans-serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 160% !important;
  opacity: 1 !important;
}
.graduation #modal-matriz .modal-body .form-control::-ms-input-placeholder {
  color: #979C9C !important;
  font-family: "Roboto", sans-serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 160% !important;
  opacity: 1 !important;
}
.graduation #modal-matriz .modal-body .form-control::placeholder {
  color: #979C9C !important;
  font-family: "Roboto", sans-serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 160% !important;
  opacity: 1 !important;
}
.graduation #modal-matriz .modal-body .form-control:focus {
  border-color: #00A59A !important;
  box-shadow: 0 0 0 2px rgba(0, 165, 154, 0.15) !important;
}
/* Botão enviar */
.graduation #modal-matriz .btn-send-lead {
  background-color: #00A59A !important;
  color: #fff !important;
  border-radius: 8px !important;
  width: 100% !important;
  padding: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 16px !important;
  border: none !important;
  cursor: pointer;
  transition: background-color 0.2s;
  letter-spacing: 0.5px;
}
.graduation #modal-matriz .btn-send-lead:hover {
  background-color: #008f85 !important;
}

/* Ocultar share antigo (jssocials) – já temos ícones próprios na seção FAQ */
.graduation #share {
  display: none !important;
}

/* --------------------------------------------------------------------------
   9. Gray-section inferior – ocultar se vazia
   -------------------------------------------------------------------------- */
.graduation .faq-section-wrapper + .gray-section .list:empty + #share:empty {
  display: none;
}
.graduation .faq-section-wrapper + .gray-section .list-unstyled:empty {
  margin: 0;
  padding: 0;
}
.graduation .faq-section-wrapper + .gray-section {
  padding: 0;
  min-height: 0;
}

/* --------------------------------------------------------------------------
   10. Responsivo mobile (≤768px)
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
  .graduation .header .nav-items > li {
    margin-left: 0;
  }
  .graduation .title-element {
    font-size: 28px;
    line-height: 32px;
  }
  .graduation .course-formation-type {
    font-size: 18px;
  }
  .graduation .green-section h2 {
    font-size: 24px;
  }
  .graduation .matriz-curricular-section {
    padding: 32px 0;
  }
  .graduation .matriz-curricular-section h2 {
    font-size: 20px;
  }
  .graduation .semestre-header .semestre-title {
    font-size: 16px;
  }
  .graduation .matriz-footer-box {
    flex-direction: column;
    gap: 16px;
  }
  .graduation .matriz-footer-box .btn-enviar-email {
    width: 100%;
  }
  .graduation .mercado-trabalho-section {
    padding: 40px 0 32px;
  }
  .graduation .mercado-trabalho-section h2 {
    font-size: 24px;
  }
  .graduation .mercado-trabalho-section .mercado-cta {
    margin-top: 40px;
  }
  .graduation .mercado-trabalho-section .mercado-cta-text,
  .graduation .mercado-trabalho-section .mercado-cta-link {
    font-size: 20px;
  }
  .graduation .mercado-trabalho-section .mercado-diferenciais {
    margin-top: 40px;
  }
  .graduation .prerequisito-section {
    padding: 40px 0;
  }
  .graduation .prerequisito-section h2 {
    font-size: 24px;
  }
  .graduation .prerequisito-section .prereq-columns {
    flex-direction: column;
    gap: 0;
  }
  .graduation .porque-escolher-section {
    padding: 40px 0;
  }
  .graduation .porque-escolher-section h2 {
    font-size: 24px;
    margin-bottom: 40px;
  }
  .graduation .pq-reasons-list {
    gap: 40px;
  }
  .graduation .pq-reason-title {
    font-size: 18px;
  }
  .graduation .pq-reason-text {
    font-size: 16px;
    padding-left: 44px;
  }
  .graduation .faq-section-wrapper {
    padding: 32px 0;
  }
  .graduation .faq-section-wrapper h2 {
    font-size: 20px;
  }
  .graduation .faq-acc-title {
    font-size: 16px;
  }
  .graduation #modal-matriz .modal-dialog {
    margin: 16px;
  }
  .graduation #modal-matriz .modal-content {
    padding: 24px;
  }
  .graduation .course-badges {
    gap: 6px;
  }
  .graduation .course-badge {
    font-size: 12px;
    padding: 5px 12px;
  }
  .graduation .footer .socials-grid a {
    width: 36px;
    height: 36px;
  }
  .graduation .footer .socials-grid a img.socials-footer {
    width: 36px;
    height: 36px;
  }
  .graduation .footer .socials-grid {
    gap: 6px;
  }
}
