/* 
 OTIMIZAÃ‡ÃƒO CSS PARA SEO E PERFORMANCE
 - MinificaÃ§Ã£o de valores
 - Agrupamento de seletores
 - Melhoria de caminhos de renderizaÃ§Ã£o (Critical CSS ready)
 - ReduÃ§Ã£o de redundÃ¢ncia
*/

:root{
 --color-primary:#C00;
 --color-primary-dark:#A30000;
 --color-secondary:#4A4A4A;
 --color-text:#333;
 --color-text-light:#666;
 --color-bg-light:#f4f4f4;
 --color-white:#fff;
 --color-black:#000;
 --color-light-gray:#e0e0e0;
 --font-main:'Roboto',system-ui,-apple-system,sans-serif;
 --spacing-lg:80px;
 --spacing-md:40px;
 --spacing-sm:20px;
 --spacing-xs:10px;
}


*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

body{
 font-family:var(--font-main);
 line-height:1.6;
 color:var(--color-text);
 background-color:var(--color-white);
 -webkit-font-smoothing:antialiased;
 text-rendering:optimizeLegibility;
}


.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-sm)}
.section-padding{padding:var(--spacing-lg) 0}
.bg-light{background-color:var(--color-bg-light)}
.bg-primary{background-color:var(--color-primary)}
.text-white{color:var(--color-white)}
.text-center{text-align:center}


h1,h2,h3{margin-bottom:var(--spacing-sm);font-weight:700;color:var(--color-text);line-height:1.2}
h1{font-size:2.5rem;font-weight:900}
h2{font-size:2rem;margin-bottom:var(--spacing-md)}
p{margin-bottom:var(--spacing-sm);color:var(--color-text-light)}
.text-white p{color:rgba(255,255,255,0.9)}


.h2-bg-image{
 background:linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)),url('https://ngfcontabilidade.b-cdn.net/Cidades/cidade-de-sao-paulo.webp');
 background-size:cover;
 background-position:center;
 color:var(--color-white);
 padding:60px var(--spacing-md);
 margin-bottom:var(--spacing-md);
 border-radius:5px;
 text-align:center;
}
.h2-bg-image h2,.h2-bg-image p{color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,0.5)}
.h2-bg-image h2{text-shadow:2px 2px 0 #FFD700}
.h2-bg-image p{text-shadow:1px 1px 0 #FFD700;font-weight:500}


.btn{
 display:inline-block;
 padding:12px 25px;
 text-decoration:none;
 border-radius:5px;
 font-weight:700;
 transition:background-color 0.3s,border-color 0.3s,color 0.3s;
 border:2px solid transparent;
 cursor:pointer;
 text-align:center;
}
.btn-primary{background-color:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}
.btn-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}
.btn-secondary{background-color:var(--color-white);color:var(--color-primary);border-color:var(--color-white)}
.btn-secondary:hover{background-color:var(--color-light-gray);color:var(--color-primary-dark)}
.btn-outline{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}
.btn-outline:hover{background-color:var(--color-primary);color:var(--color-white)}


.cta-group{margin-top:30px;display:flex;gap:20px;justify-content:center;flex-wrap:wrap}


#hero{background-color:var(--color-bg-light);text-align:center;padding:100px 0}
.hero-content p{font-size:1.25rem;max-width:800px;margin:var(--spacing-sm) auto var(--spacing-md)}


.feature-grid,.service-grid{display:grid;gap:var(--spacing-md);margin-top:var(--spacing-md)}
.feature-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));text-align:center}
.service-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}


.feature-card,.service-card{background-color:var(--color-white);padding:var(--spacing-md);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.05);transition:transform 0.3s ease}
.feature-card{border-top:5px solid var(--color-secondary)}
.feature-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,0.1)}
.feature-card span.destaque{display:block;font-size:1.2rem;font-weight:700;margin-bottom:10px;color:var(--color-primary)}

.service-card{border-left:5px solid var(--color-primary);border-radius:4px}
.service-card h3{color:var(--color-primary);margin-bottom:var(--spacing-xs)}


.consultoria-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:var(--spacing-md) 0}
.consultoria-text{flex:2;padding-right:var(--spacing-md);min-width:300px}
.consultoria-text h2,.consultoria-text ul{color:var(--color-white)}
.consultoria-text h2{margin-bottom:10px}
.consultoria-text ul{list-style:none;margin:20px 0 var(--spacing-sm) 0}
.consultoria-text ul li{margin-bottom:8px;padding-left:1.5em;text-indent:-1.5em;font-weight:500}
.consultoria-text ul li::before{content:"\2713";color:#fff;font-weight:900;display:inline-block;width:1em;margin-right:0.5em;text-shadow:0 0 2px rgba(0,0,0,0.2)}
.consultoria-cta{flex:1;text-align:right;min-width:250px}


.full-width-bg{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:0 var(--spacing-sm);box-sizing:border-box}


.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--spacing-lg);margin-top:var(--spacing-md);padding:var(--spacing-md);border-radius:8px;box-shadow:0 0 15px rgba(0,0,0,0.05);background-color:var(--color-white)}
.contact-form-wp label{display:block;margin-bottom:5px;font-weight:700;color:var(--color-primary-dark)}
.contact-form-wp input,.contact-form-wp textarea{width:100%;padding:10px;margin-bottom:15px;border:1px solid #ccc;border-radius:4px;font-family:var(--font-main)}
.contact-form-wp textarea{resize:vertical;min-height:100px}
.contact-info h3{color:var(--color-primary);margin-top:20px;font-size:1.2rem}
.contact-info p{margin-bottom:5px}
.contact-info a{color:var(--color-primary);text-decoration:none;font-weight:700}
.contact-info .btn-primary{color:#fff !important}


footer{background:var(--color-secondary);color:#fff;text-align:center;padding:20px 0;margin-top:40px}
footer p{color:#ccc;font-size:0.9rem;margin:0}


@media (max-width:992px){
 .consultoria-content{flex-direction:column;text-align:center}
 .consultoria-text{padding-right:0;margin-bottom:var(--spacing-md)}
 .consultoria-cta{text-align:center}
 .consultoria-text ul{text-align:left;display:inline-block}
}

@media (max-width:768px){
 h1{font-size:2rem}
 h2{font-size:1.75rem}
 .section-padding{padding:var(--spacing-md) 0}
 .contact-grid{grid-template-columns:1fr;gap:var(--spacing-md)}
}

@media (max-width:600px){
 .cta-group{flex-direction:column}
}