/* RESET DE ESTILOS GENERALES */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

/* PALETA DE COLORES OFICIAL PAVIMENCIVIL */
:root {
 body {
  font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color: var(--color-negro);
  background-color: #fcfcfc; /* Un fondo blanco premium mucho más limpio */
  line-height: 1.6;
}

  --color-blanco: #ffffff;    /* Blanco puro para contrastes */
}


body {
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: #2A2F35;
    background-color: #F8F9FA;
    line-height: 1.6;
}

/* COMPONENTES REUTILIZABLES */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.section-padding {
    padding: 80px 0;
}

.section-title {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 40px;
    position: relative;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.section-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #D29F1A;
    margin: 15px auto 0 auto;
}

/* MENÚ DE NAVEGACIÓN */
header {
    background-color: #2A2F35;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.logo {
    width: 200px;

    color: #FFFFFF;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: 1px;
}

.logo span {
    color: #D29F1A;
}

header nav a {
    color: #FFFFFF;
    text-decoration: none;
    margin-left: 25px;
    font-weight: 600;
    font-size: 0.95rem;
    transition: color 0.3s ease;
}

header nav a:hover {
    color: #D29F1A;
}

header nav .btn-nav {
    background-color: #D29F1A;
    color: #2A2F35;
    padding: 8px 16px;
    border-radius: 4px;
}

header nav .btn-nav:hover {
    background-color: #FFFFFF;
    color: #2A2F35;
}


.hero h1 {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: 1px;
    color: #7A1121 !important;
    text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.8) !important;
}

.hero p {
    font-size: 1.25rem;
    margin-bottom: 35px;
    color: #1A202C !important;
    font-weight: 600;
    text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.9) !important;
}



.btn-main {
    background-color: #D29F1A;
    color: #2A2F35;
    padding: 15px 32px;
    text-decoration: none;
    font-weight: 700;
    border-radius: 4px;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 1px;
    transition: transform 0.2s ease, background-color 0.3s ease;
    display: inline-block;
}

.btn-main:hover {
    background-color: #FFFFFF;
    transform: translateY(-3px);
}

/* REJILLA DE SERVICIOS */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    margin-top: 20px;
}

.service-card {
    background-color: #FFFFFF;
    padding: 35px 25px;
    border-radius: 6px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    border-top: 5px solid #2A2F35;
    transition: transform 0.3s ease, border-top-color 0.3s ease;
}

.service-card:hover {
    transform: translateY(-5px);
    border-top-color: #D29F1A;
}

.service-card h3 {
    font-size: 1.3rem;
    margin-bottom: 15px;
    color: #2A2F35;
}

/* SECCIÓN COBERTURA */
.cobertura-section {
    background-color: #2A2F35;
    color: #FFFFFF;
    padding: 60px 20px;
    text-align: center;
}

.cobertura-section h2 {
    font-size: 2rem;
    margin-bottom: 15px;
}

.cobertura-section p {
    max-width: 700px;
    margin: 0 auto;
    color: #CBD5E1;
    font-size: 1.1rem;
}

/* FORMULARIO DE CONTACTO */
.bg-light {
    background-color: #F1F5F9;
}

.container-small {
    max-width: 600px;
    margin: 0 auto;
    padding: 0 20px;
}

.text-center {
    text-align: center;
}

#form-contacto {
    background-color: #FFFFFF;
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
    margin-top: 30px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    font-size: 0.9rem;
}

.form-group input, .form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #CBD5E1;
    border-radius: 4px;
    font-size: 1px;
    background-color: #F8F9FA;
    font-family: inherit;
}

.form-group input:focus, .form-group textarea:focus {
    outline: none;
    border-color: #D29F1A;
    background-color: #FFFFFF;
}

.btn-submit {
    width: 100%;
    background-color: #2A2F35;
    color: #FFFFFF;
    border: none;
    padding: 14px;
    font-size: 1rem;
    font-weight: 700;
    border-radius: 4px;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: background-color 0.3s ease;
}

.btn-submit:hover {
    background-color: #D29F1A;
    color: #2A2F35;
}

/* PIE DE PÁGINA */
footer {
    background-color: #1A1D20;
    color: #94A3B8;
    text-align: center;
    padding: 30px 20px;
    font-size: 0.9rem;
    border-top: 1px solid #2A2F35;
}

/* AJUSTES PARA PANTALLAS MÓVILES */
@media (max-width: 768px) {
    .hero h1 { font-size: 2.2rem; }
    .section-title { font-size: 2rem; }
    #form-contacto { padding: 25px; }
}
/* GALERÍA DE PROYECTOS */
.project-sub {
    margin-bottom: 40px;
    color: #64748B;
    font-size: 1.1rem;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
}

.gallery-item {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    height: 250px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.gallery-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(transparent, rgba(42, 47, 53, 0.95));
    padding: 20px;
    color: white;
    transform: translateY(10px);
    transition: transform 0.3s ease;
}

.gallery-item:hover img {
    transform: scale(1.1);
}

.gallery-item:hover .gallery-overlay {
    transform: translateY(0);
}

.gallery-overlay h4 {
    font-size: 1.2rem;
    color: #D29F1A;
    margin-bottom: 5px;
}

.gallery-overlay p {
    font-size: 0.9rem;
    color: #E2E8F0;
}

/* BOTÓN FLOTANTE WHATSAPP */
.whatsapp-float {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: #25D366;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    z-index: 9999;
    transition: transform 0.3s ease;
}

.whatsapp-float:hover {
    transform: scale(1.1);
}

.whatsapp-icon {
    width: 35px;
    height: 35px;
}

/* Ajustes de menú en la barra de navegación del index */
.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 20px;
}
/* PREGUNTAS FRECUENTES (FAQs) */
.faq-container {
    margin-top: 30px;
}

.faq-item {
    background: #FFFFFF;
    margin-bottom: 15px;
    border-radius: 4px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    overflow: hidden;
}

.faq-question {
    width: 100%;
    background: #2A2F35;
    color: #FFFFFF;
    text-align: left;
    padding: 18px 20px;
    border: none;
    font-size: 1.05rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.3s ease;
}

.faq-question:hover {
    background: #D29F1A;
    color: #2A2F35;
}

.faq-answer {
    padding: 0 20px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    background: #F8F9FA;
}

.faq-item.active .faq-answer {
    padding: 20px;
    max-height: 200px; /* Ajuste para el despliegue animado */
}

/* BANNER DE COOKIES */
.cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(42, 47, 53, 0.98);
    color: #FFFFFF;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 10000;
    box-shadow: 0 -4px 10px rgba(0,0,0,0.1);
    font-size: 0.9rem;
}

.cookie-banner button {
    background: #D29F1A;
    color: #2A2F35;
    border: none;
    padding: 8px 20px;
    font-weight: 700;
    border-radius: 4px;
    cursor: pointer;
    margin-left: 20px;
    white-space: nowrap;
}

.cookie-banner button:hover {
    background: #FFFFFF;
}

.cookie-banner.hidden {
    display: none;
}
/* PANTALLA DE CARGA (PRELOADER) */
#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #2A2F35; /* Color gris asfalto de tu logo */
    z-index: 99999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

#preloader p {
    color: #FFFFFF;
    margin-top: 20px;
    font-weight: 600;
    letter-spacing: 1px;
    font-size: 0.95rem;
}

.spinner {
    width: 50px;
    height: 50px;
    border: 5px solid rgba(255, 255, 255, 0.1);
    border-top: 5px solid #D29F1A; /* Amarillo ocre de tu logo */
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

#preloader.fade-out {
    opacity: 0;
    visibility: hidden;
}

/* REDISEÑO PIE DE PÁGINA */
footer {
    background-color: #1A1D20;
    color: #94A3B8;
    text-align: center;
    padding: 40px 20px;
    font-size: 0.85rem;
    border-top: 2px solid #2A2F35;
}

.footer-content {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
}

.footer-links a {
    color: #CBD5E1;
    text-decoration: none;
    margin: 0 8px;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #D29F1A;
}
/* Corrección de legibilidad en el texto principal */
.hero p, .project-sub {
    color: #2c3e50 !important;
    font-size: 1.2rem;
    line-height: 1.6;
}

/* Modernización de las tarjetas de servicios */
.services-grid > div, [class*="gallery-item"] {
    background: #ffffff;
    border: none !important; /* Eliminamos el borde negro antiguo */
    border-radius: 8px;
    padding: 25px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); /* Sombra suave y profesional */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Efecto interactivo al pasar el ratón */
.services-grid > div:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

/* Ajuste de botones Call To Action (CTA) */
.btn, yellow-button, .solicitar-presupuesto {
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border-radius: 4px;
    transition: background 0.2s ease;
}
/* --- 1. LOGOTIPO MÁS GRANDE --- */
.header .logo, nav img, .navbar-brand img {
    height: 60px !important; /* Ajusta este valor si lo quieres aún más grande */
    width: auto;
    transition: transform 0.3s ease;
}

/* --- 2. FONDO CON FOTO DE OBRA ORIGINAL --- */
.hero, section#inicio, .hero-section {
    position: relative;
    /* Corrección de sintaxis: eliminados espacios y asegurada compatibilidad */
    background-image: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url('imagenes/obra.jpg') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    padding: 100px 20px !important;
    color: #ffffff !important;
    text-align: center;
}

/* --- NUEVA REGLA: Forzar legibilidad en el texto pequeño de arriba --- */
.hero p:first-child, 
.hero span, 
.hero-section p:first-of-type,
section#inicio p:first-of-type {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    /* Sombra densa y agresiva para textos pequeños sobre fondo claro */
    text-shadow: 1px 1px 2px #000000, -1px -1px 2px #000000, 0px 0px 5px #000000 !important;
}

/* --- 3. CORRECCIÓN DE TEXTOS SOBRE LA IMAGEN --- */
.hero h1, .hero .section-title {
    color: #ffffff !important;
    font-size: 3rem !important;
    font-weight: 800;
    margin-top: 10px;
    margin-bottom: 20px;
    text-shadow: 0px 2px 4px rgba(0,0,0,0.9), 0px 4px 15px rgba(0,0,0,0.95), 0px 8px 30px rgba(0,0,0,0.8) !important;
}

