:root {
    --brand-blue: #1b2a4e;
    --brand-orange: #f47b20;
    --light-gray: #f8f9fa;
}

/* 1. Cambio de Fuente Global */
body { 
    font-family: 'Montserrat', sans-serif; 
    overflow-x: hidden; /* ELIMINA EL SCROLL HORIZONTAL */
    width: 100%;
}

/* 2. Ajuste para evitar que el ROW cause desborde */
.container, .container-fluid {
    overflow: hidden;
}

.row {
    margin-right: 0;
    margin-left: 0;
}

/* 3. Optimización para MÓVILES (Marcas) */
@media (max-width: 768px) {
    /* El Hero baja su altura para que el texto no tape la imagen */
    .hero-carousel .carousel-item {
        height: 70vh;
    }
    
    .hero-carousel .carousel-caption h1 {
        font-size: 1.8rem;
    }

    /* En móviles mostramos los logos más pequeños */
    .brand-logo {
        max-height: 60px;
        opacity: 1; /* Siempre visibles en móvil */
        filter: grayscale(0%);
    }

    /* Ajuste de padding en servicios para que no peguen al borde */
    .service-detail-section .row {
        padding: 0 15px;
    }
}

/* Estilo de los logos (Fondo blanco) */
.brand-logo {
    max-height: 80px;
    width: auto;
    transition: transform 0.3s ease;
}
.bg-industrial { background-color: var(--brand-blue); color: white; }
.text-orange { color: var(--brand-orange); }

/* Hero con Carousel */
.hero-carousel .carousel-item {
    height: 60vh; /* Altura del hero */
    min-height: 450px; /* Altura mínima en pantallas pequeñas */
    background-size: cover;
    background-position: center;
    position: relative;
}
.hero-carousel .carousel-caption {
    background-color: rgba(27, 42, 78, 0.7); /* Fondo semi-transparente para el texto */
    padding: 30px;
    border-radius: 8px;
    max-width: 800px;
    margin: auto;
    bottom: auto; /* Anula el bottom por defecto */
    top: 50%;
    transform: translateY(-50%); /* Centrado vertical */
}

/* --- Sección Marcas --- */

/* Forzamos que los logos tengan un tamaño consistente */
.brand-logo {
    max-height: 100px; /* Un poco más grandes para fondo blanco */
    width: auto;
    margin: 0 auto;
    display: inline-block;
}

/* IMPORTANTE: Corrige el error de "amontonamiento" */
.carousel-item {
    /* Asegura que los slides no se encimen visualmente si hay conflictos de JS */
    backface-visibility: hidden; 
}

/* Ajuste de los controles para fondo claro */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: invert(0); /* Los mantenemos normales o los invertimos si son blancos */
    width: 30px;
    height: 30px;
}


/* Servicios Detallados */
.service-detail-section .card img {
    height: 200px;
    object-fit: cover;
}

/* Hover y destacados */
.card-hover:hover {
    transform: translateY(-10px);
    transition: 0.3s ease;
    box-shadow: 0 10px 20px rgba(0,0,0,0.15);
}

.plan-destacado {
    border: 3px solid var(--brand-orange) !important;
    scale: 1.05;
}

.btn-orange {
    background-color: var(--brand-orange);
    color: white;
    border: none;
}

.btn-orange:hover { background-color: #d36618; color: white; }