
*, *::before, *::after{
box-sizing:border-box;
margin:0;
padding:0;
}




.menu{
    background-color: #194278;
}

.nav-link{
    color: white;
}

.inicio{
    background: #194278;
background: linear-gradient(0deg, rgba(25, 66, 120, 0.89) 0%, rgba(255, 255, 255, 0.479) 50%);
    overflow: hidden;
}


.hero-card{
border-radius:25px;
overflow:hidden;
border:none;
max-width:1000px;
margin:auto;
}

.hero-card h2{
font-weight:700;
}

.hero-card p{
color:#666;
}

.carousel-control-prev{
left:0;
transform: translateX(-40%);
}

.carousel-control-next{
right:0;
transform: translateX(40%);
}

#heroCarousel{
padding:0 40px;
}

.carousel-control-prev-icon,
.carousel-control-next-icon{
filter: invert(1);
}

.hero-img{
    width: 100%;
    height: 100%;
    min-height: 320px;
    object-fit: cover;
}

@media (min-width: 992px){
    .hero-img{
        min-height: 420px;
    }
}



.gestion-card{
border:none;
border-radius:25px;
box-shadow:0 10px 25px rgba(0,0,0,0.08);
height:100%;
}

.gestion-card h4{
font-weight:600;
margin-bottom:15px;
}

.gestion-card p{
color:#666;
font-size:15px;
}

.icon{
font-size:60px;
color:#5a8ec2;
margin-bottom:20px;
display: block;
}

.btn-primary{
border-radius:30px;
padding:10px 25px;
background-color: #194278;
}


.asistencia{
background:#f7f7f7;
}

.asistencia-card{
border:none;
border-radius:30px;
box-shadow:0 10px 30px rgba(0, 0, 0, 0.39);
}

.asistencia-icon{
font-size:50px;
color:#5a8ec2;
}


.gestoria-card{
transition:0.3s;
border-radius:15px;
}

.gestoria-card:hover{
transform:translateY(-5px);
box-shadow:0 10px 25px rgba(0,0,0,0.1);
}







.footer{
    background-color: #194278 !important
}

.footer-link{
color:#bbb;
text-decoration:none;
display:block;
margin-bottom:8px;
}

.footer-link:hover{
color:white;
}

.footer-social{
color:#bbb;
margin-right:15px;
text-decoration:none;
}

.footer-social:hover{
color:white;
}


.link-footer{
    text-decoration: none;
color: inherit;
}

/* Botón flotante de WhatsApp */
.whatsapp-float{
    position: fixed;
    bottom: 22px;
    right: 22px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #25d366;
    color: white;
    display: grid;
    place-items: center;
    font-size: 30px;
    box-shadow: 0 12px 25px rgba(0,0,0,0.18);
    z-index: 1000;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.whatsapp-float:hover{
    transform: translateY(-3px);
    box-shadow: 0 16px 30px rgba(0,0,0,0.22);
    color: white;
}

.whatsapp-btn{
    border-radius: 30px;
    padding: 10px 22px;
}

/* Reseñas */
.reviews{
    background: linear-gradient(135deg, #f7faff 0%, #eef3fb 60%, #ffffff 100%);
}

.review-card{
    border: none;
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(0,0,0,0.08);
    padding: 18px;
    background: #fff;
}

.badge-rating{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 14px;
    background: #194278;
    color: #fff;
    font-weight: 700;
    font-size: 20px;
}

.stars i{
    margin-right: 2px;
}

.review-feed .placeholder{
    color:#666;
    font-size:14px;
}

.reviews-grid{
    display:grid;
    gap:12px;
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
}

.review-item{
    background:#fff;
    border-radius:12px;
    padding:14px;
    box-shadow:0 8px 18px rgba(0,0,0,0.06);
    border:1px solid #eef1f6;
}

.review-item header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:6px;
}

.review-item .stars{
    color:#f1b91c;
    letter-spacing:1px;
    font-size:14px;
}

/* Chips de marca en sección grúas */
.brand-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 10px;
    border-radius:999px;
    background:#f3f6fb;
    border:1px solid #d9e4f5;
    font-weight:600;
    color:#194278;
}
.brand-avatar{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    border-radius:50%;
    background:#194278;
    color:white;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.5px;
}

/* Previsualización de adjuntos denuncia */
.preview-card{
    background:#fff;
    min-height:68px;
}
.preview-thumb{
    display:block;
    width:72px;
    height:72px;
    max-width:72px;
    max-height:72px;
    object-fit:cover;
    border-radius:10px;
    border:1px solid #e6e6e6;
    flex-shrink:0;
}