.hero p, .hero .project-sub {
    color: #ffffff !important; /* Cambiado a blanco puro para ganar brillo */
    font-size: 1.2rem !important;
    font-weight: 500 !important;
    text-shadow: 0px 2px 5px rgba(0,0,0,0.95), 0px 4px 12px rgba(0,0,0,0.9) !important;
}


 
.logo{
    height:90px;
    width:auto;
    display:block;
}

.logo{
width: 180px;
height: auto;
display: block;
}

header .logo img{
width: 180px;
height: auto;
}

/* Contenedor principal de la cabecera */
.main-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 5%;
    background-color: #ffffff; /* Fondo blanco limpio */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* Sombra elegante */
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* Control del tamaño del Logotipo */
.logo-container .site-logo {
    height: 75px; /* Ajusta este número para hacerlo más grande o pequeño */
    width: auto;
    display: block;
}

/* Menú de navegación en línea */
.nav-menu {
    display: flex;
    align-items: center;
    gap: 25px; /* Espacio entre cada enlace */
}

/* Estilo de los enlaces (Quitamos el morado de link roto) */
.nav-menu a {
    text-decoration: none;
    color: #2c3e50; /* Gris oscuro profesional */
    font-weight: 600;
    font-size: 1rem;
    transition: color 0.3s ease;
}

/* Efecto al pasar el ratón por encima de los enlaces */
.nav-menu a:hover {
    color: #f1c40f; /* Color amarillo corporativo */
}

/* Botón destacado de Presupuesto dentro del menú */
.nav-menu a.btn-presupuesto {
    background-color: #f1c40f;
    color: #000000;
    padding: 10px 20px;
    border-radius: 4px;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    transition: background-color 0.3s ease;
}

.nav-menu a.btn-presupuesto:hover {
    background-color: #d4ac0d;
    color: #000000;
}

/* Contenedor Principal Estilo Constructora */
.form-container-professional {
    max-width: 600px;
    margin: 40px auto;
    padding: 40px;
    background: #ffffff;
    border-radius: 4px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border-top: 5px solid #1a1a1a; /* Línea superior gruesa corporativa (puedes cambiar #1a1a1a por el color de tu logo) */
    font-family: 'Helvetica Neue', Arial, sans-serif;
}

.form-subtitle {
    font-size: 15px;
    color: #555555;
    line-height: 1.6;
    margin-bottom: 30px;
    text-align: center;
}

/* Grupos de entradas */
.input-group-prof {
    margin-bottom: 22px;
}

.input-group-prof label {
    display: block;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #222222;
    margin-bottom: 8px;
}

.input-group-prof input, 
.input-group-prof textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #cccccc;
    background-color: #fafafa;
    border-radius: 3px;
    font-size: 15px;
    color: #333333;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

/* Efecto visual cuando el cliente hace clic para escribir */
.input-group-prof input:focus, 
.input-group-prof textarea:focus {
    border-color: #1a1a1a; /* Color de enfoque serio */
    background-color: #ffffff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05);
}

/* Bloque de Garantías y Seguridad */
.security-badge-container {
    background: #f7f9fa;
    border: 1px solid #e3e8ec;
    border-radius: 4px;
    padding: 15px 20px;
    margin: 25px 0;
}

.security-badge-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 12px;
}

.security-badge-item:last-child {
    margin-bottom: 0;
}

.security-badge-item span {
    font-size: 18px;
    margin-right: 12px;
    margin-top: 2px;
}

.security-badge-item p {
    font-size: 12px;
    color: #666666;
    line-height: 1.5;
    margin: 0;
}

/* Botón de Acción Potente */
.btn-enviar-prof {
    width: 100%;
    padding: 16px;
    background: #1a1a1a; /* Color oscuro sólido industrial */
    color: #ffffff;
    border: none;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 3px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.btn-enviar-prof:hover {
    background: #333333; /* Oscurece sutilmente al pasar el ratón */
}

/* --- NUEVO ESTILO DE FORMULARIO PROFESIONAL --- */

/* Hace el formulario más estrecho y elegante, igual que las grandes webs */
.input-group-prof {
    max-width: 600px;
    margin: 0 auto 22px auto;
    text-align: left;
}

.input-group-prof label {
    display: block;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #1a1a1a;
    margin-bottom: 8px;
}

.input-group-prof input, 
.input-group-prof textarea {
    width: 100%;
    padding: 14px;
    border: 1px solid #cccccc;
    background-color: #fafafa;
    border-radius: 4px;
    font-size: 15px;
    color: #333333;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

/* Efecto cuando el cliente hace clic en una caja (usa el naranja de tu logo) */
.input-group-prof input:focus, 
.input-group-prof textarea:focus {
    border-color: #f19f00; 
    background-color: #ffffff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(241, 159, 0, 0.15);
}

/* Contenedor de Seguridad (Se verá ordenado y muy legible) */
.security-badge-container {
    max-width: 600px;
    margin: 30px auto;
    background: #f8f9fa;
    border: 1px solid #e3e8ec;
    border-left: 4px solid #f19f00; /* Línea naranja de confianza */
    border-radius: 4px;
    padding: 20px;
    text-align: left;
}

.security-badge-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 14px;
}

.security-badge-item:last-child {
    margin-bottom: 0;
}

.security-badge-item span {
    font-size: 20px;
    margin-right: 15px;
    line-height: 1;
}

.security-badge-item p {
    font-size: 13px;
    color: #444444;
    line-height: 1.6;
    margin: 0;
}

/* Botón de enviar estilizado (Negro corporativo con cambio a naranja) */
.btn-enviar-prof {
    display: block;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding: 18px;
    background: #1a1a1a; 
    color: #ffffff;
    border: none;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-enviar-prof:hover {
    background: #f19f00; /* Se vuelve naranja al pasar el ratón encima */
    box-shadow: 0 4px 15px rgba(241, 159, 0, 0.3);
}

/* --- ESTILOS PARA EL PIE DE PÁGINA CORPORATIVO --- */
.main-footer-prof {
    background-color: #111111; /* Negro profundo y elegante */
    color: #ffffff;
    padding: 40px 20px;
    font-family: 'Helvetica Neue', Arial, sans-serif;
    border-top: 1px solid #222222;
}

.footer-container-prof {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.footer-brand {
    margin-bottom: 25px;
}

.footer-logo-text {
    font-size: 18px;
    letter-spacing: 1px;
    color: #ffffff;
}

.footer-logo-text strong {
    color: #f19f00; /* Tu naranja corporativo */
}

.footer-brand p {
    font-size: 13px;
    color: #888888; /* Gris suave */
    margin: 5px 0 0 0;
}

/* Estilo para los enlaces (Elimina el azul feo y el subrayado) */
.footer-links-group {
    margin-bottom: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
}

.footer-link {
    color: #aaaaaa; /* Gris neutro profesional */
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: color 0.3s ease;
}

/* Efecto sutil cuando el cliente pasa el ratón por encima del enlace */
.footer-link:hover {
    color: #f19f00; /* Cambia al naranja de tu marca */
}

.footer-separator {
    color: #333333;
    font-size: 12px;
}

/* Copyright inferior */
.footer-copy p {
    font-size: 11px;
    color: #555555;
    margin: 0;
    letter-spacing: 0.5px;
}

/* --- SECCIÓN DE LOGOS CONTROLADA Y PROFESIONAL --- */
.partners-section {
    background-color: #fcfcfc;
    padding: 50px 20px;
    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #eeeeee;
    text-align: center;
    font-family: 'Helvetica Neue', Arial, sans-serif;
    width: 100%;
    box-sizing: border-box;
}

.partners-container {
    max-width: 1100px;
    margin: 0 auto;
}

.partners-title {
    font-size: 19px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #1a1a1a;
    margin-bottom: 6px;
}

.partners-subtitle {
    font-size: 13px;
    color: #666666;
    margin-bottom: 35px;
}

/* Fuerza a los logos a alinearse en una fila horizontal y centrarse */
.partners-grid {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 40px; /* Espacio limpio entre marcas */
    flex-wrap: wrap; /* Si no caben en móviles, bajan de forma ordenada */
}

/* Controla el tamaño de la caja de cada logo */
.partner-logo-item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 130px; /* Tamaño profesional pequeño */
    height: 60px;
}

/* Obliga a la imagen a encogerse al tamaño de la caja sin deformarse */
.partner-logo-item img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    filter: grayscale(100%); /* Efecto elegante gris premium */
    opacity: 0.6;
    transition: all 0.3s ease;
}

/* Al pasar el ratón por encima, recuperan su color corporativo */
.partner-logo-item:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.05);
}

/* --- SECCIÓN DE ESTADÍSTICAS ESTILO GRAN CONSTRUCTORA --- */
.stats-section-prof {
    background-color: #1a1a1a; /* Fondo oscuro industrial para contrastar con los logos claros */
    color: #ffffff;
    padding: 60px 20px;
    text-align: center;
    font-family: 'Helvetica Neue', Arial, sans-serif;
    width: 100%;
    box-sizing: border-box;
}

.stats-container-prof {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    gap: 30px;
    flex-wrap: wrap; /* Se adapta perfectamente a pantallas de móviles */
}

/* Tarjeta individual de logro */
.stat-card-prof {
    flex: 1;
    min-width: 250px;
    max-width: 340px;
    padding: 20px;
    box-sizing: border-box;
}

.stat-icon-prof {
    font-size: 30px;
    margin-bottom: 10px;
}

/* El número grande e importante */
.stat-number-prof {
    font-size: 48px;
    font-weight: 800;
    color: #f19f00; /* El naranja corporativo de PAVIMENTCIVIL */
    line-height: 1;
    margin-bottom: 10px;
    letter-spacing: -1px;
}

/* Título del dato */
.stat-label-prof {
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #ffffff;
    margin-bottom: 12px;
}

/* Breve descripción explicativa */
.stat-desc-prof {
    font-size: 13px;
    color: #b0b0b0; /* Gris claro legible sobre fondo oscuro */
    line-height: 1.6;
    margin: 0;
}

/* --- CAMBIO DE LOOK: ADIÓS AL BLANCO PLANO --- */

/* 1. Aplicamos un fondo gris ceniza técnico a la sección de proyectos */
.seccion-proyectos, #proyectos, section.projects-section { 
    background-color: #f4f6f8 !important; 
    padding: 80px 20px !important;
    background-image: radial-gradient(#e1e5eb 1px, transparent 1px) !important; 
    background-size: 20px 20px !important;
}

