/* ============================================================
   VARIÁVEIS E RESET
============================================================ */
:root {
    --cor-preto: #090909;
    --cor-branco: #FFFFFF;
    --cor-dourado: #FFC71F;
    --cor-verde-medio: #2D9562;
    --cor-verde-vivo: #51C14D;
    --cor-verde-intenso: #2A8B37;
    --cor-verde-limao: #ADDD1E;
    --cor-verde-amarelado: #C0D442;
    --cor-vermelho: #BF1F18;
    --cor-laranja-queimado: #D38A64;
    --cor-terracota-claro: #DFAA8F;
    --cor-terracota: #968175;
    --cor-cinza: #737373;
    --cor-light: #f8f6f0;
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: var(--font-primary);
    background-color: var(--cor-light);
    color: var(--cor-preto);
    padding-top: 76px;
}

/* ============================================================
   NAVBAR
============================================================ */
.navbar-custom {
    background-color: rgba(9, 9, 9, 0.97) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 2px 20px rgba(0,0,0,0.15);
    padding: 12px 0;
    border-bottom: 3px solid var(--cor-dourado);
}

.navbar-custom .navbar-brand {
    font-weight: 800;
    font-size: 1.5rem;
    color: var(--cor-branco) !important;
}

.navbar-custom .navbar-brand i {
    color: var(--cor-dourado);
    margin-right: 8px;
}

.navbar-custom .nav-link {
    color: rgba(255,255,255,0.85) !important;
    font-weight: 500;
    font-size: 0.95rem;
    padding: 8px 16px !important;
    transition: all 0.3s ease;
    border-radius: 8px;
}

.navbar-custom .nav-link:hover {
    color: var(--cor-branco) !important;
    background-color: rgba(255,255,255,0.1);
}

.navbar-custom .nav-link.active {
    color: var(--cor-dourado) !important;
}

.navbar-custom .navbar-toggler {
    border: 2px solid var(--cor-dourado);
}

.navbar-custom .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23FFC71F' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.btn-outline-gold {
    color: var(--cor-dourado) !important;
    border-color: var(--cor-dourado) !important;
    border-radius: 50px;
    padding: 8px 24px;
    font-weight: 600;
    transition: all 0.3s ease;
    background: transparent;
}

.btn-outline-gold:hover {
    background-color: var(--cor-dourado) !important;
    color: var(--cor-preto) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 199, 31, 0.3);
}

.btn-gold {
    background-color: var(--cor-dourado);
    color: var(--cor-preto);
    border: none;
    border-radius: 50px;
    padding: 8px 24px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-gold:hover {
    background-color: #e6b21c;
    color: var(--cor-preto);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 199, 31, 0.3);
}

/* ============================================================
   HERO SECTION
============================================================ */
.hero-section {
    background: linear-gradient(135deg, var(--cor-preto) 0%, #1a3a1a 50%, var(--cor-preto) 100%);
    padding: 60px 0 80px 0;
    position: relative;
    overflow: hidden;
    min-height: 400px;
    display: flex;
    align-items: center;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background: url('../../imagem/revista_illustration_banner.png') no-repeat center bottom;
    background-size: contain;
    opacity: 0.06;
    pointer-events: none;
}

.hero-content { position: relative; z-index: 2; text-align: center; width: 100%; }

.hero-badge {
    display: inline-block;
    background-color: rgba(255, 199, 31, 0.15);
    color: var(--cor-dourado);
    padding: 4px 16px;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 16px;
    border: 1px solid rgba(255, 199, 31, 0.3);
}

.hero-title {
    color: var(--cor-branco);
    font-size: 3.5rem;
    font-weight: 900;
    text-shadow: 0 2px 20px rgba(0,0,0,0.5);
    margin-bottom: 12px;
}

.hero-title span { color: var(--cor-dourado); }

.hero-subtitle {
    color: rgba(255,255,255,0.85);
    font-size: 1.25rem;
    font-weight: 300;
    max-width: 600px;
    margin: 0 auto 32px auto;
}

.hero-search { max-width: 720px; margin: 0 auto; }

.hero-search .input-group {
    background: var(--cor-branco);
    border-radius: 60px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hero-search .input-group:hover,
.hero-search .input-group:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 12px 48px rgba(0,0,0,0.4);
}

.hero-search .form-control {
    border: none !important;
    padding: 16px 24px !important;
    font-size: 1.1rem !important;
    font-weight: 400 !important;
    background: var(--cor-branco) !important;
    color: #333333 !important;
}

.hero-search .form-control:focus {
    box-shadow: none !important;
    background: var(--cor-branco) !important;
    color: #333333 !important;
}

.hero-search .form-control::placeholder { color: #999999 !important; opacity: 1; }

.hero-search .btn-search {
    background-color: var(--cor-dourado);
    border: none;
    padding: 16px 32px;
    color: var(--cor-preto);
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.hero-search .btn-search:hover { background-color: #e6b21c; color: var(--cor-preto); }

.hero-search .search-help {
    color: rgba(255,255,255,0.7);
    font-size: 0.8rem;
    margin-top: 12px;
}

.hero-search .search-help i { color: var(--cor-dourado); }

.hero-search .search-help code {
    background: rgba(255,255,255,0.15);
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.8rem;
    color: #fff;
}

/* ============================================================
   RESULTADOS
============================================================ */
.results-section { padding: 20px 0 40px 0; background: var(--cor-light); }

.filter-row {
    background: var(--cor-branco);
    padding: 20px 24px;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    margin-bottom: 24px;
}

.filter-row .form-select {
    border-radius: 50px;
    border: 1px solid #e9ecef;
    padding: 8px 20px;
    font-size: 0.95rem;
}

.filter-row .form-check-input:checked {
    background-color: var(--cor-dourado);
    border-color: var(--cor-dourado);
}

#map {
    height: 420px;
    width: 100%;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    margin-bottom: 24px;
    display: none;
    z-index: 1;
}

#cardsContainer .estabelecimento-card {
    background: var(--cor-branco);
    border-radius: 12px;
    padding: 20px;
    height: 100%;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-left: 4px solid var(--cor-dourado);
}

#cardsContainer .estabelecimento-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 32px rgba(0,0,0,0.10);
}

#cardsContainer .estabelecimento-card h5 { color: var(--cor-verde-medio); font-weight: 700; margin-bottom: 8px; }
#cardsContainer .estabelecimento-card h5 a { color: var(--cor-verde-medio); text-decoration: none; }
#cardsContainer .estabelecimento-card h5 a:hover { color: var(--cor-dourado); }

#cardsContainer .estabelecimento-card .categoria {
    display: inline-block;
    background: #e9ecef;
    padding: 2px 12px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--cor-cinza);
    margin-top: 8px;
}

#cardsContainer .estabelecimento-card p { font-size: 0.9rem; color: var(--cor-cinza); margin-bottom: 4px; }
#cardsContainer .estabelecimento-card p i { color: var(--cor-dourado); width: 18px; }

