/* =====================================================================
   Astres — ajustes de tablet e celular (carregado por último)
   Revisão: _src/tools/mobile.html?p=index,sobre,...  (iframes de 390px)
   ===================================================================== */

/* Listas dos artigos do blog: o reset do template removia os marcadores */
.artigo-astres ol { list-style: decimal; }
.artigo-astres ul { list-style: disc; }
.artigo-astres li::marker { color: var(--astres-gold-dark); font-weight: 700; }

/* Menu mobile: sem "Title Case" automático ("Trocar De Contador") */
.mobile-menu .navigation li > a { text-transform: none !important; }

/* ---------------------------------------------------------------- tablet */
@media (max-width: 991.98px) {
	:root { --h2-font-size: 40px; }
	.page-title { padding: 70px 0 70px; }
	.page-title .title { font-size: 46px; line-height: 1.1; }

	/* gutters negativos maiores que o recuo do container (cortavam ~10px à direita) */
	.row.g-5 { --bs-gutter-x: 1.5rem; }
	.business-solution-section .col-xl-8 > .row { --bs-gutter-x: 0; }

	/* caixa "Prefere falar direto?" da seção de contato */
	.contact-image-1 { height: auto; position: relative; }
	.contact-image-1 > img { height: 420px; }
	.contact-image-1 .contact-info-box { position: relative; left: 0; right: 0; bottom: 0; margin: -80px 16px 0; }
}

/* ---------------------------------------------------------------- até 1199px: menu hambúrguer
   (entre 1024 e 1199 o menu completo quebrava em duas linhas) */
@media (max-width: 1199.98px) {
	.main-header .main-menu { display: none; }
	.main-header .mobile-nav-toggler { display: block; }
	.main-header .main-box { justify-content: space-between; }
	.main-header .main-box .nav-outer { width: 100%; justify-content: space-between; }
	.main-header .outer-box { margin-left: auto; }
	.main-header.header-1 .header-lower .ui-btn-outer { display: none; }
}