/* 2. Hacemos que el título principal resalte con un estilo más corporativo */
.seccion-proyectos h2, #proyectos h2, .projects-title {
    font-size: 32px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    color: #111111 !important;
    text-transform: uppercase !important;
}

/* 3. Mejoramos tus tarjetas de fotos para que floten elegantemente */
.seccion-proyectos .tarjeta, #proyectos .card, .project-item {
    background: #ffffff !important; 
    border-radius: 6px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important; 
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    border-bottom: 3px solid #1a1a1a !important; 
}

/* 4. Efecto visual al pasar el ratón por encima de tus obras */
.seccion-proyectos .tarjeta:hover, #proyectos .card:hover, .project-item:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 35px rgba(241, 159, 0, 0.15) !important; 
    border-bottom: 3px solid #f19f00 !important; 
}

/* --- DISEÑO FINAL SECCIÓN PROYECTOS PAVIMENTCIVIL --- */
.fondo-gris-empresa {
    background-color: #f4f6f8 !important; /* Gris técnico industrial */
    padding: 60px 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
}

/* Estilo para las tarjetas de tus fotos */
.fondo-gris-empresa .tarjeta, 
.fondo-gris-empresa .card, 
.fondo-gris-empresa [class*="card"], 
.fondo-gris-empresa [class*="item"] {
    background: #ffffff !important; /* Destacan en blanco sobre el fondo gris */
    border-radius: 8px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06) !important;
    border-bottom: 3px solid #1a1a1a !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

/* Efecto cuando pasas el ratón por encima de tus obras */
.fondo-gris-empresa .tarjeta:hover, 
.fondo-gris-empresa .card:hover,
.fondo-gris-empresa [class*="card"]:hover,
.fondo-gris-empresa [class*="item"]:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 35px rgba(241, 159, 0, 0.2) !important;
    border-bottom: 3px solid #f19f00 !important; /* Tu naranja corporativo */
}

/* FORZAR FONDO OSCURO EN LAS TARJETAS DE LOGROS */
.stats-section-prof .stat-card-prof,
.stats-section-prof div[class*="card"] {
    background-color: #222222 !important; /* Gris oscuro/negro industrial */
    border: 1px solid #333333 !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
}

/* Forzar que los textos descriptivos de abajo se lean bien en blanco/gris */
.stats-section-prof p, 
.stats-section-prof div {
    color: #e0e0e0 !important;
}

/* AJUSTE DE ANCHO PARA LOGOS ALARGADOS */
.partner-logo-item img {
    width: 100% !important;
    height: auto !important;
    max-height: 45px !important; /* Evita que se corten por arriba y por abajo */
}

/* --- TRANSFORMACIÓN SECCIÓN PROYECTOS PAVIMENTCIVIL --- */

/* 1. Cambiamos el fondo blanco por un gris oscuro/antracita industrial potente */
.bloque-proyectos-oscuro {
    background-color: #1c1f22 !important; /* Gris carbón corporativo */
    padding: 70px 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
}

/* 2. Forzamos que los textos de los títulos se lean perfectamente en blanco */
.bloque-proyectos-oscuro h2,
.bloque-proyectos-oscuro h3,
.bloque-proyectos-oscuro p {
    color: #ffffff !important;
}

/* 3. Le damos un toque gris suave al subtítulo para que quede más elegante */
.bloque-proyectos-oscuro p:first-of-type {
    color: #aaaaaa !important;
    font-size: 14px !important;
    margin-bottom: 40px !important;
}

/* 4. Estilizamos tus 4 tarjetas de fotos para que tengan relieve sobre el fondo oscuro */
.bloque-proyectos-oscuro .tarjeta,
.bloque-proyectos-oscuro .card,
.bloque-proyectos-oscuro div[class*="card"] {
    background-color: #262a2e !important; /* Gris un punto más claro para las cajas */
    border: 1px solid #333a40 !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3) !important; /* Sombra profunda de calidad */
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

/* 5. Efecto visual espectacular cuando el cliente pasa el ratón por encima de tus obras */
.bloque-proyectos-oscuro .tarjeta:hover,
.bloque-proyectos-oscuro .card:hover,
.bloque-proyectos-oscuro div[class*="card"]:hover {
    transform: translateY(-8px) !important; /* La tarjeta flota hacia arriba */
    box-shadow: 0 15px 30px rgba(241, 159, 0, 0.25) !important; /* Brillo con tu naranja corporativo */
    border-color: #f19f00 !important; /* El borde se ilumina en naranja */
}

/* --- DISEÑO SEGURO PARA LA SECCIÓN DE PROYECTOS --- */

/* 1. Mantenemos el fondo limpio pero enmarcamos la sección con líneas de ingeniería */
#proyectos, section[id="proyectos"], .bloque-proyectos-oscuro {
    border-top: 4px solid #1a1a1a !important; /* Línea superior negra industrial */
    border-bottom: 4px solid #f19f00 !important; /* Línea inferior naranja corporativa */
    padding: 50px 0 !important;
}

/* 2. Forzamos que el título principal tenga la tipografía potente de gran constructora */
#proyectos h2, .bloque-proyectos-oscuro h2 {
    color: #1a1a1a !important;
    font-size: 30px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 12px !important;
}

/* 3. Le damos estilo a tus tarjetas para que destaquen con una sombra sutil */
#proyectos div[class*="card"], 
.bloque-proyectos-oscuro div[class*="card"],
#proyectos .tarjeta {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.07) !important; /* Sombra suave para que parezcan flotar */
    border-radius: 6px !important;
    transition: transform 0.3s ease !important;
}

/* 4. Efecto sutil al pasar el ratón por tus fotos */
#proyectos div[class*="card"]:hover, 
.bloque-proyectos-oscuro div[class*="card"]:hover,
#proyectos .tarjeta:hover {
    transform: translateY(-4px) !important;
}

/* --- BOTÓN FLOTANTE DE WHATSAPP --- */
.btn-whatsapp-flotante {
    position: fixed !important;
    width: 60px !important;
    height: 60px !important;
    bottom: 25px !important;
    right: 25px !important;
    background-color: #25d366 !important; /* Verde oficial WhatsApp */
    color: #fff !important;
    border-radius: 50px !important;
    text-align: center !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
    z-index: 99999 !important; /* Asegura que se vea por encima de todo */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}

/* Efecto al pasar el ratón por encima */
.btn-whatsapp-flotante:hover {
    background-color: #20ba5a !important;
    transform: scale(1.1) rotate(5deg) !important;
}

/* --- CORRECCIÓN DE ESTILOS PREMIUM --- */

/* Aseguramos que la sección principal mantenga su fondo original claro */
#proyectos {
    background-color: #f9f9f9; /* Cambia esto por #ffffff si prefieres fondo blanco puro */
    padding: 60px 0;
}

/* Forzamos que las tarjetas mantengan un diseño limpio y claro por defecto */
.gallery-item {
    cursor: pointer;
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    overflow: hidden;
    transition: transform 0.3s ease;
}

.gallery-item:hover {
    transform: translateY(-5px);
}

/* La ventana modal (Solo esta caja debe ser oscura y está oculta por defecto) */
.modal {
    display: none; 
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85); /* Fondo oscuro translúcido superior */
    backdrop-filter: blur(5px);
    overflow-y: auto;
    padding: 40px 20px;
    box-sizing: border-box;
}

/* Contenido interno de la ventana flotante */
.modal-contenido {
    background-color: #1e1e1e; /* Fondo oscuro premium para resaltar las fotos reales */
    margin: auto;
    padding: 30px;
    border-radius: 12px;
    max-width: 1000px;
    width: 100%;
    position: relative;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    border: 1px solid #333;
}

/* Botón de cerrar (X) */
.btn-cerrar {
    position: absolute;
    top: 15px;
    right: 25px;
    color: #ffb703; 
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.2s;
}
.btn-cerrar:hover { color: #fff; }

#modal-titulo {
    color: #fff;
    margin-top: 0;
    border-bottom: 2px solid #ffb703;
    padding-bottom: 10px;
    text-transform: uppercase;
}

/* Cuadrícula de fotos internas */
.modal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 15px;
    margin-top: 20px;
}

.modal-grid img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 6px;
    transition: transform 0.3s, box-shadow 0.3s;
    cursor: pointer;
    border: 2px solid #444;
}

.modal-grid img:hover {
    transform: scale(1.04);
    box-shadow: 0 5px 15px rgba(255,183,3,0.3);
    border-color: #ffb703;
}

/* Efectos de interactividad corporativa */
.gallery-item:hover img {
    transform: scale(1.08);
}

.gallery-item:hover {
    border-color: #ffb703 !important;
    box-shadow: 0 12px 30px rgba(255,183,3,0.15) !important;
}

