/* --- 1. VARIÁVEIS E BASE --- */
:root {
    --primary: #004F71;
    --dark: #1a1a1a;
    --whatsapp: #25D366;
    --white: #ffffff;
    --light-grey: #f8f9fa;
    --transition: all 0.3s ease;
}

html, body {
    height: 100%;
    display: flex;
    flex-direction: column;
}

body { 
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; 
    margin: 0; 
    overflow-x: hidden;
    font-size: 1rem;
    background-color: var(--white);
    color: var(--dark);
}

a { text-decoration: none !important; color: inherit; outline: none; }

/* --- 2. NAVBAR --- */
.navbar { 
    background-color: var(--primary); 
    backdrop-filter: blur(5px);
    padding: 0.625rem 5%;
    transition: var(--transition);
    position: sticky;
    top: 0;
    z-index: 1040;
}

.navbar-brand img { height: 2.5rem; width: auto; }

.nav-link { 
    color: var(--white) !important; 
    font-weight: 600; 
    text-transform: uppercase; 
    font-size: 0.875rem;
    position: relative;
    padding: 0.75rem !important;
    fill: #ffffff !important;
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0; 
    height: 0.125rem; /* 2px */
    bottom: 0; 
    left: 10%;
    background-color: var(--white);
    transition: width 0.3s ease;
}

.nav-link:hover::after, .nav-link.active::after { width: 80%; }

/* --- 3. HEROES --- */
.hero-video-container {
    position: relative;
    height: 75vh;
    min-height: 25rem; /* 400px */
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-color: var(--dark);
}

.video-bg {
    position: absolute;
    top: 50%; left: 50%;
    min-width: 100%; min-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: 1;
    filter: grayscale(0.3) contrast(1.2) brightness(0.7) blur(4px) brightness(0.8); /* O blur "amacia" os pixels ruins */
}

.video-overlay {
position: absolute;
    inset: 0;
    /* Camada de cor escura + Padrão de pontinhos */
    background: radial-gradient(circle, rgba(0,0,0,0) 1.5px, rgba(0,0,0,0.6) 1.5px);
    background-size: 4px 4px; /* Ajuste o tamanho dos pontos aqui */
    z-index: 2;
}

.hero-content { position: relative; z-index: 3; color: var(--white); text-align: center; }
.hero-content h1 { font-size: 2.25rem; font-weight: 800; text-shadow: 0 0.25rem 0.625rem rgba(0,0,0,0.6); }

@media (min-width: 992px) {
    .hero-video-container { height: 90vh; }
    .hero-content h1 { font-size: 4rem; }
}

/* --- 4. LINHA INDUSTRIAL INTERATIVA (NEW) --- */
.machine-wrapper {
    background: var(--white);
    padding: 1rem;
    border-radius: 1.5rem; /* 24px */
    border: 0.0625rem solid #eee; /* 1px */
}

.machine-container {
    position: relative;
    display: block;
    width: 100%; 
    margin: 0 auto;
    overflow: hidden;
    border-radius: 0.75rem; /* 12px */
}

@media (min-width: 992px) {
    .machine-container { width: 85%; } 
}

/* Os Pontos Pulsantes */
.sensor-area {
    position: absolute;
    width: 1.125rem; /* 18px */
    height: 1.125rem; /* 18px */
    background-color: rgba(255, 255, 255, 0.3);
    border: 0.125rem solid var(--white); /* 2px */
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    transition: var(--transition);
    box-shadow: 0 0 0 rgba(255, 255, 255, 0.4);
    animation: pulse-white 2s infinite;
}

.sensor-area:hover, .sensor-area.active {
    background-color: var(--primary);
    border-color: var(--white);
    transform: scale(1.3);
    animation: none;
    box-shadow: 0 0 0.9375rem var(--primary); /* 15px */
}

@keyframes pulse-white {
    0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); }
    70% { box-shadow: 0 0 0 0.9375rem rgba(255, 255, 255, 0); } /* 15px */
    100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}

