/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
/* 
    Created on : 16 feb. 2021, 13:41:38
    Author     : uriel
*/
/* para debug */

:root {
    --line-height: 68px;
    --line-margin-bottom: 10px;
}

.xdebug-error
{
    margin:100px;
    position: fixed;
    z-index: 100000;
}
/* default base*/
button:active,
button:focus {
    /*  background-image: none;*/
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.oculto{
    display:none;
}
.txt_loader{
    font-size: 19px;
}
.loader {
    border: 6px solid #f3f3f3;
    border-radius: 50%;
    border-top: 6px solid blue;
    border-bottom: 6px solid blue;
    width: 50px;
    height: 50px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
    float: left;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.ft-refresh-cw {
    border: 1px solid #85fbff;
    border-radius: 5px;
    padding: 2rem; /* Usar rem en lugar de px */
    background: #ffffff;
    width: 95vw;
    max-width: 500px; /* Ancho máximo para pantallas grandes */
    margin: 0 auto; /* Centrar horizontalmente */
    box-sizing: border-box; /* Incluir padding en el width */
}

/* Para tablets */
@media (max-width: 768px) {
    .ft-refresh-cw {
        width: 90vw;
        padding: 1.5rem;
        max-width: 400px;
    }
}

/* Para móviles */
@media (max-width: 480px) {
    .ft-refresh-cw {
        width: 95vw;
        padding: 1rem;
    }
}


.line-h{
    padding-top: 1px;
    padding-bottom:  1px;
    margin-bottom: var(--line-margin-bottom);
    min-height: var(--line-height) !important;
}
.adderror{
    box-shadow: 0 0 0 1px #ab2929 !important;
}
/* Make Footer Sticky */
#footer_container
{
    bottom:0;
    height:40px;
    left:0;
    position:fixed;
    width:100%;
    padding: 0px 215px;

}

#footer
{
    line-height:40px;
    margin:0 auto;
    width:100%;
    text-align:center;
    color:#FFF;
    position: fixed;
    bottom: 0;
    background-color:#333333;
    padding-bottom: 10px;
    z-index: 6;
}

input.milliard{
    text-align: right!important;
}

::-webkit-input-placeholder {
    text-align: left;
}

:-moz-placeholder { /* Firefox 18- */
    text-align: left;
}

::-moz-placeholder {  /* Firefox 19+ */
    text-align: left;
}

:-ms-input-placeholder {
    text-align: left;
}
/* hover style just for information */
label:hover:before {
    border: 2px solid #4778d9!important;
}
.ui-autocomplete{
    z-index: 10000;
}
.ui-autocomplete .ui-state-focus{
    background-color:#4496FE!important;
    color:white!important;
}

.ps__scrollbar-x-rail,
.ps__scrollbar-y-rail {
    opacity: 0.6!important;
}


input.error,
textarea.error,
select.error{
    border: 1px #AA0000 solid!important;
}

.autocomplete-add-item a{
    padding: 10px 0px;
}
.autocomplete-add-item{
    margin-top:5px!important;
    background-color:#97DB53;
    color:#FFF!important;
    font-weight: bold!important;
}



.selectorfechaRango .ui-button-text{
    padding:0px!important;
}
.selectorfechaRango{
    margin:0px 4px;
}


.ui-corner-all .ui-state-focus,
.ui-corner-all .ui-state-hover
{
    background-color: #4C9EFA!important;
}

.ui-corner-all .ui-state-focus a,
.ui-corner-all .ui-state-hover a
{
    color:white!important;
}


.mastercard{
    background: url(../brand/icos/mastercard_2.svg) no-repeat right center / 65px;
}
.amex{
    background: url(../brand/icos/amex.svg) no-repeat right center / 65px;
}
.carnet {
    background: url('../brand/icos/carnet.svg') no-repeat right center / 65px;
}

.visa,
.visacard{
    background: url(../brand/icos/visa_card.svg) no-repeat right center / 65px;
}

.mx-1 {
    margin-right: .25rem !important;
    margin-left: .25rem !important;
}

/* Estilo del ícono de información */
.creditcart-info {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 0.9rem;
    color: #007bff;
    transition: transform 0.2s ease-in-out;
}

.creditcart-info:hover {
    color: #0056b3;
}

/* Asegurar que el ícono se ajuste en móviles */
@media (max-width: 600px) {
    .creditcart-info {
        right: 5px;
        font-size: 14px;
    }
}


.labelFormPagarFullLeft{
    font-size: 25px;
}
.showPass {
    width: 50px;
    height: 50px;
    position: absolute;
    right: -5px;
    top: 5px;
    background-size: 21px;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
}

.showPass.open {
    background-image: url(../../ui/global/ico/show.svg);
}
.showPass.closed {
    background-image: url(../../ui/global/ico/hide.svg);
}

.contenedores-infos-pagos {
    background: #dcd7e3;
    padding: 10px;
    border-radius: 10px;
    position: relative; /* Añade esto */
    margin-top: 20px !important;
    float: left;
}

.contenedores-infos-pagos::before {
    content: "";
    position: absolute;
    top: -18px; /* Ajusta según el tamaño del triángulo */
    left: 30px; /* Posición horizontal del triángulo */

    /* Triángulo usando bordes */
    border: 10px solid transparent;
    border-bottom-color: #dcd7e3; /* Color del triángulo */

    width: 0;
    height: 0;
}
/*.form-floating > label{
    top: 5px !important;
}
.form-floating > .form-control, .form-floating > .form-control-plaintext, .form-floating > .form-select{
    min-height: 53px !important;
}*/

.card {
		border-radius: 12px;
		box-shadow: 0 0 20px rgba(0,0,0,0.1);
		border: none;
	}

	.header {
		background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
		color: white;
		border-radius: 12px 12px 0 0;
		padding: 20px;
	}

	.step-box {
		background-color: #f0f4ff;
		border-radius: 10px;
		padding: 15px;
		margin-bottom: 15px;
		border-left: 4px solid #2575fc;
	}

	.browser-icon {
		font-size: 2rem;
		margin: 10px;
		color: #2575fc;
	}

	.incompatible {
		color: #dc3545  !important;
	}

	.compatible {
		color: #198754 !important;
	}

	.highlight {
		background-color: #fff3cd;
		border-left: 4px solid #ffc107;
		padding: 15px;
		border-radius: 8px;
	}

	/* Estilos personalizados para los textos */
	.custom-text {
		font-family: 'DM Sans', sans-serif;
		font-size: 24px;
		color: #200d0d !important;
		line-height: 1.1;
		margin-bottom: 1rem;
	}

	.custom-text-sm {
		font-family: 'DM Sans', sans-serif;
		font-size: 20px;
		color: #200d0d !important;
		line-height: 1.1;
		margin-bottom: 1rem;
	}

	.custom-text-md {
		font-family: 'DM Sans', sans-serif;
		font-size: 22px;
		color: #200d0d;
		line-height: 1.1;
		margin-bottom: 1rem;
	}

	/* Clases para bloques específicos */
	.container-bloque-1 div.text-content,
	.container-bloque-2 div.text-content {
		font-family: 'DM Sans', sans-serif;
		font-size: 24px;
		color: #200d0d !important;
		line-height: 1.1;
		margin-bottom: 1rem;
	}

	/* Sobrescribir estilos para alertas */
	.custom-alert div {
		font-family: 'DM Sans', sans-serif;
		font-size: 22px;
		color: #200d0d !important;
		line-height: 1.2;
		margin-bottom: 0;
	}
	.mensaje-errors .h1, .mensaje-errors .h2,.mensaje-errors  .h3, .mensaje-errors .h4, .mensaje-errors .h5,.mensaje-errors  .h6, .mensaje-errors h1,.mensaje-errors  h2,.mensaje-errors  h3,.mensaje-errors  h4,.mensaje-errors  h5,.mensaje-errors  h6{
		color : rgb(33, 37, 41) !important;

	}

	.regresiva {
		width: 100%;
		text-align: center;
		padding: 12px 0;
		font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
		font-size: 16px;
		background-color: #f8f9fa;
		color: #495057;
		border-bottom: 1px solid #e9ecef;
		position: relative;
		overflow: hidden;
		letter-spacing: 0.3px;
	}

	/* Efecto de brillo sutil */
	.regresiva::before {
		content: '';
		position: absolute;
		top: 0;
		left: -100%;
		width: 100%;
		height: 100%;
		background: linear-gradient(90deg,
		transparent,
		rgba(255,255,255,0.8),
		transparent);
		animation: shine 3s infinite;
	}

	#countdown {
		display: inline-block;
		min-width: 32px;
		padding: 4px 10px;
		margin: 0 6px;
		background-color: white;
		border-radius: 20px;
		font-size: 18px;
		font-weight: 600;
		color: #212529;
		border: 1px solid #dee2e6;
		animation: pulse 1s ease-in-out infinite;
		box-shadow: 0 2px 8px rgba(0,0,0,0.02);
		transition: all 0.2s ease;
	}

	/* Animación de brillo */
	@keyframes shine {
		100% {
			left: 100%;
		}
	}

	/* Animación de pulso más sutil */
	@keyframes pulse {
		0%, 100% {
			transform: scale(1);
			box-shadow: 0 2px 8px rgba(0,0,0,0.02);
			border-color: #dee2e6;
		}
		50% {
			transform: scale(1.03);
			box-shadow: 0 4px 12px rgba(0,0,0,0.05);
			border-color: #adb5bd;
		}
	}

	/* Animación cuando cambia el número */
	@keyframes numberPop {
		0% {
			transform: scale(0.9);
			background-color: #e9ecef;
		}
		100% {
			transform: scale(1);
			background-color: white;
		}
	}

	/* Clase para cuando el número cambia */
	#countdown.pop {
		animation: numberPop 0.3s ease-out;
	}

	/* Para pantallas pequeñas */
	@media (max-width: 768px) {
		.regresiva {
			padding: 10px 0;
			font-size: 14px;
		}

		#countdown {
			min-width: 28px;
			padding: 3px 8px;
			font-size: 16px;
			margin: 0 4px;
		}
	}

	/* Contenedor principal del voucher */
	.voucher-container {
		max-width: 90%;
		margin: 0 auto;
		padding: 20px;
		text-align: center;
	}

	/* Tarjeta del voucher */
	.voucher-card {
		background: white;
		border-radius: 8px;
		border: 1px solid #e8e8e8;
		overflow: hidden;
	}

	/* Tabla del voucher */
	.voucher-table {
		display: table;
		width: 100%;
		border-collapse: collapse;
	}

	/* Filas de la tabla */
	.voucher-row {
		display: table-row;
	}

	/* Celdas de la tabla */
	.voucher-cell {
		display: table-cell;
		padding: 12px 20px;
		word-break: break-all;
		vertical-align: middle;
	}

	/* Encabezados */
	.voucher-header {
		background: #f8f9fa;
		font-size: 12px;
		color: #888;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		border-bottom: 2px solid #e8e8e8;
	}

	.voucher-header:first-child {
		border-right: 1px solid #e8e8e8;
	}

	/* Valores */
	.voucher-value {
		font-size: 17px;
		font-weight: 600;
		color: #333;
		background: white;
	}

	.voucher-value-interno {
		font-size: 17px;
		font-weight: 600;
		color: #f0ad4e;
		background: #fffcf0;
		border-left: 1px solid #e8e8e8;
	}

	/* Responsive para mobile */
	@media (max-width: 768px) {
		.voucher-container {
			max-width: 95%;
			padding: 15px;
		}

		.voucher-cell {
			padding: 10px 12px;
		}

		.voucher-header {
			font-size: 10px;
			padding: 10px 12px;
		}

		.voucher-value,
		.voucher-value-interno {
			font-size: 14px;
			padding: 15px 12px;
		}
	}

	/* Para pantallas muy pequeñas (teléfonos) */
	@media (max-width: 480px) {
		.voucher-container {
			max-width: 98%;
			padding: 10px;
		}

		.voucher-cell {
			padding: 8px 10px;
		}

		.voucher-header {
			font-size: 9px;
			padding: 8px 10px;
			letter-spacing: 0.3px;
		}

		.voucher-value,
		.voucher-value-interno {
			font-size: 12px;
			padding: 12px 10px;
		}
	}