/* Transiciones premium para las tarjetas nuevas */
.tarjeta-obra-premium {
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.tarjeta-obra-premium:hover {
    transform: translateY(-8px) !important;
    border-color: #ffb703 !important;
    box-shadow: 0 15px 35px rgba(255, 183, 3, 0.2) !important;
}
.tarjeta-obra-premium img {
    transition: transform 0.4s ease !important;
}
.tarjeta-obra-premium:hover img {
    transform: scale(1.06) !important;
}

/* ==========================================================================
   NUEVA SECCIÓN SERVICIOS PREMIUM
   ========================================================================== */

/* ==========================================================================
   REPARACIÓN Y AJUSTE DE SERVICIOS PREMIUM
   ========================================================================== */

/* Forzar contenedor base */
.premium-servicios-section {
  background-color: #fcfcfd !important;
  padding: 80px 20px !important;
  text-align: center !important;
  width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* Centrado estricto del título */
.premium-seccion-titulo {
  font-family: sans-serif !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: #111111 !important;
  margin: 0 auto 50px auto !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  text-align: center !important;
  display: block !important;
}

/* Forzar la cuadrícula en horizontal */
.premium-servicios-container {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 20px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Estructura obligatoria de la tarjeta centrada */
.premium-servicio-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  padding: 40px 25px !important;
  border: 1px solid #f0f2f5 !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02) !important; 
  transition: all 0.4s ease !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important; /* Centra el contenido horizontalmente */
  text-align: center !important;  /* Centra el texto */
  box-sizing: border-box !important;
}

/* Animación de flotado */
.premium-servicio-card:hover {
  transform: translateY(-8px) !important;
  border-color: #fab800 !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06) !important; 
}

/* El círculo del icono perfectamente centrado */
.premium-servicio-icono {
  width: 70px !important;
  height: 70px !important;
  margin: 0 auto 20px auto !important; /* Margen automático para centrar */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fffbeb !important;
  border-radius: 50% !important;
}

/* Forzar tamaño del gráfico */
.premium-servicio-icono svg {
  width: 32px !important;
  height: 32px !important;
  color: #fab800 !important;
}

/* Textos dentro de la tarjeta */
.premium-servicio-card h3 {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  margin: 0 0 15px 0 !important;
}

.premium-servicio-card p {
  font-size: 0.95rem !important;
  color: #555555 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* ==========================================================================
   BLOQUE DE CONTROL ULTRA PREMIUM: PROYECTOS
   ========================================================================== */

/* Forzar el fondo oscuro lujoso en toda la sección */
.premium-proyectos-section {
    background-color: #11141a !important;
    padding: 80px 20px !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    box-sizing: border-box !important;
    clear: both !important;
}
 
.proyectos-container-block {
    max-width: 1200px !important;
    margin: 0 auto !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
}


/* Centrado estricto del título principal */
.proyectos-titulo-premium {
  font-size: 2.4rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 auto 15px auto !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  text-align: center !important;
  display: block !important;
}

/* Subtítulo gris elegante */
.proyectos-subtitulo {
  font-size: 1rem !important;
  color: #94a3b8 !important;
  margin: 0 auto 50px auto !important;
  text-align: center !important;
  display: block !important;
}

/* ==========================================================================
   REPARACIÓN PREMIUM DEFINITIVA DE PROYECTOS
   ========================================================================== */

/* Forzar la cuadrícula en 4 columnas idénticas */
.proyectos-grid-premium {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important; /* Obliga a que sean 4 en una fila */
  gap: 25px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Recuperar la tarjeta premium con volumen */
.proyecto-item-premium {
  background: #1e2230 !important; /* Gris azulado que destaca sobre el fondo negro */
  border-radius: 16px !important; /* Esquinas redondeadas premium */
  overflow: hidden !important; 
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4) !important; /* Sombra tridimensional */
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Efecto flotante al pasar el ratón */
.proyecto-item-premium:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.6) !important;
}

/* Control estricto de la foto en la fila */
.proyecto-imagen-wrapper {
  position: relative !important;
  width: 100% !important;
  height: 160px !important; /* Altura perfecta para que quepan las 4 en horizontal */
  overflow: hidden !important;
}

.proyecto-imagen-wrapper img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important; /* Recorta y encuadra las fotos automáticamente */
}

/* Forzar lectura de los textos en color blanco */
.proyecto-info {
  padding: 20px !important;
  text-align: left !important;
  background: #1e2230 !important;
}

.proyecto-info h3 {
  font-size: 1.1rem !important; /* Un poco más pequeño para que no se sature el espacio */
  color: #ffffff !important; /* Blanco puro para el título */
  margin: 0 0 8px 0 !important;
  font-weight: 600 !important;
}

.proyecto-info h3 {
  font-size: 1.15rem !important; 
  color: #ffb703 !important; /* Este es tu color dorado corporativo exacto */
  margin: 0 0 8px 0 !important;
  font-weight: 700 !important;
  text-align: left !important;
}

/* Forzar que las descripciones de los proyectos se lean perfectamente */
.proyecto-info p {
  color: #e2e8f0 !important; /* Un blanco grisáceo nítido y elegante */
  font-size: 0.9rem !important;
  line-height: 1.5 !important;
  opacity: 1 !important; /* Asegura que no tenga transparencias que lo oscurezcan */
}

/* ==========================================================================
   SISTEMA DE ACORDEÓN DE PREGUNTAS FRECUENTES ULTRA-PREMIUM
   ========================================================================== */

/* Fondo de la sección suave y espaciado */
.premium-faq-section {
  background-color: #f8f9fa !important; /* Gris extra claro muy limpio */
  padding: 90px 20px !important;
}

/* Título de las FAQs */
.premium-faq-section .section-title {
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: #111111 !important;
  margin-bottom: 50px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  text-align: center !important;
}

/* Contenedor central acotado para que no se estire demasiado */
.faq-container {
  max-width: 800px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 15px !important; /* Espacio elegante entre cada pregunta */
}

/* Cada bloque de pregunta individual */
.faq-item {
  background: #ffffff !important;
  border: 1px solid #eef2f6 !important;
  border-radius: 12px !important; /* Bordes suaves premium */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
}

/* Efecto hover: resalta sutilmente al pasar el ratón */
.faq-item:hover {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05) !important;
  border-color: #fab800 !important; /* Borde dorado sutil al apuntar */
}

/* El botón de la pregunta (Elimina el fondo negro viejo) */
.faq-question {
  width: 100% !important;
  background: #ffffff !important; /* Fondo blanco impecable */
  color: #1a1a1a !important; /* Texto oscuro nítido */
  padding: 22px 28px !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  text-align: left !important;
  border: none !important;
  outline: none !important;
  cursor: pointer !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  transition: color 0.3s ease !important;
}

/* Añadir una flecha premium dorada a la derecha de la pregunta */
.faq-question::after {
  content: '▼' !important;
  font-size: 0.8rem !important;
  color: #fab800 !important; /* Flecha dorada */
  transition: transform 0.3s ease !important;
}

/* Cambio de estilo cuando la pregunta está activa/abierta */
.faq-item.active .faq-question {
  color: #fab800 !important; /* El texto se vuelve dorado al abrirse */
}
.faq-item.active .faq-question::after {
  transform: rotate(180deg) !important; /* La flecha gira hacia arriba */
}

/* Caja de la respuesta (Oculta de inicio con animación fluida) */
.faq-answer {
  max-height: 0 !important; /* Cerrada por defecto */
  overflow: hidden !important;
  transition: max-height 0.3s ease-out, padding 0.3s ease !important;
  background: #fafbfc !important; /* Fondo ligeramente diferente para la respuesta */
  padding: 0 28px !important;
}

/* Cuando el elemento tiene la clase 'active', la respuesta se despliega */
.faq-item.active .faq-answer {
  max-height: 200px !important; /* Permite que se abra de forma fluida */
  padding: 5px 28px 22px 28px !important; /* Añade el espaciado interior al abrirse */
  border-top: 1px solid #f3f4f6 !important;
}

/* Texto de la respuesta */
.faq-answer p {
  font-size: 0.98rem !important;
  color: #555555 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* ==========================================================================
   ESTILIZADO Y ESPACIADO PREMIUM DE FORMULARIO
   ========================================================================== */

/* 1. Separar el título principal del texto de abajo */
.premium-faq-section + #contacto h2,
#contacto h2.section-title {
  margin-bottom: 25px !important; /* Da aire debajo del título */
}

/* 2. Dar espacio debajo del texto explicativo antes de empezar las cajas */
#contacto p.text-center {
  margin-bottom: 50px !important; /* Separa el párrafo del primer campo */
  line-height: 1.7 !important;
}

