@import url('https://googleapis.com');

:root {
    --primary: #003844; 
    --primary-dark: #001f26;
    --accent: #2D8A6E;  /* Verde DCS Sustentable */
    --accent-glow: rgba(45, 138, 110, 0.4);
    --white: #ffffff;
    --light-grey: #f4f7f6;
    --text: #333;
    --transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* 1. RESET Y BASE */
* { margin: 0; padding: 0; box-sizing: border-box; outline: none; }
body { font-family: 'Roboto', sans-serif; line-height: 1.6; color: var(--text); background: var(--light-grey); overflow-x: hidden; }
h1, h2, h3 { font-family: 'Montserrat', sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: -0.5px; }

/* 2. NAVBAR Glassmorphism */
.navbar {
    display: flex; justify-content: space-between; align-items: center;
    padding: 15px 8%; background: rgba(255, 255, 255, 0.95); 
    position: sticky; top: 0; z-index: 1000; backdrop-filter: blur(12px);
    box-shadow: 0 4px 30px rgba(0,0,0,0.08);
}
.logo-main { height: 50px; transition: var(--transition); }
.logo-main:hover { transform: translateY(-2px) scale(1.05); }

.nav-links { display: flex; list-style: none; gap: 30px; align-items: center; }
.nav-links a { text-decoration: none; color: var(--primary); font-weight: 500; font-size: 13px; text-transform: uppercase; letter-spacing: 1px; transition: var(--transition); }
.nav-links a:hover { color: var(--accent); }

.btn-nav { background: var(--accent); color: var(--white) !important; padding: 10px 24px; border-radius: 50px; font-weight: 700 !important; box-shadow: 0 4px 15px var(--accent-glow); }

/* 3. HERO CAROUSEL & MARCAS (Control de desborde) */
.hero-carousel, .marcas-hero-carousel { 
    position: relative; height: 75vh; overflow: hidden; background: #000; 
}
.slide, .slide-marcas {
    position: absolute; width: 100%; height: 100%;
    background-size: cover; background-position: center;
    opacity: 0; transition: opacity 1s ease-in-out, transform 6s linear;
    display: flex; align-items: center; padding: 0 8%;
}
.slide.active, .slide-marcas.active { opacity: 1; z-index: 1; transform: scale(1.08); }

.hero-content, .hero-content-marcas { 
    max-width: 800px; color: var(--white); z-index: 5; text-shadow: 0 5px 20px rgba(0,0,0,0.6);
}
.hero-content h1, .hero-content-marcas h1 { font-size: clamp(2rem, 5vw, 3.5rem); margin-bottom: 20px; line-height: 1.1; }
.tagline { display: inline-block; color: var(--accent); font-weight: 800; letter-spacing: 3px; margin-bottom: 15px; font-size: 0.8rem; border-bottom: 2px solid var(--accent); }
.highlight { color: var(--accent); text-shadow: 0 0 15px var(--accent-glow); }

/* 4. BOTONES INDUSTRIALES */
.hero-btns { display: flex; gap: 15px; margin-top: 35px; }
.btn-primary { background: var(--accent); color: white; padding: 16px 35px; text-decoration: none; font-weight: 800; border-radius: 4px; transition: var(--transition); border: 2px solid var(--accent); }
.btn-outline { border: 2px solid white; color: white; padding: 16px 35px; text-decoration: none; font-weight: 800; border-radius: 4px; transition: var(--transition); }
.btn-primary:hover { background: transparent; color: var(--accent); box-shadow: 0 0 20px var(--accent-glow); }
.btn-outline:hover { background: white; color: var(--primary); }

/* 5. GRID DE MARCAS (SOLUCIÓN A LOGOS GIGANTES) */
.marcas-page { padding: 60px 8% 100px; }
.marcas-grid-horizontal {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
    gap: 30px; margin-top: 40px;
}
.marca-item {
    background: var(--white); border-radius: 12px; padding: 45px 25px;
    text-align: center; text-decoration: none; color: inherit;
    border: 1px solid #e1e8ed; transition: var(--transition);
    display: flex; flex-direction: column; align-items: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}
.marca-item:hover { 
    transform: translateY(-12px); border-color: var(--accent);
    box-shadow: 0 20px 40px rgba(0,56,68,0.12);
}

.box-logo { 
    width: 100%; height: 100px; display: flex; 
    align-items: center; justify-content: center; margin-bottom: 25px; 
}
/* Limitador estricto de dimensiones para logos */
.box-logo img { 
    max-width: 180px; max-height: 75px; 
    width: auto; height: auto;
    object-fit: contain; filter: grayscale(100%); 
    transition: var(--transition); opacity: 0.7;
}
.marca-item:hover .box-logo img { filter: grayscale(0%); opacity: 1; transform: scale(1.1); }

.marca-item h3 { font-family: 'Montserrat'; color: var(--primary); font-size: 1.1rem; margin-top: 10px; }

/* 6. SECTORES & PRODUCTOS */
.sectors-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; margin-top: -80px; padding: 0 8%; position: relative; z-index: 20; }
.sector-card { background: var(--white); padding: 50px 30px; text-align: center; box-shadow: 0 20px 40px rgba(0,0,0,0.06); border-bottom: 6px solid var(--accent); transition: var(--transition); border-radius: 8px; }
.sector-card:hover { transform: translateY(-15px); box-shadow: 0 30px 60px rgba(0,0,0,0.12); }

.products { padding: 100px 8%; background: var(--primary); color: var(--white); text-align: center; }
.product-box { border: 1px solid rgba(255,255,255,0.1); padding: 40px; background: rgba(255,255,255,0.03); transition: var(--transition); border-radius: 8px; }
.product-box:hover { background: rgba(255,255,255,0.07); border-color: var(--accent); transform: scale(1.02); }

/* 7. CONTROLES Y FOOTER */
.m-prev, .m-next, .prev-btn, .next-btn {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2);
    color: white; width: 55px; height: 55px; cursor: pointer; z-index: 10;
    border-radius: 50%; transition: var(--transition); display: flex; align-items: center; justify-content: center;
}
.m-prev:hover, .m-next:hover, .prev-btn:hover, .next-btn:hover { background: var(--accent); border-color: var(--accent); }
.m-next, .next-btn { right: 25px; }
.m-prev, .prev-btn { left: 25px; }

footer { background: var(--primary-dark); color: rgba(255,255,255,0.5); padding: 90px 8% 40px; }
.footer-col h4 { color: var(--white); margin-bottom: 25px; letter-spacing: 2px; font-size: 0.85rem; }