/* ============================================================
   MATEFÁCIL · Hoja de estilos compartida
   I.E. N° 10042 "Monseñor Juan Tomis Stack" – Chiclayo
   Resolución de referencia: 1024 x 768 (sin scroll)
   ============================================================ */

:root{
  --azul:#003087;
  --azul-oscuro:#001f5c;
  --rojo:#C41230;
  --rojo-oscuro:#8e0c22;
  --dorado:#D4A017;
  --dorado-claro:#F5C542;
  --celeste:#EAF1FB;
  --blanco:#FFFFFF;
  --texto:#1d2b45;
  --alto-header:60px;
  --alto-footer:42px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html,body{height:100%;}
body{
  font-family:'Nunito',sans-serif;
  color:var(--texto);
  background:var(--blanco);
  line-height:1.5;
  display:flex;
  flex-direction:column;
  overflow:hidden; /* referencia 1024x768: todo visible sin scroll */
}

/* ===== BARRA SUPERIOR: MARCA + MENÚ ===== */
.mf-topbar{
  height:var(--alto-header);
  background:linear-gradient(90deg,var(--azul) 0%,var(--azul-oscuro) 100%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 20px;
  gap:12px;
  flex-shrink:0;
  box-shadow:0 3px 10px rgba(0,0,0,.25);
  z-index:10;
}
.mf-brand{
  font-family:'Baloo 2',cursive;
  font-weight:800;
  font-size:1.4rem;
  color:var(--blanco);
  white-space:nowrap;
  text-decoration:none;
  text-shadow:0 2px 0 rgba(0,0,0,.25);
}
.mf-brand span{color:var(--dorado-claro);}
.mf-menu{
  display:flex;
  align-items:center;
  gap:7px;
}
.mf-menu a{
  font-family:'Baloo 2',cursive;
  font-weight:700;
  font-size:.92rem;
  color:var(--blanco);
  background:rgba(255,255,255,.12);
  border:2px solid transparent;
  border-radius:999px;
  padding:7px 15px;
  text-decoration:none;
  white-space:nowrap;
  transition:background .2s, transform .2s, color .2s;
}
.mf-menu a:hover{background:rgba(255,255,255,.25);transform:translateY(-2px);}
.mf-menu a:focus-visible{outline:3px solid var(--dorado-claro);outline-offset:2px;}
.mf-menu a.activo{
  background:var(--dorado-claro);
  color:var(--azul-oscuro);
  border-color:var(--blanco);
  box-shadow:0 3px 8px rgba(0,0,0,.3);
}
/* Acceso destacado al Aula Virtual */
.mf-menu a.mf-aula{
  background:var(--rojo);
  border-color:var(--blanco);
  box-shadow:0 3px 8px rgba(0,0,0,.3);
  animation:latir 2.6s ease-in-out infinite;
}
.mf-menu a.mf-aula:hover{background:var(--dorado-claro);color:var(--azul-oscuro);}
@keyframes latir{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.06);}
}

/* ===== ÁREA DE CONTENIDO (666px de alto en 1024x768) ===== */
.mf-stage{
  flex:1;
  position:relative;
  overflow:hidden;
}
.mf-centro{
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:22px 60px;
}