/* 3. Estructura y separación de cada grupo de campo (Label + Input) */
.input-group-prof {
  margin-bottom: 28px !important; /* Espacio generoso entre un campo y el siguiente */
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  max-width: 650px !important; /* Centra y acota el ancho para que no se estire de lado a lado */
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 4. Separar el texto indicador (Label) de su caja de texto */
.input-group-prof label {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin-bottom: 10px !important; /* Modifica esta línea: añade separación estricta con el input */
}

/* 5. Hacer los campos más altos, redondeados y elegantes */
.input-group-prof input[type="text"],
.input-group-prof input[type="email"],
.input-group-prof input[type="tel"],
.input-group-prof textarea {
  width: 100% !important;
  padding: 16px 20px !important; /* Más altura interna para que se vea premium */
  font-size: 1rem !important;
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important; /* Esquinas suavizadas a juego con las tarjetas */
  background-color: #ffffff !important;
  box-sizing: border-box !important;
  transition: all 0.3s ease !important;
}

/* 6. Efecto premium cuando el usuario hace clic para escribir */
.input-group-prof input:focus,
.input-group-prof textarea:focus {
  outline: none !important;
  border-color: #fab800 !important; /* El borde se ilumina con tu dorado corporativo */
  box-shadow: 0 0 0 4px rgba(250, 184, 0, 0.1) !important; /* Destello sutil dorado */
}

/* ==========================================================================
   CABECERA ULTRA PREMIUM CON VIDEO DE FONDO
   ========================================================================== */

 /* ==========================================================================
   SECCIÓN ESTADÍSTICAS Y LOGOS PREMIUM
   ========================================================================== */

/* 1. Contenedor de las estadísticas (+20 años, +500 proyectos...) */
.stats-section-premium, 
section:has(.fa-trophy), 
section:has(div:contains("+500")) {
  background-color: #12141d !important; /* Gris oscuro profundo premium */
  padding: 80px 20px !important;
}

/* Forzar rejilla horizontal elegante para los 3 contadores */
.stats-grid-container {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 30px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* Tarjeta individual de estadística */
.stat-card-premium {
  background: #1e2230 !important; /* Rompe el negro plano con relieve */
  border-radius: 16px !important;
  padding: 40px 30px !important;
  border: 1px solid #2a2f42 !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
  transition: all 0.4s ease !important;
  text-align: center !important;
}

.stat-card-premium:hover {
  transform: translateY(-8px) !important;
  border-color: #fab800 !important; /* Brillo dorado al apuntar */
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5) !important;
}

/* Resaltar los números en dorado corporativo */
.stat-card-premium h3, 
.stat-card-premium div:contains("+") {
  font-size: 2.8rem !important;
  font-weight: 800 !important;
  color: #fab800 !important; /* Tu dorado de marca */
  margin-bottom: 10px !important;
}

.stat-card-premium p {
  color: #94a3b8 !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
}

/* 2. Sección "Empresas que confían en nosotros" */
.logos-section-premium,
section:has(img[alt*="ferrovial"]) {
  background-color: #ffffff !important;
  padding: 90px 20px !important;
}

/* Título de la sección de marcas */
.logos-title-premium {
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: #111111 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  margin-bottom: 50px !important;
  text-align: center !important;
}

/* Fila horizontal perfecta de logotipos */
.logos-container-flex {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 45px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

/* Filtro premium para homogeneizar los logos de clientes */
.logos-container-flex img {
  max-height: 45px !important; /* Evita que unos logos se vean gigantes y otros enanos */
  width: auto !important;
  object-fit: contain !important;
  filter: grayscale(100%) opacity(0.6) !important; /* Todos grises y sutiles de inicio */
  transition: all 0.3s ease !important;
}

/* Al pasar el ratón, el logo recupera su color original y brilla */
.logos-container-flex img:hover {
  filter: grayscale(0%) opacity(1) !important;
  transform: scale(1.05) !important;
}

/* Estilos estrictos para los contadores */
.stats-section-premium {
  background-color: #FFFFFF !important; /* Fondo oscuro premium */
  padding: 80px 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;
}

.stats-grid-container {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 30px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.stat-card-premium {
  background: #1c1f26 !important; /* Color gris grafito con relieve */
  border-radius: 16px !important;
  padding: 40px 30px !important;
  border: 1px solid #252932 !important;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3) !important;
  transition: all 0.4s ease !important;
  text-align: center !important;
}

.stat-card-premium:hover {
  transform: translateY(-8px) !important;
  border-color: #fab800 !important; /* Borde dorado al pasar el ratón */
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5) !important;
}

.stat-card-premium h3 {
  font-size: 3rem !important;
  font-weight: 800 !important;
  color: #fab800 !important; /* Tus números en dorado brillante */
  margin: 0 0 10px 0 !important;
}

.stat-card-premium p {
  color: #94a3b8 !important; /* Texto gris claro elegante */
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* ==========================================================================
   DISEÑO EXCLUSIVO DE MARCAS COLABORADORAS
   ========================================================================== */
/* ==========================================================================
   DISEÑO EXCLUSIVO DE MARCAS COLABORADORAS (REPARADO)
   ========================================================================== */

.premium-logos-section {
  background-color: #ffffff !important;
  padding: 80px 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.premium-logos-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

/* Título Premium estilizado */
.premium-logos-titulo {
  font-family: sans-serif !important;
  font-size: 2.2rem !important;
  font-weight: 800 !important;
  color: #111111 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin: 0 auto 15px auto !important;
}

.premium-logos-subtitulo {
  font-family: sans-serif !important;
  font-size: 1rem !important;
  color: #64748b !important;
  margin: 0 auto 50px auto !important;
}

/* Cuadrícula flexible para alinear perfectamente todos los logos en filas estables */
.premium-logos-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 40px !important;
  align-items: center !important;
  justify-items: center !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
}

.premium-logo-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 60px !important;
}

/* El filtro premium unificador */
.premium-logo-item img {
  max-height: 45px !important; /* Controla el alto para que todos se equilibren visualmente */
  max-width: 100% !important;
  object-fit: contain !important;
  filter: grayscale(100%) opacity(0.4) !important; /* Grises elegantes de inicio */
  transition: all 0.3s ease !important;
}

/* Al pasar el ratón se ilumina y recupera su color original de marca */
.premium-logo-item img:hover {
  filter: grayscale(0%) opacity(1) !important;
  transform: scale(1.08) !important;
}

/* Estilos Base para asegurar un diseño limpio */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; /* Tipografía limpia y corporativa */
  background-color: #fcfcfc;
  color: #1a1a1a;
}

/* Contenedor Hero Principal */
/* IMPORTANTE: Pega esta línea al principio de todo tu archivo CSS para cargar la tipografía elegante */

/* Contenedor Hero Principal Corregido */
.hero-premium {
  position: relative;
  height: 100vh; 
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 10%; 
  
  /* CAMBIO AQUÍ: Pon el nombre exacto de tu foto local */
  background-image: url('imagenes/obra.jpg'); 
  
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #111; /* Color de respaldo por si la imagen tarda en cargar */
}

/* Forzar que las fuentes usen el estilo Premium */
.hero-content {
  position: relative;
  z-index: 2;
  max-width: 750px; 
  font-family: 'Montserrat', sans-serif; /* Aplicamos la nueva tipografía */
  text-align: left;
}

.hero-subtitle {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 3px; 
  color: #ffb703; 
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}

.hero-title {
  font-size: 3.8rem; /* Un poco más grande para mayor impacto */
  font-weight: 800;
  line-height: 1.2;
  color: #ffffff;
  margin-bottom: 1.5rem;
}

.hero-description {
  font-size: 1.2rem;
  line-height: 1.8;
  color: #e0e0e0;
  margin-bottom: 2.5rem;
  font-weight: 300;
}


/* Botones Modernos */
.hero-actions {
  display: flex;
  gap: 1.5rem;
}

.btn-primary, .btn-secondary {
  display: inline-block;
  padding: 1rem 2.2rem;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.3s ease;
}

.btn-primary {
  background-color: #ffb703; /* Color de acento */
  color: #000000;
}

.btn-primary:hover {
  background-color: #e5a400;
  transform: translateY(-2px); /* Efecto sutil de elevación */
}

.btn-secondary {
  background-color: transparent;
  color: #ffffff;
  border: 2px solid #ffffff;
}

.btn-secondary:hover {
  background-color: #ffffff;
  color: #000000;
  transform: translateY(-2px);
}

/* Animación de entrada */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* RESTRUCTURACIÓN TOTAL Y PROPORCIONES PREMIUM */

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 800px !important;
  text-align: left !important;
  padding-left: 6% !important;
  display: flex !important;
  flex-direction: column !important; /* CORREGIDO AQUÍ CON C */
  justify-content: center !important;
}

.hero-subtitle {
  display: block !important;
  font-size: 0.85rem !important; /* Letra de arriba pequeña y fina */
  font-weight: 700 !important;
  letter-spacing: 4px !important;
  color: #ffffff !important;
  margin-bottom: 1rem !important;
  text-transform: uppercase !important;
  opacity: 0.9 !important;
}

.hero-title {
  font-size: 2.5rem !important; /* Título perfectamente proporcionado */
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
  margin-bottom: 1.2rem !important;
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7) !important;
}


/* Descripción: Más integrada y legible */
.hero-description {
  font-size: 1.1rem !important; 
  line-height: 1.6 !important;
  color: #e0e0e0 !important;
  max-width: 600px !important; 
  margin-bottom: 2rem !important; /* Espacio perfecto antes de los botones */
  font-weight: 400 !important;
}

/* Contenedor de botones pegado a la descripción */
.hero-actions {
  display: flex !important;
  gap: 1.2rem !important;
  margin-top: 0 !important; /* Elimina cualquier separación externa extra */
}

/* Ajuste fino de los botones para que vayan a juego con el nuevo tamaño */
.btn-primary, .btn-secondary {
  padding: 0.9rem 2rem !important; /* Un poco más estilizados */
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  letter-spacing: 0.5px !important;
}

.btn-primary {
  background-color: #7A1121 !important; /* El rojo de tu logo */
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(122, 17, 33, 0.3) !important;
}

.btn-secondary {
  background-color: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  backdrop-filter: blur(4px) !important;
}

/* ==========================================================================
   APLICACIÓN DE COLOR GRANATE PAVIMENCIVIL A TODA LA WEB
   ========================================================================== */