mark { background-color: #fff3cd; padding: 0.1em 0.3em; border-radius: 4px; font-weight: 700; color: #856404; }

.no-results { text-align: center; padding: 40px 20px; color: var(--cor-cinza); }
.no-results i { font-size: 3rem; color: #dee2e6; margin-bottom: 16px; }

/* ============================================================
   SEÇÃO REVISTA
============================================================ */
.section-revista { padding: 60px 0; background: var(--cor-branco); }

.section-revista .section-label {
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--cor-dourado);
    margin-bottom: 8px;
}

.section-revista .section-title { font-size: 2.2rem; font-weight: 800; color: var(--cor-preto); margin-bottom: 8px; }
.section-revista .section-subtitle { color: var(--cor-cinza); max-width: 500px; }

.link-primary-custom { color: var(--cor-verde-medio) !important; transition: color 0.3s ease; }
.link-primary-custom:hover { color: var(--cor-verde-intenso) !important; }

.revista-card {
    background: var(--cor-light);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
}

.revista-card:hover { transform: translateY(-4px); box-shadow: 0 8px 40px rgba(0,0,0,0.12); }

.revista-card .capa {
    padding: 24px;
    background: var(--cor-branco);
    text-align: center;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 3px solid var(--cor-dourado);
}

.revista-card .capa img { max-width: 100%; max-height: 220px; border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,0.1); }

.revista-card .capa-placeholder {
    width: 100%;
    height: 200px;
    background: linear-gradient(135deg, var(--cor-verde-medio), var(--cor-verde-intenso));
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cor-branco);
    font-weight: 700;
    font-size: 1.2rem;
}

.revista-card .info { padding: 24px; }
.revista-card .info .edicao { font-size: 0.8rem; font-weight: 700; color: var(--cor-dourado); text-transform: uppercase; letter-spacing: 1px; }
.revista-card .info h5 { font-weight: 700; color: var(--cor-preto); margin: 8px 0 12px 0; }
.revista-card .info p { color: var(--cor-cinza); font-size: 0.95rem; line-height: 1.6; }

.revista-card .info .btn-outline-primary {
    border-radius: 50px;
    padding: 8px 24px;
    font-weight: 600;
    border-color: var(--cor-verde-medio);
    color: var(--cor-verde-medio);
    transition: all 0.3s ease;
    background: transparent;
}

.revista-card .info .btn-outline-primary:hover {
    background-color: var(--cor-verde-medio);
    color: var(--cor-branco);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(45, 149, 98, 0.3);
}

/* ============================================================
   SEÇÃO BENEFÍCIOS
============================================================ */
.section-beneficios {
    padding: 80px 0;
    background-color: #f0ede4;
    position: relative;
}

.section-beneficios .section-label {
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--cor-dourado);
    margin-bottom: 12px;
}

.section-beneficios .section-title {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--cor-preto);
    margin-bottom: 12px;
}

.section-beneficios .section-subtitle {
    color: var(--cor-cinza);
    font-size: 1rem;
    max-width: 600px;
    margin: 0 auto;
}

.beneficio-card {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 40px 28px;
    text-align: center;
    height: 100%;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1);
    border: 1px solid #e9ecef;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.beneficio-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--cor-dourado), var(--cor-verde-medio));
}

.beneficio-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);
}

.beneficio-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 20px auto;
    background: linear-gradient(135deg, var(--cor-dourado), #e6b21c);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: var(--cor-preto);
    box-shadow: 0 4px 12px rgba(255, 199, 31, 0.3);
}

.beneficio-card h4 { font-size: 1.8rem; font-weight: 800; color: var(--cor-verde-medio); margin-bottom: 12px; }
.beneficio-card p { font-size: 0.95rem; color: var(--cor-cinza); line-height: 1.6; margin-bottom: 16px; }

.beneficio-fonte {
    display: inline-block;
    font-size: 0.75rem;
    color: #adb5bd;
    font-style: italic;
    padding: 4px 12px;
    background: #f8f9fa;
    border-radius: 50px;
    border: 1px solid #e9ecef;
}

/* ============================================================
   SEÇÃO MEMBROS FUNDADORES
============================================================ */
.section-membros {
    padding: 80px 0;
    background: linear-gradient(135deg, #090909 0%, #1a3a1a 50%, #090909 100%);
    color: #FFFFFF;
}

.section-membros .section-label {
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--cor-dourado);
    margin-bottom: 12px;
}

.section-membros .section-title { font-size: 2.2rem; font-weight: 800; color: #FFFFFF; margin-bottom: 12px; }
.section-membros .section-subtitle { color: rgba(255, 255, 255, 0.7); font-size: 1rem; max-width: 600px; margin: 0 auto; }

.vaga-card {
    background: rgba(255, 255, 255, 0.12);
    border: 2px solid rgba(255, 199, 31, 0.4);
    border-radius: 16px;
    padding: 32px 16px 24px 16px;
    text-align: center;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.vaga-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--cor-dourado), var(--cor-verde-vivo));
}

.vaga-card:hover {
    background: rgba(255, 199, 31, 0.15);
    transform: translateY(-6px);
    border-color: var(--cor-dourado);
    box-shadow: 0 12px 32px rgba(255, 199, 31, 0.25);
}

.vaga-numero {
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--cor-dourado);
    margin-bottom: 8px;
    line-height: 1;
    text-shadow: 0 2px 12px rgba(255, 199, 31, 0.4);
}

.vaga-status {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 12px;
    font-weight: 600;
}

.vaga-selo {
    font-size: 0.7rem;
    color: var(--cor-dourado);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 12px;
    background: rgba(255, 199, 31, 0.15);
    border-radius: 50px;
    border: 1px solid rgba(255, 199, 31, 0.3);
}

.vaga-card.vaga-mais { border-style: dashed; background: rgba(255, 255, 255, 0.04); }
.vaga-card.vaga-mais::before { display: none; }
.vaga-card.vaga-mais .vaga-numero { color: rgba(255, 199, 31, 0.5); }
.vaga-card.vaga-mais .vaga-status { color: rgba(255, 255, 255, 0.5); }
.vaga-card.vaga-mais .vaga-selo { color: rgba(255, 255, 255, 0.5); background: rgba(255, 255, 255, 0.05); border-color: rgba(255, 255, 255, 0.1); }

.section-membros .btn-gold-lg {
    display: inline-block;
    background: linear-gradient(135deg, var(--cor-dourado), #e6b21c);
    color: var(--cor-preto);
    border: none;
    border-radius: 50px;
    padding: 16px 48px;
    font-weight: 700;
    font-size: 1.05rem;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 8px 24px rgba(255, 199, 31, 0.3);
}

.section-membros .btn-gold-lg:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(255, 199, 31, 0.5);
    color: var(--cor-preto);
    text-decoration: none;
}

.section-membros .text-muted { color: rgba(255, 255, 255, 0.5) !important; }

/* ============================================================
   FOOTER
============================================================ */
.footer-custom {
    background: var(--cor-preto);
    color: rgba(255,255,255,0.7);
    padding: 48px 0 24px 0;
}

.footer-custom h6 { color: var(--cor-branco); font-weight: 700; margin-bottom: 16px; }
.footer-custom h6 i { color: var(--cor-dourado); }

.footer-custom a {
    color: rgba(255,255,255,0.6);
    text-decoration: none;
    transition: color 0.3s ease;
    display: block;
    padding: 4px 0;
    font-size: 0.9rem;
}

.footer-custom a:hover { color: var(--cor-dourado); }

.footer-custom .social-links a {
    display: inline-block;
    margin-right: 12px;
    font-size: 1.4rem;
    color: rgba(255,255,255,0.5);
    transition: color 0.3s ease;
}

.footer-custom .social-links a:hover { color: var(--cor-dourado); }
.footer-custom .footer-divider { border-color: rgba(255,255,255,0.08); margin: 24px 0; }
.footer-custom .footer-bottom { font-size: 0.8rem; color: rgba(255,255,255,0.4); text-align: center; }
.footer-custom .footer-bottom i { color: var(--cor-vermelho); }

