:root{
	--dark: #323232;
	--success: #5DBB27;
	--primary: #00CCFF;
	--secondary: #FF0066;
	--warning: #FED700;
	--gradient: linear-gradient(90deg, rgba(0,174,78,1) 0%, rgba(0,137,165,1) 100%);
}

@font-face{
	font-family: DidactGothic;
	src: url('DidactGothic.ttf');
}

html,
body{
	font-size: 15px;
	position: relative;
	color: #323232;
	font-family: DidactGothic;
	margin: 0px;
	padding: 0px;
	height: 100%;
}

#input_cantidad,
#input_cantidad_modal{
	display: inline-block;
	max-width: 150px;
	margin-right: 5px;
}

#input_cantidad .btn-outline-dark,
#input_cantidad_modal .btn-outline-dark{
	border: 1px solid #CCC !important;
	border-radius: 0px;
}

.input-group-prepend{
	position: relative;
	z-index: 0;
}

#btn_whatsapp{
	position: fixed;
	bottom: 2px;
	right: 2px;
}

#btn_whatsapp:hover{
	filter: drop-shadow(0px 0px 5px #000);
}

.slick-left .slick-track{
	margin-left:0;
}

.precios_carrito{
	color: #666;
}

.nav-tabs .active{
	color: #666 !important;
	background-color: var(--warning) !important;
	border: 1px solid var(--warning) !important;
	border-bottom: 1px solid #EEE !important;
}

.nav-tabs .nav-link{
	color: var(--dark);
}

select option{
	font-family: arial;
	font-size: 14px;
}

#msj_php {
  display: none;
  z-index: 99999;
  position: fixed;
  top: 0px;
  right: 0px;
  width: 300px;
  padding: 8px 10px;
  box-shadow: 0px 0px 10px #666;
}

#msj_php i {
  margin-right: 3px;
}

.link-active{
	color: var(--primary) !important;
}

.link-dark{
	color: var(--dark) !important;	
	display: inline-block;	
	text-decoration: none;
}

.link-dark:hover{
	color: var(--primary) !important;	
}

.success {
  border: 1px solid #009E37;
  background-color: #009E37;
  color: #FFF;
}

.info {
  border: 1px solid #00A8EF;
  background-color: #00A8EF;
  color: #FFF;
}

.error {
  border: 1px solid #DD0024;
  background-color: #DD0024;
  color: #FFF;
}

.btn-info{
	color:#FFF !important;
}

.btn-outline-primary{
	background-color: transparent;
	border: 1px solid var(--primary);
	color: var(--primary);
}

.btn-outline-primary:hover{
	background-color: var(--primary) !important;
	border: 1px solid var(--primary) !important;
	color: #FFF !important;
}

.btn-primary{
	background-color: var(--primary);
	border: 1px solid var(--primary);
	color: #FFF;
}

.btn-primary:hover{
	background-color: #01C9F9 !important;
	border: 1px solid var(--primary) !important;
	color: #FFF !important;
}


.btn-warning{
	background-color: var(--warning);
	border: 1px solid var(--warning);
	color: #666;
}

.btn-secondary{
	border: 1px solid var(--secondary);
	background-color: var(--secondary);
	color: #FFF;
}

.btn-secondary:hover{
	border: 1px solid #D5045B !important;
	background-color: #D5045B !important;
	color: #FFF !important;
}

.btn-outline-secondary{
	border: 1px solid var(--secondary);
	background-color: transparent;
	color: var(--secondary);
}

.btn-outline-secondary:hover{
	border: 1px solid var(--secondary) !important;
	background-color: var(--secondary) !important;
	color: #FFF !important;
}

.btn-dark{
	border: 1px solid var(--dark);
	background-color: var(--dark);
	color: #FFF;
}

.btn-dark:hover{
	border: 1px solid #212529 !important;
	background-color: #212529 !important;
	color: #FFF !important;
}


.btn-outline-dark{
	background-color: #FFF;
}

#cargando {
  display: none;
  height: 100%;
  min-height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

#cargando,
#cargando img {  
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  text-align: center;
}

#cargando img {
  margin: auto;
  width: 180px;
  height: 150px;
  border-radius: 10px;
  background-color: #FFF;
  box-shadow: 0px 0px 5px -5px #000;
}

.btn-xs{
	padding:0px 5px;
	font-size:13px;
}

.modal-dialog{
	margin: auto;
	margin-top: 20px;
}

.modal-header{
	border-radius: 0px;
	padding: 8px 10px;
	color:#FFF;
	background: #FF8207; 
	border-bottom: 1px solid #CCC;
}

.form-s {
  width: 100%;
  max-width: 400px;
}

.form-m {
  width: 100%;
  max-width: 600px;
}

.form-l {
  width: 100%;
  max-width: 800px;
}

.form-xl {
  width: 100%;
  max-width: 950px;
}

#contenedor{
	min-height: 100%;
}

