/* =========================================================
   1. ESTILOS DE IDENTIDAD MGS (Plantilla Maestra Original)
   ========================================================= */
body, html { 
    margin: 0; 
    padding: 0; 
    font-family: 'Segoe UI', Roboto, sans-serif; 
    height: 100%; 
    background-color: #F7F9FC; 
}

.site-header {
    background-color: #ffffff; 
    padding: 15px 0; 
    text-align: center;
    border-bottom: 1px solid #e1e8ed; 
    position: fixed; 
    top: 0; 
    width: 100%; 
    z-index: 1000;
}
.site-header img { height: 40px; }

.main-wrapper {
    background: linear-gradient(rgba(240, 248, 255, 0.85), rgba(240, 248, 255, 0.85)), 
                url('') no-repeat center center fixed;
    background-size: cover; 
    min-height: 100vh; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    padding: 100px 20px 40px 20px; 
    box-sizing: border-box;
}

.main-card {
    background-color: #fff; 
    width: 100%; 
    max-width: 550px; 
    border-radius: 25px;
    box-shadow: 0 15px 45px rgba(0,0,0,0.1); 
    overflow: hidden; 
    position: relative; 
    min-height: 500px;
}

.card-header { 
    background-color: #1a2b42; 
    color: white; 
    text-align: center; 
    padding: 40px 20px; 
}
.card-header h1 { 
    margin: 0; font-size: 1.8rem; text-transform: uppercase; letter-spacing: 1px; 
}
.card-header p { 
    margin: 10px 0 0 0; font-size: 0.95rem; opacity: 0.9; 
}

.card-body { padding: 35px; }
.intro-text { 
    text-align: center; color: #666; font-size: 0.9rem; margin-bottom: 30px; line-height: 1.5; 
}

.form-row { 
    display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; 
}
.form-group { margin-bottom: 20px; }
label { 
    display: block; font-weight: 700; color: #333; margin-bottom: 8px; font-size: 0.85rem; 
}

