/* ── Paleta institucional UEP San Pablo de la Cruz (tomada de assets/css/style.css original) ──
   #0B8EBA azul principal (cabecera, enlaces, botones) · #2980B9 boton "Ingresar" (#21618C hover)
   #3ac162 / #18d26e verde de acentos y 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:    #0B8EBA;
	--pd:   #087096;
	--pl:   #2980B9;
	--a:    #3ac162;
	--ad:   #2c9a4d;
	--dark: #37423b;
	--bg:   #F2F9FC;
	--bgs:  #E3F2FD;
	--s1:   0 4px 12px rgba(11,142,186,.09);
	--s2:   0 10px 30px rgba(11,142,186,.14);
	--s3:   0 20px 48px rgba(11,142,186,.20);
}
.lhdr.scrolled {
	background: rgba(11,142,186,.97) !important;
}
.lhero-overlay {
	background: linear-gradient(145deg,
		rgba(5,60,80,.62) 0%,
		rgba(11,110,145,.50) 55%,
		rgba(55,66,59,.62) 100%) !important;
}
/* Portada propia del colegio (la misma del sitio original: assets/img/portada.jpg) */
.lhero {
	background-image: url('../img/portada.jpg?4');
	background-position: center top;
}
.lstats {
	background: linear-gradient(135deg, #087096 0%, #0B8EBA 50%, #2980B9 100%) !important;
}
.lsec-label {
	background: linear-gradient(135deg, rgba(11,142,186,.1), rgba(58,193,98,.1)) !important;
	color: #0B8EBA !important;
	border-color: rgba(11,142,186,.16) !important;
}
.lsec-title em { color: #0B8EBA !important; }
.lproc-card::before { background: linear-gradient(90deg, #0B8EBA, #3ac162) !important; }
.lproc-icon { color: #0B8EBA !important; background: #E3F2FD !important; }
.lproc-card:hover .lproc-icon {
	background: linear-gradient(135deg, #0B8EBA, #3ac162) !important;
	color: white !important;
}
.lrep-card:hover { border-color: rgba(11,142,186,.18) !important; color: #0B8EBA !important; }
.lrep-card:hover .lrep-ico {
	background: linear-gradient(135deg, #0B8EBA, #3ac162) !important;
	color: white !important;
}
.lrep-ico { background: #E3F2FD !important; }
.lbanks-notice { border-color: rgba(11,142,186,.14) !important; background: linear-gradient(135deg,rgba(11,142,186,.07),rgba(58,193,98,.07)) !important; }
.lbanks-notice i { color: #0B8EBA !important; }
.lbanks-notice a { color: #0B8EBA !important; font-weight:700; }
.lbank-head { background: linear-gradient(135deg, #0B8EBA, #087096) !important; }
.ldoc-title { background: linear-gradient(135deg, #087096, #0B8EBA) !important; }
.lbtt { background: linear-gradient(135deg, #0B8EBA, #3ac162) !important; }
.lsec-blue { background: #F2F9FC !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: #21618C !important; box-shadow: 0 8px 20px rgba(33,97,140,.45) !important; color: #fff !important; }
.btn-primary { background: linear-gradient(135deg, #0B8EBA, #087096) !important; border: none !important; }
.btn-primary:hover { transform: translateY(-2px) !important; }
.lbtn-primary { background: linear-gradient(135deg, #0B8EBA, #087096) !important; box-shadow: 0 4px 14px rgba(11,142,186,.30) !important; }
.lbtn-primary:hover { box-shadow: 0 8px 22px rgba(11,142,186,.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: #0B8EBA !important; color: #0B8EBA !important; }
.lbtn-outline:hover { background: #0B8EBA !important; color: #fff !important; }
.lhero h1 em { color: #fff !important; text-shadow: 0 2px 14px rgba(11,142,186,.55); }
.lhero-badge { background: rgba(11,142,186,.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; }
.labout-quote { text-align: center; font-size: 1.15rem; font-weight: 700; color: #0B8EBA; font-style: italic; margin: 1rem 0 1.2rem; }
.modal-header { background: linear-gradient(135deg, #087096, #0B8EBA) !important; }
.lform-card-hdr { background: linear-gradient(135deg, #087096, #0B8EBA) !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:#0B8EBA 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%; }

/* ── Calendario de actividades (propio del colegio) ── */
.lcal-wrap { background:#fff; border-radius:16px; box-shadow:var(--s1); padding:1rem; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.lcal-wrap .calendar-table { margin:0 auto; min-width:720px; }
.lcal-wrap .calendar-day { width:100px; min-width:100px; max-width:100px; height:80px; }
.lcal-wrap .selected { background-color:#eee; }
.lcal-wrap .outside .date { color:#ccc; }
.lcal-wrap .today { background:#E3F2FD; }
.lcal-wrap .timetitle { white-space:nowrap; text-align:right; }
.lcal-wrap .btn-link { color:#0B8EBA; }
.lcal-wrap .event { border-top:1px solid #b2dba1; border-bottom:1px solid #b2dba1; background-image:linear-gradient(to bottom,#dff0d8 0px,#c8e5bc 100%); background-repeat:repeat-x; color:#3c763d; border-width:1px; font-size:.75em; padding:0 .75em; line-height:2em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-bottom:1px; cursor:pointer; }
.lcal-wrap .event.begin { border-left:1px solid #b2dba1; border-top-left-radius:4px; border-bottom-left-radius:4px; }
.lcal-wrap .event.end { border-right:1px solid #b2dba1; border-top-right-radius:4px; border-bottom-right-radius:4px; }
.lcal-wrap .event.all-day { border-top:1px solid #9acfea; border-bottom:1px solid #9acfea; background-image:linear-gradient(to bottom,#d9edf7 0px,#b9def0 100%); background-repeat:repeat-x; color:#31708f; border-width:1px; }
.lcal-wrap .event.all-day.begin { border-left:1px solid #9acfea; border-top-left-radius:4px; border-bottom-left-radius:4px; }
.lcal-wrap .event.all-day.end { border-right:1px solid #9acfea; border-top-right-radius:4px; border-bottom-right-radius:4px; }
.lcal-wrap .event.clear { background:none; border:1px solid transparent; }

/* ── 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; }
}