/* 1. Líneas decorativas debajo de todos los títulos de sección (como la línea 44) */
.section-title::after {
  background-color: var(--color-granate, #7A1321) !important;
}

/* 2. Botón principal del formulario de "SOLICITE SU PRESUPUESTO" */
input[type="submit"], 
button[type="submit"],
.form-container button,
.form-btn {
  background-color: var(--color-granate, #7A1321) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  border: none !important;
  transition: background-color 0.3s ease !important;
}

/* Efecto al pasar el ratón por el botón del formulario */
input[type="submit"]:hover, 
button[type="submit"]:hover {
  background-color: #590B17 !important; /* Granate más oscuro */
}

/* 3. Iconos, números destacados o detalles amarillos de las tarjetas de servicios */
.service-card i,
.service-icon,
.card-icon {
  color: var(--color-granate, #7A1321) !important;
}

/* 4. Bordes activos o decorativos de las preguntas frecuentes (Acordeón) */
.faq-title::after,
.faq-trigger {
  color: var(--color-granate, #7A1321) !important;
}

/* ==========================================
   CAMBIO DE AMARILLO A GRANATE EN TARJETAS
   ========================================== */

/* 1. Bordes de las tarjetas superiores */
.service-item, 
.services-grid > div,
.col-md-3 > div {
  border-color: #7A1321 !important; /* Forzamos el color directo sin espacios */
}

/* 2. Iconos de los servicios */
.service-item i,
.service-item .icon,
.services-grid i,
.col-md-3 i {
  color: #7A1321 !important;
}

/* 3. Títulos de los proyectos (Zona negra) */
.project-item h3,
.project-card h3,
.portfolio-item h4,
.portfolio-item h3 {
  color: #7A1321 !important;
}

/* 4. Diseño limpio con bordes finos que reaccionan al ratón */
.service-item, 
.services-grid > div {
  border: 1px solid #e0e0e0 !important;
  transition: all 0.3s ease !important;
}

.service-item:hover, 
.services-grid > div:hover {
  border-color: #7A1321 !important;
  transform: translateY(-5px) !important;
}

/* ==========================================================================
   CAMBIO DE AMARILLO A GRANATE EN CONTADORES Y ESTADÍSTICAS
   ========================================================================== */

/* Cambia los números grandes de las tarjetas oscuras al rojo corporativo */
.counter, 
.stat-number, 
.counter-block h3, 
.counter-block span,
[class*="stat"] h3,
[class*="counter"] {
  color: #7A1321 !important;
}

/* ==========================================================================
   OPTIMIZACIÓN PREMIUM PARA TELÉFONOS MÓVILES (RESPONSIVE)
   ========================================================================== */
@media (max-width: 768px) {
  /* 1. Ajuste de la cabecera principal en móviles */
  .hero-premium {
    padding-left: 5% !important;
    padding-right: 5% !important;
    height: auto !important;
    padding-top: 100px !important;
    padding-bottom: 60px !important;
  }

  /* 2. Reducir el título para que quepa entero en cualquier pantalla de móvil */
  .hero-title {
    font-size: 28px !important; /* Baja de 46px a 28px en móviles de forma automática */
    line-height: 1.3 !important;
  }

  /* 3. Ajustar la descripción en pantallas pequeñas */
  .hero-description, 
  .hero-content p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  /* 4. Forzar que las tarjetas de proyectos y servicios se apilen en una sola columna */
  .proyectos-grid-premium,
  .premium-services-container > div {
    flex-direction: column !important;
    align-items: center !important;
  }

  .proyecto-item-premium,
  .premium-services-container div[style*="max-width"] {
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* Estilos para que la galería funcione */
.modal-galeria {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.9) !important;
    display: none !important;
    justify-content: center !important;
    align-items: center !important;
    z-index: 99999 !important;
}

.modal-galeria:target {
    display: flex !important;
}

.modal-contenido {
    background-color: #1a1f29 !important;
    padding: 30px !important;
    border-radius: 10px !important;
    max-width: 800px !important;
    width: 90% !important;
    max-height: 85vh !important;
    overflow-y: auto !important;
    position: relative !important;
    text-align: center !important;
}

.modal-contenido h2 { color: #ffffff !important; margin-bottom: 15px !important; font-family: sans-serif; }
.modal-contenido p { color: #aaaaaa !important; font-family: sans-serif; }

.btn-cerrar {
    position: absolute !important;
    top: 15px !important;
    right: 20px !important;
    font-size: 35px !important;
    color: #ffffff !important;
    text-decoration: none !important;
}
.btn-cerrar:hover { color: #ff4a4a !important; }

/* Contenedor del modal estilizado tipo galería de arquitectura */
.modal-contenido {
    background-color: #0b0d12 !important; /* Negro profundo corporativo */
    padding: 40px !important;
    border-radius: 12px !important;
    max-width: 1000px !important; /* Más ancho para que respiren las fotos */
    width: 90% !important;
    max-height: 85vh !important;
    overflow-y: auto !important;
    position: relative !important;
    text-align: center !important;
    border: 1px solid #222b3c !important; /* Borde fino premium */
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8) !important;
}

/* Títulos con tipografía limpia y profesional */
.modal-contenido h2 {
    color: #ffffff !important;
    font-size: 26px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    margin-bottom: 8px !important;
}

.modal-contenido p {
    color: #8492a6 !important; /* Gris azulado elegante */
    font-size: 15px !important;
    margin-bottom: 30px !important;
}

/* Cuadrícula Premium de 3 columnas fijas en pantallas grandes */
.fotos-proceso {
    display: grid !important;
    /* Cambiamos el mínimo a 200px para que entren 4 por fila y se vean más compactas */
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 15px !important;
    padding: 10px 0 !important;
}

.fotos-proceso img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  /* Eliminadas las líneas de image-rendering que pixelaban la foto */
  border-radius: 6px !important;
  border: 1px solid #1f293d !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
}




/* Efecto interactivo al pasar el ratón */
.fotos-proceso img:hover {
    transform: translateY(-4px) !important; /* Levanta la foto sutilmente */
    filter: grayscale(0%) !important; /* Devuelve todo el color vivo */
    border-color: #7a1321 !important; /* Ilumina el borde con tu color corporativo */
    box-shadow: 0 10px 20px rgba(122, 19, 33, 0.3) !important; /* Destello suave */
}

/* Botón de cerrar elegante */
.btn-cerrar {
    position: absolute !important;
    top: 20px !important;
    right: 25px !important;
    font-size: 30px !important;
    color: #64748b !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}
.btn-cerrar:hover {
    color: #ffffff !important;
}

/* ===================================================
   NUEVA SECCIÓN: NUESTROS SERVICIOS ESPECIALIZADOS
   =================================================== */

.premium-services-section {
  width: 100% !important;
  padding: 60px 5% !important;
  background-color: #ffffff !important;
  box-sizing: border-box !important;
}

.premium-services-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.services-title {
  color: #111111 !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  margin-bottom: 40px !important;
  text-transform: uppercase !important;
  font-family: sans-serif !important;
}

/* Grid adaptativo para las 4 tarjetas de servicios */
.services-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  gap: 25px !important;
  width: 100% !important;
}

/* Estilos de las Tarjetas individuales */
.service-card {
  background-color: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 8px !important;
  padding: 30px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

/* Efecto hover interactivo al pasar el ratón */
.service-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 8px 20px rgba(122, 19, 33, 0.15) !important; /* Destello sutil con tu color */
}

/* Círculo contenedor del Icono SVG */
.icon-wrapper {
  background-color: rgba(122, 19, 33, 0.1) !important; /* Tu color granate con opacidad */
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 20px !important;
}

.icon-wrapper svg {
  width: 28px !important;
  height: 28px !important;
}

/* Títulos de los servicios */
.service-card h3 {
  color: #111111 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 12px 0 !important;
  font-family: sans-serif !important;
}

/* Descripciones de los servicios */
.service-card p {
  color: #666666 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  font-family: sans-serif !important;
}

/* ===================================================
   DISEÑO MODAL CARRUSEL PREMUM (SISTEMA DE DIAPOSITIVAS)
   =================================================== */

.slider-content-box {
  max-width: 850px !important;
  width: 90% !important;
  position: relative !important;
}

.slider-container-flex {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 20px !important;
}

.marco-foto-activa {
  width: 100% !important;
  max-height: 55vh !important;
  overflow: hidden !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4) !important;
  background-color: #000000 !important;
}

.marco-foto-activa img {
  width: 100% !important;
  height: auto !important;
  max-height: 55vh !important;
  object-fit: contain !important; /* Muestra la foto real completa sin recortar ni pixelar */
  display: block !important;
}

/* Botones interactivos para pasar de foto */
.flecha-slider {
  background-color: rgba(122, 19, 33, 0.85) !important; /* Tu color granate corporativo */
  color: #ffffff !important;
  border: none !important;
  font-size: 22px !important;
  width: 45px !important;
  height: 45px !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
}

.flecha-slider:hover {
  background-color: rgba(122, 19, 33, 1) !important;
  transform: scale(1.1) !important;
}

.flecha-slider.prev { margin-right: 15px !important; }
.flecha-slider.next { margin-left: 15px !important; }

.contador-premium {
  color: #888888 !important;
  margin-top: 15px !important;
  font-size: 14px !important;
  font-family: sans-serif !important;
  font-weight: bold !important;
}

/* ===================================================
   CORRECCIÓN DE ALINEACIÓN PREMIUM PARA LA GALERÍA
   =================================================== */

/* Forzamos al contenedor principal a distribuir las tarjetas en una cuadrícula limpia */
.fotos-proceso, 
.contenedor-proyectos,
[id^="modal-proyecto"] ~ div, 
section[style*="background-color: #0b111e"] > div:nth-child(3) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 30px !important;
  max-width: 1200px !important;
  margin: 40px auto 0 auto !important;
  padding: 0 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  justify-content: center !important;
}

/* Estilo premium individual para cada tarjeta de proyecto */
.fotos-proceso > div,
.tarjeta-proyecto {
  background: #151f32 !important; /* Un fondo gris azulado oscuro muy elegante */
  border: 1px solid #1f293d !important;
  border-radius: 12px !important;
  padding: 15px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

/* Efecto visual premium al pasar el ratón por encima */
.fotos-proceso > div:hover,
.tarjeta-proyecto:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 15px 35px rgba(122, 19, 33, 0.3) !important; /* Destello con tu color granate */
  border-color: #7A1321 !important;
}

/* FUERZA LA ALINEACIÓN HORIZONTAL DE TUS 4 TARJETAS */
main > section:nth-of-type(3), 
#modal-proyecto1 ~ section,
.fotos-proceso {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  gap: 30px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 40px 20px !important;
  width: 100% !important;
}

/* ===================================================
   SISTEMA DE GALERÍA DE PROYECTOS PREMIUM (FIX)
   =================================================== */

.proyectos-grid-premium {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 25px !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}

.enlace-proyecto-card {
  text-decoration: none !important;
  color: inherit !important;
  display: block !important;
}

.proyecto-item-premium {
  background-color: #1a1a1a !important; /* Fondo oscuro premium */
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid #2d2d2d !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
  height: 100% !important;
}

.proyecto-item-premium img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
}

.proyecto-info {
  padding: 20px !important;
  text-align: left !important;
}

.proyecto-info h3 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 8px 0 !important;
  font-family: sans-serif !important;
}

.proyecto-info p {
  font-size: 14px !important;
  color: #cc0000 !important; /* Color destacado para las categorías */
  margin: 0 !important;
  font-family: sans-serif !important;
}

/* Efecto hover elegante al pasar el ratón */
.proyecto-item-premium:hover {
  transform: translateY(-5px) !important;
  border-color: #7A1321 !important; /* Tu color granate */
  box-shadow: 0 10px 20px rgba(122, 19, 33, 0.2) !important;
}

/* ===================================================
   CARRUSEL DIAPOSITIVAS: OCULTACIÓN Y CONTROL VISUAL
   =================================================== */

/* Oculta el fondo negro por defecto para que puedas ver toda tu web */
#modal-proyecto1, 
.modal-premium-slider {
  display: none;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: rgba(10, 15, 26, 0.97) !important; /* Fondo premium oscuro */
  z-index: 9999999 !important;
}

/* Fuerza que el modal aparezca perfectamente centrado cuando JavaScript lo activa */
div#modal-proyecto1[style*="display: flex"],
#modal-proyecto1[style*="display: flex"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Evita que los estilos antiguos deformen o encojan tu foto activa */
#foto-activa-view {
  width: 100% !important;
  max-width: 750px !important;
  height: auto !important;
  max-height: 60vh !important;
  object-fit: contain !important;
}

/* Contenedor general de la sección */
.seccion-servicios {
    padding: 80px 5%;
    background-color: #ffffff;
    text-align: center;
}

.titulo-seccion {
    font-family: sans-serif;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 50px;
    color: #111111;
}

/* Cuadrícula para alinear las 4 tarjetas en línea */
.servicios-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
}

/* Tarjetas individuales */
.tarjeta-servicio {
    background: #ffffff;
    padding: 40px 20px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    transition: transform 0.3s ease;
}

.tarjeta-servicio h3 {
    font-family: sans-serif;
    font-size: 18px;
    font-weight: 700;
    margin: 15px 0;
    color: #111111;
}

.tarjeta-servicio p {
    font-family: sans-serif;
    font-size: 14px;
    color: #666666;
    line-height: 1.5;
}

/* Círculo del icono */
.icono-wrapper {
    width: 70px;
    height: 70px;
    background-color: #fff1f2; /* Fondo granate ultra suave */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    transition: all 0.3s ease;
}

.icono-wrapper i {
    font-size: 26px;
    color: #7A1121; /* Tu color granate corporativo */
    transition: all 0.3s ease;
}

