
/* Mantém a mesma tipografia utilizada na landing Aplicativo, sem herdar --defaultFont do cliente. */
.carreirasPage,
.carreirasPage button,
.carreirasPage input,
.carreirasPage select,
.carreirasPage textarea {
  font-family: "Montserrat", "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
}
.carreirasPage *:not(svg):not(path) {
  font-family: inherit;
}
/* Defaults are replaced by the existing institutional root.css when available. */
:root {
  --primary: #61109c;
  --whiteColor: #ffffff;
  --blackColor: #171717;
  --branco: #ffffff;
}

/* The supplied JPEGs contain the full banner, waves and Carreiras icon. */
.carreirasHero { aspect-ratio: auto; }
.carreirasHero picture { display: block; }
.carreirasHero .bannerImage {
  position: static;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.carreirasHero .headerContainer {
  position: absolute;
  top: 29%;
  left: 0;
  right: 0;
  height: auto;
  padding: 0;
}
.carreirasHero .headerTitle {
  width: 560px;
  max-width: 100%;
  height: auto;
  margin: 0;
  font-size: clamp(26px, 2.1vw, 40px);
  line-height: 1.08;
  letter-spacing: -.025em;
}
.carreirasHero .headerSubtitle {
  margin: 0 0 clamp(6px, .5vw, 10px);
  font-size: clamp(14px, 1.08vw, 20px);
  line-height: 1.2;
}
.carreirasHero hr {
  width: 80%;
  max-width: 290px;
  margin: 0 auto clamp(8px, .6vw, 12px);
}

/* The standalone icon is used only in the content illustration. */
.carreirasIcon {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
  background: #fc7c11;
}
.carreirasIcon img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 111.5%;
  max-width: none;
  height: 111.5%;
  transform: translate(-49.8%, -49.3%);
  object-fit: fill;
}

/* Small header corrections, without changing the shared components. */
.carreirasPage .navbarSection:not(.whiteBd) {
  background: linear-gradient(180deg, rgba(14, 20, 33, .70) 0%, rgba(14, 20, 33, .50) 74%, rgba(14, 20, 33, 0) 100%);
}
.carreirasPage .navUpBarText { max-width: calc(100% - 24px); }
.carreirasPage .mobileMenu { border: 0; padding: 0; background: transparent; flex-shrink: 0; }
.carreirasPage .mobileMenu:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }

.carreirasContent .pageContentText { max-width: 620px; }
.carreirasContent .boxesFerramentasVestibular {
  margin-bottom: 22px;
}
.carreirasContent .boxFerramentasImgsTextos img {
  flex: 0 0 30px;
  height: auto;
}
.carreirasContent .textosBoxFerramentas {
  line-height: 1.5;
}
.carreirasPreview {
  max-width: 790px;
  width: 100%;
  margin: 8px auto 24px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #e2e0e8;
  border-radius: 12px;
  
}
.carreirasPreviewBar {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 18px;
  position: relative;
  background: #f5f4f7;
  border-bottom: 1px solid #e5e2e9;
}
.carreirasPreviewDots { position: absolute; left: 16px; display: flex; gap: 5px; }
.carreirasPreviewDots span { width: 6px; height: 6px; border-radius: 50%; background: #c5c2cd; }
.carreirasPreviewAddress { font-size: 12px; color: #686173; letter-spacing: .1px; }
.carreirasPreviewHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 20px 34px;
  border-bottom: 1px solid #f0edf4;
}
.carreirasInstitution { font-size: 15px; font-weight: 800; color: #31233e; }
.carreirasPreviewTag { font-size: 10px; font-weight: 600; letter-spacing: 1.2px; color: #706778; }
.carreirasPreviewBody { position: relative; padding: 30px 34px 28px; }
.carreirasPreviewHeading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.carreirasPreviewEyebrow { color: #805118; font-size: 11px; letter-spacing: 1.3px; font-weight: 700; margin-bottom: 10px; }
.carreirasPreviewTitle { color: #23182e; font-size: 28px; line-height: 1.17; font-weight: 700; letter-spacing: -.8px; margin-bottom: 12px; }
.carreirasPreviewText { font-size: 13px; line-height: 1.55; color: #72697d; max-width: 440px; }
.carreirasPreviewSymbol { display: block; flex: 0 0 100px; }
.carreirasPreviewFilters {
  margin-top: 26px;
  padding: 18px;
  display: grid;
  grid-template-columns: 2fr .9fr .8fr 1.25fr;
  gap: 10px;
  background: #f7f5fa;
  border-radius: 8px;
}
.carreirasPreviewField { min-width: 0; }
.carreirasPreviewField strong { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 600; color: #5a4c67; }
.carreirasPreviewField span { display: block; padding: 11px 10px; min-height: 38px; background: #ffffff; border: 1px solid #e7e0ed; border-radius: 4px; color: #8a8391; font-size: 11px; }
.carreirasPreviewFoot { margin-top: 16px; display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.carreirasPreviewPartnership { font-size: 11px; line-height: 1.5; color: #74657b; }
.carreirasPreviewPartnership strong { color: #4f3d5e; }
.carreirasPreviewCaption { padding: 11px 18px; background: #faf9fb; border-top: 1px solid #eeeaf1; text-align: center; color: #78707e; font-size: 10px; line-height: 1.5; }
.carreirasContent .pageContentImgBox { flex-wrap: wrap; gap: 12px 22px; margin-bottom: 22px; }
.carreirasContent .carreirasAction {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 11px 24px;
  border: 1px solid var(--primary);
  border-radius: 50px;
  color: var(--primary);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.35;
  text-align: center;
}
.carreirasContent .carreirasActionPrimary { background: var(--primary); color: var(--whiteColor); }
.carreirasContent .carreirasNote { max-width: 680px; font-size: 12px; line-height: 1.7; text-align: center; color: #736f79; }
.carreirasContent a:focus-visible { outline: 3px solid #ff9b43; outline-offset: 5px; }
.carreirasConfigAlert { padding: 14px; border: 1px solid #a1581e; background: #fff4e9; color: #713b14; border-radius: 6px; font-size: 14px; line-height: 1.5; margin: 16px 0; }

@media (min-width: 769px) and (max-width: 1100px) {
  .carreirasHero .headerContainer { top: 24%; }
  .carreirasHero .headerTitle { font-size: clamp(22px, 2.5vw, 28px); }
  .carreirasHero .headerSubtitle { font-size: 14px; margin-bottom: 6px; }
  .carreirasHero hr { max-width: 240px; margin-bottom: 8px; }
}
@media (max-width: 992px) {
  .carreirasPage .navLinksBox {
    width: 100%;
    min-width: 0;
    overflow-y: auto;
    height: calc(100vh - 111px);
    height: calc(100dvh - 111px);
    padding-bottom: 32px;
  }
}
@media (max-width: 768px) {
  .carreirasHero .headerContainer { top: 48%; }
  .carreirasHero .headerTitle {
    width: 560px;
    font-size: clamp(21px, 6.2vw, 40px);
    line-height: 1.08;
    letter-spacing: -.025em;
  }
  .carreirasHero .headerSubtitle { font-size: clamp(13px, 3.5vw, 18px); margin-bottom: 5px; }
  .carreirasHero hr { max-width: 250px; width: 65%; margin-bottom: 7px; }
  .carreirasContent .boxFerramentasImgsTextos { font-size: 17px; }
  .carreirasContent .pageContentTitle { font-size: 27px; }
  .carreirasPreviewHeader { padding: 16px 20px; }
  .carreirasPreviewBody { padding: 24px 20px; }
  .carreirasPreviewFilters { grid-template-columns: 1fr 1fr; }
  .carreirasPreviewTitle { font-size: 25px; }
  .carreirasPreviewSymbol { flex-basis: 78px; }
}
@media (max-width: 480px) {
  .carreirasContent .pageContentText { font-size: 16px; line-height: 1.55; }
  .carreirasContent .boxFerramentasImgsTextos { font-size: 16px; }
  .carreirasContent .defaultLink { font-size: 17px; }
  .carreirasPreviewTitle { font-size: 21px; }
  .carreirasPreviewTag { letter-spacing: .5px; font-size: 9px; }
  .carreirasPreviewSymbol { flex-basis: 60px; }
  .carreirasPreviewHeading { gap: 10px; }
  .carreirasPreviewFilters { padding: 12px; gap: 12px 8px; }
  .carreirasPreviewFoot { display: block; }
  .carreirasContent .carreirasAction { font-size: 14px; width: 100%; max-width: 290px; }
}
@media (max-width: 400px) {
  .carreirasPage .navUpBarText { width: auto; font-size: 14px; }
}
@media (max-width: 350px) {
  .carreirasPreviewBody { padding: 20px 14px; }
  .carreirasPreviewTitle { font-size: 20px; }
  .carreirasPreviewSymbol { flex-basis: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .carreirasContent .pageContentLink,
  .carreirasContent .defaultLink { transition: none; }
}

/* Captura real do portal Carreiras. */
.carreirasRealPreview {
  width: 100%;
  max-width: 1060px;
  margin: 18px auto 28px;
}
.carreirasRealPreviewLink {
  display: block;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e2e0e8;
  border-radius: 12px;
  text-decoration: none;
}
.carreirasRealPreviewImage {
  display: block;
  width: 100%;
  height: auto;
}
.carreirasRealPreviewCaption {
  margin: 10px auto 0;
  max-width: 760px;
  color: #736f79;
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}
@media (max-width: 768px) {
  .carreirasRealPreview {
    margin-top: 12px;
  }
  .carreirasRealPreviewLink {
    border-radius: 8px;
  }
  .carreirasRealPreviewCaption {
    padding: 0 10px;
    font-size: 11px;
  }
}

/* FAQ estático: conteúdo indexável, primeiro item aberto e sem dependência do componente injetado. */
.carreirasPage .faqSection {
  width: 100%;
  overflow: hidden;
  background: #ffffff;
}
.carreirasPage .faqTopWave {
  display: block;
  width: calc(100% + 2px);
  max-width: none;
  height: auto;
  margin: 0 -1px;
  vertical-align: top;
}
.carreirasPage .faqStatic {
  background: #ffffff;
  padding: clamp(22px, 2.4vw, 36px) 24px clamp(46px, 5vw, 72px);
}
.carreirasPage .faqStaticContainer {
  width: min(1080px, 100%);
  margin: 0 auto;
}
.carreirasPage .faqStaticTitle {
  margin: 0 0 clamp(28px, 3vw, 46px);
  color: var(--blackColor);
  font-size: clamp(30px, 2.35vw, 40px);
  font-weight: 400;
  line-height: 1.1;
  text-align: center;
}
.carreirasPage .faqStaticTitle strong {
  display: block;
  font-weight: 700;
}
.carreirasPage .faqStaticItem {
  width: 100%;
  margin: 0;
  border: 0;
}
.carreirasPage .faqStaticItem summary {
  position: relative;
  display: block;
  width: 100%;
  padding: 12px 18px 12px 58px;
  color: var(--blackColor);
  font-size: clamp(18px, 1.35vw, 23px);
  font-weight: 400;
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
}
.carreirasPage .faqStaticItem summary::-webkit-details-marker {
  display: none;
}
.carreirasPage .faqStaticItem summary::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 15px;
  width: 14px;
  height: 14px;
  border-right: 4px solid var(--primary);
  border-bottom: 4px solid var(--primary);
  transform: translateY(-70%) rotate(45deg);
  transition: transform .2s ease;
}
.carreirasPage .faqStaticItem[open] summary::before {
  transform: translateY(-30%) rotate(225deg);
}
.carreirasPage .faqStaticItem summary:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 3px;
  border-radius: 4px;
}
.carreirasPage .faqStaticItem p {
  max-width: 980px;
  margin: 0;
  padding: 5px 18px 14px 58px;
  color: var(--blackColor);
  font-size: clamp(16px, 1.08vw, 19px);
  font-weight: 400;
  line-height: 1.55;
}

@media (max-width: 576px) {
  .carreirasPage .faqStatic {
    padding: 28px 16px 52px;
  }
  .carreirasPage .faqStaticTitle {
    font-size: 28px;
    margin-bottom: 24px;
  }
  .carreirasPage .faqStaticItem summary {
    padding: 11px 8px 11px 44px;
    font-size: 18px;
  }
  .carreirasPage .faqStaticItem summary::before {
    left: 10px;
    width: 12px;
    height: 12px;
    border-width: 0 3px 3px 0;
  }
  .carreirasPage .faqStaticItem p {
    padding: 4px 8px 14px 44px;
    font-size: 16px;
  }
}

/* O formulario volta a usar integralmente o layout do componente DRM, sem duplicar as ondas via CSS. */
.carreirasPage .formSection {
  position: relative;
  z-index: 1;
  margin-top: -1px !important;
}