/* Evitamos que este input global rompa los form-control de Bootstrap en autos/motos */
.card-body input:not(.form-control):not(.form-control-file), 
.card-body select:not(.form-control) {
    width: 100%; padding: 12px 15px; border: 1px solid #ced4da; border-radius: 10px; 
    font-size: 0.95rem; box-sizing: border-box; color: #495057; background-color: #fff; 
    appearance: none;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 15px center; background-size: 8px 10px;
}
.card-body input { background-image: none; }
.helper-text { font-size: 0.8rem; color: #dc3545; margin-top: 6px; font-weight: 500; }

.btn-cotizar {
    width: 100%; background-color: #e87c47; color: white; border: none; padding: 16px; 
    font-size: 1.1rem; font-weight: 700; text-transform: uppercase; border-radius: 35px; 
    cursor: pointer; transition: all 0.3s ease; margin-top: 10px;
    display: flex; align-items: center; justify-content: center; gap: 10px;
}
.btn-cotizar:hover { background-color: #d66e3a; }

.spinner { 
    display: none; width: 18px; height: 18px; border: 3px solid rgba(255,255,255,0.3); 
    border-radius: 50%; border-top-color: #fff; animation: spin 1s linear infinite; margin-left: 10px;
}
@keyframes spin { to { transform: rotate(360deg); } }

.btn-volver {
    display: inline-block; padding: 12px 35px; color: #0056b3; border: 2px solid #0056b3; 
    border-radius: 30px; text-decoration: none; font-weight: 600;
}

.fade-out { opacity: 0; transition: opacity 0.5s ease; }
.fade-in { display: block !important; opacity: 1; animation: fadeIn 0.6s ease; }
@keyframes fadeIn { 
    from { opacity: 0; transform: translate(-50%, -45%); } 
    to { opacity: 1; transform: translate(-50%, -50%); } 
}

.whatsapp-float {
    position: fixed; width: 60px; height: 60px; bottom: 30px; right: 30px;
    background-color: #25d366; border-radius: 50px; text-align: center;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.2); z-index: 1100;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.3s ease; text-decoration: none; overflow: hidden;
}
.whatsapp-float img { width: 100%; height: 100%; object-fit: cover; }
.whatsapp-float:hover { transform: scale(1.1); }

/* =========================================================
   2. ESTILOS ESPECÍFICOS DE LANDINGS (Autos, Motos, Caución, Tecno)
   ========================================================= */

.main-wrapper-lp {
    background-size: cover !important;
    min-height: calc(100vh - 85px);
    display: flex; align-items: center; justify-content: center; padding: 40px 20px;
}

/* Clases dinámicas de fondo */
.bg-autos { background: linear-gradient(rgba(0, 29, 61, 0.75), rgba(0, 29, 61, 0.75)), url('https://www.segurosgalvan.com/img/fondos/vehiculos.jpg') no-repeat center center; }
.bg-motos { background: linear-gradient(rgba(0, 29, 61, 0.5), rgba(0, 29, 61, 0.5)), url('https://www.segurosgalvan.com/img/fondos/motoslp.jfif') no-repeat; background-position: 15% center !important; }
.bg-caucion { background: linear-gradient(rgba(0, 29, 61, 0.75), rgba(0, 29, 61, 0.75)), url('https://www.segurosgalvan.com/img/fondos/caucion.jpg') no-repeat center center; }

/* Sobre-escritura de tarjeta para autos/motos/caucion */
.main-wrapper-lp .main-card {
    max-width: 520px; border-radius: 20px; box-shadow: 0 15px 40px rgba(0,0,0,0.3); min-height: auto;
}

/* Puente de Autos y Motos */
.file-input-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; color: #1a2b42; margin-bottom: 5px; display: block; }
.form-control-file { font-size: 0.8rem; padding: 6px; border: 1px solid #ced4da; border-radius: 8px; width: 100%; }

.method-btn {
    display: block; width: 100%; padding: 18px; margin-bottom: 15px;
    border-radius: 12px; border: 2px solid #e1e8ed; background: #fff;
    cursor: pointer; transition: 0.3s; text-align: left; position: relative;
}
.method-btn:hover, .method-btn.recommended { border-color: #e67e51; background: #fffaf7; }
.method-btn b { display: block; color: #1a2b42; font-size: 1rem; }

.btn-cotizar-lp {
    width: 100%; background: linear-gradient(45deg, #FF6B35, #ff8c61);
    color: white; border: none; padding: 14px; font-size: 1.1rem; font-weight: 700;
    text-transform: uppercase; border-radius: 40px; cursor: pointer; margin-top: 10px;
}

.form-instance { display: none; padding: 30px; }
#confirmacion-whatsapp { display: none; text-align: center; padding: 50px 30px; }

/* Caución de Alquiler */
.summary-frame { background: #f8f9fa; padding: 20px; border-radius: 12px; border: 1px solid #dee2e6; margin-bottom: 25px; }
.price-main { font-size: 1.8rem; font-weight: 800; color: #001d3d; display: block; }
.option-box { padding: 15px; border-radius: 12px; border: 2px solid #e9ecef; transition: 0.3s; height: 100%; }
.active-mgs { border-color: #FF6B35; background: #fffaf8; }
.active-blue { border-color: #001d3d; background: #f0f4f8; }
.btn-mgs-send { width: 100%; background: linear-gradient(45deg, #FF6B35, #ff8c61); color: white !important; border: none; padding: 15px; font-weight: 700; text-transform: uppercase; border-radius: 50px; transition: 0.3s; }

/* Tecnología Portátil */
.main-wrapper-tecno {
    background: linear-gradient(rgba(0, 29, 61, 0.8), rgba(0, 29, 61, 0.8)), 
                url('https://images.unsplash.com/photo-1498050108023-c5249f4df085?q=80&w=2072&auto=format&fit=crop') no-repeat center center;
    background-size: cover; background-attachment: fixed; min-height: calc(100vh - 85px);
    display: flex; align-items: center; justify-content: center; padding: 40px 20px;
}
.mgs-kommo-card {
    background-color: #fff; width: 100%; max-width: 600px; border-radius: 25px;
    box-shadow: 0 25px 70px rgba(0,0,0,0.6); overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.4); backdrop-filter: blur(8px);
}
.kommo-container { padding: 20px; min-height: 450px; }
#amoforms_action_btn { background: linear-gradient(45deg, #FF6B35, #ff8c61) !important; border: none !important; border-radius: 50px !important; font-weight: 700 !important; text-transform: uppercase !important; }

.hero-empresas {
    /* El gradiente rgba(0, 32, 63, 0.7) le da el tono azul oscuro transparente. Ajustá el 0.7 si lo querés más o menos oscuro */
    background-image: linear-gradient(rgba(0, 32, 63, 0.7), rgba(0, 32, 63, 0.7)), url('ruta-a-tu-imagen-de-empresas.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 80px 20px; /* Ajustá el padding según la altura que busques */
    text-align: center;
    color: #ffffff;
}

/* --- GRILLA DE PRODUCTOS (4 COLUMNAS) --- */
.grilla-productos {
    display: grid;
    /* Esto fuerza las 4 columnas del mismo ancho, igual que en movilidad.php */
    grid-template-columns: repeat(4, 1fr);
    gap: 30px; /* Espacio entre las tarjetas */
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}

/* Para que se adapte bien a celulares y tablets */
@media (max-width: 1024px) {
    .grilla-productos {
        grid-template-columns: repeat(2, 1fr); /* En tablet pasan a ser 2 por fila */
    }
}

@media (max-width: 768px) {
    .grilla-productos {
        grid-template-columns: 1fr; /* En celular pasa a 1 por fila */
    }
}