/* ---------------------------------------------------------------- tablet (768–1199) */
@media (min-width: 768px) and (max-width: 1199.98px) {
	/* banner estilo home: sem foto lateral nessa faixa, então o texto ocupa a largura com tamanho equilibrado */
	.hero-1 .hero-content { margin-left: 0; max-width: 680px; }
	.hero-1 .hero-content h1 { font-size: 54px; line-height: 1.1; }
	.hero-servico .hero-content h1 { font-size: 46px; }
	.hero-1 .hero-content p, .hero-servico .hero-content p { max-width: 620px; font-size: 18px; }

	/* contadores da home: 4 lado a lado, em vez de 3 + 1 */
	.counter-wrapper { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
	.counter-wrapper .counter-box-1 { width: 100%; height: auto; aspect-ratio: 1; padding: 0; display: flex; align-items: center; justify-content: center; margin: 0; }
	.counter-box-1 .count-box h2 { font-size: 44px; line-height: 1; }
	.counter-box-1 .count-box p { font-size: 14px; line-height: 1.35; margin-top: 6px; }

	/* contato: cartões em 3 colunas e formulário alinhado */
	.contact-details .row.g-5 > .col-md-6.col-lg-4 { flex: 0 0 33.333%; max-width: 33.333%; }
	.contact-details-block { padding: 0 !important; }
	.contact-details-block .inner-box { padding: 28px 16px !important; max-width: none !important; }
	.contact-details-block .text { overflow-wrap: anywhere; font-size: 15px; }
	.contact-details .content-column .inner-column.right-column { max-width: none; margin-left: 0; }
	.contact-details .sec-title .title { font-size: 40px; }
	.contact-details .mt-100 { margin-top: 60px !important; }
}

/* ---------------------------------------------------------------- celular */
@media (max-width: 767.98px) {
	:root { --h2-font-size: 32px; }
	body { font-size: 15px; }

	/* espaçamento entre seções: 80px -> 64px */
	.section-padding { padding: 64px 0; }
	.section-padding.pt-0 { padding-top: 0; }
	.section-padding.pb-0 { padding-bottom: 0; }
	.sec-title { margin-bottom: 32px; }
	.sec-title h2, .sec-title .title { line-height: 1.18; }
	.sec-title h6.sub-title { margin-bottom: 12px; }

	/* banner das páginas internas (título escuro) */
	.page-title { padding: 52px 0 56px; }
	.page-title .title { font-size: 34px; margin-top: 10px; }

	/* banner estilo home (home, serviços, cidades) */
	.hero-section.hero-1 { padding: 44px 0 56px; }
	.hero-1 .shape-1 img { width: 110px; height: auto; }
	.hero-1 .hero-content h6 { font-size: 14px; }
	.hero-1 .hero-content h1,
	.hero-servico .hero-content h1 { font-size: 34px; line-height: 1.15; margin-top: 18px; }
	.hero-1 .hero-content p,
	.hero-servico .hero-content p { font-size: 16px; line-height: 1.7; margin-top: 14px; }
	.hero-1 .hero-content .hero-button { margin-top: 26px; }
	.hero-breadcrumb { font-size: 13px; margin-bottom: 14px; }
	.hero-1 .hero-content .hero-button .theme-btn.btn-style-one,
	.btn-outline-astres { height: 58px; }

	/* <br> do template ficam ocultos no celular; em contatos/endereços eles são necessários */
	.footer-section-1 br, .contact-list br, .contact-details-block br, .address br { display: inline; }
	.footer-section-1 .contact-list li p { line-height: 1.6; }

	/* números da home: 4 círculos de 312px empilhados -> grade 2x2 */
	.counter-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
	.counter-wrapper .counter-box-1 { width: 100%; height: auto; aspect-ratio: 1; padding: 0; display: flex; align-items: center; justify-content: center; margin: 0; }
	.counter-box-1 .count-box h2 { font-size: 38px; line-height: 1; }
	.counter-box-1 .count-box p { font-size: 14px; line-height: 1.35; margin-top: 6px; }
	.about-content-1 .about-list-items .counter-box { min-width: 0; width: 100%; }

	/* cards com foto (Como trabalhamos / Principais benefícios) */
	.project-card-items .project-content { margin-left: 14px; margin-right: 14px; padding: 20px; }
	.project-card-items .project-content h3 { font-size: 20px; }

	/* seção de contato */
	.contact-content-1 .form-box { padding: 26px 20px; }
	.contact-image-1 > img { height: 300px; }
	.contact-image-1 .contact-info-box { margin: -60px 0 0; padding: 26px 22px; }
	.contact-image-1 .contact-info-box h2 { font-size: 22px; margin-bottom: 18px; }
	.contact-image-1 .contact-info-box .contact-list li .content h3 { font-size: 18px; margin-bottom: 2px; }
	.contact-image-1 .contact-info-box .contact-list li .content p { font-size: 15px; }
	.contact-image-1 .contact-info-box .contact-list li p,
	.contact-image-1 .contact-info-box .contact-list li a { overflow-wrap: anywhere; }

	/* "Por que a Astres": abas em 2x2 */
	.why-choose-us-content-1 .nav { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
	.why-choose-us-content-1 .nav .nav-link { width: 100%; text-align: center; padding: 10px 8px; }
	.why-choose-us-wrapper { padding-top: 0; }

	/* FAQ */
	.faq-content-1 .accordion-box .acc-btn { font-size: 17px; line-height: 1.4; }
	.faq-left-items-1 .faq-image { margin-top: 28px; }

	/* páginas de serviço (11 blocos) */
	.svc-resolve-top, .svc-resolve-body { padding-left: 22px; padding-right: 22px; }
	.svc-card { padding: 24px; }
	.svc-card h3, .svc-passo h3 { font-size: 18px; }
	.svc-passos-grid { gap: 12px; }
	.svc-passo { padding: 20px 16px; }
	.svc-passo .num { font-size: 34px; }
	.svc-incl-item { padding: 14px; font-size: 14px; }
	.svc-publico-item { padding: 18px; font-size: 15px; }
	.svc-risco { padding: 22px; }
	.svc-outros { padding: 48px 0 0; }
	.svc-outros h3 { font-size: 20px; }
	.svc-outros-links a { font-size: 13px; padding: 9px 14px; text-align: left; line-height: 1.4; }
	.svc-cta-final { padding: 40px 0 64px; }
	.svc-cta-box { padding: 32px 22px; }

	/* CTA (faixa escura com botão) */
	.cta-contact-wrapper { padding: 36px 22px; text-align: center; }
	.cta-contact-wrapper h3 { font-size: 24px !important; margin-bottom: 18px; }

	/* rodapé */
	.footer-newsletter-wrapper { gap: 20px; padding: 44px 0 36px; }
	.footer-newsletter-left h3 { font-size: 22px !important; }
	.footer-widget-wrapper .footer-widget-items { margin-top: 26px; }
	.footer-widget-wrapper .widget-title { margin-bottom: 14px !important; }
	.footer-widget-wrapper .user-links li { margin-bottom: 4px; }
	.footer-bottom p { font-size: 13px; line-height: 1.7; }

	/* blog */
	.blog-details__content h3.blog-details__title { font-size: 26px; }
	.artigo-astres h2 { font-size: 24px; margin: 28px 0 12px; }
	.artigo-astres p, .artigo-astres li { font-size: 16px; }
	.artigo-astres .artigo-cta { padding: 26px 22px; }

	/* página de contato */
	.contact-details .row.g-5 { --bs-gutter-y: 16px; }
	.contact-details-block { padding: 0 !important; }
	.contact-details-block .inner-box { padding: 28px 20px !important; max-width: none !important; }
	.contact-details-block .inner-box .icon { margin-bottom: 12px !important; }
	.contact-details-block .inner-box .title { margin-bottom: 8px; }
	.contact-details .mt-100 { margin-top: 48px !important; }
	.contact-details-block .text { overflow-wrap: anywhere; }

	/* textos legais */
	.texto-legal h2 { font-size: 22px; }

	/* 404 */
	.pagina-404 h2 { font-size: 28px; }

	/* WhatsApp flutuante não cobre o botão "voltar ao topo" */
	.scroll-to-top { right: 16px; bottom: 20px; }
}

@media (max-width: 399.98px) {
	:root { --h2-font-size: 29px; }
	.hero-1 .hero-content h1,
	.hero-servico .hero-content h1 { font-size: 31px; }
	.page-title .title { font-size: 31px; }
}