/* Efecto Premium al pasar el ratón */
.tarjeta-servicio:hover {
    transform: translateY(-5px);
}

.tarjeta-servicio:hover .icono-wrapper {
    background-color: #7A1121; /* El fondo cambia a tu granate */
}

.tarjeta-servicio:hover .icono-wrapper i {
    color: #ffffff; /* El icono se vuelve blanco */
}

/* Corrección de estilos para los iconos SVG */
.icono-wrapper svg {
    transition: all 0.3s ease !important;
}

/* Efecto Hover Premium: El contenedor se vuelve granate */
.tarjeta-servicio:hover .icono-wrapper {
    background-color: #7A1121 !important;
}

/* Forzar que las líneas de los 3 primeros iconos se vuelvan blancas */
.tarjeta-servicio:hover .icono-wrapper svg {
    stroke: #ffffff !important;
}

/* Forzar que el relleno del cuarto icono (Obra Civil) se vuelva blanco y no tape nada */
.tarjeta-servicio:hover .icono-wrapper svg path,
.tarjeta-servicio:hover .icono-wrapper svg rect {
    stroke: #ffffff !important;
    fill: transparent !important; /* Evita que se tape el icono con un bloque sólido */
}

/* ==========================================================
   CONFIGURACIÓN PREMIUM ADAPTABLE PARA MÓVILES DE ALTA GAMA
   ========================================================== */
@media (max-width: 768px) {
    /* 1. Cabecera y Menú Móvil */
    nav {
        padding: 10px 4% !important;
        flex-direction: column !important; /* Apila el logo y los enlaces si la pantalla es estrecha */
        gap: 15px !important;
    }
    nav img {
        height: 70px !important; /* Reduce el tamaño del logo para que no ocupe toda la pantalla */
    }
    
    /* 2. Sección Principal (Hero) */
    h1 {
        font-size: 28px !important; /* Ajusta el título para que no se corte en pantallas verticales */
        line-height: 1.3 !important;
    }
    
    /* 3. Rejillas de Tarjetas (Servicios y Proyectos) */
    .servicios-container,
    .proyectos-grid-premium,
    .premium-logos-grid,
    .stats-grid-container {
        grid-template-columns: 1fr !important; /* Pone las tarjetas una debajo de otra de forma limpia */
        gap: 20px !important;
        padding: 0 10px !important;
    }
    
    /* 4. Ventana Modal de Diapositivas (El visor de tus fotos) */
    #modal-galeria div {
        width: 95% !important;
        padding: 15px !important;
        margin: auto !important;
    }
    #modal-titulo {
        font-size: 15px !important;
    }
    
    /* Imagen del carrusel en móvil */
    #imagen-diapositiva-activa {
        height: 280px !important; /* Reduce la altura en móvil para que se vea la foto entera sin hacer scroll */
        object-fit: contain !important; /* Evita que la foto se recorte en pantallas alargadas */
    }
    
    /* Flechas de navegación en móvil */
    button[onclick^="cambiarDiapositiva"] {
        width: 38px !important;
        height: 38px !important;
        font-size: 16px !important;
        background: rgba(0, 0, 0, 0.75) !important; /* Más oscuras para que contrasten bien */
    }
}
/* --- BITÁCORA PREMIUM LAYOUT --- */
.bitacora-main {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
    font-family: sans-serif;
}

.proyecto-article {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.04);
    margin-bottom: 70px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

/* Alternancia automática de orden para diseño fluido */
.proyecto-article.invertido .proyecto-info-panel { order: 2; }
.proyecto-article.invertido .proyecto-foto-panel { order: 1; }

/* Contenedor de Información */
.proyecto-info-panel {
    padding: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.proyecto-tag-top {
    color: #7A1321;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    display: block;
    margin-bottom: 10px;
}

.proyecto-titulo {
    font-size: 28px;
    font-weight: 800;
    color: #1e293b;
    margin: 0 0 20px 0;
    text-transform: uppercase;
    line-height: 1.2;
}

.proyecto-descripcion {
    font-size: 15px;
    color: #64748b;
    line-height: 1.8;
    margin: 0 0 30px 0;
}

/* Especificaciones Técnicas Estilo Software */
.proyecto-specs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    border-top: 1px solid #F1F5F9;
    padding-top: 25px;
}

.spec-label {
    font-size: 12px;
    font-weight: 800;
    color: #1e293b;
    text-transform: uppercase;
    display: block;
    margin-bottom: 4px;
}

.spec-valor {
    font-size: 14px;
    color: #64748b;
}

/* Panel de Imagen Premium con Zoom */
.proyecto-foto-panel {
    position: relative;
    min-height: 400px;
    overflow: hidden;
    cursor: pointer;
}

.proyecto-foto-panel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.proyecto-foto-panel:hover img {
    transform: scale(1.06); /* Zoom suave premium */
}

.fase-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    background-color: #7A1321;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    padding: 6px 14px;
    border-radius: 4px;
    z-index: 2;
}

.proyecto-article.invertido .fase-badge {
    left: auto;
    right: 20px;
}

/* Responsive para Móviles */
@media (max-width: 768px) {
    .proyecto-article, .proyecto-article.invertido {
        grid-template-columns: 1fr;
    }
    .proyecto-info-panel {
        padding: 30px;
        order: 2 !important;
    }
    .proyecto-foto-panel {
        min-height: 250px;
        order: 1 !important;
    }
}
/* --- ACABADO PREMIUM AGRESIVO COMPULSORIO --- */
.proyecto-article {
    background: #ffffff;
    border-radius: 12px;
    /* Sombra profunda multicapa estilo Apple/Stripe */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 10px 15px -3px rgba(0, 0, 0, 0.03), 0 20px 25px -5px rgba(0, 0, 0, 0.02);
    margin-bottom: 80px;
    overflow: hidden;
    border: 1px solid #f1f5f9;
    display: grid;
    grid-template-columns: 1fr 1fr;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Efecto de elevación imponente al pasar el ratón */
.proyecto-article:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.proyecto-foto-panel {
    position: relative;
    min-height: 450px; /* Más alto para mayor impacto visual */
    overflow: hidden;
    background-color: #1e293b; /* Fondo oscuro mientras carga la foto */
}

.proyecto-foto-panel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.95); /* Contraste profesional industrial */
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), filter 0.8s ease;
}

.proyecto-article:hover .proyecto-foto-panel img {
    transform: scale(1.04);
    filter: brightness(1.05); /* La foto se ilumina y se acerca al interactuar */
}

/* Tipografía de Ingeniería Consolidada */
.proyecto-titulo {
    font-size: 32px; /* Más grande, corporativo y dominante */
    font-weight: 800;
    color: #111827;
    letter-spacing: -0.5px;
    margin: 0 0 16px 0;
}

.proyecto-descripcion {
    font-size: 15px;
    color: #4b5563;
    line-height: 1.8;
    margin: 0 0 35px 0;
}

/* --- DIAPOSITIVAS PREMIUM (CARRUSEL) --- */
.proyecto-carrusel-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 450px;
    background-color: #1e293b;
}

/* Contenedor deslizante */
.carrusel-proyectos {
    display: flex;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    /* Oculta la barra de scroll molesta */
    -ms-overflow-style: none;  
    scrollbar-width: none;  
}
.carrusel-proyectos::-webkit-scrollbar {
    display: none; 
}

/* Cada diapositiva individual */
.diapositiva-item {
    min-width: 100%;
    height: 100%;
    scroll-snap-align: start;
    position: relative;
    overflow: hidden;
}

.diapositiva-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.95);
    transition: transform 0.6s ease;
}

.diapositiva-item:hover img {
    transform: scale(1.03);
}

/* Indicador de número de foto */
.foto-contador-badge {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: rgba(15, 23, 42, 0.75);
    backdrop-filter: blur(4px);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    z-index: 3;
    letter-spacing: 1px;
}

/* Flechas de Navegación Premium */
.carrusel-flecha {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    color: #1e293b;
    font-size: 18px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 4;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    transition: background 0.3s ease, transform 0.2s ease, color 0.3s ease;
}
.carrusel-flecha:hover {
    background: #7A1321; /* Tu color corporativo */
    color: #ffffff;
    transform: translateY(-50%) scale(1.1);
}
.flecha-izq { left: 15px; }
.flecha-der { right: 15px; }

/* Corrección para que en móvil mantenga la altura */
@media (max-width: 768px) {
    .proyecto-carrusel-wrapper {
        min-height: 300px;
    }
}

/* --- COMPLEMENTO FOOTER ANTI-COMPETENCIA --- */
.footer-info-contacto {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer-info-contacto li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    color: #94a3b8;
    line-height: 1.5;
}

.footer-info-contacto a {
    color: #94a3b8;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-info-contacto a:hover {
    color: #ffffff;
}

.footer-icon {
    font-size: 16px;
    color: #7A1321; /* Tu color granate corporativo */
}

.footer-txt-redes {
    font-size: 14px;
    color: #94a3b8;
    margin: 0 0 15px 0;
    line-height: 1.6;
}

/* Botones de Redes Sociales Premium (Sin usar imágenes basura) */
.footer-redes-flex {
    display: flex;
    gap: 10px;
}

.red-enlace {
    background: #1e293b;
    color: #ffffff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 16px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 1px solid #334155;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.red-enlace:hover {
    background: #7A1321;
    border-color: #7A1321;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(122, 19, 33, 0.3);
}

/* Responsive para cuadrarlo todo en móviles */
@media (max-width: 768px) {
    .footer-container {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
}

/* --- FOOTER CORPORATIVO HIGH-END (SIN INTERFERENCIAS) --- */
.footer-premium {
    background-color: #0f172a !important; 
    color: #f8fafc !important;
    padding: 80px 20px 30px 20px !important;
    font-family: sans-serif !important;
    margin-top: 100px !important;
    border-top: 3px solid #7A1321 !important;
    text-align: left !important; 
}

.footer-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 1.5fr 1fr 1fr !important; 
    gap: 50px !important;
    padding-bottom: 50px !important;
}

