/* Fonts - Mantenemos Barlow */
@font-face { font-family: 'Barlow'; font-weight: 300; src: url('../fonts/barlow-v13-latin-300.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-weight: 400; src: url('../fonts/barlow-v13-latin-regular.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-weight: 600; src: url('../fonts/barlow-v13-latin-600.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-weight: 700; src: url('../fonts/barlow-v13-latin-700.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-weight: 800; src: url('../fonts/barlow-v13-latin-800.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-weight: 900; src: url('../fonts/barlow-v13-latin-900.woff2') format('woff2'); }

:root {
    /* Colores Principales */
    --bcrp-blue: #2c68b1; /*2563eb*/
    --bcrp-dark-blue: #2e2752; /*172554*/
    --bcrp-slate: #64748b;
    
    /* Colores de Fondo y Superficie */
    --bcrp-bg: #f8fafc;
    --bcrp-white-alpha-80: rgba(255, 255, 255, 0.8);
    --bcrp-white-alpha-30: rgba(255, 255, 255, 0.3);
    --bcrp-white-alpha-10: rgba(255, 255, 255, 0.1);
    
    /* Variaciones de Azul para Orbes y Gradientes */
    --bcrp-blue-200: #bfdbfe;
    --bcrp-blue-300: #93c5fd;
    --bcrp-blue-900-alt: #304c89;
    --bcrp-indigo-100: #e0e7ff;
    
    /* Colores de Acento (Premios/Sombras) */
    --bcrp-amber-700: #b45309;
    
    /* Scrollbar y UI */
    --bcrp-gray-100: #f1f1f1;
    --bcrp-gray-300: #cbd5e1;
    --bcrp-gray-400: #94a3b8;
	
	/*Overwrite BS*/
	--bcrp-green: #afca31;
	--bcrp-red: #da2a70;
}

body {
    font-family: 'Barlow', sans-serif;
    background-color: var(--bcrp-bg);
}

/* Custom Utils replacements for Tailwind */
.glass {
    background: var(--bcrp-white-alpha-80);
    backdrop-filter: blur(12px);
    border: 1px solid var(--bcrp-white-alpha-30);
}

.bcrp-gradient {
    background: linear-gradient(135deg, var(--bcrp-blue-900-alt) 0%, var(--bcrp-blue) 100%);
}

.ls-wide { letter-spacing: 0.2em; }
.tracking-tight { letter-spacing: -0.025em; }

/* Hero Section Specifics */
.hero-section {
    padding-top: 3rem;
    padding-bottom: 3rem;
    min-height: 50vh;
}

.orb {
    position: absolute;
    border-radius: 50%;
    mix-blend-mode: screen;
    filter: blur(100px);
}
.orb-1 {
    top: 0; right: 0; margin-right: -10rem; margin-top: -10rem;
    width: 500px; height: 500px;
    background: var(--bcrp-blue-300);
    opacity: 0.2;
    animation: pulse 4s infinite;
}
.orb-2 {
    bottom: 0; left: 0; margin-left: -10rem; margin-bottom: -10rem;
    width: 500px; height: 500px;
    background: var(--bcrp-blue-200);
    opacity: 0.1;
}

@keyframes pulse {
    0%, 100% { opacity: 0.2; }
    50% { opacity: 0.3; }
}

@keyframes ping {
    75%, 100% { transform: scale(2); opacity: 0; }
}
.ping-animation { animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite; }

/* Text Gradient */
.text-gradient-hero {
    background: linear-gradient(to right, var(--bcrp-blue-200), var(--bcrp-indigo-100), var(--bcrp-blue-200));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 900;
}

/* Hover Effects */
.card-hover { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.card-hover:hover { 
    transform: translateY(-8px); 
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1) !important; 
}

.hover-up { transition: transform 0.3s ease; }
.hover-up:hover { transform: translateY(-8px); }

.hover-scale { transition: transform 0.2s; }
.hover-scale:hover { transform: scale(1.05); }

/* Prize Glows */
.prize-glow-1 { box-shadow: 0 0 40px rgba(37, 99, 235, 0.25) !important; } /* Basado en bcrp-blue */
.prize-glow-2 { box-shadow: 0 0 30px rgba(148, 163, 184, 0.2); } /* Basado en Slate */
.prize-glow-3 { box-shadow: 0 0 30px rgba(180, 83, 9, 0.2); } /* Basado en Amber-700 */

/* Custom Bootstrap Overrides */
.separator { width: 80px; height: 6px; }
.btn-custom { padding: 0.6rem 1.5rem; border-radius: 0.75rem; }

/* Transparencias for Cronograma */
.bg-white-10 { background-color: var(--bcrp-white-alpha-10); }
.border-white-20 { border-color: rgba(255,255,255,0.2) !important; }
.hover-bg-white-20:hover { background-color: rgba(255,255,255,0.2); }
.group:hover .group-hover-full { width: 100% !important; }
.transition-width { transition: width 0.5s ease; }
.transition-base { transition: all 0.3s ease; }

/* Scroll Animation Classes */
.scroll-animate { opacity: 0; transform: translateY(30px); transition: all 0.7s ease-out; }
.scroll-animate.visible { opacity: 1; transform: translateY(0); }
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }

/* Social Icons */
.social-icon { width: 40px; height: 40px; transition: all 0.2s; }
.social-icon:hover img { opacity: 1; filter: invert(1); }
.social-icon:hover { background-color: var(--bcrp-blue) !important; }

/* Navbar */
.nav-link { color: var(--bcrp-slate); }
.nav-link:hover { color: var(--bcrp-blue); }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--bcrp-gray-100); }
::-webkit-scrollbar-thumb { 
    background: var(--bcrp-gray-300); 
    border-radius: 10px; 
}
::-webkit-scrollbar-thumb:hover { background: var(--bcrp-gray-400); }


/*overwrite BS*/
.bg-primary {
  background-color: var(--bcrp-blue) !important;
}
.bg-success {
	background-color: var(--bcrp-green) !important;
}
.bg-danger {
	background-color: var(--bcrp-red) !important;
}
.btn-primary{
	background-color: var(--bcrp-blue) !important;
	border-color: var(--bcrp-blue) !important;
}
.btn-danger{
	background-color: var(--bcrp-red) !important;
	border-color: var(--bcrp-red) !important;
}