/* css/style.css */

/* 1. VARIÁVEIS DE COR E FONTES */
:root {
    --primary-color: #1f437f;
    --secondary-color: #f6911a;
    --light-bg: #f8f9fa;
    --dark-text: #212529;
    --body-font: 'Poppins', sans-serif;
    --heading-font: 'Inter', sans-serif;
}

/* 2. ESTILOS GERAIS E HELPERS */
body { font-family: var(--body-font); color: var(--dark-text); }
h1,h2,h3,h4,h5,h6 { font-family: var(--heading-font); font-weight: 800; }
.text-primary { color: var(--primary-color) !important; }
.btn-primary { background-color: var(--primary-color) !important; border-color: var(--primary-color) !important; }
.btn-primary:hover { filter: brightness(1.1); }
.text-secondary { color: var(--secondary-color) !important; }
.btn-secondary { background-color: var(--secondary-color) !important; border-color: var(--secondary-color) !important; color: #fff; }
.title-divider { border: 0; height: 3px; width: 80px; margin: 1.5rem auto; background-color: var(--secondary-color); opacity: 1; }
.title-divider-light { background-color: yellow; }
hr.footer-divider { width: 40px; height: 3px; background-color: var(--primary-color); opacity: 0.2; margin: 1rem 0; }

/* 3. COMPONENTES */
.navbar .logo { max-height: 40px; }
.navbar-nav .nav-link { font-weight: 600; color: #555; margin: 0 0.5rem; transition: color 0.3s; }
.navbar-nav .nav-link:hover { color: var(--primary-color); }
.offcanvas-link { padding: 1rem; font-size: 1.1rem; text-decoration: none; color: var(--dark-text); transition: all 0.2s; }
.offcanvas-link:hover { background-color: var(--light-bg); color: var(--primary-color); }

.hero-section {
    padding: 6rem 0;
    background-color: #f4f8fc;
    background-image: url('https://www.serviceplus.com.br/site/wp-content/themes/serviceplus/images/banner-fundo.png');
    background-position: right center;
    background-repeat: no-repeat;
    background-size: contain;
}
.form-container { background-color: #ffffff; border-top: 5px solid var(--secondary-color); }
@media (max-width: 992px) { .hero-section { background-image: none; padding: 3rem 0; } }

.video-wrapper { max-width: 800px; margin: 0 auto; }
.feature-card { background-color: #fff; padding: 2rem; border-radius: 8px; text-align: center; border: 1px solid #eee; }
.feature-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.05); }
.feature-card img { height: 60px; }

.funcionalidade-card { border: 1px solid #e9ecef; transition: all 0.3s ease; border-radius: 0.5rem; overflow: hidden; }
.funcionalidade-card:hover { transform: translateY(-5px); box-shadow: 0 1rem 2rem rgba(31, 67, 127, 0.1); border-color: var(--primary-color); }
.funcionalidade-card .card-title { color: var(--primary-color); }

.fundo-segmentos { background-color: var(--primary-color); }
.segment-tag { background-color: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); padding: 0.75rem 1.5rem; border-radius: 50px; font-weight: 600; color: #fff; transition: all 0.3s ease; }
.segment-tag:hover { background-color: #fff; color: var(--primary-color); transform: scale(1.05); }

.rodape { background-color: #fff; }
.copyright { background-color: #eee; }
.social-icon { display: inline-flex; justify-content: center; align-items: center; width: 40px; height: 40px; background-color: var(--primary-color); color: #fff; border-radius: 50%; text-decoration: none; font-size: 1.1rem; margin-right: 10px; transition: all 0.3s ease; }
.social-icon:hover { background-color: var(--secondary-color); transform: translateY(-3px); }

.whatsapp-float { position: fixed; width: 60px; height: 60px; bottom: 95px; right: 20px; background-color: #25d366; color: #FFF; border-radius: 50px; text-align: center; font-size: 30px; box-shadow: 2px 2px 10px rgba(0,0,0,0.2); z-index: 100; display: flex; justify-content: center; align-items: center; text-decoration: none; transition: all 0.3s ease; }
.whatsapp-float:hover { transform: scale(1.1); }

.scroll-to-top-button { position: fixed; bottom: 20px; right: 20px; width: 50px; height: 50px; background-color: var(--primary-color); color: #fff; border-radius: 50%; text-align: center; font-size: 20px; z-index: 100; display: none; justify-content: center; align-items: center; text-decoration: none; opacity: 0; transition: opacity 0.3s ease-in-out; }
.scroll-to-top-button.show { display: flex; opacity: 1; }

.cookie-banner { position: fixed; bottom: 20px; left: 20px; background-color: var(--primary-color); color: #fff; padding: 15px 20px; border-radius: 8px; z-index: 1050; display: none; align-items: center; max-width: 500px; }
.cookie-banner.show { display: flex; }
.cookie-text { margin: 0 15px 0 0; font-size: 0.9rem; }