/* =============================================
   Brava Conecta — Layout público
   ============================================= */

.demo-bar {
    background-color: var(--brava-amarelo);
    color: #1F2933;
    font-size: var(--brava-texto-sm);
    font-weight: var(--brava-peso-semibold);
    padding: var(--brava-espaco-2) 0;
    text-align: center;
}

.demo-bar-text {
    display: inline-flex;
    align-items: center;
}

.header-publico {
    background-color: var(--brava-branco);
    border-bottom: 1px solid var(--brava-borda);
    box-shadow: var(--brava-sombra-sm);
    padding-top: 0;
    padding-bottom: 0;
}

.header-publico .navbar-brand {
    color: var(--brava-verde-escuro);
    font-weight: var(--brava-peso-bold);
    font-size: var(--brava-texto-xl);
    margin-right: 0;
    padding: 0;
    flex-shrink: 0;
}

.header-publico .brand-text {
    font-family: var(--brava-fonte-destaque);
    white-space: nowrap;
}

.header-publico .brand-icon {
    flex-shrink: 0;
}

.header-publico .main-nav {
    flex: 0 1 auto;
    justify-content: flex-start;
    margin-left: var(--brava-espaco-4);
}

.header-publico .main-nav .nav-link {
    color: var(--brava-texto);
    font-weight: var(--brava-peso-medio);
    border-radius: var(--brava-raio-md);
    padding: var(--brava-espaco-2) var(--brava-espaco-3);
    white-space: nowrap;
}

.header-publico .main-nav .nav-link:hover,
.header-publico .main-nav .nav-link:focus-visible {
    background-color: var(--brava-verde-claro);
    color: var(--brava-verde-escuro);
    text-decoration: none;
}

.header-publico .main-nav .nav-link.active {
    color: var(--brava-verde-escuro);
    background-color: var(--brava-verde-claro);
}

.header-publico .navbar-toggler {
    color: var(--brava-verde-escuro);
    border-color: var(--brava-borda);
    padding: var(--brava-espaco-2) var(--brava-espaco-3);
}

.search-form {
    width: 100%;
    max-width: 320px;
}

.search-form .input-group-text {
    background-color: var(--brava-fundo-claro);
    border-color: var(--brava-borda);
    color: var(--brava-cinza);
}

.search-form .form-control {
    background-color: var(--brava-fundo-claro);
    border-color: var(--brava-borda);
}

.search-form .form-control:focus {
    background-color: var(--brava-branco);
    border-color: var(--brava-verde-secundario);
    box-shadow: 0 0 0 0.2rem rgba(46, 125, 50, 0.2);
}

.hero-publico {
    background: linear-gradient(135deg, var(--brava-verde-escuro) 0%, var(--brava-verde-secundario) 100%);
    color: var(--brava-branco);
    padding: var(--brava-espaco-16) 0;
}

.hero-publico h1,
.hero-publico h2,
.hero-publico h3 {
    color: var(--brava-branco);
}

.hero-publico .lead {
    color: rgba(255, 255, 255, 0.9);
}

.footer-publico {
    background-color: var(--brava-verde-escuro);
    color: rgba(255, 255, 255, 0.85);
}

.footer-publico a {
    color: rgba(255, 255, 255, 0.85);
}

.footer-publico a:hover,
.footer-publico a:focus-visible {
    color: var(--brava-amarelo);
    text-decoration: underline;
}

.footer-publico .brand-text {
    color: var(--brava-branco);
    font-family: var(--brava-fonte-destaque);
    font-size: var(--brava-texto-xl);
}

.footer-publico .footer-title {
    color: var(--brava-branco);
    font-size: var(--brava-texto-base);
    font-weight: var(--brava-peso-semibold);
    margin-bottom: var(--brava-espaco-4);
}

.footer-publico .footer-links li {
    margin-bottom: var(--brava-espaco-2);
}

.footer-publico .footer-divider {
    border-color: rgba(255, 255, 255, 0.15);
}

.footer-publico .social-links a:hover,
.footer-publico .social-links a:focus-visible {
    color: var(--brava-amarelo);
}

.footer-publico .demo-footer {
    background-color: rgba(242, 169, 0, 0.2);
    color: var(--brava-branco);
    border: none;
}