.col-marca {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

/* FUSIÓN PREMIUM QUE BORRA EL COLOR NEGRO DE FONDO DEL LOGO */
.footer-logo {
    height: 70px !important;
    width: auto !important;
    max-width: 250px !important;
    object-fit: contain !important;
    mix-blend-mode: screen !important; 
}

.footer-txt-empresa {
    color: #94a3b8 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

.footer-columna h3 {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 0 25px 0 !important;
}

/* LISTA DE CONTACTO E ICONOS VECTORIALES (SVG) */
.footer-info-contacto {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

.footer-info-contacto li {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 14px !important;
    color: #94a3b8 !important;
}

.footer-info-contacto a {
    color: #94a3b8 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.footer-info-contacto a:hover {
    color: #ffffff !important;
}

/* Iconos de ingeniería corporativos */
.footer-svg-icon {
    width: 18px !important;
    height: 18px !important;
    fill: #7A1321 !important; /* Tu color granate corporativo */
    flex-shrink: 0 !important;
}

.footer-txt-redes {
    font-size: 14px !important;
    color: #94a3b8 !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.6 !important;
}

.footer-redes-flex {
    display: flex !important;
    gap: 10px !important;
}

.red-enlace {
    background: #1e293b !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 8px 16px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    border: 1px solid #334155 !important;
    transition: all 0.3s ease !important;
}

.red-enlace:hover {
    background: #7A1321 !important;
    border-color: #7A1321 !important;
    transform: translateY(-2px) !important;
}

.footer-bottom {
    border-top: 1px solid #1e293b !important;
    padding-top: 30px !important;
}

.footer-bottom-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 13px !important;
    color: #64748b !important;
}

.footer-legal {
    display: flex !important;
    gap: 20px !important;
}

.footer-legal a {
    color: #64748b !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.footer-legal a:hover {
    color: #ffffff !important;
}

@media (max-width: 768px) {
    .footer-container { grid-template-columns: 1fr !important; gap: 40px !important; }
    .footer-bottom-content { flex-direction: column !important; gap: 15px !important; text-align: center !important; }
}

/* --- CONFIGURACIÓN FOOTER CORPORATIVO TOTAL --- */
.footer-premium {
    background-color: #0b0f19 !important; /* Gris oscuro industrial profundo */
    color: #f1f5f9 !important;
    padding: 90px 20px 40px 20px !important;
    font-family: sans-serif !important;
    margin-top: 120px !important;
    border-top: 4px solid #7A1321 !important; /* Tu línea granate */
    text-align: left !important;
}

.footer-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 1.2fr 1fr !important; /* Dos grandes bloques limpios */
    gap: 100px !important;
    padding-bottom: 60px !important;
}

.footer-marca-bloque {
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;
}

/* LOGO TRANSPARENTE PREMIUM */
.footer-logo-limpio {
    height: 90px !important; /* Más grande, visible y con autoridad */
    width: auto !important;
    max-width: 320px !important;
    object-fit: contain !important;
}

.footer-lema {
    color: #94a3b8 !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    margin: 0 !important;
    max-width: 480px !important;
}

.footer-contacto-bloque h3 {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin: 0 0 30px 0 !important;
}

.footer-lista-directa {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

.footer-lista-directa li {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    font-size: 15px !important;
    color: #e2e8f0 !important;
}

.enlace-directo {
    color: #e2e8f0 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.enlace-directo:hover {
    color: #7A1321 !important; /* Se ilumina con tu color corporativo */
}

/* Iconos de vectores puros */
.icon-svg {
    width: 20px !important;
    height: 20px !important;
    fill: #7A1321 !important; /* Tu color granate */
    flex-shrink: 0 !important;
}

/* Barra inferior legal */
.footer-cierre-legal {
    border-top: 1px solid #1e293b !important;
    padding-top: 35px !important;
}

.footer-legal-contenido {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 13px !important;
    color: #64748b !important;
}

.enlaces-legales {
    display: flex !important;
    gap: 30px !important;
}

.enlaces-legales a {
    color: #64748b !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.enlaces-legales a:hover {
    color: #ffffff !important;
}

/* Responsive */
@media (max-width: 768px) {
    .footer-container {
        grid-template-columns: 1fr !important;
        gap: 50px !important;
    }
    .footer-legal-contenido {
        flex-direction: column !important;
        gap: 15px !important;
        text-align: center !important;
    }
}

/* --- BANNER ENLACE BITÁCORA --- */
.banner-enlace-autor {
    background-color: #0f172a !important;
    padding: 80px 20px !important;
    text-align: center !important;
    margin: 80px auto 0 auto !important;
    border-radius: 16px;
    max-width: 1200px;
}
.banner-tag {
    color: #7A1321;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    display: block;
    margin-bottom: 15px;
}
.banner-autor-contenido h2 {
    color: #ffffff;
    font-size: 30px;
    font-weight: 800;
    margin: 0 0 15px 0;
    text-transform: uppercase;
}
.banner-autor-contenido p {
    color: #94a3b8;
    max-width: 600px;
    margin: 0 auto 35px auto;
    font-size: 15px;
    line-height: 1.6;
}
.boton-premium-enlace {
    display: inline-block !important;
    background-color: #7A1321 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 15px 35px !important;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 4px;
    transition: all 0.3s ease !important;
}
.boton-premium-enlace:hover {
    background-color: #ffffff !important;
    color: #0f172a !important;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}
/* Contenedor de toda la sección */
.services-section {
    padding: 60px 20px;
    background-color: #f9f9f9; /* Fondo gris claro */
}

/* Fuerza a que las 4 tarjetas se pongan en fila horizontal */
.services-grid-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columnas iguales */
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

/* Diseño de cada tarjeta blanca */
.service-card {
    background-color: #ffffff;
    border-radius: 8px;
    padding: 30px 20px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); /* Sombra suave */
}

/* El círculo rosa para el icono */
.service-icon-container {
    width: 65px;
    height: 65px;
    background-color: #fdf2f2; /* Fondo rosa/rojo suave */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px auto;
}

/* ¡ESTO ES LO MÁS IMPORTANTE! Encoge tus imágenes gigantes */
.service-icon-container img {
    width: 35px !important;
    height: 35px !important;
    object-fit: contain;
}

/* Estilos de los textos */
.service-card h3 {
    font-size: 16px;
    color: #111111;
    font-weight: 700;
    margin-bottom: 12px;
    line-height: 1.4;
}

.service-card p {
    font-size: 13px;
    color: #666666;
    line-height: 1.6;
    margin: 0;
}

/* Adaptación para móviles (se ponen en vertical en pantallas pequeñas) */
@media (max-width: 768px) {
    .services-grid-container {
        grid-template-columns: 1fr;
    }
}
/* --- ESTILOS NATIVOS PARA EL MENÚ HORIZONTAL DE ESCRITORIO --- */
.menu-horizontal-escritorio {
  display: flex;
  align-items: center;
  gap: 24px; /* Espaciado uniforme entre pestañas */
  margin-left: auto; /* Empuja todo el bloque de enlaces hacia la derecha */
}

.menu-horizontal-escritorio a {
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: color 0.2s ease;
}

.menu-horizontal-escritorio a:hover {
  color: #cbd5e1 !important; /* Cambio de color suave al pasar el ratón */
}

/* Estilo destacado estilo botón para "Pedir Presupuesto" en la barra */
.menu-horizontal-escritorio .btn-presupuesto-nav {
  background-color: #7a1321; /* El rojo corporativo de tu marca */
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 13px;
  transition: background-color 0.2s ease;
}

.menu-horizontal-escritorio .btn-presupuesto-nav:hover {
  background-color: #961c2c;
  color: #ffffff !important;
}

/* Por defecto, en pantallas grandes ocultamos el botón de la hamburguesa */
.hamburguesa-icono {
  display: none !important;
}


/* --- COMPORTAMIENTO ADAPTATIVO (MÓVILES Y TABLETS) --- */
@media (max-width: 1024px) {
  /* En pantallas medianas/pequeñas ocultamos por completo la fila de textos */
  .menu-horizontal-escritorio {
    display: none !important;
  }
  
  /* Volvemos a activar el botón de las tres líneas para la experiencia móvil */
  .hamburguesa-icono {
    display: flex !important;
    flex-direction: column;
  }
}
        @media (max-width: 1024px) {
            .menu-horizontal-escritorio {
                display: none !important;
            }
        }
@media (max-width: 1024px) {
    .menu-horizontal-escritorio {
        display: none !important;
    }
}

/* ADAPTACIÓN PREMIUM PARA MENÚ SIEMPRE VISIBLE (SIN HAMBURGUESA) */
@media (max-width: 768px) {
    /* 1. Permite que la barra crezca hacia abajo de forma automática */
    nav, .header-premium, header {
        height: auto !important;
        padding: 15px 10px !important;
        display: flex !important;
        flex-direction: column !important; /* Coloca el logo arriba y los enlaces abajo si hace falta */
        gap: 12px !important;
    }

    /* 2. Hace que los servicios se envuelvan en filas si no caben en una sola */
    .menu-horizontal-escritorio {
        display: flex !important;
        flex-wrap: wrap !important; /* Propiedad mágica: salta de línea de forma limpia */
        justify-content: center !important;
        gap: 8px 12px !important; /* Espacio vertical y horizontal entre botones */
        width: 100% !important;
    }

    /* 3. Ajusta el tamaño de los textos en el móvil para que queden perfectos */
    .menu-horizontal-escritorio a {
        font-size: 12px !important;
        padding: 5px 8px !important;
        white-space: nowrap !important; /* Evita que una palabra larga se rompa a la mitad */
    }

    /* 4. El botón de Pedir Presupuesto se adapta al centro */
    .btn-presupuesto-nav {
        margin: 5px auto 0 auto !important;
        font-size: 12px !important;
        padding: 6px 12px !important;
    }
}

/* ================================================================= */
/* OPTIMIZACIÓN DEL ENCABEZADO PARA PANTALLAS MÓVILES                */
/* ================================================================= */
@media (max-width: 768px) {
    /* Esto quita la fijación del menú superior solo en teléfonos */
    header, .header, #header, nav, .navbar {
        position: relative !important; 
        top: auto !important;
        height: auto !important; 
        padding: 10px 15px !important; 
    }
}


/* ================================================================= */
/* EL ENCABEZADO SE QUEDA ARRIBA DEL TODO Y NO BAJA EN EL MÓVIL      */
/* ================================================================= */
@media (max-width: 768px) {
    header, .header, #header, nav, .navbar, .nav-container {
        position: absolute !important; /* Lo fija al inicio absoluto de la página */
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        position: relative !important; /* Si el absolute da problemas, el relative asegura que se quede arriba */
    }
}