/* ============================================================
   ILUSTRAÇÃO E TABELA
============================================================ */
#illustration { display: flex; justify-content: center; margin-top: 2rem; }
#illustration img { max-width: 100%; height: auto; max-height: 680px; }
#estabelecimentosTable { display: none; }

/* ============================================================
   ANIMAÇÕES
============================================================ */
.fade-in { animation: fadeInUp 0.6s ease forwards; }

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in-delay-1 { animation-delay: 0.1s; }
.fade-in-delay-2 { animation-delay: 0.2s; }
.fade-in-delay-3 { animation-delay: 0.3s; }
.fade-in-delay-4 { animation-delay: 0.4s; }

/* ============================================================
   RESPONSIVIDADE
============================================================ */
@media (max-width: 992px) {
    .hero-title { font-size: 2.8rem; }
}

@media (max-width: 768px) {
    body { padding-top: 68px; }
    .hero-title { font-size: 2.2rem; }
    .hero-subtitle { font-size: 1rem; padding: 0 16px; }
    .hero-search .form-control { font-size: 0.95rem !important; padding: 12px 16px !important; }
    .hero-search .btn-search { padding: 12px 20px; font-size: 0.9rem; }

    .section-revista .section-title,
    .section-beneficios .section-title,
    .section-membros .section-title { font-size: 1.6rem; }

    .filter-row { padding: 16px; }
    #map { height: 280px; }
    .revista-card .capa { min-height: 150px; }
    .navbar-custom .navbar-brand { font-size: 1.2rem; }
    .navbar-custom .btn-outline-gold { padding: 6px 16px; font-size: 0.85rem; }
    .footer-custom { padding: 32px 0 16px 0; }

    .section-beneficios, .section-membros { padding: 60px 0; }
    .beneficio-card { padding: 32px 20px; }
    .beneficio-icon { width: 64px; height: 64px; font-size: 1.8rem; }
    .beneficio-card h4 { font-size: 1.5rem; }
    .vaga-card { padding: 24px 12px 20px 12px; }
    .vaga-numero { font-size: 2rem; }
    .section-membros .btn-gold-lg { padding: 14px 32px; font-size: 0.95rem; }
}

@media (max-width: 576px) {
    .hero-title { font-size: 1.8rem; }
    .hero-search .form-control { font-size: 0.85rem !important; padding: 10px 14px !important; }
    .hero-search .btn-search { padding: 10px 16px; font-size: 0.8rem; }
    .hero-search .search-help { font-size: 0.7rem; }

    .section-revista .section-title,
    .section-beneficios .section-title,
    .section-membros .section-title { font-size: 1.4rem; }

    .revista-card .info { padding: 16px; }
    .revista-card .info .btn-outline-primary,
    .revista-card .info .btn-gold { padding: 6px 16px; font-size: 0.85rem; width: 100%; margin-bottom: 8px; }
    .filter-row .row > div { margin-bottom: 8px; }
    .footer-custom .social-links { text-align: center !important; }
    .footer-custom .social-links a { margin: 0 8px; }
    #cardsContainer .estabelecimento-card p { font-size: 0.8rem; }
    #cardsContainer .estabelecimento-card h5 { font-size: 1rem; }

    .beneficio-card { padding: 28px 16px; }
    .beneficio-icon { width: 56px; height: 56px; font-size: 1.5rem; }
    .beneficio-card h4 { font-size: 1.3rem; }
    .vaga-card { padding: 20px 8px 16px 8px; border-radius: 12px; }
    .vaga-numero { font-size: 1.6rem; }
    .vaga-status { font-size: 0.65rem; }
    .vaga-selo { font-size: 0.6rem; padding: 3px 10px; }
    .section-membros .btn-gold-lg { padding: 12px 24px; font-size: 0.9rem; width: 100%; }
}

/* ============================================================
   ESTILOS ESPECÍFICOS DA POLÍTICA DE PRIVACIDADE
============================================================ */
.privacy-header {
	background: linear-gradient(135deg, #090909 0%, #1a3a1a 50%, #090909 100%);
	padding: 60px 0 50px 0;
	color: #FFFFFF;
	position: relative;
	overflow: hidden;
}

.privacy-header::before {
	content: '';
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	background: url('imagem/revista_illustration_banner.png') no-repeat center bottom;
	background-size: contain;
	opacity: 0.06;
	pointer-events: none;
}

.privacy-header-content {
	position: relative;
	z-index: 2;
}

.privacy-header-badge {
	display: inline-block;
	background-color: rgba(255, 199, 31, 0.15);
	color: #FFC71F;
	padding: 6px 18px;
	border-radius: 50px;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 16px;
	border: 1px solid rgba(255, 199, 31, 0.3);
}

.privacy-title {
	font-size: 2.8rem;
	font-weight: 900;
	color: #FFFFFF;
	margin-bottom: 12px;
	text-shadow: 0 2px 20px rgba(0,0,0,0.5);
}

.privacy-title span {
	color: #FFC71F;
}

.privacy-subtitle {
	color: rgba(255,255,255,0.75);
	font-size: 1rem;
	font-weight: 300;
	max-width: 700px;
}

/* ============================================================
   CONTEÚDO
============================================================ */
.privacy-content {
	padding: 60px 0;
	background: #f8f6f0;
}

.privacy-card {
	background: #FFFFFF;
	border-radius: 16px;
	padding: 40px 48px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.06);
	border: 1px solid #e9ecef;
	margin-bottom: 32px;
}

.privacy-card h2 {
	font-size: 1.6rem;
	font-weight: 800;
	color: #090909;
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 3px solid #FFC71F;
	display: flex;
	align-items: center;
	gap: 12px;
}

.privacy-card h2 i {
	color: #FFC71F;
	font-size: 1.5rem;
}

.privacy-card h3 {
	font-size: 1.15rem;
	font-weight: 700;
	color: #2D9562;
	margin-top: 24px;
	margin-bottom: 12px;
}

.privacy-card p {
	font-size: 0.98rem;
	color: #495057;
	line-height: 1.75;
	margin-bottom: 16px;
}

.privacy-card ul {
	margin-bottom: 16px;
	padding-left: 0;
	list-style: none;
}

.privacy-card ul li {
	font-size: 0.98rem;
	color: #495057;
	line-height: 1.75;
	padding: 8px 0 8px 32px;
	position: relative;
	border-bottom: 1px solid #f0f0f0;
}

.privacy-card ul li:last-child {
	border-bottom: none;
}

.privacy-card ul li::before {
	content: '\F26E';
	font-family: 'bootstrap-icons';
	color: #FFC71F;
	position: absolute;
	left: 0;
	top: 8px;
	font-size: 1.1rem;
}

.privacy-card ul li strong {
	color: #090909;
}

