@charset "utf-8";
/* === BÁSICOS === */
*{
	padding: 0;
	margin: 0;
}
body{
    font-family: "Poppins", sans-serif;
}
header{
    position:relative;
    
}
header.header-absolute {
    position: absolute;
    z-index:1000;
	width: 100%;
}
nav{
	
}
main{
	
}
article{
	
}
aside{
	
}
footer{
	
}
.head_a{
	
}
.head_b{
  
}
.head_b_menu{
  background-color: #000000;  
}
.sub-head-a{
	background-color: #000000;
	padding: 3px 0;
    font-size: 0.8rem;
    color:#FFFFFF;
}
.head_b-color{
 	background-color: #000000;
}
.fijo{
	position:fixed; top:0; z-index: 5000;
	background: rgba(0, 0, 0, 0.9); /* Fondo inicial */
    transition: background 0.5s ease; /* Transición suave para el fondo */
}
/* === REDES SOCIALES CABECERA === */
.red-soc-top{
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
}
.red-soc-top li{
	border-radius: 50%;
	width: 28px;
	height: 28px;
	display: flex;
	flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
	background: #FFFFFF;
	margin: 0 2px;
}
.red-soc-top li a{
	color: #000000;
	font-size: 0.9rem;
	text-decoration: none;
    display:flex;
    justify-content: center;
    align-items: center;
}
/* === REDES SOCIALES FOOTER === */
.red-soc-foot{
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
}
.red-soc-foot li{
	border-radius: 50%;
	
	
	background: #FFFFFF;
	margin: 0 5px;
}
.red-soc-foot li a{
	color: #000000;
	font-size: 0.9rem;
	text-decoration: none;
    width: 28px;
	height: 28px;
    display: flex;
	flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
/* === LOGO TOP === */
.ac-cont-logo-top{
	display: flex;
	max-width: 250px;
}
/* === BOTONES TOP === */
.ac-btn-top{
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content:flex-end;
	align-items: center;
    gap: 5px;
}
.ac-btn-top li{
	background: #DFE8ED;
	border-radius: 4px;
}
.ac-btn-top a{
	text-decoration: none;
	text-align: center;
	padding: 5px 15px;
	display: block;
}
.ac-btn-top .ac-btn-title{
	font-size: 0.85rem;
	color:#000000;
}
.ac-btn-top .ac-btn-desc{
	font-size: 0.8rem;
	color:#C6C3C3;
}
#cont_slider{
position: relative;
background:#FFFFFF;
} 
#ac-cont-btn-slider{
 	position: absolute;
  	bottom: 10px; 
    z-index:500;
    left: 50%; /* Mueve el inicio del div al centro */
    transform: translateX(-50%);
    width: auto;        
    white-space: nowrap;
}
#btns-bottom-slider{
position: absolute;
	z-index: 200;
	bottom: 0;
}
#btns-bottom-slider ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	gap: 20px; /* espacio entre botones */
}
/* El slider como referencia */
#sliderPrincipal {
    position: relative;
}
/* Overlay solo 30% superior */
#sliderPrincipal::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 45%;   /* 👈 30% del ALTO del slider */
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.8) 55%,
        rgba(0, 0, 0, 0) 100%
    );
    z-index: 2;
    pointer-events: none; /* no bloquea botones */
}
/* Ajustes de capas */
#sliderPrincipal .carousel-inner {
    position: relative;
    z-index: 1;
}
#sliderPrincipal .carousel-control-prev,
#sliderPrincipal .carousel-control-next,
#sliderPrincipal .carousel-caption {
    z-index: 3;
}
.num-popup_a{
	 border-radius:50%;
	 background:#0D83FD;
	 width:25px;
	 height:25px;
	 color:#ffffff;
	 display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    font-size:0.8rem;
}
/* === LISTA CONTACTOS === */
.ac-contacto-list{
 list-style:none;
 padding:0;
 margin:0;
}
.ac-contacto-list li{
 font-size:0.75rem;
 margin-bottom:3px;
}
.ac-contacto-list span{
 margin-right:5px;
 font-size:0.9rem;
 position:relative;
   top:2px;
}
/* === FIN BÁSICOS */
/* Extra pequeño (teléfonos muy pequeños) */
@media (max-width: 360px) { }
/* Teléfonos pequeños */
@media (max-width: 480px) { }
/* Teléfonos "normales" */
@media (max-width: 576px) { }
/* Tablets vertical */
@media (max-width: 768px) { }
/* Tablets horizontal / pantallas medianas */
@media (max-width: 992px) { }
/* Laptops / pantallas grandes */
@media (max-width: 1200px) { }
/* Monitores extra grandes */
@media (max-width: 1400px) { }