/* =========================================
   Estilos Básicos e Reset
========================================= */
body { font-family: Arial, sans-serif; margin: 0; padding: 0; background-color: #f4f4f4; color: #333; }
a { text-decoration: none; color: inherit; transition: 0.3s; }
img { max-width: 100%; height: auto; }

/* =========================================
   Cabeçalho e Navegação
========================================= */
header { background: #fff; padding: 15px 5%; display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #0056b3; }
.logo-area h1 { margin: 0; color: #333; font-size: 24px; text-transform: uppercase; }
.logo-area span { font-size: 13px; color: #555; font-weight: bold; }
.top-contacts { font-size: 15px; color: #0056b3; font-weight: bold; }
nav { background: #0056b3; padding: 15px 5%; display: flex; gap: 20px; }
nav a { color: white; font-weight: bold; text-transform: uppercase; font-size: 14px; }
nav a:hover { color: #ff9800; }

/* =========================================
   Banner Hero e Busca
========================================= */
.hero { background: url('../img/banner-bg.jpg') no-repeat center; background-size: cover; padding: 80px 5%; }
.search-box { background: rgba(0,0,0,0.7); padding: 25px; border-radius: 8px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.search-box select, .search-box input { padding: 12px; border: none; border-radius: 4px; width: 100%; box-sizing: border-box; font-size: 14px; }
.btn-buscar { background: #ff9800; color: white; font-weight: bold; cursor: pointer; border: none; font-size: 16px; text-transform: uppercase; }
.btn-buscar:hover { background: #e68a00; }

/* =========================================
   Faixa PTAM (Call to Action)
========================================= */
.faixa-ptam { background: #0056b3; color: #fff; padding: 50px 5%; text-align: center; }
.faixa-ptam h2 { font-size: 28px; margin: 0 0 15px 0; font-weight: bold; }
.faixa-ptam p { font-size: 18px; margin: 0 auto 30px auto; max-width: 800px; line-height: 1.6; color: #e0e0e0; }
.btn-ptam { background: #ff9800; color: #fff; font-weight: bold; padding: 15px 35px; border-radius: 5px; font-size: 16px; text-transform: uppercase; display: inline-block; box-shadow: 0 4px 6px rgba(0,0,0,0.2); }
.btn-ptam:hover { background: #e68a00; transform: translateY(-2px); }

/* =========================================
   Imóveis e Vitrine
========================================= */
.section-title { margin: 50px 5% 25px; color: #333; border-left: 5px solid #0056b3; padding-left: 15px; font-size: 22px; text-transform: uppercase; }
.grid-imoveis { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 25px; padding: 0 5%; }
.card { background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 10px rgba(0,0,0,0.08); transition: transform 0.3s; }
.card:hover { transform: translateY(-5px); }
.card-img { height: 200px; background: #ddd; position: relative; background-size: cover; background-position: center; }
.tag { position: absolute; bottom: 15px; left: 15px; background: #0056b3; color: white; padding: 6px 12px; font-size: 12px; font-weight: bold; border-radius: 3px; }
.card-body { padding: 20px; }
.price { color: #0056b3; font-size: 22px; font-weight: bold; margin-bottom: 10px; }
.details { font-size: 14px; color: #666; line-height: 1.5; margin-bottom: 15px; }
.features { display: flex; justify-content: space-between; border-top: 1px solid #eee; padding-top: 15px; font-size: 13px; text-align: center; color: #555; }
.features strong { display: block; font-size: 16px; color: #333; margin-top: 5px; }

/* =========================================
   Seção Blog
========================================= */
.blog-section { background: #fff; padding: 50px 0; margin-top: 50px; }
.grid-blog { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; padding: 0 5%; }
.blog-card { background: #f9f9f9; border-radius: 8px; overflow: hidden; border: 1px solid #eee; }
.blog-img { height: 180px; background: #ccc; background-size: cover; background-position: center; }
.blog-body { padding: 20px; }
.blog-date { font-size: 12px; color: #888; margin-bottom: 10px; display: block; }
.blog-title { font-size: 18px; color: #0056b3; margin: 0 0 10px 0; font-weight: bold; }
.blog-excerpt { font-size: 14px; color: #555; line-height: 1.6; margin-bottom: 15px; }
.btn-leia-mais { color: #ff9800; font-weight: bold; font-size: 14px; text-transform: uppercase; }
.btn-leia-mais:hover { color: #0056b3; }

/* =========================================
   Rodapé
========================================= */
footer { background: #222; color: white; padding: 50px 5%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.footer-col h3 { border-bottom: 2px solid #444; padding-bottom: 10px; margin-top: 0; font-size: 18px; color: #ff9800; }
.footer-col p { color: #bbb; font-size: 14px; line-height: 1.8; }
.footer-col a:hover { color: #fff; }
.cookies-banner { background: #111; color: #888; text-align: center; padding: 15px; font-size: 12px; }