
/* ========================================
   COMPONENTES GLOBAIS SKILLSET
======================================== */

/* HERO PADRÃO */
.page-hero{
  background:linear-gradient(135deg,var(--azul-profundo),#0F2A52);
  padding:80px 24px 60px;
  margin-top:68px;
  position:relative;
  overflow:hidden;
}

.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top right,rgba(232,84,10,.16),transparent 28%);
  pointer-events:none;
}

.page-hero .container{
  position:relative;
  z-index:1;
}

/* TAG PADRÃO LARANJA */
.section-tag--orange{
  background:rgba(232,84,10,0.15)!important;
  color:#FF9A6C!important;
}

/* BOTÕES */
.btn-inline{
  display:inline-flex!important;
}

.btn-full{
  width:100%!important;
  justify-content:center!important;
}

/* ESPAÇAMENTO */
.section-spacing{
  padding:56px 24px;
}

/* TÍTULOS */
.title-highlight-orange{
  color:var(--laranja);
}

.title-highlight-blue{
  color:var(--azul-inst);
}

/* MOBILE */
@media(max-width:768px){

  .center-mobile{
    text-align:center!important;
  }

  .btn-mobile-full{
    width:100%!important;
    justify-content:center!important;
  }

}

/* ========================================
   UTILITÁRIOS GLOBAIS
======================================== */

.inline-flex{
  display:inline-flex!important;
}

.flex-center{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
}

.w-full{
  width:100%!important;
}

.justify-center{
  justify-content:center!important;
}

.mt-20{
  margin-top:20px!important;
}

.mt-24{
  margin-top:24px!important;
}

.p-14{
  padding:14px!important;
}

.nowrap{
  white-space:nowrap!important;
}

/* ========================================
   SISTEMA TIPOGRÁFICO GLOBAL
======================================== */

/* HERO TITLES */
.page-title{
  color:#fff;
  font-size:clamp(28px,4vw,46px);
  line-height:1.08;
  letter-spacing:-0.03em;
  margin:16px 0 12px;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;
}

/* HERO SUBTITLE */
.page-subtitle{
  color:rgba(255,255,255,.78);
  font-size:18px;
  line-height:1.75;
  max-width:820px;
}

/* SECTION TITLE */
.section-title-standard{
  font-size:clamp(24px,3vw,40px);
  line-height:1.1;
  letter-spacing:-0.03em;
  margin:12px 0 12px;
  color:var(--preto);
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;
}

/* SECTION DESCRIPTION */
.section-description-standard{
  color:var(--cinza-texto);
  font-size:17px;
  line-height:1.75;
  max-width:860px;
}

/* TEXT HIGHLIGHTS */
.text-orange{
  color:var(--laranja)!important;
}

.text-blue{
  color:var(--azul-inst)!important;
}

/* WHITE TITLE */
.title-white{
  color:#fff!important;
}

/* ========================================
   FORM COMPONENTS
======================================== */

.form-control{
  width:100%!important;
  padding:12px 14px!important;
  border:1.5px solid var(--borda)!important;
  border-radius:10px!important;
  font-family:inherit!important;
  font-size:14px!important;
  outline:none!important;
  transition:.2s!important;
  background:#fff!important;
}

.form-control:focus{
  border-color:var(--azul-inst)!important;
  box-shadow:0 0 0 4px rgba(26,77,143,.08)!important;
}

.form-control-lg{
  padding:14px 16px!important;
  font-size:15px!important;
}

.form-textarea{
  resize:vertical!important;
  min-height:120px!important;
}

.form-label{
  display:block!important;
  font-size:13px!important;
  font-weight:700!important;
  color:var(--cinza-texto)!important;
  margin-bottom:6px!important;
}

.alert-danger{
  background:#FEF2F2!important;
  border:1px solid #FECACA!important;
  color:#DC2626!important;
  padding:12px 16px!important;
  border-radius:10px!important;
  font-size:13px!important;
  margin-bottom:20px!important;
}

.card-default{
  background:var(--branco)!important;
  border-radius:var(--radius-lg)!important;
  border:1px solid var(--borda)!important;
}

.card-padding{
  padding:28px!important;
}

/* ========================================
   CARD CORE SYSTEM
======================================== */

.card-base{
  background:var(--branco)!important;
  border-radius:var(--radius-lg)!important;
  border:1px solid var(--borda)!important;
}

.card-shadow{
  box-shadow:var(--sombra)!important;
}

.card-hover{
  transition:var(--transition)!important;
}

.card-overflow{
  overflow:hidden!important;
}

.card-padding-sm{
  padding:20px!important;
}

.card-padding{
  padding:28px!important;
}

.card-padding-lg{
  padding:36px!important;
}

.card-padding-xl{
  padding:48px!important;
}

.card-column{
  display:flex!important;
  flex-direction:column!important;
}

.card-gap{
  gap:14px!important;
}

.card-relative{
  position:relative!important;
}

.card-center{
  text-align:center!important;
}

.card-soft{
  background:var(--fundo)!important;
  border:1px solid var(--borda)!important;
  border-radius:var(--radius-lg)!important;
}

.badge-blue-soft{
  background:var(--azul-gelo)!important;
  color:var(--azul-inst)!important;
  border-radius:100px!important;
  font-size:11px!important;
  font-weight:700!important;
  padding:4px 12px!important;
}
