*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{
    --color-primario:#6E2B8F;
    --color-secundario:#C8A43C;
    --color-fondo:#F5F5F5;
    --color-texto:#444;
    --color-blanco:#FFF;
    --radio:16px;
    --sombra:0 8px 25px rgba(0,0,0,.08);
}

body{
    background:#FFF;
    font-family:Arial, Helvetica, sans-serif;
}

.contenedor{
    width:95%;
    max-width:1400px;
    margin:auto;
    padding:40px 20px;
}

header{
    text-align:center;
    margin-bottom:40px;
}

header h1{
    color: #308dc4;
    font-size:2rem;
    margin-bottom:10px;
}

header p{
    font-size:1.1rem;
    color:#ff0000;
}

/* ==========================
   ESTRUCTURA PRINCIPAL
========================== */

main{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:30px;
    align-items:start;
}

/* ==========================
   MAPA
========================== */

.mapa{
    background: #FFF;
    border-radius:15px;
    padding:20px;
    min-height:650px;
    display:flex;
    justify-content:center;
    align-items:center;
}

.placeholder{
    text-align:center;
    color:#999;
}

.mapa svg{
    width:100%;
    height:auto;
}

/* ==========================
   PANEL
========================== */

.panel{
    background:white;
    border-radius:15px;
    overflow:hidden;
    box-shadow:var(--sombra);
    display:flex;
    flex-direction:column;
    position:sticky;
    top:20px;
    align-self:flex-start;
    text-align: center;
}

#info{
    padding:25px;
    animation:fadeIn .35s ease;
}

.panel-contenido{
    animation:fadeIn .35s ease;
}

#info h2{
    color: #308dc4;
    margin-bottom:20px;
}


/* ==========================
   BOTON LATERAL QUE TE LLEVA AL MAPA
========================== */

.demo{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    justify-content:center;
}

.demo button{
    background:var(--color-primario);
    color:white;
    border:none;
    padding:15px 20px;
    border-radius:8px;
    cursor:pointer;
    transition:.3s;
}

.demo button:hover{
    background:var(--color-secundario);
}

/* ==========================
   EFECTOS DEL MAPA
========================== */

.mapa path{
    cursor:pointer;
    transition:
        transform .25s ease,
        filter .25s ease,
        fill .25s ease;
    transform-origin:center center;
}

/* Región seleccionada */

.region-activa{
    filter:drop-shadow(0px 4px 8px rgba(0,0,0,.35));
    transform:scale(1.02);
}

/* ==========================
   TARJETAS
========================== */

.tarjeta-oficina{
    background:white;
    border-left:6px solid var(--color-secundario);
    border-radius:12px;
    padding:18px;
    margin-top:18px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
    transition:.25s;
}

.tarjeta-oficina:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 20px rgba(0,0,0,.15);
}

.tarjeta-oficina h3{
    color: #2ecfb4;
    margin-bottom:12px;
}

.tarjeta-oficina p{
    line-height:1.6;
    margin:10px 0;
}

/* ==========================
   BOTÓN GOOGLE MAPS
========================== */

.btn-maps{
    display:inline-block;
    margin-top:15px;
    padding:12px 18px;
    border-radius:10px;
    background:var(--color-primario);
    color:white;
    text-decoration:none;
    font-weight:bold;
    transition:.25s;
}

.btn-maps:hover{
    background:var(--color-secundario);
    transform:translateY(-2px);
}

/* ==========================
   MENSAJE SIN OFICINA
========================== */

.sin-oficina{
    margin-top:20px;
    padding:18px;
    border-radius:12px;
    background:#FFF7E6;
    border-left:5px solid var(--color-secundario);
    color:#7A5A00;
}

/* ==========================
   ANIMACIONES
========================== */

@keyframes fadeIn{

    from{
        opacity:0;
        transform:translateY(15px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

@keyframes rebote {

    0%,100%{

        transform:translate(-50%,-100%);

    }

    50%{

        transform:translate(-50%,-112%);

    }

}

.marcador{

    animation:rebote 1s infinite;

}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:900px){

    main{
        grid-template-columns:1fr;
    }

    .mapa{
        min-height:auto;
    }

    header h1{
        font-size:1.6rem;
    }

    header p{
        font-size:1rem;
    }

}

.animar{
    animation:fadeIn .35s ease;
}


/* ==========================================
   CAPA DE MARCADORES
========================================== */

#mapaWrapper{

    position:relative;
    width:100%;

}


#capaMarcadores{

    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    pointer-events:none;

}

.marcador{
    position:absolute;
    transform:translate(-50%,-100%);
    font-size:28px;
    filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));
    transition:.25s;
    pointer-events:auto;

}

.marcador:hover{
    transform:
        translate(-50%,-100%)
        scale(1.15);

}


/* ==========================================
DISEÑO DE LA IMAGEN DE LAS DELEGACIONES TILIN
========================================== */
.foto-oficina{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:12px;
    margin-bottom:15px;
}

/* ==========================================
ESTE DISEÑO ENTRA EN FUNCIÓN EN CUANTO ME DEN LOS BANDERINES AJUA
========================================== */
.banderin{
    width:34px;
    height:auto;
    transition:.25s;
}

.banderin:hover{
    transform:scale(1.15);
}
/*Ultimo de los cambios telen*/