#info-display {
    background: var(--white);
    border-left: 0.5rem solid var(--primary); /* 8px */
    padding: 2rem;
    border-radius: 1rem;
    min-height: 12rem; /* 192px */
    box-shadow: 0 0.625rem 1.875rem rgba(0,0,0,0.08); /* 10px 30px */
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* --- 5. COMPONENTES --- */
.card-service {
    background: var(--white);
    border: 0.0625rem solid #eee; /* 1px */
    padding: 2.5rem 2rem;
    border-radius: 1.25rem; /* 20px */
    text-align: center;
    transition: var(--transition);
    display: block;
    height: 100%;
}

.card-service:hover {
    transform: translateY(-0.625rem); /* -10px */
    box-shadow: 0 0.9375rem 2.1875rem rgba(0,0,0,0.1); /* 15px 35px */
    border-color: var(--primary);
}

.card-service i { font-size: 2.5rem; color: var(--primary); margin-bottom: 1.5rem; }
.card-service h3 { font-size: 1.5rem; font-weight: 700; color: var(--primary); }

.whatsapp-fixed {
    position: fixed;
    bottom: 2rem; right: 2rem;
    background-color: var(--whatsapp);
    color: var(--white) !important;
    width: 4rem; 
    height: 4rem;
    border-radius: 50%;
    display: flex; 
    align-items: center; 
    justify-content: center;
    font-size: 2rem; 
    box-shadow: 0 0.25rem 0.9375rem rgba(0,0,0,0.3); /* 4px 15px */
    z-index: 1050;
    transition: var(--transition);
}
.whatsapp-fixed:hover { transform: scale(1.1) rotate(10deg); }

@media (max-width: 48rem) { /* 768px */
    .whatsapp-fixed { bottom: 1rem; right: 1rem; width: 3.5rem; height: 3.5rem; }
}

/* --- 6. FOOTER --- */
footer { 
    background-color: var(--primary); 
    color: var(--white) !important; 
    padding: 1.5rem 0;
    border-top: 0.0625rem solid rgba(255,255,255,0.1);
    width: 100%;
    margin-top: auto;
    align-items: center;
}

.footer-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    max-width: 75rem; /* 1200px */
    margin: 0 auto;
    padding: 0 5%;
    gap: 1.2rem;
}

footer span, footer i { font-size: 0.85rem;}
.footer-brand {
    display: flex;
    align-items: center; /* Centraliza verticalmente o logo com o texto */
    justify-content: center; /* No mobile, mantém tudo centralizado no bloco */
}
.footer-brand img { 
    height: 1.25rem; 
}

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: center;
}

.footer-dev { font-size: 0.75rem; line-height: 1.4; }
.dev-link { font-weight: 700; border-bottom: 0.0625rem solid transparent; transition: var(--transition); }
.dev-link:hover { border-bottom: 0.0625rem solid var(--white); }

/* --- RESET DE CORES DO BOOTSTRAP --- */

/* Força o background-primary a ignorar o RGB/Opacidade do Bootstrap */
.bg-primary {
    background-color: var(--primary) !important;
}

/* Ajuste para a Navbar (caso ela use a classe do Bootstrap) */
.navbar.bg-primary {
    background-color: var(--primary) !important;
}

@media (min-width: 62rem) { /* 992px */
    .footer-container {
        flex-direction: row; 
        justify-content: space-between; /* Separa logo/contato/dev no desktop */
        padding-right: 6rem;
    }
    .footer-brand {justify-content: flex-start; /* No desktop, alinha o bloco à esquerda */}
    .footer-contact { flex-direction: row; gap: 2rem; }
    .footer-dev { text-align: right; }
}

/* --- 7. CONTATO E MAPA --- */
.map-responsive {
    overflow: hidden;
    padding-bottom: 25rem; /* 400px */
    position: relative;
    height: 0;
    border-radius: 1.5rem;
    box-shadow: 0 0.625rem 1.875rem rgba(0,0,0,0.1);
    border: 0.0625rem solid #eee;
}

.map-responsive iframe {
    left: 0; top: 0;
    height: 100%; width: 100%;
    position: absolute;
}