/* ── Paleta institucional UEP Fermín Toro (tomada de assets/css/style.css original) ──
   #1266F1 cabecera · #1976D2 color principal · #2980B9 botón "Ingresar"
   #3ac162 / #18d26e acento (hover y mensajes) · #455A64 franjas oscuras · #E3F2FD fondo claro
   (--ad es un tono más oscuro del acento, derivado para que el texto blanco sea legible) */
:root {
	--p:    #1976D2;
	--pd:   #1266F1;
	--pl:   #2980B9;
	--a:    #3ac162;
	--ad:   #2c9a4d;
	--dark: #455A64;
	--bg:   #F3F8FE;
	--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(10,45,110,.62) 0%,
		rgba(18,80,170,.55) 55%,
		rgba(69,90,100,.62) 100%) !important;
}
/* Portada propia del colegio (la misma del sitio original) */
.lhero {
	background-image: url('../img/portada.webp?4');
	background-position: center center;
}
.lstats {
	background: linear-gradient(135deg, #1266F1 0%, #1976D2 50%, #2980B9 100%) !important;
}
.lsec-label {
	background: linear-gradient(135deg, rgba(25,118,210,.1), rgba(58,193,98,.1)) !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, #3ac162) !important; }
.lproc-icon { color: #1976D2 !important; background: #E3F2FD !important; }
.lproc-card:hover .lproc-icon {
	background: linear-gradient(135deg, #1976D2, #3ac162) !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, #3ac162) !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(58,193,98,.07)) !important; }
.lbanks-notice i { color: #1976D2 !important; }
.lbanks-notice a { color: #1976D2 !important; font-weight:700; }
.lbank-head { background: linear-gradient(135deg, #1976D2, #1266F1) !important; }
.ldoc-title { background: linear-gradient(135deg, #1266F1, #1976D2) !important; }
.lbtt { background: linear-gradient(135deg, #1976D2, #3ac162) !important; }
.lsec-blue { background: #F3F8FE !important; }
.lsec-alt  { background: #E3F2FD !important; }
.lnav-login:not(.lnav-logout) {
	background: #2980B9 !important;
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(41,128,185,.35) !important;
}
.lnav-login:not(.lnav-logout):hover { background: #3ac162 !important; box-shadow: 0 8px 20px rgba(58,193,98,.45) !important; color: #fff !important; }
.btn-primary { background: linear-gradient(135deg, #1976D2, #1266F1) !important; border: none !important; }
.btn-primary:hover { transform: translateY(-2px) !important; }
.lbtn-primary { background: linear-gradient(135deg, #1976D2, #1266F1) !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, #3ac162, #2c9a4d) !important; color: #fff !important; box-shadow: 0 6px 20px rgba(58,193,98,.38) !important; }
.lbtn-accent:hover { box-shadow: 0 10px 30px rgba(58,193,98,.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(18,102,241,.55); }
.lhero-badge { background: rgba(18,102,241,.35) !important; border-color: rgba(255,255,255,.35) !important; }
.labout-badge { background: linear-gradient(135deg, #3ac162, #2c9a4d) !important; color: #fff !important; box-shadow: 0 10px 28px rgba(58,193,98,.40) !important; }
.modal-header { background: linear-gradient(135deg, #1266F1, #1976D2) !important; }
.lform-card-hdr { background: linear-gradient(135deg, #1266F1, #1976D2) !important; }
.lfooter-col h4 { border-bottom-color: rgba(58,193,98,.35) !important; }
.lfooter-links li a:hover, .lfooter-links li button:hover { color: #3ac162 !important; }
.lfooter-links li i { color: #3ac162 !important; }
.lfooter-cr a { color: #3ac162 !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; }
.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; }
}
