.contacto-mapa{
    position:relative;
    height:500px;
    overflow:hidden;
    margin-top:  120px;
}

/* MAPA FONDO (más claro, no oscuro) */
.mapa-bg iframe{
    width:100%;
    height:100%;
    border:0;

    filter: grayscale(40%) brightness(1.05);
}

/* OVERLAY CLARO */
.contacto-mapa::before{
    content:"";
    position:absolute;
    inset:0;

    background: linear-gradient(
        rgba(255,255,255,0.6),
        rgba(255,255,255,0.85)
    );
}

/* ================================
CAJA FLOTANTE
================================ */
.contacto-box{
    position:absolute;
    top:50%;
    left:10%;
    transform:translateY(-50%);

    background:#ffffff;
    padding:30px;
    border-radius:20px;

    max-width:350px;

    box-shadow:
        0 15px 35px rgba(0,0,0,0.1);

    border:1px solid var(--gris-medio);

    backdrop-filter: blur(10px);
}

/* TITULO */
.contacto-box h2{
    font-size:28px;
    margin-bottom:5px;

    background: linear-gradient(
        90deg,
        #222,
        #777,
        var(--rojo)
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.subtitle{
    color:#666;
    margin-bottom:20px;
}

/* ================================
INFO
================================ */
.contacto-info{
    margin-bottom:20px;
}

.info-item{
    display:flex;
    gap:10px;
    margin-bottom:15px;
    align-items:flex-start;
}

.info-item span{
    font-size:18px;
}

.info-item p{
    font-size:14px;
    color:#555;
}

/* ================================
BOTÓN
================================ */
.btn.primary{
    display:block;
    text-align:center;

    background: linear-gradient(
        135deg,
        var(--rojo),
        var(--rojo-hover)
    );

    color:#fff;

    padding:12px;
    border-radius:30px;
}

/* RESPONSIVE */
@media(max-width:768px){
    .contacto-box{
        left:20px;
        right:20px;
        max-width:100%;
    }

    .contacto-mapa{
        height:400px;
    }
}



.contact{
    padding:80px 40px;
    text-align:center;
    background: var(--blanco);
}

/* TITULO */
.contact h2{
    font-size:36px;
    margin-bottom:10px;

    background: linear-gradient(
        90deg,
        #111,
        #666,
        var(--rojo)
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* SUBTITLE */
.contact .subtitle{
    margin-bottom:30px;
    color: var(--gris-oscuro);
}

/* INFO */
.contact-info{
    margin-bottom:30px;
    line-height:1.8;
    font-size:15px;
    color: var(--texto);
}

/* ================================
BOTÓN ROJO PREMIUM
================================ */
.btn{
    display:inline-block;
    padding:14px 28px;

    background: linear-gradient(
        135deg,
        var(--rojo),
        var(--rojo-hover)
    );

    color:#fff;
    text-decoration:none;
    border-radius:30px;
    font-weight:600;

    transition:0.3s ease;

    box-shadow:
        0 6px 18px rgba(229,57,53,0.25);
}

/* HOVER */
.btn:hover{
    transform: translateY(-2px) scale(1.03);

    box-shadow:
        0 12px 28px rgba(229,57,53,0.35);
}

/* CLICK EFECTO */
.btn:active{
    transform: scale(0.98);
}
/* ================================
SLIDER
================================ */
.slider {
    position: absolute;
    width: 100%;
    height: 100%;
}

/* SLIDES */
.slide {
    position: absolute;
    width: 100%;
    height: 100%;

    background-size: cover;
    background-position: center;

    opacity: 0;
    transform: scale(1.1);

    transition: opacity 1.2s ease, transform 6s ease;
}

/* ACTIVO */
.slide.active {
    opacity: 1;
    transform: scale(1);
}

/* OPCIONAL: CAPA SUAVE PARA CLARIDAD */
.slide::after{
    content:"";
    position:absolute;
    inset:0;

}

/* ================================
LOGO
================================ */
.logo img {
    height: 90px;
    object-fit: contain;

    transition: 0.3s ease;
}

/* HOVER LOGO */
.logo img:hover{
    transform: scale(1.05);
}