/* Box de destaque */
.privacy-highlight {
	background: linear-gradient(135deg, #fff9e6, #f8f6f0);
	border-left: 6px solid #FFC71F;
	border-radius: 12px;
	padding: 24px 28px;
	margin: 24px 0;
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.privacy-highlight i {
	color: #FFC71F;
	font-size: 1.8rem;
	flex-shrink: 0;
	margin-top: 2px;
}

.privacy-highlight p {
	margin: 0;
	font-size: 0.95rem;
	color: #495057;
	line-height: 1.7;
}

.privacy-highlight p strong {
	color: #090909;
	display: block;
	margin-bottom: 4px;
	font-size: 1rem;
}

/* Última atualização */
.privacy-update {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #f8f6f0;
	padding: 8px 20px;
	border-radius: 50px;
	font-size: 0.85rem;
	color: #737373;
	font-style: italic;
	margin-bottom: 24px;
	border: 1px solid #e9ecef;
}

.privacy-update i {
	color: #2D9562;
}

/* Contato */
.privacy-contact {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 16px;
}

.privacy-contact a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #FFFFFF;
	border: 1px solid #e9ecef;
	border-radius: 50px;
	padding: 12px 24px;
	color: #090909;
	text-decoration: none;
	font-weight: 500;
	font-size: 0.95rem;
	transition: all 0.3s ease;
}

.privacy-contact a:hover {
	border-color: #FFC71F;
	background: #fff9e6;
	transform: translateY(-2px);
}

.privacy-contact a i {
	color: #FFC71F;
	font-size: 1.1rem;
}

/* Voltar */
.privacy-back {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: linear-gradient(135deg, #FFC71F, #e6b21c);
	color: #090909;
	border-radius: 50px;
	padding: 14px 32px;
	font-weight: 700;
	font-size: 1rem;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 4px 16px rgba(255, 199, 31, 0.3);
}

.privacy-back:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(255, 199, 31, 0.5);
	color: #090909;
}

/* ============================================================
   RESPONSIVIDADE
============================================================ */
@media (max-width: 768px) {
	.privacy-header {
		padding: 40px 0 30px 0;
	}
	.privacy-title {
		font-size: 1.9rem;
	}
	.privacy-card {
		padding: 28px 22px;
	}
	.privacy-card h2 {
		font-size: 1.3rem;
	}
	.privacy-card h3 {
		font-size: 1.05rem;
	}
	.privacy-card p,
	.privacy-card ul li {
		font-size: 0.92rem;
	}
}

/* ============================================================
   HEADER
============================================================ */
.plans-header {
	background: linear-gradient(135deg, #090909 0%, #1a3a1a 50%, #090909 100%);
	padding: 60px 0 50px 0;
	color: #FFFFFF;
	position: relative;
	overflow: hidden;
}
.plans-header::before {
	content: '';
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	background: url('imagem/revista_illustration.png') no-repeat center bottom;
	background-size: contain;
	opacity: 0.06;
	pointer-events: none;
}
.plans-header-content { position: relative; z-index: 2; }
.plans-header-badge {
	display: inline-block;
	background-color: rgba(255, 199, 31, 0.15);
	color: #FFC71F;
	padding: 6px 18px;
	border-radius: 50px;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 16px;
	border: 1px solid rgba(255, 199, 31, 0.3);
}
.plans-title {
	font-size: 2.8rem;
	font-weight: 900;
	color: #FFFFFF;
	margin-bottom: 12px;
	text-shadow: 0 2px 20px rgba(0,0,0,0.5);
}
.plans-title span { color: #FFC71F; }
.plans-subtitle {
	color: rgba(255,255,255,0.75);
	font-size: 1rem;
	font-weight: 300;
	max-width: 700px;
}

/* ============================================================
   CONTEÚDO
============================================================ */
.plans-content {
	padding: 60px 0;
	background: #f8f6f0;
}

/* Card Membro Fundador */
.founder-card {
	background: linear-gradient(135deg, #090909 0%, #1a3a1a 100%);
	border-radius: 20px;
	padding: 48px;
	color: #FFFFFF;
	position: relative;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0,0,0,0.3);
	border: 3px solid #FFC71F;
	margin-bottom: 60px;
}
.founder-card::before {
	content: '';
	position: absolute;
	top: -50px; right: -50px;
	width: 200px; height: 200px;
	background: radial-gradient(circle, rgba(255,199,31,0.15) 0%, transparent 70%);
	border-radius: 50%;
}
.founder-badge {
	display: inline-block;
	background: #FFC71F;
	color: #090909;
	padding: 8px 20px;
	border-radius: 50px;
	font-size: 0.85rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 20px;
}
.founder-title {
	font-size: 2.2rem;
	font-weight: 900;
	color: #FFFFFF;
	margin-bottom: 12px;
}
.founder-title span { color: #FFC71F; }
.founder-subtitle {
	color: rgba(255,255,255,0.75);
	font-size: 1.05rem;
	margin-bottom: 32px;
}
.founder-price-box {
	background: rgba(255,199,31,0.08);
	border: 2px dashed rgba(255,199,31,0.4);
	border-radius: 16px;
	padding: 28px;
	margin-bottom: 32px;
	text-align: center;
}
.founder-price-old {
	color: rgba(255,255,255,0.5);
	font-size: 1rem;
	text-decoration: line-through;
	margin-bottom: 8px;
}
.founder-price-new {
	font-size: 3rem;
	font-weight: 900;
	color: #FFC71F;
	line-height: 1;
	margin-bottom: 4px;
}
.founder-price-new small {
	font-size: 1.1rem;
	font-weight: 600;
	color: rgba(255,255,255,0.7);
}
.founder-price-note {
	color: rgba(255,255,255,0.6);
	font-size: 0.85rem;
	font-style: italic;
}
.founder-benefits {
	list-style: none;
	padding: 0;
	margin: 0 0 32px 0;
}
.founder-benefits li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	font-size: 0.98rem;
	color: rgba(255,255,255,0.9);
}
.founder-benefits li:last-child { border-bottom: none; }
.founder-benefits i {
	color: #FFC71F;
	font-size: 1.3rem;
	flex-shrink: 0;
	margin-top: 2px;
}
.btn-founder {
	display: inline-block;
	background: linear-gradient(135deg, #FFC71F, #e6b21c);
	color: #090909;
	border: none;
	border-radius: 50px;
	padding: 16px 48px;
	font-weight: 800;
	font-size: 1.1rem;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 8px 24px rgba(255, 199, 31, 0.4);
	width: 100%;
	text-align: center;
}
.btn-founder:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(255, 199, 31, 0.6);
	color: #090909;
}

/* Tabela de Planos */
.plans-section-title {
	text-align: center;
	margin-bottom: 40px;
}
.plans-section-title h2 {
	font-size: 2rem;
	font-weight: 800;
	color: #090909;
	margin-bottom: 12px;
}
.plans-section-title p {
	color: #737373;
	font-size: 1rem;
	max-width: 600px;
	margin: 0 auto;
}

.plan-card {
	background: #FFFFFF;
	border-radius: 20px;
	padding: 40px 32px;
	height: 100%;
	border: 2px solid #e9ecef;
	transition: all 0.3s ease;
	position: relative;
	display: flex;
	flex-direction: column;
}
.plan-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 40px rgba(0,0,0,0.1);
}
.plan-card.featured {
	border-color: #FFC71F;
	box-shadow: 0 12px 32px rgba(255, 199, 31, 0.15);
}
.plan-card.featured::before {
	content: 'MAIS POPULAR';
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	background: #FFC71F;
	color: #090909;
	padding: 4px 16px;
	border-radius: 50px;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 1px;
}
.plan-name {
	font-size: 1.4rem;
	font-weight: 800;
	color: #090909;
	margin-bottom: 8px;
}
.plan-description {
	font-size: 0.9rem;
	color: #737373;
	margin-bottom: 24px;
	min-height: 40px;
}
.plan-price {
	font-size: 2.8rem;
	font-weight: 900;
	color: #2D9562;
	line-height: 1;
	margin-bottom: 4px;
}
.plan-price small {
	font-size: 0.9rem;
	font-weight: 500;
	color: #737373;
}
.plan-price-note {
	font-size: 0.8rem;
	color: #adb5bd;
	font-style: italic;
	margin-bottom: 24px;
}
.plan-features {
	list-style: none;
	padding: 0;
	margin: 0 0 24px 0;
	flex-grow: 1;
}
.plan-features li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 8px 0;
	font-size: 0.9rem;
	color: #495057;
	border-bottom: 1px solid #f0f0f0;
}
.plan-features li:last-child { border-bottom: none; }
.plan-features i {
	flex-shrink: 0;
	margin-top: 2px;
}
.plan-features .bi-check-circle-fill { color: #2D9562; }
.plan-features .bi-x-circle-fill { color: #dee2e6; }
.btn-plan {
	display: block;
	text-align: center;
	padding: 14px 24px;
	border-radius: 50px;
	font-weight: 700;
	font-size: 1rem;
	text-decoration: none;
	transition: all 0.3s ease;
	border: 2px solid #2D9562;
	color: #2D9562;
	background: transparent;
}
.btn-plan:hover {
	background: #2D9562;
	color: #FFFFFF;
}
.plan-card.featured .btn-plan {
	background: #FFC71F;
	color: #090909;
	border-color: #FFC71F;
}
.plan-card.featured .btn-plan:hover {
	background: #e6b21c;
	border-color: #e6b21c;
	color: #090909;
}

/* ============================================================
   RESPONSIVIDADE
============================================================ */
@media (max-width: 768px) {
.plans-header { padding: 40px 0 30px 0; }
.plans-title { font-size: 1.9rem; }
.founder-card { padding: 32px 24px; }
.founder-title { font-size: 1.6rem; }
.founder-price-new { font-size: 2.4rem; }
.plan-card { padding: 32px 24px; }
.plan-price { font-size: 2.2rem; }
}

.terms-header {
		background: linear-gradient(135deg, #090909 0%, #1a3a1a 50%, #090909 100%);
		padding: 60px 0 50px 0;
		color: #FFFFFF;
		position: relative;
		overflow: hidden;
	}
	.terms-header::before {
		content: '';
		position: absolute;
		top: 0; right: 0; bottom: 0; left: 0;
		background: url('imagem/revista_illustration.png') no-repeat center bottom;
		background-size: contain;
		opacity: 0.06;
		pointer-events: none;
	}
	.terms-header-content { position: relative; z-index: 2; }
	.terms-header-badge {
		display: inline-block;
		background-color: rgba(255, 199, 31, 0.15);
		color: #FFC71F;
		padding: 6px 18px;
		border-radius: 50px;
		font-size: 0.8rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 1px;
		margin-bottom: 16px;
		border: 1px solid rgba(255, 199, 31, 0.3);
	}
	.terms-title {
		font-size: 2.8rem;
		font-weight: 900;
		color: #FFFFFF;
		margin-bottom: 12px;
		text-shadow: 0 2px 20px rgba(0,0,0,0.5);
	}
	.terms-title span { color: #FFC71F; }
	.terms-subtitle {
		color: rgba(255,255,255,0.75);
		font-size: 1rem;
		font-weight: 300;
		max-width: 700px;
	}

	.terms-content {
		padding: 60px 0;
		background: #f8f6f0;
	}
	.terms-card {
		background: #FFFFFF;
		border-radius: 16px;
		padding: 40px 48px;
		box-shadow: 0 4px 20px rgba(0,0,0,0.06);
		border: 1px solid #e9ecef;
		margin-bottom: 32px;
	}
	.terms-card h2 {
		font-size: 1.6rem;
		font-weight: 800;
		color: #090909;
		margin-bottom: 20px;
		padding-bottom: 12px;
		border-bottom: 3px solid #FFC71F;
		display: flex;
		align-items: center;
		gap: 12px;
	}
	.terms-card h2 i { color: #FFC71F; font-size: 1.5rem; }
	.terms-card h3 {
		font-size: 1.15rem;
		font-weight: 700;
		color: #2D9562;
		margin-top: 24px;
		margin-bottom: 12px;
	}
	.terms-card p {
		font-size: 0.98rem;
		color: #495057;
		line-height: 1.75;
		margin-bottom: 16px;
	}
	.terms-card ul {
		margin-bottom: 16px;
		padding-left: 0;
		list-style: none;
	}
	.terms-card ul li {
		font-size: 0.98rem;
		color: #495057;
		line-height: 1.75;
		padding: 8px 0 8px 32px;
		position: relative;
		border-bottom: 1px solid #f0f0f0;
	}
	.terms-card ul li:last-child { border-bottom: none; }
	.terms-card ul li::before {
		content: '\F26E';
		font-family: 'bootstrap-icons';
		color: #FFC71F;
		position: absolute;
		left: 0;
		top: 8px;
		font-size: 1.1rem;
	}
	.terms-card ul li strong { color: #090909; }

	.terms-highlight {
		background: linear-gradient(135deg, #fff9e6, #f8f6f0);
		border-left: 6px solid #FFC71F;
		border-radius: 12px;
		padding: 24px 28px;
		margin: 24px 0;
		display: flex;
		align-items: flex-start;
		gap: 16px;
	}
	.terms-highlight i {
		color: #FFC71F;
		font-size: 1.8rem;
		flex-shrink: 0;
		margin-top: 2px;
	}
	.terms-highlight p {
		margin: 0;
		font-size: 0.95rem;
		color: #495057;
		line-height: 1.7;
	}
	.terms-highlight p strong {
		color: #090909;
		display: block;
		margin-bottom: 4px;
		font-size: 1rem;
	}

	.terms-update {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		background: #f8f6f0;
		padding: 8px 20px;
		border-radius: 50px;
		font-size: 0.85rem;
		color: #737373;
		font-style: italic;
		margin-bottom: 24px;
		border: 1px solid #e9ecef;
	}
	.terms-update i { color: #2D9562; }

	.terms-back {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		background: linear-gradient(135deg, #FFC71F, #e6b21c);
		color: #090909;
		border-radius: 50px;
		padding: 14px 32px;
		font-weight: 700;
		font-size: 1rem;
		text-decoration: none;
		transition: all 0.3s ease;
		box-shadow: 0 4px 16px rgba(255, 199, 31, 0.3);
	}
	.terms-back:hover {
		transform: translateY(-3px);
		box-shadow: 0 8px 24px rgba(255, 199, 31, 0.5);
		color: #090909;
	}

	@media (max-width: 768px) {
		.terms-header { padding: 40px 0 30px 0; }
		.terms-title { font-size: 1.9rem; }
		.terms-card { padding: 28px 22px; }
		.terms-card h2 { font-size: 1.3rem; }
		.terms-card p, .terms-card ul li { font-size: 0.92rem; }
	}
	
	.about-header {
            background: linear-gradient(135deg, #090909 0%, #1a3a1a 50%, #090909 100%);
            padding: 60px 0 50px 0;
            color: #FFFFFF;
            position: relative;
            overflow: hidden;
        }
        .about-header::before {
            content: '';
            position: absolute;
            top: 0; right: 0; bottom: 0; left: 0;
            background: url('imagem/revista_illustration.png') no-repeat center bottom;
            background-size: contain;
            opacity: 0.06;
            pointer-events: none;
        }
        .about-header-content { position: relative; z-index: 2; }
        .about-header-badge {
            display: inline-block;
            background-color: rgba(255, 199, 31, 0.15);
            color: #FFC71F;
            padding: 6px 18px;
            border-radius: 50px;
            font-size: 0.8rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 16px;
            border: 1px solid rgba(255, 199, 31, 0.3);
        }
        .about-title {
            font-size: 2.8rem;
            font-weight: 900;
            color: #FFFFFF;
            margin-bottom: 12px;
            text-shadow: 0 2px 20px rgba(0,0,0,0.5);
        }
        .about-title span { color: #FFC71F; }
        .about-subtitle {
            color: rgba(255,255,255,0.75);
            font-size: 1rem;
            font-weight: 300;
            max-width: 700px;
        }

        .about-content { padding: 60px 0; background: #f8f6f0; }

        .about-card {
            background: #FFFFFF;
            border-radius: 16px;
            padding: 40px 48px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.06);
            border: 1px solid #e9ecef;
            margin-bottom: 32px;
        }
        .about-card h2 {
            font-size: 1.6rem;
            font-weight: 800;
            color: #090909;
            margin-bottom: 20px;
            padding-bottom: 12px;
            border-bottom: 3px solid #FFC71F;
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .about-card h2 i { color: #FFC71F; font-size: 1.5rem; }
        .about-card p {
            font-size: 0.98rem;
            color: #495057;
            line-height: 1.75;
            margin-bottom: 16px;
        }

        /* Missão, Visão, Valores */
        .mvv-card {
            background: #FFFFFF;
            border-radius: 16px;
            padding: 32px 28px;
            height: 100%;
            border-top: 4px solid #FFC71F;
            box-shadow: 0 4px 16px rgba(0,0,0,0.06);
            text-align: center;
            transition: all 0.3s ease;
        }
        .mvv-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 12px 32px rgba(0,0,0,0.1);
        }
        .mvv-icon {
            width: 72px;
            height: 72px;
            margin: 0 auto 20px auto;
            background: linear-gradient(135deg, #FFC71F, #e6b21c);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
            color: #090909;
            box-shadow: 0 4px 12px rgba(255, 199, 31, 0.3);
        }
        .mvv-title {
            font-size: 1.3rem;
            font-weight: 800;
            color: #090909;
            margin-bottom: 12px;
        }
        .mvv-text {
            font-size: 0.95rem;
            color: #495057;
            line-height: 1.6;
        }

        /* Autor */
        .author-card {
            background: linear-gradient(135deg, #090909 0%, #1a3a1a 100%);
            border-radius: 20px;
            padding: 48px;
            color: #FFFFFF;
            border: 3px solid #FFC71F;
            display: flex;
            align-items: center;
            gap: 40px;
        }
        .author-photo {
            width: 180px;
            height: 180px;
            border-radius: 50%;
            border: 5px solid #FFC71F;
            object-fit: cover;
            box-shadow: 0 8px 32px rgba(255, 199, 31, 0.4);
            flex-shrink: 0;
        }
        .author-info h3 {
            font-size: 1.8rem;
            font-weight: 800;
            color: #FFC71F;
            margin-bottom: 8px;
        }
        .author-role {
            font-size: 1rem;
            color: rgba(255,255,255,0.7);
            margin-bottom: 16px;
            font-style: italic;
        }
        .author-bio {
            font-size: 0.95rem;
            color: rgba(255,255,255,0.85);
            line-height: 1.7;
        }

        /* Números */
        .stats-card {
            background: #FFFFFF;
            border-radius: 16px;
            padding: 32px 24px;
            text-align: center;
            border: 1px solid #e9ecef;
            box-shadow: 0 4px 16px rgba(0,0,0,0.06);
            transition: all 0.3s ease;
        }
        .stats-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 12px 32px rgba(0,0,0,0.1);
        }
        .stats-number {
            font-size: 2.8rem;
            font-weight: 900;
            color: #2D9562;
            line-height: 1;
            margin-bottom: 8px;
        }
        .stats-label {
            font-size: 0.9rem;
            color: #737373;
            font-weight: 500;
        }

        .about-back {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            background: linear-gradient(135deg, #FFC71F, #e6b21c);
            color: #090909;
            border-radius: 50px;
            padding: 14px 32px;
            font-weight: 700;
            font-size: 1rem;
            text-decoration: none;
            transition: all 0.3s ease;
            box-shadow: 0 4px 16px rgba(255, 199, 31, 0.3);
        }
        .about-back:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 24px rgba(255, 199, 31, 0.5);
            color: #090909;
        }

        @media (max-width: 768px) {
            .about-header { padding: 40px 0 30px 0; }
            .about-title { font-size: 1.9rem; }
            .about-card { padding: 28px 22px; }
            .about-card h2 { font-size: 1.3rem; }
            .author-card { flex-direction: column; text-align: center; padding: 32px 24px; }
            .author-photo { width: 140px; height: 140px; }
            .author-info h3 { font-size: 1.5rem; }
            .stats-number { font-size: 2.2rem; }
        }
		
		/* ============================================================
	   BUSCA FIXA — STICKY
	============================================================ */
	.hero-search.busca-fixa {
		position: fixed;
		top: 76px;               /* altura da navbar */
		left: 0;
		right: 0;
		z-index: 1030;
		background: linear-gradient(135deg, #090909 0%, #1a3a1a 50%, #090909 100%);
		padding: 16px 24px;
		margin: 0;
		max-width: 100%;
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
		border-bottom: 3px solid var(--cor-dourado);
		transition: all 0.3s ease;
		animation: slideDown 0.3s ease forwards;
	}

	.hero-search.busca-fixa .input-group {
		max-width: 720px;
		margin: 0 auto;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
	}

	.hero-search.busca-fixa .search-help {
		max-width: 720px;
		margin: 8px auto 0 auto;
		text-align: center;
	}

	@keyframes slideDown {
		from {
			transform: translateY(-100%);
			opacity: 0;
		}
		to {
			transform: translateY(0);
			opacity: 1;
		}
	}

	/* Espaço compensatório quando a busca está fixa */
	body.busca-fixa-ativa {
		padding-top: 160px;     /* navbar + busca fixa */
	}

	/* Mobile */
	@media (max-width: 768px) {
		.hero-search.busca-fixa {
			top: 68px;
			padding: 12px 16px;
		}

		.hero-search.busca-fixa .form-control {
			font-size: 0.9rem !important;
			padding: 10px 14px !important;
		}

		.hero-search.busca-fixa .btn-search {
			padding: 10px 16px;
			font-size: 0.85rem;
		}

		.hero-search.busca-fixa .search-help {
			font-size: 0.7rem;
			margin-top: 6px;
		}

		body.busca-fixa-ativa {
			padding-top: 140px;
		}
	}

	/* ============================================================
	   ANIMAÇÃO DOS PINS NO MAPA
	============================================================ */
	@keyframes pinDrop {
		0% {
			transform: translateY(-30px) scale(0.5);
			opacity: 0;
		}
		60% {
			transform: translateY(0) scale(1.1);
			opacity: 1;
		}
		80% {
			transform: translateY(-5px) scale(0.95);
		}
		100% {
			transform: translateY(0) scale(1);
			opacity: 1;
		}
	}

	.leaflet-marker-icon.pin-animado {
		animation: pinDrop 0.6s ease forwards;
	}

	/* ============================================================
	   BOTÕES DE ROTA — PÁGINA DE DETALHES
	============================================================ */
	.btn-rota {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 12px 24px;
		border-radius: 50px;
		font-weight: 600;
		font-size: 0.95rem;
		text-decoration: none;
		transition: all 0.3s ease;
		border: none;
		cursor: pointer;
	}

	.btn-rota-google {
		background: #4285F4;
		color: #FFFFFF;
	}

	.btn-rota-google:hover {
		background: #357AE8;
		color: #FFFFFF;
		transform: translateY(-2px);
		box-shadow: 0 4px 12px rgba(66, 133, 244, 0.4);
	}

	.btn-rota-waze {
		background: #33CCFF;
		color: #FFFFFF;
	}

	.btn-rota-waze:hover {
		background: #1FB5E8;
		color: #FFFFFF;
		transform: translateY(-2px);
		box-shadow: 0 4px 12px rgba(51, 204, 255, 0.4);
	}

	.btn-rota i {
		font-size: 1.1rem;
	}

	@media (max-width: 576px) {
		.btn-rota {
			padding: 10px 18px;
			font-size: 0.85rem;
			width: 100%;
			justify-content: center;
			margin-bottom: 8px;
		}
	}
	
		/* ============================================================
		   PÁGINA DE DETALHES DO ESTABELECIMENTO
		============================================================ */

		/* HEADER */
		.estab-header {
			background: linear-gradient(135deg, #090909 0%, #1a3a1a 50%, #090909 100%);
			padding: 60px 0 40px 0;
			color: #FFFFFF;
			position: relative;
			overflow: hidden;
		}

		.estab-header-content { position: relative; z-index: 2; }

		.estab-categoria-badge {
			display: inline-block;
			background-color: rgba(255, 199, 31, 0.15);
			color: #FFC71F;
			padding: 6px 18px;
			border-radius: 50px;
			font-size: 0.8rem;
			font-weight: 600;
			text-transform: uppercase;
			letter-spacing: 1px;
			margin-bottom: 16px;
			border: 1px solid rgba(255, 199, 31, 0.3);
		}

		.estab-title {
			font-size: 2.8rem;
			font-weight: 900;
			color: #FFFFFF;
			margin-bottom: 12px;
			text-shadow: 0 2px 20px rgba(0,0,0,0.5);
		}

		.estab-cnpj {
			color: rgba(255,255,255,0.6);
			font-size: 0.9rem;
		}

		/* BREADCRUMB */
		.breadcrumb-custom {
			background: transparent;
			padding: 16px 0;
			margin-bottom: 0;
		}

		.breadcrumb-custom .breadcrumb-item a {
			color: #2D9562;
			text-decoration: none;
			font-weight: 500;
		}

		.breadcrumb-custom .breadcrumb-item a:hover { color: #FFC71F; }
		.breadcrumb-custom .breadcrumb-item.active { color: #737373; }

		/* INFO CARDS */
		.info-card {
			background: #FFFFFF;
			border-radius: 16px;
			padding: 24px;
			box-shadow: 0 4px 16px rgba(0,0,0,0.06);
			border: 1px solid #e9ecef;
			margin-bottom: 24px;
			transition: all 0.3s ease;
		}

		.info-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.1); }

		.info-card-title {
			font-size: 1.1rem;
			font-weight: 700;
			color: #090909;
			margin-bottom: 16px;
			padding-bottom: 12px;
			border-bottom: 2px solid #FFC71F;
			display: flex;
			align-items: center;
			gap: 8px;
		}

		.info-card-title i { color: #FFC71F; font-size: 1.2rem; }

		.info-item {
			display: flex;
			align-items: flex-start;
			gap: 12px;
			padding: 10px 0;
			border-bottom: 1px solid #f0f0f0;
		}

		.info-item:last-child { border-bottom: none; }

		.info-item i {
			color: #2D9562;
			font-size: 1.1rem;
			width: 20px;
			flex-shrink: 0;
			margin-top: 2px;
		}

		.info-item-content { flex: 1; }

		.info-item-label {
			font-size: 0.75rem;
			text-transform: uppercase;
			letter-spacing: 1px;
			color: #737373;
			font-weight: 600;
			margin-bottom: 2px;
		}

		.info-item-value {
			font-size: 0.95rem;
			color: #090909;
			font-weight: 500;
			word-break: break-word;
		}

		/* BOTÕES DE AÇÃO */
		.btn-whatsapp {
			background: linear-gradient(135deg, #25D366, #128C7E);
			color: #FFFFFF;
			border: none;
			border-radius: 50px;
			padding: 14px 28px;
			font-weight: 600;
			font-size: 1rem;
			width: 100%;
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 10px;
			text-decoration: none;
			transition: all 0.3s ease;
			box-shadow: 0 4px 16px rgba(37, 211, 102, 0.3);
			margin-bottom: 12px;
		}

		.btn-whatsapp:hover {
			transform: translateY(-3px);
			box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
			color: #FFFFFF;
		}

		.btn-compartilhar {
			background: #FFFFFF;
			color: #090909;
			border: 2px solid #e9ecef;
			border-radius: 50px;
			padding: 12px 28px;
			font-weight: 600;
			font-size: 0.95rem;
			width: 100%;
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 10px;
			text-decoration: none;
			transition: all 0.3s ease;
		}

		.btn-compartilhar:hover {
			border-color: #FFC71F;
			color: #090909;
			transform: translateY(-3px);
		}

		/* BOTÕES DE ROTA */
		.btn-rota {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 8px;
			padding: 12px 24px;
			border-radius: 50px;
			font-weight: 600;
			font-size: 0.95rem;
			text-decoration: none;
			transition: all 0.3s ease;
			border: none;
			cursor: pointer;
		}

		.btn-rota-google { background: #4285F4; color: #FFFFFF; }
		.btn-rota-google:hover {
			background: #357AE8;
			color: #FFFFFF;
			transform: translateY(-2px);
			box-shadow: 0 4px 12px rgba(66, 133, 244, 0.4);
		}

		.btn-rota-waze { background: #33CCFF; color: #FFFFFF; }
		.btn-rota-waze:hover {
			background: #1FB5E8;
			color: #FFFFFF;
			transform: translateY(-2px);
			box-shadow: 0 4px 12px rgba(51, 204, 255, 0.4);
		}

		.btn-rota i { font-size: 1.1rem; }

		/* PRATOS */
		.prato-card {
			background: #FFFFFF;
			border-radius: 12px;
			padding: 20px;
			margin-bottom: 16px;
			border-left: 4px solid #FFC71F;
			box-shadow: 0 2px 8px rgba(0,0,0,0.04);
			transition: all 0.3s ease;
		}

		.prato-card:hover {
			transform: translateX(4px);
			box-shadow: 0 4px 16px rgba(0,0,0,0.08);
		}

		.prato-nome {
			font-size: 1.15rem;
			font-weight: 700;
			color: #2D9562;
			margin-bottom: 8px;
		}

		.prato-tipo {
			display: inline-block;
			background: #f0ede4;
			color: #737373;
			font-size: 0.7rem;
			padding: 2px 10px;
			border-radius: 50px;
			text-transform: uppercase;
			letter-spacing: 0.5px;
			font-weight: 600;
			margin-bottom: 8px;
		}

		.prato-ingredientes {
			font-size: 0.9rem;
			color: #737373;
			line-height: 1.5;
			margin: 8px 0 0 0;
		}

		.prato-ingredientes strong {
			color: #090909;
			display: block;
			margin-bottom: 4px;
			font-size: 0.8rem;
			text-transform: uppercase;
			letter-spacing: 0.5px;
		}

		/* MAPA */
		#map {
			height: 350px;
			width: 100%;
			border-radius: 16px;
			box-shadow: 0 4px 16px rgba(0,0,0,0.08);
			margin-top: 8px;
		}

		/* ANIMAÇÃO DO PIN */
		@keyframes pinDrop {
			0% { transform: translateY(-30px) scale(0.5); opacity: 0; }
			60% { transform: translateY(0) scale(1.1); opacity: 1; }
			80% { transform: translateY(-5px) scale(0.95); }
			100% { transform: translateY(0) scale(1); opacity: 1; }
		}

		.leaflet-marker-icon.pin-animado {
			animation: pinDrop 0.6s ease forwards;
		}

		/* RELACIONADOS */
		.relacionado-card {
			background: #FFFFFF;
			border-radius: 12px;
			padding: 16px;
			margin-bottom: 12px;
			border-left: 4px solid #2D9562;
			box-shadow: 0 2px 8px rgba(0,0,0,0.04);
			transition: all 0.3s ease;
			text-decoration: none;
			display: block;
			color: inherit;
		}

		.relacionado-card:hover {
			transform: translateX(4px);
			box-shadow: 0 4px 16px rgba(0,0,0,0.08);
			border-left-color: #FFC71F;
			color: inherit;
		}

		.relacionado-nome {
			font-size: 0.95rem;
			font-weight: 700;
			color: #090909;
			margin-bottom: 4px;
		}

		.relacionado-info {
			font-size: 0.8rem;
			color: #737373;
			display: flex;
			align-items: center;
			gap: 6px;
			margin-bottom: 2px;
		}

		.relacionado-info i { color: #FFC71F; font-size: 0.85rem; }

		/* BANNERS */
		.banner-ad {
			background: linear-gradient(135deg, #f8f6f0, #f0ede4);
			border-radius: 12px;
			padding: 24px;
			text-align: center;
			margin-bottom: 16px;
			border: 2px dashed #e0dcd0;
			transition: all 0.3s ease;
		}

		.banner-ad:hover {
			border-color: #FFC71F;
			background: linear-gradient(135deg, #fff9e6, #f8f6f0);
		}

		.banner-ad-label {
			font-size: 0.7rem;
			text-transform: uppercase;
			letter-spacing: 1px;
			color: #adb5bd;
			font-weight: 600;
			margin-bottom: 8px;
		}

		.banner-ad-content {
			font-size: 0.9rem;
			color: #737373;
			font-weight: 500;
		}

		/* RESPONSIVIDADE */
		@media (max-width: 992px) {
			.estab-title { font-size: 2rem; }
			#map { height: 300px; }
		}

		@media (max-width: 768px) {
			.estab-header { padding: 40px 0 30px 0; }
			.estab-title { font-size: 1.6rem; }
			.info-card { padding: 20px; }
			#map { height: 250px; }
		}

		@media (max-width: 576px) {
			.btn-rota {
				padding: 10px 18px;
				font-size: 0.85rem;
				width: 100%;
				margin-bottom: 8px;
			}
		}
		
		/* ============================================================
		   PÁGINA DE BUSCA — BARRA FIXA E RESULTADOS
		============================================================ */
		body.pagina-busca {
			padding-top: 76px;
		}

		.busca-bar {
			position: sticky;
			top: 76px;
			z-index: 1020;
			background: linear-gradient(135deg, #090909 0%, #1a3a1a 50%, #090909 100%);
			padding: 16px 0;
			box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
			border-bottom: 3px solid #FFC71F;
		}

		.busca-bar .input-group {
			max-width: 720px;
			margin: 0 auto;
			background: #FFFFFF;
			border-radius: 60px;
			overflow: hidden;
			box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
		}

		.busca-bar .form-control {
			border: none !important;
			padding: 14px 24px !important;
			font-size: 1rem !important;
			background: transparent !important;
		}

		.busca-bar .form-control:focus { box-shadow: none !important; }

		.busca-bar .btn-search {
			background-color: #FFC71F;
			border: none;
			padding: 14px 32px;
			color: #090909;
			font-weight: 600;
			font-size: 1rem;
			transition: all 0.3s ease;
		}

		.busca-bar .btn-search:hover { background-color: #e6b21c; }

		.busca-bar .search-help {
			color: rgba(255, 255, 255, 0.7);
			font-size: 0.75rem;
			text-align: center;
			margin-top: 8px;
		}

		.busca-bar .search-help i { color: #FFC71F; }

		.filtros-bar {
			background: #FFFFFF;
			padding: 16px 24px;
			border-radius: 12px;
			box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
			margin: 24px 0;
		}

		.pagina-busca #map {
			height: 500px;
			width: 100%;
			border-radius: 16px;
			box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
			margin-bottom: 24px;
		}

		.estabelecimento-card {
			background: #FFFFFF;
			border-radius: 12px;
			padding: 20px;
			height: 100%;
			box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
			transition: transform 0.3s ease, box-shadow 0.3s ease;
			border-left: 4px solid #FFC71F;
		}

		.estabelecimento-card:hover {
			transform: translateY(-4px);
			box-shadow: 0 8px 32px rgba(0, 0, 0, 0.10);
		}

		.estabelecimento-card h5 {
			color: #2D9562;
			font-weight: 700;
			margin-bottom: 8px;
		}

		.estabelecimento-card h5 a { color: #2D9562; text-decoration: none; }
		.estabelecimento-card h5 a:hover { color: #FFC71F; }

		.estabelecimento-card .categoria {
			display: inline-block;
			background: #e9ecef;
			padding: 2px 12px;
			border-radius: 50px;
			font-size: 0.75rem;
			font-weight: 600;
			color: #737373;
			margin-top: 8px;
		}

		.estabelecimento-card p {
			font-size: 0.9rem;
			color: #737373;
			margin-bottom: 4px;
		}

		.estabelecimento-card p i { color: #FFC71F; width: 18px; }

		.no-results { text-align: center; padding: 40px 20px; color: #737373; }
		.no-results i { font-size: 3rem; color: #dee2e6; margin-bottom: 16px; }

		@media (max-width: 768px) {
			body.pagina-busca { padding-top: 68px; }
			.busca-bar { top: 68px; padding: 12px 0; }
			.busca-bar .form-control { padding: 10px 16px !important; font-size: 0.9rem !important; }
			.busca-bar .btn-search { padding: 10px 20px; font-size: 0.85rem; }
			.busca-bar .search-help { font-size: 0.7rem; }
			.pagina-busca #map { height: 350px; }
		}
		
		/* Estilo do Botão Flutuante */
		.whatsapp-float {
			position: fixed;
			width: 60px;
			height: 60px;
			bottom: 80px; /* Acima do banner de cookies */
			right: 25px;
			background-color: #25d366;
			color: #FFF;
			border-radius: 50px;
			text-align: center;
			font-size: 30px;
			box-shadow: 0 4px 12px rgba(0,0,0,0.15);
			z-index: 1050;
			display: flex;
			align-items: center;
			justify-content: center;
			transition: all 0.3s ease;
		}
		.whatsapp-float:hover {
			background-color: #128C7E;
			color: #FFF;
			transform: scale(1.1);
		}
		@media (max-width: 768px) {
			.whatsapp-float {
				width: 50px;
				height: 50px;
				font-size: 25px;
				bottom: 90px; /* Ajuste para não sobrepor o banner no mobile */
				right: 20px;
			}
}