body {
    font-family: "Libre Franklin", sans-serif !important;
}

:root {
    --sat: #93d500;
    --sat-green-dark: #7fb300;
}

section {
    padding: 30px 0;
}

.title-center{
    text-align: center;
    margin: 25px 0px;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~ Menu SAT PCS (Inicio) ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.sat-topbar{
    background: var(--sat);
}
.sat-logo{
    height: 40px;
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~ Barra blanca (menú principal) ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.sat-menubar{
    background: #fff;
    border-top: 1px solid rgba(0,0,0,.05);
    border-bottom: 1px solid rgba(0,0,0,.05);
    position: sticky;
    top: 0;
    z-index: 1040; /* por encima del contenido */
    padding: 0px 10px!important;
}
.sat-nav{
    flex-direction: column;
}
/* Apariencia de item activo / hover */
.sat-nav .nav-link{
    font-weight: 600;
    padding: 0.5rem 1rem;
    color: #222;
}
.sat-nav .nav-link:hover,
.sat-nav .nav-link:focus{
    color: var(--sat-green-dark);
}
/* Indicador inferior sutil en activo/hover (desktop) */
@media (min-width: 992px){
    .sat-nav .nav-item:hover > .nav-link{
    box-shadow: inset 0 -2px 0 0 var(--sat);
    }
}

/* Mega-menu */
.mega-menu{
    min-width: 712px;
    max-width: 1080px;
    border: 0;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    font-size: 14px;
    padding: 0px 1.5rem !important;
}
.meg-menu-1{
    min-width: 570px !important;
}
.meg-menu-2{
    min-width: 230px !important;
}
.mega-menu h6{
    font-size: .9rem;
    font-weight: 800;
    color: var(--sat);
    text-transform: uppercase;
    letter-spacing: .02em;
    margin-bottom: .35rem;
}
.mega-menu .list-unstyled a{
    display: block;
    padding: .25rem 0;
    color: #333;
    text-decoration: none;
}
.mega-menu .list-unstyled a:hover{
    color: var(--sat-green-dark);
    text-decoration: none;
}
.mega-menu-cont{
    margin-top: 0px !important;
}
.mega-menu-cont>div{
    margin-top: 10px;
}

/* Oculta el caret del texto */
.sat-menubar .dropdown-toggle::after{ display:none !important;}

/* Asegura que el menú no recorte el piquito */
.sat-menubar .dropdown-menu.mega-menu{
    --mm-pointer-x: 24px;  /* lo mueves con JS o lo dejas fijo */
    overflow: visible;     /* importante si usas top negativo */
    z-index: 1051;
}

/* ▼ Triángulo que apunta hacia abajo (desde la parte superior del menú) */
.sat-menubar .dropdown-menu.mega-menu::before{
    content: "";
    position: absolute;
    left: var(--mm-pointer-x);
    /* opción A: usando desplazamiento negativo */
    top: -10px;
    transform: translateX(-50%);

    width: 0; height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid var(--sat-green, #93d500); /* ← clave: border-top */
    filter: drop-shadow(0 -1px 0 rgba(0,0,0,.06));
    top: 0;
}

.menu-inf .nav-item{
    border-top: 1px solid var(--sat);
}
.menu-sup-borde>li:not(:last-child),
.menu-inf>li:not(:last-child) {
    border-right: 1px solid var(--sat);
    padding: 0px 20px !important;
}
.menu-sup-borde li a,
.menu-inf li a {
    padding: 0px 20px;
}

/* Hover en desktop: mostrar dropdown */
@media (min-width: 992px){
    .dropdown-hover .dropdown-menu{
        margin-top: 0; /* pegado a la barra */
    }
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~ Menu SAT PCS (Fin) ~~~~~~~~~~~~~~~~~~~~~~~~~~ */


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~ footer ~~~~~~~~~~~~~~~~~~~~~~~~~~ */

.sat-footer{ background:#0b0b0b; color:#fff; }
.sat-footer a{ color:#f1f1f1; text-decoration:none; }
.sat-footer a:hover{ color:var(--sat); }
.sat-footer h6{
    font-weight:800; text-transform:uppercase; letter-spacing:.02em;
    font-size: .95rem; margin-bottom:1rem;
}
.sat-footer .logo{ max-width: 220px; height:auto; }

/* Suscripción */
.sat-footer .subscribe .form-control{
    background:#111; border:1px solid #333; color:#fff;
}
.sat-footer .subscribe .input-group-text{
    background:#111; border:1px solid #333; color:#9aa0a6;
}
.sat-footer .subscribe .btn{
    background:#fff; border:0; color:var(--sat); font-weight:700;
}

/* Redes */
.sat-footer .social .btn{
    width:56px; height:56px; border:1px solid #333; color:#fff;
    display:flex; align-items:center; justify-content:center; background:transparent;
    border-radius:.375rem;
}
.sat-footer .social .btn:hover{ border-color:var(--sat); color:var(--sat); }

.sat-footer .divider{ border-top:1px solid rgba(255,255,255,.08); margin:1rem 0; }
.sat-footer .mini{ color:#cfcfcf; font-size:.95rem; }

.formulario .form-control{
    border-color: #fff!important;
    border-left: 0px!important;
}
.formulario span{
    border-color: #fff!important;
    border-right: 0px!important;
    border-radius: 0px!important;
}
.formulario .btn{
    border-radius: 0px!important;
}
.social .btn{
    border-color: #fff!important;
    border-radius: 0px!important;
}
.footer-cc{
    background: #0b0b0b;
    padding: 20px 0;
    overflow: hidden;
    color: #fff;
    font-weight: 700;
}