.contenedor{
	margin: auto;
	max-width: 1200px;
	padding: 0px 15px;
}

form .col-md-12,
form .col-md-6,
form .col-md-4,
form .col-md-3{
	margin-bottom:10px;
}

#footer{
	border-top:1px solid #EEE;
	color: var(--dark);
	background-color: #FCFCFC;
}

#footer a{
	color: var(--dark);
	text-decoration: none;
}

#footer_bottom_bar{
	color:#FFF;
	background: #FF8207;
	padding:5px 20px;
}

#top_bar{
	background-color: #FF8207;
}

#top_bar{		
	position: relative;
	font-size: 13px;
	border-bottom: 1px solid #DDDDDD;
}

#top_bar a{	
	display: inline-block;
	text-decoration: none;
	padding: 5px 10px;
	color:#FFF !important;
}

.dropdown-item:hover{
	background-color: transparent;
}

.dropdown-item b{
	color: #0062BD;
}

.dropdown-item:hover b{
	color: var(--dark);
}

#header_carrito{
	background-color: #EEE;	
}

#header_movil input:focus,
#header_movil select:focus{
	outline: none !important;
}

.titulos{
	color: var(--dark);
}


.titulos{
	border-bottom: 1px solid #EEE;
	padding-bottom: 8px;
}

.titulos span{
	display: block;
	border-bottom: 2px solid var(--warning);	
	padding-bottom: 8px;
}

.articulos-list{
	color: var(--dark);
}

.articulos-list{
	display: none;
	border-bottom: 1px solid #EEE;
	margin-bottom: 10px;
	width: 100%;
}

.articulos-box{	
	padding-top: 8px;	
	font-size: 14px;
	margin-right: 10px;
	margin-bottom: 10px;
	border: 0px;
	border: 1px solid #EFEFEF;
}

.articulos-box img{
	transition: all linear 0.1s;
}

.articulos-box:hover img{
	transform: scale(1.1);
}

.articulos-box .card-footer{
	border: 0px;
	background-color: #FFF;
}

.articulos-titulos a{	
	text-decoration: none;
	color: #0A64BD;
}

.articulos-precios span{
	font-size: 13px;
	margin-right: 5px;
}

#marcas_estrellas > div{
	width: 120px;
	margin: 10px;	
}

#marcas_estrellas img{
	transition: all linear 0.1s;
}

#marcas_estrellas > div:hover img{
	transform: scale(1.1);
}

#lista_almacenes table tr{
	cursor: pointer;
}

#lista_almacenes table tr:hover{
	text-decoration: underline;
}

.slick-track{
    display: flex !important;
}

.slick-slide{
    display: flex !important;
    height: auto;
    align-items: stretch; 
    justify-content: center;
}

/* === Estilos KPIs flotantes (compactos) === */
.floating-kpis{
  position:fixed;
  left:15px;
  bottom:10px;
  display:flex;
  gap:6px;               /* menos espacio entre cuadros */
  z-index:1040;
}

.floating-kpis .kpi{
  min-width: 85px;       /* más pequeño */
  background:#fff;
  border:1px solid #205a63;
  border-radius:6px;
  padding:4px 6px 6px;   /* menos relleno interno */
  text-align:center;
  box-shadow:0 2px 6px rgba(0,0,0,.12);
}

.floating-kpis .kpi-label{
  display:block;
  font-size:11px;
  margin-bottom:3px;
  color:#205a63;
  font-weight:600;
  line-height:1;
}

.floating-kpis .kpi-value{
  display:block;
  font-size:16px;       /* más chico que antes */
  font-weight:700;
  color:#222;
  line-height:1.1;
}

/* Toasts arriba a la derecha */
#toast-portal{
	background-color:#fff !important; 
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 3000; /* > header/footer/kpis; sube si hace falta */
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none; /* no bloquea clicks en la página */
}
.toast.psk {
  pointer-events: auto;  /* sí permite cerrar el toast */
  min-width: 280px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.16);
}
.toast.psk .toast-header{
  font-weight: 600;
}
.toast.psk .toast-body{
  font-size: 0.95rem;
}
.toast-icon{
  margin-right: 8px;
  font-size: 1rem;
}

@media (max-width:576px){
  .floating-kpis{
    left:10px;
    right:10px;
    flex-wrap:wrap;
    justify-content:center;
    gap:6px;
  }
  .floating-kpis .kpi{ flex:1 1 calc(50% - 6px); }
}

@media print{
  .floating-kpis{ display:none !important; }
}


@media screen and (min-width: 0px){
	.articulos-box{
		max-width: 300px;
	}
	.img_banner_pc{
		display: none;
	}
	.img_banner_movil{
		display: block;
	}
}

@media screen and (min-width: 500px){
	.articulos-box{
		max-width: 200px;
	}
}

@media screen and (min-width: 800px){
	.img_banner_pc{
		display: block;
	}
	.img_banner_movil{
		display: none;
	}
}

@media screen and (min-width: 1000px){

}