/* Página inicial (index.php) — novo layout, 20/10/2026. Prefixo hm-. Usa as variáveis e os cards de css/busca.css (.bs) */

/* ---------- Topo: foto atrás do menu e da chamada ---------- */
.hm-topo-bg { position: absolute; left: 0; right: 0; top: 0; height: 560px; z-index: 0; background: #1d2b1f url(../images/bosque1bg.png) center 60% / cover no-repeat; }
.hm-topo-bg::after { content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(8,14,26,.55) 0%, rgba(8,14,26,.25) 30%, rgba(8,14,26,.45) 100%); }
.hm-body nav.navbar.header-style-a { background: transparent; margin-bottom: 0; position: relative; z-index: 2; }
.hm-body nav.navbar.header-style-a > .container { background: transparent !important; }
.hm-body #page-wrapper { position: relative; z-index: 1; background: transparent; }
/* O tema sobe o 1º container do #page-wrapper (feito para a imagem antiga do topo) */
.hm-body #page-wrapper > .container.single-container { margin-top: 0 !important; padding-top: 30px !important; background: transparent; box-shadow: none; }

.hm-hero { color: #fff; text-align: center; padding: 70px 0 56px; min-height: clamp(380px, calc(64vh - 190px), 520px); display: flex; align-items: center; }
.hm-hero .container { background: transparent !important; box-shadow: none !important; width: 100%; }
.hm-hero .container::before, .hm-hero .container::after { content: none !important; display: none !important; }
.hm-hero h1 { color: #fff; font-size: 46px; font-weight: 800; margin: 0 0 8px; text-shadow: 0 2px 16px rgba(0,0,0,.35); letter-spacing: -.5px; }
.hm-hero p { font-size: 16px; color: #eef2f7; margin: 0 0 24px; text-shadow: 0 1px 8px rgba(0,0,0,.4); }
.hm-busca { position: relative; display: flex; max-width: 680px; margin: 0 auto; background: #fff; border-radius: 12px; box-shadow: 0 12px 34px rgba(0,0,0,.25); overflow: hidden; }
.hm-busca .fa { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: #6b7890; font-size: 17px; }
.hm-busca input { flex: 1; min-width: 0; border: 0; padding: 17px 14px 17px 46px; font-size: 15.5px; color: #14223a; outline: 0; background: transparent; }
.hm-busca button { border: 0; background: #1663d6; color: #fff; font-weight: 700; font-size: 15px; padding: 0 28px; cursor: pointer; }
.hm-busca button:hover { background: #0f52b5; }
.hm-atalhos { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.hm-atalhos a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; width: 96px; padding: 13px 6px 11px; border-radius: 12px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); color: #fff !important; font-size: 12.5px; font-weight: 600; line-height: 1.2; text-decoration: none; backdrop-filter: blur(3px); transition: background .15s; }
.hm-atalhos a:hover { background: rgba(255,255,255,.28); }
.hm-atalhos .fa { font-size: 22px; }

/* ---------- Conteúdo ---------- */
.hm { padding-top: 26px; }
.hm-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; align-items: start; }
.hm-main { min-width: 0; }
.hm-sec { margin-bottom: 34px; }
.hm-titulo { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.hm-titulo h2 { font-size: 21px; font-weight: 800; color: var(--bs-ink); margin: 0; }
.hm-titulo > a { font-size: 13px; font-weight: 700; color: var(--bs-blue); white-space: nowrap; }
.hm-titulo > a .fa { font-size: 11px; margin-left: 3px; }

/* empresas em destaque: 4 cards compactos */
.hm-emp { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.hm-emp .bs-corpo { padding: 11px 12px 4px; }
.hm-emp .bs-corpo h3 { font-size: 15px; }
.hm-emp .bs-acoes { padding: 10px 12px 12px; gap: 6px; grid-template-columns: 40px minmax(0, 1fr); }
.hm-emp .bs-btn { font-size: 13px; padding: 8px 4px; white-space: nowrap; }
.hm-emp .bs-btn .fa { font-size: 16px; }
.hm-emp .bs-btn-wa .fa { font-size: 18px; }

/* notícias */
.hm-news { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 18px; }
.hm-news-top { background: #fff; border: 1px solid var(--bs-line); border-radius: var(--bs-r); overflow: hidden; display: flex; flex-direction: column; }
.hm-news-img { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--bs-soft) center / cover no-repeat; }
.hm-tag { position: absolute; left: 12px; top: 12px; background: var(--bs-blue); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; padding: 3px 9px; border-radius: 6px; }
.hm-tag-txt { position: static; display: inline-block; margin-bottom: 4px; background: var(--bs-blue-soft); color: var(--bs-blue); font-size: 10.5px; padding: 2px 7px; }
.hm-news-txt { padding: 14px 16px 16px; }
.hm-news-txt h3 { font-size: 18px; font-weight: 800; line-height: 1.3; margin-bottom: 6px; }
.hm-news-txt h3 a, .hm-news-lista h4 a { color: var(--bs-ink); }
.hm-news-txt h3 a:hover, .hm-news-lista h4 a:hover { color: var(--bs-blue); }
.hm-news-txt p { margin: 0 0 8px; font-size: 13.5px; color: var(--bs-text); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.hm-news-txt small, .hm-news-lista small { color: var(--bs-muted); font-size: 12px; }
.hm-news-lista { display: flex; flex-direction: column; gap: 12px; }
.hm-news-lista article { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 12px; background: #fff; border: 1px solid var(--bs-line); border-radius: var(--bs-r); padding: 9px; align-items: center; flex: 1; }
.hm-news-mini { display: block; height: 84px; border-radius: 8px; background: var(--bs-soft) center / cover no-repeat; }
.hm-news-lista h4 { font-size: 14px; font-weight: 700; line-height: 1.3; margin: 0 0 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* carrossel de categorias */
.hm-setas { display: inline-flex; gap: 6px; }
.hm-seta { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--bs-line); background: #fff; color: var(--bs-ink); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.hm-seta:hover { border-color: var(--bs-blue); color: var(--bs-blue); }
.hm-cats { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.hm-cats::-webkit-scrollbar { display: none; }
.hm-cat { flex: 0 0 calc((100% - 56px) / 5); min-width: 140px; scroll-snap-align: start; background: #fff; border: 1px solid var(--bs-line); border-radius: var(--bs-r); overflow: hidden; color: var(--bs-ink) !important; transition: box-shadow .2s, transform .2s; }
.hm-cat:hover { box-shadow: 0 8px 22px rgba(20,34,58,.10); transform: translateY(-2px); }
.hm-cat-img { display: block; aspect-ratio: 4 / 3; background: var(--bs-soft) center / cover no-repeat; }
.hm-cat b { display: block; padding: 9px 11px 0; font-size: 13.5px; line-height: 1.25; }
.hm-cat small { display: block; padding: 2px 11px 11px; font-size: 12px; color: var(--bs-muted); }

/* banner largo */
.hm-banner { text-align: center; margin: -6px 0 34px; }
.hm-banner small { display: block; font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-muted); margin-bottom: 6px; }
.hm-banner img { max-width: 100%; height: auto; border-radius: 8px; }

/* onde curtir/comprar */
.hm-onde { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.hm-onde-card { position: relative; display: block; border-radius: var(--bs-r); overflow: hidden; aspect-ratio: 4 / 3; color: #fff !important; }
.hm-onde-img { position: absolute; inset: 0; background: #223 center / cover no-repeat; transition: transform .4s; }
.hm-onde-card:hover .hm-onde-img { transform: scale(1.05); }
.hm-onde-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,14,26,0) 35%, rgba(8,14,26,.85) 100%); }
.hm-onde-txt { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 14px; display: flex; flex-direction: column; gap: 3px; }
.hm-onde-txt b { font-size: 18px; font-weight: 800; }
.hm-onde-txt span { font-size: 12.5px; color: #e6ebf3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hm-onde-txt em { font-style: normal; font-size: 12.5px; font-weight: 700; margin-top: 4px; }

/* ---------- Lateral ---------- */
.hm-lado { display: flex; flex-direction: column; gap: 18px; }
.hm-lado h2 { font-size: 16px; font-weight: 800; margin: 0 0 12px; }
.hm-lado p { font-size: 13px; color: var(--bs-muted); margin: -6px 0 12px; }
.hm-evento { display: grid; grid-template-columns: 46px 64px minmax(0, 1fr); gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid var(--bs-line); color: var(--bs-text) !important; }
.hm-evento:first-of-type { border-top: 0; padding-top: 0; }
.hm-data { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 50px; border-radius: 9px; background: var(--bs-blue-soft); color: var(--bs-blue); font-size: 10.5px; font-weight: 700; letter-spacing: .04em; line-height: 1.1; }
.hm-data b { font-size: 19px; }
.hm-ev-img { height: 50px; border-radius: 8px; background: var(--bs-soft) center / cover no-repeat; }
.hm-ev-txt { min-width: 0; display: flex; flex-direction: column; }
.hm-ev-txt b { font-size: 13px; color: var(--bs-ink); line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hm-evento:hover .hm-ev-txt b { color: var(--bs-blue); }
.hm-ev-txt small { font-size: 11.5px; color: var(--bs-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hm-mais { display: block; text-align: center; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--bs-line); font-size: 13px; font-weight: 700; color: var(--bs-blue); }

.hm-anuncie { background: linear-gradient(160deg, #f2f7ff 0%, #ffffff 70%); border-color: #d5e0f0; }
.hm-anuncie-corpo { display: grid; grid-template-columns: 1fr 120px; gap: 10px; align-items: center; margin-bottom: 14px; }
.hm-anuncie ul { list-style: none; margin: 0; padding: 0; font-size: 13.5px; color: var(--bs-ink); font-weight: 600; }
.hm-anuncie li { margin: 0 0 6px; }
.hm-anuncie li .fa { color: var(--bs-green); margin-right: 5px; }
.hm-anuncie img { width: 120px; height: 100px; object-fit: cover; border-radius: 10px; }
.hm-btn { display: block; text-align: center; background: var(--bs-blue); color: #fff !important; font-weight: 700; font-size: 14px; padding: 11px; border-radius: 8px; }
.hm-btn:hover { background: #0f52b5; }

.hm-parceiros { text-align: center; }
.hm-parceiros h2 { text-align: left; }
.hm-parceiros .carousel-inner img { display: block; width: 100%; max-width: 300px; height: auto; margin: 0 auto; border-radius: 8px; }
.hm-parceiros .carousel-indicators { position: static; margin: 10px 0 0; width: auto; left: 0; }
.hm-parceiros .carousel-indicators li { border-color: #b5c3d8; }
.hm-parceiros .carousel-indicators .active { background: var(--bs-blue); border-color: var(--bs-blue); }

.hm-news-form h2 .fa { color: var(--bs-blue); margin-right: 4px; }
.hm-news-form form { display: flex; flex-direction: column; gap: 8px; }
.hm-news-form input { border: 1px solid var(--bs-line); border-radius: 8px; padding: 10px 12px; font-size: 14px; color: var(--bs-ink); }
.hm-news-form button { border: 0; border-radius: 8px; background: var(--bs-ink); color: #fff; font-weight: 700; padding: 10px; font-size: 14px; cursor: pointer; }
.hm-news-form button:hover { background: #22355a; }

/* ---------- Responsivo ---------- */
@media (max-width: 1199px) {
	.hm-emp { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hm-cat { flex-basis: calc((100% - 42px) / 4); }
}
@media (max-width: 991px) {
	.hm-grid { grid-template-columns: minmax(0, 1fr); }
	.hm-lado { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
	.hm-ads { grid-column: 1 / -1; }
	.hm-news { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
	.hm-hero { padding: 40px 0 34px; min-height: 0; }
	.hm-hero h1 { font-size: 32px; }
	.hm-hero p { font-size: 14px; }
	.hm-busca input { padding: 14px 10px 14px 42px; font-size: 14.5px; }
	.hm-busca button { padding: 0 16px; }
	.hm-atalhos { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; margin: 20px -15px 0; padding: 0 15px; }
	.hm-atalhos::-webkit-scrollbar { display: none; }
	.hm-atalhos a { flex: none; width: 84px; }
	.hm-onde { grid-template-columns: minmax(0, 1fr); }
	.hm-onde-card { aspect-ratio: 16 / 8; }
	.hm-lado { grid-template-columns: minmax(0, 1fr); }
	.hm-cat { flex-basis: 42%; }
	.hm-titulo h2 { font-size: 18px; }
}
@media (max-width: 480px) {
	.hm-emp { grid-template-columns: minmax(0, 1fr); }
	.hm-news-lista article { grid-template-columns: 96px minmax(0, 1fr); }
	.hm-news-mini { height: 70px; }
}
