.elc-overlay{
	position:fixed;
	inset:0;
	background:rgba(15,23,42,.35);
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:99999;
}
.elc-spinner{
	width:42px;
	height:42px;
	border:4px solid #fff;
	border-top-color:#337ab7;
	border-radius:50%;
	animation:elc-spin .7s linear infinite;
}
@keyframes elc-spin{
	to{transform:rotate(360deg);}
}

.slider-container{
	position:relative;
	width:100%;
	max-width:803px;
	margin:0 auto;
	overflow:hidden;
	border-radius:10px;
	box-shadow:0 2px 10px rgba(0,0,0,.3);
}
.slider{
	display:flex;
	transition:transform .6s ease-in-out;
}
.slider img{
	width:100%;
	height:auto;
	flex-shrink:0;
}
.arrow{
	position:absolute;
	top:50%;
	right:10px;
	transform:translateY(-50%);
	font-size:24px;
	color:#fff;
	background:rgba(0,0,0,.4);
	border:none;
	border-radius:50%;
	padding:5px 10px;
	cursor:pointer;
	z-index:10;
}
.arrow:hover{background:rgba(0,0,0,.6);}
.slider-wrapper{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:20px;
	margin:0 auto 10px;
	max-width:1200px;
}

.logos-clientes{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:20px;
	padding:10px;
}
.logos-clientes img{object-fit:contain;}
.div-logos-clientes{
	font-size:18px;
	font-family:Arial,sans-serif;
}

.div-tabla{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:20px;
	padding:10px;
}
.div-tabla table{
	width:50%;
	border-collapse:collapse;
	background:#fff;
	border-radius:12px;
	overflow:hidden;
	box-shadow:0 10px 25px rgba(0,0,0,.15),0 5px 10px rgba(0,0,0,.1);
	transition:all .3s ease;
}
.div-tabla table:hover{
	transform:translateY(-5px) scale(1.01);
	box-shadow:0 20px 40px rgba(0,0,0,.2),0 10px 15px rgba(0,0,0,.15);
}
.div-tabla td{
	border-bottom:1px solid #eee;
	border-left:1px solid #A7A3A4;
}
.div-tabla tr:first-child{
	background:linear-gradient(135deg,#e3f2fd,#bbdefb);
	font-weight:bold;
}
.div-tabla tr:nth-child(even){background-color:#f8f9fa;}
.div-tabla td span{font-weight:600;}
.div-tabla td img{
	display:inline-block !important;
	vertical-align:middle;
	margin-right:5px;
}
.div-tabla > table td{
	white-space:nowrap;
	display:table-cell;
	vertical-align:middle;
}

.tabla-responsive{
	width:100%;
	max-width:100%;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	display:block;
}
.elc-tabla-centrada{
	display:flex;
	justify-content:center;
	width:100%;
}
.elc-tabla-centrada .tabla-laboratorios{
	width:auto;
	min-width:0;
	max-width:100%;
	margin:0 auto;
}
.tabla-laboratorios{
	width:max-content;
	min-width:1100px;
	border-collapse:collapse;
	font-size:14px;
}
.tabla-laboratorios td,
.tabla-laboratorios th{
	border:1px #337ab7 solid;
	text-align:center;
	padding:7px;
	vertical-align:middle;
	white-space:normal !important;
	word-break:break-word;
}
.tabla-laboratorios img{max-height:16px;}

.panel-primary .panel-heading{
	background:#337ab7;
	color:#fff;
	padding:10px 15px;
	border-radius:4px 4px 0 0;
}
.panel-primary .panel-body{
	background-color:aliceblue;
	padding:15px;
	border:1px solid #337ab7;
	border-top:0;
	border-radius:0 0 4px 4px;
}

.elc-select-hidden{
	position:absolute !important;
	width:1px !important;
	height:1px !important;
	opacity:0;
	pointer-events:none;
}
.elc-combo{
	position:relative;
	width:100%;
	max-width:400px;
}
.elc-combo-toggle.form-control{
	height:auto;
	min-height:40px;
	background:#fff;
	color:#000;
	border:2px solid #337ab7;
	border-radius:10px;
	font-size:14px;
	font-weight:700;
	text-align:left;
	padding:8px 36px 8px 12px;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23337ab7' d='M0 0l6 8 6-8z'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 12px center;
}
.elc-combo-toggle.form-control:focus{
	border-color:#2e6da4;
	box-shadow:none;
}
.panel-primary .panel-body.elc-panel-body,
.elc-panel-body{
	overflow:visible;
}
.elc-combo-menu{
	display:none;
	position:absolute;
	top:100% !important;
	bottom:auto !important;
	left:0;
	right:0;
	transform:none !important;
	inset:auto auto auto 0 !important;
	z-index:1050;
	margin:2px 0 0;
	padding:8px 0 0;
	background:#fff;
	border:1px solid #ccc;
	border-radius:4px;
	box-shadow:0 6px 12px rgba(0,0,0,.175);
	max-height:320px;
	overflow:hidden;
}
.elc-combo.open .elc-combo-menu{display:block;}
.elc-combo-search{
	margin:0 8px 8px;
	width:calc(100% - 16px);
}
.elc-combo-list{
	list-style:none;
	margin:0;
	padding:0;
	max-height:250px;
	overflow-y:auto;
}
.elc-combo-list li{
	padding:8px 14px;
	cursor:pointer;
	font-size:14px;
	line-height:1.3;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.elc-combo-list li:hover,
.elc-combo-list li:focus{
	background:#e8f1ff;
	color:#0f172a;
}

.audit{
	background:linear-gradient(135deg,#0f3460,#16407a);
	color:#eaf2fc;
	border-radius:12px;
	padding:30px 34px;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:18px;
	justify-content:space-between;
	margin-top:30px;
}
.audit .t{
	font-size:18px !important;
	font-weight:700;
	color:#fff;
	line-height:1.25;
}
.audit .seals{display:flex;gap:10px;}
.audit .seal{
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.25);
	border-radius:8px;
	padding:8px 14px;
	font-size:16px !important;
	font-weight:700;
}

@media (max-width:768px){
	.div-tabla table{width:100% !important;font-size:14px;}
	.div-tabla td{padding:6px !important;font-size:12px !important;word-break:break-word;}
	.div-tabla td img{display:none;}
	.div-tabla td span{font-size:12px !important;}
	#link_presupuesto{display:none;}
	.tabla-laboratorios{min-width:1100px;font-size:12px;}
	.slider-wrapper{flex-direction:column;}
}
@media (max-width:576px){
	.elc-combo{
		width:100% !important;
		max-width:100% !important;
	}
}