/* ===== PIE FIJO ===== */
.mf-footer{
  height:var(--alto-footer);
  background:var(--azul-oscuro);
  color:var(--blanco);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-family:'Baloo 2',cursive;
  font-size:.95rem;
  padding:0 14px;
  flex-shrink:0;
  gap:4px;
}
.mf-footer .esf{color:var(--dorado-claro);}
.mf-footer .pra{color:#7fb4ff;}
.mf-footer .per{color:#ff8fa0;}

/* ===== BOTONES ===== */
.mf-btn{
  display:inline-block;
  margin-top:20px;
  background:var(--dorado-claro);
  color:var(--azul-oscuro);
  text-decoration:none;
  font-family:'Baloo 2',cursive;
  font-weight:800;
  font-size:1rem;
  padding:11px 28px;
  border-radius:999px;
  border:none;
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
  box-shadow:0 4px 10px rgba(0,0,0,.2);
}
.mf-btn:hover{transform:scale(1.06);box-shadow:0 6px 16px rgba(0,0,0,.25);}
.mf-btn:focus-visible{outline:3px solid var(--blanco);outline-offset:3px;}
.mf-btn.azul{background:var(--azul);color:var(--blanco);}
.mf-btn.azul:hover{background:var(--azul-oscuro);}
.mf-btn.rojo{background:var(--rojo);color:var(--blanco);}
.mf-btn.rojo:hover{background:var(--rojo-oscuro);}
.mf-acciones{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}

/* ===== PÁGINA: INICIO ===== */
.pg-inicio .mf-stage{
  background:linear-gradient(135deg,var(--azul) 0%,var(--azul-oscuro) 100%);
  color:var(--blanco);
}
.mf-doodle{
  position:absolute;
  font-family:'Baloo 2',cursive;
  font-weight:700;
  color:rgba(255,255,255,.12);
  user-select:none;
  pointer-events:none;
  animation:flotar 7s ease-in-out infinite;
}
.d1{top:10%;left:6%;font-size:3.2rem;}
.d2{top:66%;left:9%;font-size:2rem;animation-delay:1.2s;}
.d3{top:14%;right:8%;font-size:2.3rem;animation-delay:.6s;}
.d4{bottom:14%;right:9%;font-size:2.7rem;animation-delay:1.8s;}
@keyframes flotar{
  0%,100%{transform:translateY(0) rotate(-3deg);}
  50%{transform:translateY(-14px) rotate(3deg);}
}
.pg-inicio .saludo{
  font-family:'Baloo 2',cursive;
  font-size:1.2rem;
  color:var(--dorado-claro);
}
.pg-inicio h1{
  font-family:'Baloo 2',cursive;
  font-weight:800;
  font-size:4.2rem;
  line-height:1.05;
  margin:.1em 0 .25em;
  text-shadow:0 4px 0 rgba(0,0,0,.25);
}
.pg-inicio h1 .facil{color:var(--dorado-claro);}
.mf-lema{
  display:inline-block;
  background:var(--rojo);
  color:var(--blanco);
  font-weight:800;
  font-size:1.02rem;
  padding:9px 24px;
  border-radius:999px;
  letter-spacing:1px;
  box-shadow:0 4px 12px rgba(0,0,0,.3);
}
.mf-lema span{color:var(--dorado-claro);padding:0 6px;}
.pg-inicio p.intro{
  max-width:660px;
  margin-top:18px;
  font-size:1.1rem;
  font-weight:600;
  color:#dbe6f7;
}
.pg-inicio p.intro strong{color:var(--dorado-claro);}

/* ===== PÁGINA: EL PROYECTO ===== */
.pg-proyecto h2{
  font-family:'Baloo 2',cursive;
  color:var(--azul);
  font-size:1.9rem;
}
.pg-proyecto h2::after{
  content:"";
  display:block;
  width:110px;height:6px;
  margin:10px auto 0;
  border-radius:3px;
  background:linear-gradient(90deg,var(--azul),var(--rojo),var(--dorado));
}
.pg-proyecto p{
  max-width:740px;
  font-size:1.05rem;
  margin-top:15px;
}
.pg-proyecto p em{color:var(--rojo);font-style:normal;font-weight:800;}
.mf-pildoras{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-top:20px;
}
.mf-pildora{
  background:var(--celeste);
  color:var(--azul);
  font-weight:800;
  font-size:.88rem;
  padding:7px 15px;
  border-radius:999px;
  border:2px solid var(--azul);
}

/* ===== PÁGINA: METODOLOGÍAS ===== */
.pg-metodos .mf-stage{background:var(--celeste);}
.pg-metodos h2{
  font-family:'Baloo 2',cursive;
  color:var(--azul);
  font-size:1.85rem;
}
.mf-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  max-width:960px;
  width:100%;
  margin-top:26px;
}
.mf-card{
  background:var(--blanco);
  border-radius:18px;
  padding:24px 20px;
  border-top:6px solid var(--azul);
  text-align:left;
  transition:transform .25s ease, box-shadow .25s ease;
  box-shadow:0 4px 14px rgba(0,48,135,.08);
}
.mf-card:nth-child(2){border-top-color:var(--rojo);}
.mf-card:nth-child(3){border-top-color:var(--dorado);}
.mf-card:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 28px rgba(0,48,135,.16);
}
.mf-card .icono{font-size:2.1rem;line-height:1;margin-bottom:8px;}
.mf-card h3{
  font-family:'Baloo 2',cursive;
  color:var(--azul);
  font-size:1.12rem;
  margin-bottom:5px;
}
.mf-card p{font-size:.93rem;}

