:root {
    --color-gray: #463f3f;
    --color-cip: #a2171a;
    --fs-xs:   0.75rem;   /* 12px */
    --fs-sm:   0.875rem;  /* 14px */
    --fs-base: 1rem;      /* 16px */
    --fs-lg:   1.125rem;  /* 18px */
    --fs-xl:   1.25rem;   /* 20px */
    --fs-2xl:  1.5rem;    /* 24px */
    --fs-3xl:  1.875rem;  /* 30px */
    --fs-4xl:  2.25rem;   /* 36px */
    --fs-5xl:  3rem;      /* 48px */
    --fs-6xl:  3.75rem;   /* 60px */
    --fs-7xl:  4.5rem;    /* 72px */

    --gray-50:#f9fafb;  --gray-100:#f3f4f6; --gray-200:#e5e7eb;
    --gray-300:#d1d5db; --gray-400:#9ca3af; --gray-500:#6b7280;
    --gray-600:#4b5563; --gray-700:#374151; --gray-800:#1f2937; --gray-900:#111827;

    --blue-600:#2563eb; --red-600:#dc2626; --green-600:#16a34a; --amber-500:#f59e0b;

    --cip-500:#c51b1e;  /* +claro */
    --cip-5002: #c04043;  /* +claro */
    --cip-600:#a2171a;  /* base*/
    --cip-700:#861114;  /* +oscuro */

    --bs-primary: var(--cip-600);
    --bs-danger:  var(--red-600);
    --bs-success: var(--green-600);
    --bs-warning: var(--amber-500);
}

.text-xs   { font-size: var(--fs-xs)   !important; }
.text-sm   { font-size: var(--fs-sm)   !important; }
.text-base { font-size: var(--fs-base) !important; }
.text-lg   { font-size: var(--fs-lg)   !important; }
.text-xl   { font-size: var(--fs-xl)   !important; }
.text-2xl  { font-size: var(--fs-2xl)  !important; }
.text-3xl  { font-size: var(--fs-3xl)  !important; }
.text-4xl  { font-size: var(--fs-4xl)  !important; }
.text-5xl  { font-size: var(--fs-5xl)  !important; }
.text-6xl  { font-size: var(--fs-6xl)  !important; }
.text-7xl  { font-size: var(--fs-7xl)  !important; }

.leading-none    { line-height: 1       !important; }
.leading-tight   { line-height: 1.25    !important; }
.leading-snug    { line-height: 1.375   !important; }
.leading-normal  { line-height: 1.5     !important; }
.leading-relaxed { line-height: 1.625   !important; }
.leading-loose   { line-height: 2       !important; }


.text-gray-500{ color:var(--gray-500)!important; }
.text-gray-700{ color:var(--gray-700)!important; }
.text-gray-800{ color:var(--gray-800)!important; }

.text-cip-500{ color:var(--cip-500)!important; }
.text-cip-600{ color:var(--cip-600)!important; }
.text-cip-700{ color:var(--cip-700)!important; }

.bg-gray-50 { background:var(--gray-50)!important; }
.bg-gray-100{ background:var(--gray-100)!important; }
.bg-gray-800{ background:var(--gray-800)!important; }

.bg-cip-500{ background:var(--cip-500)!important; color:#fff!important; }
.bg-cip-600{ background:var(--cip-600)!important; color:#fff!important; }
.bg-cip-700{ background:var(--cip-700)!important; color:#fff!important; }

.border-gray-200{ border-color:var(--gray-200)!important; }
.border-gray-300{ border-color:var(--gray-300)!important; }
.border-gray-700{ border-color:var(--gray-700)!important; }
.border-cip-600 { border-color:var(--cip-600)!important; }

.bolt{
    font-weight: bold;
}
.color-cip-black{
    color: var(--color-gray);
}
.color-cip-red{
    color: var(--color-cip);
}

.message-error{
    width: 100%!important;
    margin-top: 0.25rem!important;
    font-size: 0.875em!important;
    color: rgb(220, 53, 69)!important;
}

/* loader */
/* Loader centrado en el medio */
.dot-spinner {
    --uib-size: 2.8rem;
    --uib-speed: .9s;
    --uib-color: #183153;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--uib-size);
    width: var(--uib-size);
    z-index: 10;
}

/* Puntos del spinner */
.dot-spinner__dot {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
    width: 100%;
}

.dot-spinner__dot::before {
    content: '';
    height: 20%;
    width: 20%;
    border-radius: 50%;
    background-color: var(--uib-color);
    transform: scale(0);
    opacity: 0.5;
    animation: pulse0112 calc(var(--uib-speed) * 1.111) ease-in-out infinite;
    box-shadow: 0 0 20px rgba(18, 31, 53, 0.3);
}

/* Animación en secuencia */
.dot-spinner__dot:nth-child(2) { transform: rotate(45deg); }
.dot-spinner__dot:nth-child(2)::before { animation-delay: calc(var(--uib-speed) * -0.875); }
.dot-spinner__dot:nth-child(3) { transform: rotate(90deg); }
.dot-spinner__dot:nth-child(3)::before { animation-delay: calc(var(--uib-speed) * -0.75); }
.dot-spinner__dot:nth-child(4) { transform: rotate(135deg); }
.dot-spinner__dot:nth-child(4)::before { animation-delay: calc(var(--uib-speed) * -0.625); }
.dot-spinner__dot:nth-child(5) { transform: rotate(180deg); }
.dot-spinner__dot:nth-child(5)::before { animation-delay: calc(var(--uib-speed) * -0.5); }
.dot-spinner__dot:nth-child(6) { transform: rotate(225deg); }
.dot-spinner__dot:nth-child(6)::before { animation-delay: calc(var(--uib-speed) * -0.375); }
.dot-spinner__dot:nth-child(7) { transform: rotate(270deg); }
.dot-spinner__dot:nth-child(7)::before { animation-delay: calc(var(--uib-speed) * -0.25); }
.dot-spinner__dot:nth-child(8) { transform: rotate(315deg); }
.dot-spinner__dot:nth-child(8)::before { animation-delay: calc(var(--uib-speed) * -0.125); }

@keyframes pulse0112 {
    0%, 100% {
        transform: scale(0);
        opacity: 0.5;
    }
    50% {
        transform: scale(1);
        opacity: 1;
    }
}
/* Trazo blanco de 2px alrededor del texto */

.text-stroke-white{
    -webkit-text-stroke: 1px #ffffff; /* Chrome/Edge/Safari */
    color: #000000;
}
/* loader */
/* CELULAR (≤ 767.98px) */
@media (max-width: 767.98px) {
    /* estilos para móvil */
    .titlC{
        font-size: 14px!important;
    }
    .titlCS{
        font-size: 13px!important;
    }
    .text-stroke-white{
        -webkit-text-stroke: 1px #000000; /* Chrome/Edge/Safari */
        color: white;
    }
    .text-stroke-white2{
       display: none!important;
    }
}

/* TABLET (768px – 991.98px) */
@media (min-width: 768px) and (max-width: 991.98px) {
    /* estilos para tablet */
}

/* LAPTOP / DESKTOP (≥ 992px) */
@media (min-width: 992px) {
    /* estilos para laptop */
}
