@charset "UTF-8";

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.contenedor-principal {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    padding: 20px 10px 40px 10px;
    width: 100%;
    text-align: center;
}

#logo1 {
    margin-bottom: 35px;
}

#logo1 img {
    max-width: 100%;
    height: auto;
}

.menu-opciones {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    gap: 20px;
    margin-bottom: 150px;
    max-width: 100%;
}

.menu-item {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
}

/* Tarjeta flotante descriptiva (Tooltip/Hover card) con alto contraste */
.tooltip-card {
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    width: 265px;
    background-color: #ffffff;
    color: #2C3E50;
    padding: 14px 16px;
    border-radius: 12px;
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25), 0 3px 8px rgba(0, 0, 0, 0.08);
    border: 1px solid #E2E8F0;
    border-top: 4px solid #E67E22;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
    z-index: 100;
}

.tooltip-card::before {
    content: '';
    position: absolute;
    top: -9px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 0 8px 8px 8px;
    border-style: solid;
    border-color: transparent transparent #E67E22 transparent;
}

.tooltip-card h4 {
    margin: 0 0 6px 0;
    font-size: 13.5px;
    font-weight: bold;
    color: #D35400;
}

.tooltip-card p {
    margin: 0;
    font-size: 12px;
    line-height: 1.45;
    color: #4A5568;
}

.menu-item:hover .tooltip-card {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.iconohome {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    background-image: url(../../imgb/ejec_plan/home.png);
    /* background-color: #a2a39b; */
    background-size: 100px 110px;
    background-repeat: no-repeat;
    background-position: center;
    width: 150px;
    height: 150px;
    cursor: pointer;
}

.iconohome:hover {
    background-image: url(../../imgb/ejec_plan/home_texto.png);
    background-color: #a2a39b;
    background-size: 110px 150px;
    width: 170px;
    height: 170px;
}

.iconoqueesejecutor {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    background-image: url(../../imgb/ejec_plan/que_es_sin.png);
    background-size: 270px 235px;
    background-repeat: no-repeat;
    background-position: center;
    width: 250px;
    height: 250px;
    cursor: pointer;
}

.iconoqueesejecutor:hover {
    background-image: url(../../imgb/ejec_plan/que_es_con.png);
}

.iconoagenda {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    background-image: url(../../imgb/ejec_plan/agenda.png);
    background-size: 260px 110px;
    background-repeat: no-repeat;
    background-position: center;
    width: 250px;
    height: 250px;
    cursor: pointer;
}

.iconoagenda:hover {
    background-image: url(../../imgb/ejec_plan/agenda_texto.png);
    background-size: 270px 150px;
}

.iconociudadano {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    background-image: url(../../imgb/ejec_plan/ciudadano_sin3.png);
    background-size: 270px 235px;
    background-repeat: no-repeat;
    background-position: center;
    width: 250px;
    height: 250px;
    cursor: pointer;
}

.iconociudadano:hover {
    background-image: url(../../imgb/ejec_plan/ciudadano_con3.png);
}

.iconoservidor {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    background-image: url(../../imgb/ejec_plan/funcionario_sin4.png);
    background-size: 270px 235px;
    background-repeat: no-repeat;
    background-position: center;
    width: 250px;
    height: 250px;
    cursor: pointer;
}

.iconoservidor:hover {
    background-image: url(../../imgb/ejec_plan/funcionario_con2.png);
}

@media (max-width: 840px) {
    .menu-opciones {
        gap: 12px;
    }

    .iconoqueesejecutor,
    .iconociudadano,
    .iconoservidor,
    .iconoagenda {
        width: 190px;
        height: 190px;
        background-size: contain;
    }
}

footer {
    width: 100%;
    min-height: 80px;
    background-color: #212F3D;
    margin-top: auto;
}

