/* ============================================================
   TEMPLATE BASE PROFISSIONAL — Construtora Portellanato
   Extraído de base_professional.html
   ============================================================ */

.public-shell { position: relative; min-height: 100vh; }
.public-nav {
  padding: 1rem 0; background: rgba(255,255,255,0.82);
  border-bottom: 1px solid rgba(22,53,44,0.06); backdrop-filter: blur(16px);
  box-shadow: 0 12px 40px rgba(16,28,24,0.05);
}
.public-brand { display: inline-flex; align-items: center; text-decoration: none; }
.brand-svg { height: 52px; width: auto; display: block; }
.public-nav .navbar-nav { gap: 0.45rem; }
.public-nav .nav-link {
  margin: 0; padding: 0.75rem 1rem !important; border-radius: 999px;
  color: rgba(22,53,44,0.75) !important; font-size: 0.82rem; letter-spacing: 0.1em;
}
.public-nav .nav-link:hover, .public-nav .nav-link.active { color: #16352c !important; background: rgba(22,53,44,0.06); }
.nav-cta-group { display: flex; align-items: center; gap: 0.75rem; }
.btn-nav-outline { border: 1px solid rgba(22,53,44,0.14); color: #16352c; background: rgba(255,255,255,0.7); }
.btn-nav-outline:hover { color: #16352c; border-color: rgba(22,53,44,0.24); background: #fff; }
.btn-nav-primary { background: linear-gradient(135deg, var(--primary-color), #22493c); border-color: transparent; color: #fff; }
.btn-nav-primary:hover { color: #fff; background: linear-gradient(135deg, #22493c, #16352c); }
.public-main { position: relative; z-index: 1; }
.public-footer {
  position: relative; z-index: 1; padding: 5rem 0 2rem;
  background: linear-gradient(180deg, rgba(15,36,30,0.98), rgba(22,53,44,0.98)), url('../images/tela_fundo.webp') center/cover no-repeat;
  color: #fff;
}
.footer-card {
  height: 100%; padding: 1.6rem; border-radius: 1.5rem;
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(10px);
}
.footer-card h5 { color: #fff; margin-bottom: 1rem; font-size: 1rem; }
.footer-card p, .footer-card li, .footer-card a, .footer-card span { color: rgba(255,255,255,0.74); }
.footer-card a { text-decoration: none; transition: color 0.25s ease; }
.footer-card a:hover { color: #fff; }
.footer-brand { margin-bottom: 1.4rem; }
.footer-list { list-style: none; padding: 0; margin: 0; }
.footer-list li + li { margin-top: 0.75rem; }
.footer-contact-item { display: flex; gap: 0.8rem; align-items: flex-start; }
.footer-contact-item i { color: var(--accent-color); margin-top: 0.2rem; }
.footer-bottom {
  margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.62); font-size: 0.92rem;
}
.footer-bottom em { color: rgba(255,255,255,0.84); font-style: normal; }

@media (max-width: 991px) {
  .public-nav .navbar-nav { padding: 1rem 0; }
  .nav-cta-group { flex-direction: column; align-items: stretch; margin-top: 1rem; }
}
