/* ── Paleta institucional Jesús de Nazareno (tomada de assets/css/style.css y del <style> de index.php originales) ──
   #66008c morado principal (header, enlaces, iconos) · #9e4fa5 morado claro (hover de .btn-primary)
   #2980B9 / #21618C boton Ingresar y su hover · #3ac162 / #7ed899 / #86db9f verdes de acento y hover
   #9ae1af linea de titulos · #37423b texto oscuro · #E3F2FD fondo de iconos · #EEEEEE fondo de Bancos · #f6f7f6 fondo alterno */
:root {
	--p:    #66008c;
	--pd:   #66008c;
	--pl:   #9e4fa5;
	--a:    #3ac162;
	--ad:   #7ed899;
	--dark: #37423b;
	--bg:   #EEEEEE;
	--bgs:  #f6f7f6;
	--s1:   0 4px 12px rgba(102,0,140,.09);
	--s2:   0 10px 30px rgba(102,0,140,.14);
	--s3:   0 20px 48px rgba(102,0,140,.20);
}
.lhdr.scrolled {
	background: rgba(102,0,140,.97) !important;
}
.lhero-overlay {
	background: linear-gradient(145deg,
		rgba(102,0,140,.45) 0%,
		rgba(102,0,140,.35) 55%,
		rgba(158,79,165,.45) 100%) !important;
}
/* Portada propia del colegio (era el fondo de #hero en style.css original: portada_nue2.png, top left;
   en pantallas pequeñas el original usaba mini2.jpg) */
.lhero {
	background-image: url('../img/portada_nue2.png');
	background-position: left top;
}
@media (max-width: 992px) {
	.lhero { background-image: url('../img/mini2.jpg'); background-position: center top; }
}
.lstats {
	background: linear-gradient(135deg, #66008c 0%, #7a1a9c 50%, #9e4fa5 100%) !important;
}
.lsec-label {
	background: linear-gradient(135deg, rgba(102,0,140,.1), rgba(58,193,98,.1)) !important;
	color: #66008c !important;
	border-color: rgba(102,0,140,.16) !important;
}
.lsec-title em { color: #66008c !important; }
.lproc-card::before { background: linear-gradient(90deg, #66008c, #3ac162) !important; }
.lproc-icon { color: #66008c !important; background: #E3F2FD !important; }
.lproc-card:hover .lproc-icon {
	background: linear-gradient(135deg, #66008c, #9e4fa5) !important;
	color: white !important;
}
.lrep-card:hover { border-color: rgba(102,0,140,.18) !important; color: #66008c !important; }
.lrep-card:hover .lrep-ico {
	background: linear-gradient(135deg, #66008c, #9e4fa5) !important;
	color: white !important;
}
.lrep-ico { background: #E3F2FD !important; }
.lbanks-notice { border-color: rgba(102,0,140,.14) !important; background: linear-gradient(135deg,rgba(102,0,140,.07),rgba(58,193,98,.07)) !important; }
.lbanks-notice i { color: #66008c !important; }
.lbanks-notice a { color: #66008c !important; font-weight:700; }
.lbank-head { background: linear-gradient(135deg, #66008c, #9e4fa5) !important; }
.ldoc-title { background: linear-gradient(135deg, #66008c, #9e4fa5) !important; }
.lbtt { background: #66008c !important; }
.lbtt:hover { background: #7ed899 !important; }
.lsec-blue { background: #EEEEEE !important; }
.lsec-alt  { background: #f6f7f6 !important; }
.lnav-login:not(.lnav-logout) {
	background: #2980B9 !important;
	color: #fff !important;
	border: 1px solid rgba(255,255,255,.45) !important;
	box-shadow: 0 4px 14px rgba(41,128,185,.35) !important;
}
.lnav-login:not(.lnav-logout):hover { background: #21618C !important; box-shadow: 0 8px 20px rgba(33,97,140,.45) !important; color: #fff !important; }
.btn-primary { background: #66008c !important; border: none !important; }
.btn-primary:hover { background: #9e4fa5 !important; transform: translateY(-2px) !important; }
.lbtn-primary { background: linear-gradient(135deg, #66008c, #9e4fa5) !important; box-shadow: 0 4px 14px rgba(102,0,140,.30) !important; }
.lbtn-primary:hover { box-shadow: 0 8px 22px rgba(102,0,140,.42) !important; }
.lbtn-accent { background: linear-gradient(135deg, #3ac162, #7ed899) !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: #66008c !important; color: #66008c !important; }
.lbtn-outline:hover { background: #66008c !important; color: #fff !important; }
.lhero h1 em { color: #fff !important; text-shadow: 0 2px 12px rgba(102,0,140,.6); }
.lhero-badge { background: rgba(102,0,140,.45) !important; border-color: rgba(255,255,255,.45) !important; }
.labout-badge { background: linear-gradient(135deg, #66008c, #9e4fa5) !important; color: #fff !important; box-shadow: 0 10px 28px rgba(102,0,140,.40) !important; }
.modal-header { background: linear-gradient(135deg, #66008c, #9e4fa5) !important; }
.lform-card-hdr { background: linear-gradient(135deg, #66008c, #9e4fa5) !important; }
.lfooter-col h4 { border-bottom-color: rgba(154,225,175,.45) !important; }
.lfooter-links li a:hover, .lfooter-links li button:hover { color: #86db9f !important; }
.lfooter-links li i { color: #86db9f !important; }
.lfooter-cr a { color: #86db9f !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:#66008c 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%; }
.lnav-brand img { background: #fff; border-radius: 45%; padding: 2px; }

/* ── 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 (bloques originales del colegio) */
.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-grid .row { margin-top: 0 !important; }
.lform-grid .form-group { margin-bottom: .6rem; }
.lthumb-box { text-align: center; }
.lthumb-box output { display: block; margin-bottom: .5rem; }
.lthumb-box img, .lthumb-box .thumb { width: 140px; height: 140px; object-fit: cover; border-radius: 30%; border: 3px solid #fff; box-shadow: var(--s1); }

/* 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, .lthumb-box .thumb { width: 110px; height: 110px; }
    .modal-footer .col-md-12 { width: 100%; }
    /* nada debe desbordar la pantalla */
    body { overflow-x: hidden; }
    /* AOS fade-left/right desplaza los bloques fuera de pantalla antes de animar */
    .lsec { overflow-x: clip; }
    .table-responsive { -webkit-overflow-scrolling: touch; }
}
@media (max-width: 576px) {
    .lbtn { width: 100%; justify-content: center; }
    .lpage-hdr .lbtn { width: auto; }
}

/* Bloques de la planilla original (Datos del Estudiante, Representante, Madre, Padre...) */
.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 > .col-md-12 h3 { font-size: 1.05rem; font-weight: 800; color: var(--p); margin: .2rem 0 .4rem; }
#preinscripcion .row { --bs-gutter-x: 1rem; }
.lform-bloque > .titulo p { font-size: 1.05rem; font-weight: 800; color: var(--p); margin: .2rem 0 .4rem; text-align: left; }
.lform-bloque > h4 { font-size: 1.05rem; font-weight: 800; color: var(--p); margin: .2rem 0 .4rem; }