/* ===== PÁGINA: DOCENTES ===== */
.pg-docentes .mf-stage{
  background:linear-gradient(135deg,var(--rojo) 0%,var(--rojo-oscuro) 100%);
  color:var(--blanco);
}
.pg-docentes h2{
  font-family:'Baloo 2',cursive;
  font-size:1.9rem;
  margin-bottom:8px;
}
.pg-docentes h2 span{color:var(--dorado-claro);}
.pg-docentes p{
  max-width:700px;
  font-size:1rem;
  font-weight:600;
  margin-top:8px;
}
.pg-docentes p strong{color:var(--dorado-claro);}
.mf-contacto{
  margin-top:16px;
  background:var(--blanco);
  color:var(--texto);
  border:3px dashed var(--dorado);
  border-radius:18px;
  padding:16px 30px;
}
.mf-contacto .nombre{
  font-family:'Baloo 2',cursive;
  color:var(--azul);
  font-size:1.15rem;
  display:block;
}
.mf-contacto .cargo{
  font-size:.88rem;
  color:var(--rojo);
  font-weight:800;
  display:block;
  margin-bottom:5px;
}
.mf-contacto .mf-btn{margin-top:8px;}

/* ===== PÁGINA: AULA VIRTUAL ===== */
.pg-aula .mf-stage{
  background:linear-gradient(135deg,var(--azul-oscuro) 0%,var(--azul) 55%,#0a4bb8 100%);
  color:var(--blanco);
}
.pg-aula h2{
  font-family:'Baloo 2',cursive;
  font-size:2rem;
  margin-bottom:6px;
}
.pg-aula h2 span{color:var(--dorado-claro);}
.pg-aula p.lead{
  max-width:680px;
  font-size:1.05rem;
  font-weight:600;
  color:#dbe6f7;
  margin-top:8px;
}
.mf-acceso{
  margin-top:20px;
  background:rgba(255,255,255,.1);
  border:3px dashed var(--dorado-claro);
  border-radius:20px;
  padding:22px 40px;
  backdrop-filter:blur(2px);
}
.mf-acceso .globo{font-size:2.3rem;line-height:1;}
.mf-acceso .rotulo{
  font-family:'Baloo 2',cursive;
  font-size:1.05rem;
  color:var(--blanco);
  display:block;
  margin-top:4px;
}
.mf-acceso .url{
  display:block;
  font-family:'Baloo 2',cursive;
  font-weight:800;
  font-size:1.35rem;
  color:var(--dorado-claro);
  word-break:break-all;
  margin-top:2px;
}
.mf-pasos{
  display:flex;
  gap:26px;
  justify-content:center;
  margin-top:22px;
  flex-wrap:wrap;
}
.mf-paso{
  max-width:190px;
  font-size:.9rem;
  font-weight:600;
  color:#dbe6f7;
}
.mf-paso .num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;height:34px;
  border-radius:50%;
  background:var(--dorado-claro);
  color:var(--azul-oscuro);
  font-family:'Baloo 2',cursive;
  font-weight:800;
  font-size:1.05rem;
  margin-bottom:6px;
}

/* ===== ADAPTATIVO ALREDEDOR DE 1024x768 =====
   Ajustes suaves si la ventana es algo menor (p. ej. 1024 con barras
   del navegador) para que el contenido siga entrando sin scroll. */
@media (max-height:700px){
  .pg-inicio h1{font-size:3.4rem;}
  .pg-inicio p.intro{font-size:1rem;margin-top:12px;}
  .mf-centro{padding:16px 44px;}
  .mf-card{padding:18px 16px;}
  .mf-card p{font-size:.87rem;}
  .pg-proyecto p, .pg-docentes p, .pg-aula p.lead{font-size:.95rem;}
  .mf-btn{margin-top:14px;padding:10px 24px;}
  .mf-acceso{padding:16px 30px;margin-top:14px;}
  .mf-pasos{margin-top:14px;gap:18px;}
  .mf-paso{font-size:.85rem;}
}
@media (max-width:1060px){
  .mf-menu a{font-size:.84rem;padding:6px 12px;}
  .mf-brand{font-size:1.2rem;}
  .mf-grid{gap:14px;}
  .mf-centro{padding:18px 30px;}
}

@media (prefers-reduced-motion:reduce){
  .mf-doodle,.mf-menu a,.mf-card,.mf-btn{animation:none!important;transition:none!important;}
}
