/* V450 - Design System Tipografico Global
   Padroniza titulos, resumos, descricoes e textos longos em modulos nativos e globais.
   Mantem cards e componentes homologados, apenas equalizando hierarquia visual. */
:root{
  --mb-font-family: Inter, Arial, sans-serif;
  --mb-title-color: var(--navy, #071B4D);
  --mb-text-color: #20334d;
  --mb-summary-color: #667085;
  --mb-page-title-size: clamp(34px, 4vw, 48px);
  --mb-page-title-weight: 900;
  --mb-page-title-line: 1.08;
  --mb-page-summary-size: clamp(16px, 1.45vw, 18px);
  --mb-page-summary-weight: 400;
  --mb-page-summary-line: 1.7;
  --mb-section-title-size: clamp(26px, 3vw, 36px);
  --mb-section-title-weight: 900;
  --mb-section-title-line: 1.15;
  --mb-section-summary-size: 16px;
  --mb-section-summary-weight: 400;
  --mb-section-summary-line: 1.65;
  --mb-card-title-size: 18px;
  --mb-card-title-weight: 800;
  --mb-card-title-line: 1.28;
  --mb-card-summary-size: 14px;
  --mb-card-summary-weight: 400;
  --mb-card-summary-line: 1.55;
  --mb-content-size: 18px;
  --mb-content-line: 1.85;
}

/* Classes utilitarias oficiais para proximas paginas. */
.mb-page-title{margin:0;color:var(--mb-title-color);font-family:var(--mb-font-family);font-size:var(--mb-page-title-size);font-weight:var(--mb-page-title-weight);line-height:var(--mb-page-title-line);letter-spacing:-.035em;text-align:center;}
.mb-page-summary{margin:12px auto 0;max-width:820px;color:var(--mb-summary-color);font-family:var(--mb-font-family);font-size:var(--mb-page-summary-size);font-weight:var(--mb-page-summary-weight);line-height:var(--mb-page-summary-line);text-align:center;}
.mb-section-title{margin:0;color:var(--mb-title-color);font-family:var(--mb-font-family);font-size:var(--mb-section-title-size);font-weight:var(--mb-section-title-weight);line-height:var(--mb-section-title-line);letter-spacing:-.025em;text-align:center;}
.mb-section-summary{margin:10px auto 0;max-width:780px;color:var(--mb-summary-color);font-family:var(--mb-font-family);font-size:var(--mb-section-summary-size);font-weight:var(--mb-section-summary-weight);line-height:var(--mb-section-summary-line);text-align:center;}
.mb-card-title{margin:0;color:var(--mb-title-color);font-family:var(--mb-font-family);font-size:var(--mb-card-title-size);font-weight:var(--mb-card-title-weight);line-height:var(--mb-card-title-line);}
.mb-card-summary{margin:0;color:var(--mb-summary-color);font-family:var(--mb-font-family);font-size:var(--mb-card-summary-size);font-weight:var(--mb-card-summary-weight);line-height:var(--mb-card-summary-line);}
.mb-content-text{color:var(--mb-text-color);font-family:var(--mb-font-family);font-size:var(--mb-content-size);line-height:var(--mb-content-line);font-weight:400;}

/* Titulos principais de paginas reais. */
.mb-search-layout .mb-search-page-head h1,
.mb-blog-section-head h1,
.mb-blog-article-head h1,
.mb-group-intro h1{
  color:var(--mb-title-color) !important;
  font-family:var(--mb-font-family) !important;
  font-size:var(--mb-page-title-size) !important;
  font-weight:var(--mb-page-title-weight) !important;
  line-height:var(--mb-page-title-line) !important;
  letter-spacing:-.035em !important;
  text-align:center !important;
}
.mb-search-layout .mb-search-page-head p,
.mb-blog-section-head p,
.mb-blog-article-summary p,
.mb-group-intro__short{
  color:var(--mb-summary-color) !important;
  font-family:var(--mb-font-family) !important;
  font-size:var(--mb-page-summary-size) !important;
  font-weight:var(--mb-page-summary-weight) !important;
  line-height:var(--mb-page-summary-line) !important;
  text-align:center !important;
  max-width:820px !important;
}

/* Titulos e resumos de secoes nativas. */
.mb-blog-section-title h2,
.mb-group-section-head h2,
.mb-search-structure h2,
.mb-faq-head h2,
.mb-featured-products__head h2,
.mb-step-by-step__head h2,
.mb-benefits-global__head h2,
.mb-special-dates__head h2,
.mb-blog-global__head h2,
.mb-blog-list__head h1{
  color:var(--mb-title-color) !important;
  font-family:var(--mb-font-family) !important;
  font-size:var(--mb-section-title-size) !important;
  font-weight:var(--mb-section-title-weight) !important;
  line-height:var(--mb-section-title-line) !important;
  letter-spacing:-.025em !important;
  text-align:center !important;
}
.mb-blog-section-title p,
.mb-group-section-head p,
.mb-faq-head p,
.mb-featured-products__head p,
.mb-step-by-step__head p,
.mb-special-dates__head p,
.mb-blog-global__head p,
.mb-blog-list__head p{
  color:var(--mb-summary-color) !important;
  font-family:var(--mb-font-family) !important;
  font-size:var(--mb-section-summary-size) !important;
  font-weight:var(--mb-section-summary-weight) !important;
  line-height:var(--mb-section-summary-line) !important;
  text-align:center !important;
  max-width:780px !important;
}

/* Cabecalhos de modulos globais que usam flex devem continuar em linha, mas com tipografia padrao. */
.mb-special-dates__head{
  align-items:center !important;
}
.mb-special-dates__head > div,
.mb-special-dates__head > span{
  min-width:0;
}

/* Titulos e resumos de cards globais homologados. */
.mb-blog-card h3,
.mb-category-card__name,
.mb-special-date-card__title{
  color:var(--mb-title-color) !important;
  font-family:var(--mb-font-family) !important;
  font-size:var(--mb-card-title-size) !important;
  font-weight:var(--mb-card-title-weight) !important;
  line-height:var(--mb-card-title-line) !important;
}
.mb-blog-card p,
.mb-category-card__desc,
.mb-special-date-card__desc{
  color:var(--mb-summary-color) !important;
  font-family:var(--mb-font-family) !important;
  font-size:var(--mb-card-summary-size) !important;
  font-weight:var(--mb-card-summary-weight) !important;
  line-height:var(--mb-card-summary-line) !important;
}

/* Product Card tem hierarquia comercial propria; apenas normaliza fonte e peso sem alterar preco. */
.mb-product-card__name{
  font-family:var(--mb-font-family) !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.28 !important;
  color:var(--mb-title-color) !important;
}
.mb-product-card__min,
.mb-product-card__code,
.mb-product-card__price small,
.mb-product-card__price span{
  font-family:var(--mb-font-family) !important;
  font-weight:400 !important;
}

/* Conteudo longo e SEO. */
.mb-blog-article__content,
.mb-group-readmore__content{
  color:var(--mb-text-color) !important;
  font-family:var(--mb-font-family) !important;
  font-size:var(--mb-content-size) !important;
  line-height:var(--mb-content-line) !important;
  font-weight:400 !important;
  text-align:left !important;
}
.mb-blog-article__content h2,
.mb-group-readmore__content h2{
  color:var(--mb-title-color) !important;
  font-size:clamp(25px, 2.2vw, 32px) !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}
.mb-blog-article__content h3,
.mb-group-readmore__content h3{
  color:var(--mb-title-color) !important;
  font-size:clamp(21px, 1.7vw, 26px) !important;
  line-height:1.25 !important;
  font-weight:850 !important;
}

@media(max-width:760px){
  :root{
    --mb-page-title-size:30px;
    --mb-page-summary-size:15px;
    --mb-section-title-size:24px;
    --mb-section-summary-size:14px;
    --mb-card-title-size:16px;
    --mb-card-summary-size:13px;
    --mb-content-size:16px;
  }
}

/* V454 - Reforco global de centralizacao dos resumos dos modulos */
.mb-faq-head,
.mb-blog-global__head,
.mb-blog-list__head,
.mb-featured-products__head,
.mb-step-by-step__head,
.mb-benefits-global__head,
.mb-special-dates__head,
.mb-group-section-head{
  text-align:center !important;
  justify-content:center !important;
}
.mb-faq-head p,
.mb-blog-global__head p,
.mb-blog-list__head p,
.mb-featured-products__head p,
.mb-step-by-step__head p,
.mb-benefits-global__head p,
.mb-special-dates__head p,
.mb-group-section-head p,
.mb-section-summary{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
  max-width:780px !important;
}
.mb-special-dates__head{
  display:grid !important;
  justify-items:center !important;
  align-items:center !important;
}


/* V458 - FAQ volta a usar exatamente o Design System tipografico global */
html,
body,
button,
input,
textarea,
select{
  font-family:var(--mb-font-family, Inter, Arial, sans-serif) !important;
}

/* Header e Footer nunca devem ser redesenhados por paginas especificas; apenas herdam a fonte global. */
[data-mb-header-root],
[data-mb-header-root] *,
[data-mb-footer-root],
[data-mb-footer-root] *{
  font-family:var(--mb-font-family, Inter, Arial, sans-serif) !important;
}

/* Titulo e resumo da pagina FAQ seguem o mesmo padrao de paginas publicas. */
.mb-faq-page .shell-card h1,
.mb-faq-page-title,
.mb-faq-layout h1{
  color:var(--mb-title-color) !important;
  font-family:var(--mb-font-family) !important;
  font-size:var(--mb-page-title-size) !important;
  font-weight:var(--mb-page-title-weight) !important;
  line-height:var(--mb-page-title-line) !important;
  letter-spacing:-.035em !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.mb-faq-page .shell-card p,
.mb-faq-page-summary{
  color:var(--mb-summary-color) !important;
  font-family:var(--mb-font-family) !important;
  font-size:var(--mb-page-summary-size) !important;
  font-weight:var(--mb-page-summary-weight) !important;
  line-height:var(--mb-page-summary-line) !important;
  text-align:center !important;
  max-width:820px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Titulos internos da FAQ tambem seguem titulos de secao globais. */
.mb-faq-category h2{
  color:var(--mb-title-color) !important;
  font-family:var(--mb-font-family) !important;
  font-size:var(--mb-section-title-size) !important;
  font-weight:var(--mb-section-title-weight) !important;
  line-height:var(--mb-section-title-line) !important;
  letter-spacing:-.025em !important;
}

/* V459 - Hotfix: o Design System nao deve sobrescrever Font Awesome.
   Header/footer e paginas publicas continuam usando a fonte global para texto,
   mas icones .fa precisam preservar a familia original para nao virar quadrados. */
.fa,
.fa-classic,
.fa-sharp,
.fa-solid,
.fas,
[class^="fa-solid"],
[class*=" fa-solid"],
[class^="fas"],
[class*=" fas"]{
  font-family:"Font Awesome 6 Free" !important;
  font-weight:900 !important;
}
.fa-regular,
.far,
[class^="fa-regular"],
[class*=" fa-regular"],
[class^="far"],
[class*=" far"]{
  font-family:"Font Awesome 6 Free" !important;
  font-weight:400 !important;
}
.fa-brands,
.fab,
[class^="fa-brands"],
[class*=" fa-brands"],
[class^="fab"],
[class*=" fab"]{
  font-family:"Font Awesome 6 Brands" !important;
  font-weight:400 !important;
}
