/* ── Paleta institucional UEP Colegio Bicentenario (tomada de assets/css/style.css original) ──
   #1976D2 azul principal (enlaces, botones, titulos) · #1266F1 cabecera
   #a80c35 boton "Ingresar" (#bf0a30 hover) · #37423b texto oscuro · #E3F2FD fondo azul claro
   (--pd y --ad son tonos mas oscuros derivados para que el texto blanco sea legible) */
:root {
	--p:    #1976D2;
	--pd:   #0F4FA8;
	--pl:   #1266F1;
	--a:    #a80c35;
	--ad:   #850a2a;
	--dark: #37423b;
	--bg:   #F3F8FD;
	--bgs:  #E3F2FD;
	--s1:   0 4px 12px rgba(25,118,210,.09);
	--s2:   0 10px 30px rgba(25,118,210,.14);
	--s3:   0 20px 48px rgba(25,118,210,.20);
}
.lhdr.scrolled {
	background: rgba(18,102,241,.97) !important;
}
.lhero-overlay {
	background: linear-gradient(145deg,
		rgba(8,40,95,.62) 0%,
		rgba(18,90,200,.48) 55%,
		rgba(55,66,59,.62) 100%) !important;
}
/* Portada propia del colegio (la misma del sitio original: assets/img/portada1.webp, #hero de style.css) */
.lhero {
	background-image: url('../img/portada1.webp');
	background-position: center center;
}
.lstats {
	background: linear-gradient(135deg, #0F4FA8 0%, #1976D2 50%, #1266F1 100%) !important;
}
.lsec-label {
	background: linear-gradient(135deg, rgba(25,118,210,.1), rgba(168,12,53,.08)) !important;
	color: #1976D2 !important;
	border-color: rgba(25,118,210,.16) !important;
}
.lsec-title em { color: #1976D2 !important; }
.lproc-card::before { background: linear-gradient(90deg, #1976D2, #a80c35) !important; }
.lproc-icon { color: #1976D2 !important; background: #E3F2FD !important; }
.lproc-card:hover .lproc-icon {
	background: linear-gradient(135deg, #1976D2, #a80c35) !important;
	color: white !important;
}
.lrep-card:hover { border-color: rgba(25,118,210,.18) !important; color: #1976D2 !important; }
.lrep-card:hover .lrep-ico {
	background: linear-gradient(135deg, #1976D2, #a80c35) !important;
	color: white !important;
}
.lrep-ico { background: #E3F2FD !important; }
.lbanks-notice { border-color: rgba(25,118,210,.14) !important; background: linear-gradient(135deg,rgba(25,118,210,.07),rgba(168,12,53,.06)) !important; }
.lbanks-notice i { color: #1976D2 !important; }
.lbanks-notice a { color: #1976D2 !important; font-weight:700; }
.lbank-head { background: linear-gradient(135deg, #1976D2, #0F4FA8) !important; }
.ldoc-title { background: linear-gradient(135deg, #0F4FA8, #1976D2) !important; }
.lbtt { background: linear-gradient(135deg, #1976D2, #a80c35) !important; }
.lsec-blue { background: #F3F8FD !important; }
.lsec-alt  { background: #E3F2FD !important; }
.lnav-login:not(.lnav-logout) {
	background: #a80c35 !important;
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(168,12,53,.35) !important;
}
.lnav-login:not(.lnav-logout):hover { background: #bf0a30 !important; box-shadow: 0 8px 20px rgba(191,10,48,.45) !important; color: #fff !important; }
.btn-primary { background: linear-gradient(135deg, #1976D2, #0F4FA8) !important; border: none !important; }
.btn-primary:hover { transform: translateY(-2px) !important; }
.lbtn-primary { background: linear-gradient(135deg, #1976D2, #0F4FA8) !important; box-shadow: 0 4px 14px rgba(25,118,210,.30) !important; }
.lbtn-primary:hover { box-shadow: 0 8px 22px rgba(25,118,210,.42) !important; }
.lbtn-accent { background: linear-gradient(135deg, #a80c35, #850a2a) !important; color: #fff !important; box-shadow: 0 6px 20px rgba(168,12,53,.38) !important; }
.lbtn-accent:hover { box-shadow: 0 10px 30px rgba(168,12,53,.52) !important; color: #fff !important; }
.lbtn-outline { border-color: #1976D2 !important; color: #1976D2 !important; }
.lbtn-outline:hover { background: #1976D2 !important; color: #fff !important; }
.lhero h1 em { color: #fff !important; text-shadow: 0 2px 14px rgba(25,118,210,.55); }
.lhero-badge { background: rgba(25,118,210,.35) !important; border-color: rgba(255,255,255,.35) !important; }
.labout-badge { background: linear-gradient(135deg, #a80c35, #850a2a) !important; color: #fff !important; box-shadow: 0 10px 28px rgba(168,12,53,.40) !important; }
.labout-quote { text-align: center; font-size: 1.15rem; font-weight: 700; color: #1976D2; font-style: italic; margin: 1rem 0 1.2rem; }
.modal-header { background: linear-gradient(135deg, #0F4FA8, #1976D2) !important; }
.lform-card-hdr { background: linear-gradient(135deg, #0F4FA8, #1976D2) !important; }
.lfooter-col h4 { border-bottom-color: rgba(168,12,53,.35) !important; }
.lfooter-links li a:hover, .lfooter-links li button:hover { color: #a80c35 !important; }
.lfooter-links li i { color: #a80c35 !important; }
.lfooter-cr a { color: #a80c35 !important; }
.form-control2 { height:auto!important; padding:6px 10px!important; font-size:.85rem!important; }
.embed-container { position:relative; height:0; overflow:hidden; padding-bottom:75%; border:#1976D2 2px solid; background:#f8f9fa; box-shadow:inset 0 0 10px rgba(0,0,0,.1); border-radius:8px; }
.embed-container iframe { position:absolute; top:0; left:0; width:100%; height:100%; }

/* ── PAGINAS INTERNAS (contacto / preinscripcion / verificar) ── */
.lpage-main { padding-top: 66px; }               /* alto del nav fijo */
.lpage-hdr  { padding: 2.2rem 1rem 2.6rem; }

/* Formulario de preinscripcion */
.lform-grid { padding: 1rem 1.1rem 1.25rem; }
.lform-grid label { font-size: .8rem; font-weight: 600; margin-bottom: .2rem; display: block; }
.lform-grid .form-control,
.lform-grid .form-select { font-size: .88rem !important; }
.lform-bloque { background: #fff; margin: 0 0 1.4rem 0 !important; border-radius: 14px; box-shadow: var(--s1); border-top: 4px solid var(--p); }
.lform-bloque > div > h3 { font-size: 1.05rem; font-weight: 800; color: var(--p); margin: .2rem 0 .4rem; }
.lform-bloque h4 { font-size: .95rem; font-weight: 700; color: var(--dark); }
#preinscripcion .row { --bs-gutter-x: 1rem; }
.lthumb-box { text-align: center; }
.lthumb-box output { display: block; margin-bottom: .5rem; }
.lthumb-box img { width: 140px; height: 140px; object-fit: cover; border-radius: 30%; border: 3px solid #fff; box-shadow: var(--s1); margin: 0 auto; }

/* Bloque de contacto */
.lcontact-item { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 1.1rem; }
.lcontact-item i { font-size: 1.15rem; color: var(--p); line-height: 1.5; }
.lcontact-item strong { display: block; font-size: .85rem; }
.lcontact-item span { font-size: .88rem; color: var(--txm); word-break: break-word; }

/* ── RESPONSIVE MOVIL ─────────────────────────────────────── */
@media (max-width: 768px) {
    .lsec { padding: 48px 0; }
    .lcontainer { padding: 0 16px; }
    .lcontact-wrap { padding: 22px 18px; }
    .lform-grid { padding: .9rem .8rem 1rem; }
    .lpage-hdr h1 { font-size: 1.3rem; }
    .lpage-hdr p { font-size: .85rem; }
    .lthumb-box img { width: 110px; height: 110px; }
    .modal-footer .col-md-12 { width: 100%; }
    /* nada debe desbordar la pantalla */
    html, body { overflow-x: hidden; }
    /* las animaciones AOS fade-left/right desplazan el bloque fuera de pantalla antes de entrar */
    .lsec { overflow-x: hidden; }
    .table-responsive { -webkit-overflow-scrolling: touch; }
    .lhero { background-position: center top; }
}
@media (max-width: 576px) {
    .lbtn { width: 100%; justify-content: center; }
    .lpage-hdr .lbtn { width: auto; }
}
